Disassembly: 
  L1: 6a 48 ?? push 0x48<72>
   b8 54 98 42 00 ?? mov eax, 0x00429854
   e8 31 26 00 00 ?? call function 0x00406a23
  
  L2: 8b f1 ?? mov esi, ecx
   33 ff ?? xor edi, edi
   39 7e 3c ?? cmp dword ds:[esi + 0x3c<60>], edi
   0f 84 f3 00 00 00 ?? je basic block L33
  
  L3: 80 7e 41 00 ?? cmp byte ds:[esi + 0x41<65>], 0
   0f 84 e9 00 00 00 ?? je basic block L33
  
  L4: 8b 06 ?? mov eax, dword ds:[esi]
   6a ff ?? push 0xff<255,-1>
   ff 50 04 ?? call dword ds:[eax + 4]
  
  L5: 83 f8 ff ?? cmp eax, 0xff<255,-1>
   75 07 ?? jne basic block L7
  
  L6: 32 c0 ?? xor al, al
   e9 d8 00 00 00 ?? jmp basic block L34
  
  L7: 57 ?? push edi
   6a 08 ?? push 8
   8d 4d d4 ?? lea ecx, ss:[ebp + 0xd4<212,-44>]
   e8 95 ff ff ff ?? call function 0x004043bc
  
  L8: 89 7d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edi
  
  L9: 8d 45 ac ?? lea eax, ss:[ebp + 0xac<172,-84>]
   50 ?? push eax
   8d 4d d4 ?? lea ecx, ss:[ebp + 0xd4<212,-44>]
   e8 81 fc ff ff ?? call function 0x004040b7
  
  L10: 8b c8 ?? mov ecx, eax
   e8 65 f2 ff ff ?? call function 0x004036a2
  
  L11: 8b 7d e8 ?? mov edi, dword ss:[ebp + 0xe8<232,-24>]
   8b d8 ?? mov ebx, eax
   8d 45 c4 ?? lea eax, ss:[ebp + 0xc4<196,-60>]
   50 ?? push eax
   8d 4d d4 ?? lea ecx, ss:[ebp + 0xd4<212,-44>]
   e8 69 fc ff ff ?? call function 0x004040b7
  
  L12: 8b c8 ?? mov ecx, eax
   e8 4d f2 ff ff ?? call function 0x004036a2
  
  L13: 8b 4e 3c ?? mov ecx, dword ds:[esi + 0x3c<60>]
   8b 11 ?? mov edx, dword ds:[ecx]
   89 45 cc ?? mov dword ss:[ebp + 0xcc<204,-52>], eax
   8d 45 d0 ?? lea eax, ss:[ebp + 0xd0<208,-48>]
   50 ?? push eax
   03 fb ?? add edi, ebx
   57 ?? push edi
   ff 75 cc ?? push dword ss:[ebp + 0xcc<204,-52>]
   8d 46 44 ?? lea eax, ds:[esi + 0x44<68>]
   50 ?? push eax
   ff 52 18 ?? call dword ds:[edx + 0x18<24>]
  
  L14: 83 e8 00 ?? sub eax, 0
   74 19 ?? je basic block L20
  
  L15: 48 ?? dec eax
   74 1a ?? je basic block L21
  
  L16: 48 ?? dec eax
   48 ?? dec eax
   74 74 ?? je basic block L32
  
  L17: 32 db ?? xor bl, bl
  
  L18: 6a 00 ?? push 0
   6a 01 ?? push 1
   8d 4d d4 ?? lea ecx, ss:[ebp + 0xd4<212,-44>]
   e8 72 cc ff ff ?? call function 0x004010fa
  
  L19: 8a c3 ?? mov al, bl
   eb 68 ?? jmp basic block L34
  
  L20: c6 46 41 00 ?? mov byte ds:[esi + 0x41<65>], 0
  
  L21: 8d 45 b4 ?? lea eax, ss:[ebp + 0xb4<180,-76>]
   50 ?? push eax
   8d 4d d4 ?? lea ecx, ss:[ebp + 0xd4<212,-44>]
   e8 1b fc ff ff ?? call function 0x004040b7
  
  L22: 8b c8 ?? mov ecx, eax
   e8 ff f1 ff ff ?? call function 0x004036a2
  
  L23: 8b 7d d0 ?? mov edi, dword ss:[ebp + 0xd0<208,-48>]
   2b f8 ?? sub edi, eax
   74 26 ?? je basic block L28
  
  L24: 8d 45 bc ?? lea eax, ss:[ebp + 0xbc<188,-68>]
   50 ?? push eax
   8d 4d d4 ?? lea ecx, ss:[ebp + 0xd4<212,-44>]
   e8 01 fc ff ff ?? call function 0x004040b7
  
  L25: 8b c8 ?? mov ecx, eax
   e8 e5 f1 ff ff ?? call function 0x004036a2
  
  L26: ff 76 4c ?? push dword ds:[esi + 0x4c<76>]
   57 ?? push edi
   6a 01 ?? push 1
   50 ?? push eax
   e8 e4 2f 00 00 ?? call function 0x004074ad
  
  L27: 83 c4 10 ?? add esp, 0x10<16>
   3b f8 ?? cmp edi, eax
   75 aa ?? jne basic block L17
  
  L28: 80 7e 41 00 ?? cmp byte ds:[esi + 0x41<65>], 0
   74 18 ?? je basic block L32
  
  L29: 85 ff ?? test edi, edi
   0f 85 4c ff ff ff ?? jne basic block L9
  
  L30: 57 ?? push edi
   6a 08 ?? push 8
   8d 4d d4 ?? lea ecx, ss:[ebp + 0xd4<212,-44>]
   e8 a7 fc ff ff ?? call function 0x00404190
  
  L31: e9 3c ff ff ff ?? jmp basic block L9
  
  L32: b3 01 ?? mov bl, 1
   eb 8a ?? jmp basic block L18
  
  L33: b0 01 ?? mov al, 1
  
  L34: e8 ad 25 00 00 ?? call function 0x00406aa6
  
  L35: c3 ?? ret
  
  