Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   81 ec b4 00 00 00 ?? sub esp, 0x000000b4<180>
   a1 30 54 43 00 ?? mov eax, dword ds:[0x00435430]
   33 c5 ?? xor eax, ebp
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   8b 45 0c ?? mov eax, dword ss:[ebp + 12]
   53 ?? push ebx
   56 ?? push esi
   8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   57 ?? push edi
   8b 7d 14 ?? mov edi, dword ss:[ebp + 0x14<20>]
   89 85 64 ff ff ff ?? mov dword ss:[ebp + 0xffffff64<4294967140,-156>], eax
   8b 45 18 ?? mov eax, dword ss:[ebp + 0x18<24>]
   89 bd 5c ff ff ff ?? mov dword ss:[ebp + 0xffffff5c<4294967132,-164>], edi
   89 85 60 ff ff ff ?? mov dword ss:[ebp + 0xffffff60<4294967136,-160>], eax
   e8 b7 0e 00 00 ?? call function 0x0040bf4a
  
  L2: 05 9c 00 00 00 ?? add eax, 0x0000009c<156>
   8d 48 28 ?? lea ecx, ds:[eax + 0x28<40>]
   89 8d 54 ff ff ff ?? mov dword ss:[ebp + 0xffffff54<4294967124,-172>], ecx
   8d 48 2c ?? lea ecx, ds:[eax + 0x2c<44>]
   8d 58 20 ?? lea ebx, ds:[eax + 0x20<32>]
   05 af 00 00 00 ?? add eax, 0x000000af<175>
   89 8d 58 ff ff ff ?? mov dword ss:[ebp + 0xffffff58<4294967128,-168>], ecx
   89 85 68 ff ff ff ?? mov dword ss:[ebp + 0xffffff68<4294967144,-152>], eax
   85 f6 ?? test esi, esi
   0f 84 b8 01 00 00 ?? je basic block L46
  
  L3: 83 bd 64 ff ff ff 00 ?? cmp dword ss:[ebp + 0xffffff64<4294967140,-156>], 0
   0f 84 ab 01 00 00 ?? je basic block L46
  
  L4: 83 7d 10 00 ?? cmp dword ss:[ebp + 0x10<16>], 0
   0f 84 a1 01 00 00 ?? je basic block L46
  
  L5: 80 3e 43 ?? cmp byte ds:[esi], 0x43<67>
   75 57 ?? jne basic block L16
  
  L6: 80 7e 01 00 ?? cmp byte ds:[esi + 1], 0
   75 51 ?? jne basic block L16
  
  L7: 68 4c f3 42 00 ?? push 0x0042f34c<"C">
   ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   ff b5 64 ff ff ff ?? push dword ss:[ebp + 0xffffff64<4294967140,-156>]
   e8 83 17 00 00 ?? call function 0x0040c878
  
  L8: 83 c4 0c ?? add esp, 12
   33 f6 ?? xor esi, esi
   85 c0 ?? test eax, eax
   74 0d ?? je basic block L11
  
  L9: 56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   e8 51 bb ff ff ?? call function 0x00406c59
  
  L10: 83 c4 14 ?? add esp, 0x14<20>
  
  L11: 3b fe ?? cmp edi, esi
   74 0d ?? je basic block L13
  
  L12: 33 c0 ?? xor eax, eax
   66 89 07 ?? mov word ds:[edi], ax
   66 89 47 02 ?? mov word ds:[edi + 2], ax
   66 89 47 04 ?? mov word ds:[edi + 4], ax
  
  L13: 8b 85 60 ff ff ff ?? mov eax, dword ss:[ebp + 0xffffff60<4294967136,-160>]
   3b c6 ?? cmp eax, esi
   74 02 ?? je basic block L15
  
  L14: 89 30 ?? mov dword ds:[eax], esi
  
  L15: 8b 85 64 ff ff ff ?? mov eax, dword ss:[ebp + 0xffffff64<4294967140,-156>]
   e9 47 01 00 00 ?? jmp basic block L47
  
  L16: 56 ?? push esi
   e8 57 b7 ff ff ?? call function 0x00406890
  
  L17: bf 83 00 00 00 ?? mov edi, 0x00000083<131>
   59 ?? pop ecx
   89 85 50 ff ff ff ?? mov dword ss:[ebp + 0xffffff50<4294967120,-176>], eax
   3b c7 ?? cmp eax, edi
   73 2c ?? jae basic block L22
  
  L18: 56 ?? push esi
   ff b5 68 ff ff ff ?? push dword ss:[ebp + 0xffffff68<4294967144,-152>]
   e8 9b 16 00 00 ?? call function 0x0040c7f0
  
  L19: 59 ?? pop ecx
   59 ?? pop ecx
   85 c0 ?? test eax, eax
   0f 84 b0 00 00 00 ?? je basic block L34
  
  L20: 56 ?? push esi
   ff b5 58 ff ff ff ?? push dword ss:[ebp + 0xffffff58<4294967128,-168>]
   e8 85 16 00 00 ?? call function 0x0040c7f0
  
  L21: 59 ?? pop ecx
   59 ?? pop ecx
   85 c0 ?? test eax, eax
   0f 84 9a 00 00 00 ?? je basic block L34
  
  L22: 83 a5 4c ff ff ff 00 ?? and dword ss:[ebp + 0xffffff4c<4294967116,-180>], 0
   8d 85 6c ff ff ff ?? lea eax, ss:[ebp + 0xffffff6c<4294967148,-148>]
   56 ?? push esi
   50 ?? push eax
   e8 bc fb ff ff ?? call function 0x0040ad45
  
  L23: 59 ?? pop ecx
   59 ?? pop ecx
   85 c0 ?? test eax, eax
   0f 85 e5 00 00 00 ?? jne basic block L46
  
  L24: 8d 85 6c ff ff ff ?? lea eax, ss:[ebp + 0xffffff6c<4294967148,-148>]
   50 ?? push eax
   53 ?? push ebx
   50 ?? push eax
   e8 d5 94 00 00 ?? call function 0x00414676
  
  L25: 83 c4 0c ?? add esp, 12
   85 c0 ?? test eax, eax
   0f 84 cc 00 00 00 ?? je basic block L46
  
  L26: 0f b7 43 04 ?? movzx eax, word ds:[ebx + 4]
   8b 8d 54 ff ff ff ?? mov ecx, dword ss:[ebp + 0xffffff54<4294967124,-172>]
   89 01 ?? mov dword ds:[ecx], eax
   8d 85 6c ff ff ff ?? lea eax, ss:[ebp + 0xffffff6c<4294967148,-148>]
   50 ?? push eax
   57 ?? push edi
   ff b5 68 ff ff ff ?? push dword ss:[ebp + 0xffffff68<4294967144,-152>]
   e8 a3 fc ff ff ?? call function 0x0040ae6e
  
  L27: 83 c4 0c ?? add esp, 12
   80 3e 00 ?? cmp byte ds:[esi], 0
   74 0a ?? je basic block L29
  
  L28: 8b 85 50 ff ff ff ?? mov eax, dword ss:[ebp + 0xffffff50<4294967120,-176>]
   3b c7 ?? cmp eax, edi
   72 0b ?? jb basic block L30
  
  L29: 8b 85 4c ff ff ff ?? mov eax, dword ss:[ebp + 0xffffff4c<4294967116,-180>]
   be 4e f3 42 00 ?? mov esi, 0x0042f34e
  
  L30: 40 ?? inc eax
   50 ?? push eax
   56 ?? push esi
   57 ?? push edi
   ff b5 58 ff ff ff ?? push dword ss:[ebp + 0xffffff58<4294967128,-168>]
   e8 cf 8d 00 00 ?? call function 0x00413fc6
  
  L31: 83 c4 10 ?? add esp, 0x10<16>
   85 c0 ?? test eax, eax
   74 11 ?? je basic block L34
  
  L32: 33 f6 ?? xor esi, esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   e8 4f ba ff ff ?? call function 0x00406c59
  
  L33: 83 c4 14 ?? add esp, 0x14<20>
   eb 02 ?? jmp basic block L35
  
  L34: 33 f6 ?? xor esi, esi
  
  L35: 39 b5 5c ff ff ff ?? cmp dword ss:[ebp + 0xffffff5c<4294967132,-164>], esi
   74 11 ?? je basic block L38
  
  L36: 6a 06 ?? push 6
   53 ?? push ebx
   ff b5 5c ff ff ff ?? push dword ss:[ebp + 0xffffff5c<4294967132,-164>]
   e8 19 ef ff ff ?? call function 0x0040a140
  
  L37: 83 c4 0c ?? add esp, 12
  
  L38: 39 b5 60 ff ff ff ?? cmp dword ss:[ebp + 0xffffff60<4294967136,-160>], esi
   74 16 ?? je basic block L41
  
  L39: 6a 04 ?? push 4
   ff b5 54 ff ff ff ?? push dword ss:[ebp + 0xffffff54<4294967124,-172>]
   ff b5 60 ff ff ff ?? push dword ss:[ebp + 0xffffff60<4294967136,-160>]
   e8 fb ee ff ff ?? call function 0x0040a140
  
  L40: 83 c4 0c ?? add esp, 12
  
  L41: ff b5 68 ff ff ff ?? push dword ss:[ebp + 0xffffff68<4294967144,-152>]
   ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   ff b5 64 ff ff ff ?? push dword ss:[ebp + 0xffffff64<4294967140,-156>]
   e8 1c 16 00 00 ?? call function 0x0040c878
  
  L42: 83 c4 0c ?? add esp, 12
   85 c0 ?? test eax, eax
   74 0d ?? je basic block L45
  
  L43: 56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   e8 ec b9 ff ff ?? call function 0x00406c59
  
  L44: 83 c4 14 ?? add esp, 0x14<20>
  
  L45: 8b 85 68 ff ff ff ?? mov eax, dword ss:[ebp + 0xffffff68<4294967144,-152>]
   eb 02 ?? jmp basic block L47
  
  L46: 33 c0 ?? xor eax, eax
  
  L47: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   5f ?? pop edi
   5e ?? pop esi
   33 cd ?? xor ecx, ebp
   5b ?? pop ebx
   e8 07 b2 ff ff ?? call function 0x0040648e
  
  L48: c9 ?? leave
   c3 ?? ret
  
  