Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 10 ?? sub esp, 0x10<16>
   53 ?? push ebx
   56 ?? push esi
   8b 75 0c ?? mov esi, dword ss:[ebp + 12]
   33 db ?? xor ebx, ebx
   57 ?? push edi
   8b 7d 10 ?? mov edi, dword ss:[ebp + 0x10<16>]
   3b f3 ?? cmp esi, ebx
   75 14 ?? jne basic block L6
  
  L2: 3b fb ?? cmp edi, ebx
   76 10 ?? jbe basic block L6
  
  L3: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   3b c3 ?? cmp eax, ebx
   74 02 ?? je basic block L5
  
  L4: 89 18 ?? mov dword ds:[eax], ebx
  
  L5: 33 c0 ?? xor eax, eax
   e9 83 00 00 00 ?? jmp basic block L24
  
  L6: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   3b c3 ?? cmp eax, ebx
   74 03 ?? je basic block L8
  
  L7: 83 08 ff ?? or dword ds:[eax], 0xff<255,-1>
  
  L8: 81 ff ff ff ff 7f ?? cmp edi, 0x7fffffff
   76 1b ?? jbe basic block L13
  
  L9: e8 02 b7 fe ff ?? call function 0x0040e097
  
  L10: 6a 16 ?? push 0x16<22>
   5e ?? pop esi
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   89 30 ?? mov dword ds:[eax], esi
   e8 33 78 fe ff ?? call function 0x0040a1d7
  
  L11: 83 c4 14 ?? add esp, 0x14<20>
  
  L12: 8b c6 ?? mov eax, esi
   eb 56 ?? jmp basic block L24
  
  L13: ff 75 18 ?? push dword ss:[ebp + 0x18<24>]
   8d 4d f0 ?? lea ecx, ss:[ebp + 0xf0<240,-16>]
   e8 59 bc fe ff ?? call function 0x0040e60f
  
  L14: 8b 45 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16>]
   39 58 14 ?? cmp dword ds:[eax + 0x14<20>], ebx
   0f 85 9c 00 00 00 ?? jne basic block L36
  
  L15: 66 8b 45 14 ?? mov ax, word ss:[ebp + 0x14<20>]
   b9 ff 00 00 00 ?? mov ecx, 0x000000ff<255>
   66 3b c1 ?? cmp ax, cx
   76 36 ?? jbe basic block L25
  
  L16: 3b f3 ?? cmp esi, ebx
   74 0f ?? je basic block L20
  
  L17: 3b fb ?? cmp edi, ebx
   76 0b ?? jbe basic block L20
  
  L18: 57 ?? push edi
   53 ?? push ebx
   56 ?? push esi
   e8 10 7c fe ff ?? call function 0x0040a5f0
  
  L19: 83 c4 0c ?? add esp, 12
  
  L20: e8 af b6 fe ff ?? call function 0x0040e097
  
  L21: c7 00 2a 00 00 00 ?? mov dword ds:[eax], 0x0000002a<42>
   e8 a4 b6 fe ff ?? call function 0x0040e097
  
  L22: 8b 00 ?? mov eax, dword ds:[eax]
   38 5d fc ?? cmp byte ss:[ebp + 0xfc<252,-4>], bl
   74 07 ?? je basic block L24
  
  L23: 8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
   83 61 70 fd ?? and dword ds:[ecx + 0x70<112>], 0xfd<253,-3>
  
  L24: 5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  L25: 3b f3 ?? cmp esi, ebx
   74 32 ?? je basic block L32
  
  L26: 3b fb ?? cmp edi, ebx
   77 2c ?? ja basic block L31
  
  L27: e8 84 b6 fe ff ?? call function 0x0040e097
  
  L28: 6a 22 ?? push 0x22<34>
   5e ?? pop esi
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   89 30 ?? mov dword ds:[eax], esi
   e8 b5 77 fe ff ?? call function 0x0040a1d7
  
  L29: 83 c4 14 ?? add esp, 0x14<20>
   38 5d fc ?? cmp byte ss:[ebp + 0xfc<252,-4>], bl
   0f 84 79 ff ff ff ?? je basic block L12
  
  L30: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   83 60 70 fd ?? and dword ds:[eax + 0x70<112>], 0xfd<253,-3>
   e9 6d ff ff ff ?? jmp basic block L12
  
  L31: 88 06 ?? mov byte ds:[esi], al
  
  L32: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   3b c3 ?? cmp eax, ebx
   74 06 ?? je basic block L34
  
  L33: c7 00 01 00 00 00 ?? mov dword ds:[eax], 1
  
  L34: 38 5d fc ?? cmp byte ss:[ebp + 0xfc<252,-4>], bl
   0f 84 25 ff ff ff ?? je basic block L5
  
  L35: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   83 60 70 fd ?? and dword ds:[eax + 0x70<112>], 0xfd<253,-3>
   e9 19 ff ff ff ?? jmp basic block L5
  
  L36: 8d 4d 0c ?? lea ecx, ss:[ebp + 12]
   51 ?? push ecx
   53 ?? push ebx
   57 ?? push edi
   56 ?? push esi
   6a 01 ?? push 1
   8d 4d 14 ?? lea ecx, ss:[ebp + 0x14<20>]
   51 ?? push ecx
   53 ?? push ebx
   89 5d 0c ?? mov dword ss:[ebp + 12], ebx
   ff 70 04 ?? push dword ds:[eax + 4]
   ff 15 00 92 44 00 ?? call dword ds:[0x00449200]
  
  L37: 3b c3 ?? cmp eax, ebx
   74 14 ?? je basic block L41
  
  L38: 39 5d 0c ?? cmp dword ss:[ebp + 12], ebx
   0f 85 5e ff ff ff ?? jne basic block L20
  
  L39: 8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   3b cb ?? cmp ecx, ebx
   74 bd ?? je basic block L34
  
  L40: 89 01 ?? mov dword ds:[ecx], eax
   eb b9 ?? jmp basic block L34
  
  L41: ff 15 44 92 44 00 ?? call dword ds:[0x00449244]
  
  L42: 83 f8 7a ?? cmp eax, 0x7a<122>
   0f 85 44 ff ff ff ?? jne basic block L20
  
  L43: 3b f3 ?? cmp esi, ebx
   0f 84 67 ff ff ff ?? je basic block L27
  
  L44: 3b fb ?? cmp edi, ebx
   0f 86 5f ff ff ff ?? jbe basic block L27
  
  L45: 57 ?? push edi
   53 ?? push ebx
   56 ?? push esi
   e8 39 7b fe ff ?? call function 0x0040a5f0
  
  L46: 83 c4 0c ?? add esp, 12
   e9 4f ff ff ff ?? jmp basic block L27
  
  