Disassembly: 
  L1: 6a 10 ?? push 0x10<16>
   68 c8 7a 42 00 ?? push 0x00427ac8
   e8 02 f9 fe ff ?? call function 0x00405414
  
  L2: 8b 5d 08 ?? mov ebx, dword ss:[ebp + 8]
   85 db ?? test ebx, ebx
   75 0e ?? jne basic block L5
  
  L3: ff 75 0c ?? push dword ss:[ebp + 12]
   e8 d0 cc fe ff ?? call function 0x004027f1
  
  L4: 59 ?? pop ecx
   e9 cc 01 00 00 ?? jmp basic block L67
  
  L5: 8b 75 0c ?? mov esi, dword ss:[ebp + 12]
   85 f6 ?? test esi, esi
   75 0c ?? jne basic block L8
  
  L6: 53 ?? push ebx
   e8 65 c7 fe ff ?? call function 0x00402299
  
  L7: 59 ?? pop ecx
   e9 b7 01 00 00 ?? jmp basic block L66
  
  L8: 83 3d 74 9c 42 00 03 ?? cmp dword ds:[0x00429c74], 3
   0f 85 93 01 00 00 ?? jne basic block L62
  
  L9: 33 ff ?? xor edi, edi
   89 7d e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], edi
   83 fe e0 ?? cmp esi, 0xe0<224,-32>
   0f 87 8a 01 00 00 ?? ja basic block L63
  
  L10: 6a 04 ?? push 4
   e8 fa fc fe ff ?? call function 0x00405856
  
  L11: 59 ?? pop ecx
   89 7d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edi
   53 ?? push ebx
   e8 17 1b ff ff ?? call function 0x0040767d
  
  L12: 59 ?? pop ecx
   89 45 e0 ?? mov dword ss:[ebp + 0xe0<224,-32>], eax
   3b c7 ?? cmp eax, edi
   0f 84 9e 00 00 00 ?? je basic block L35
  
  L13: 3b 35 50 9c 42 00 ?? cmp esi, dword ds:[0x00429c50]
   77 49 ?? ja basic block L25
  
  L14: 56 ?? push esi
   53 ?? push ebx
   50 ?? push eax
   e8 f9 1f ff ff ?? call function 0x00407b7b
  
  L15: 83 c4 0c ?? add esp, 12
   85 c0 ?? test eax, eax
   74 05 ?? je basic block L17
  
  L16: 89 5d e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], ebx
   eb 35 ?? jmp basic block L25
  
  L17: 56 ?? push esi
   e8 28 27 ff ff ?? call function 0x004082bc
  
  L18: 59 ?? pop ecx
   89 45 e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], eax
   3b c7 ?? cmp eax, edi
   74 27 ?? je basic block L25
  
  L19: 8b 43 fc ?? mov eax, dword ds:[ebx + 0xfc<252,-4>]
   48 ?? dec eax
   3b c6 ?? cmp eax, esi
   72 02 ?? jb basic block L21
  
  L20: 8b c6 ?? mov eax, esi
  
  L21: 50 ?? push eax
   53 ?? push ebx
   ff 75 e4 ?? push dword ss:[ebp + 0xe4<228,-28>]
   e8 60 9e ff ff ?? call function 0x0040fa10
  
  L22: 53 ?? push ebx
   e8 c7 1a ff ff ?? call function 0x0040767d
  
  L23: 89 45 e0 ?? mov dword ss:[ebp + 0xe0<224,-32>], eax
   53 ?? push ebx
   50 ?? push eax
   e8 ed 1a ff ff ?? call function 0x004076ad
  
  L24: 83 c4 18 ?? add esp, 0x18<24>
  
  L25: 39 7d e4 ?? cmp dword ss:[ebp + 0xe4<228,-28>], edi
   75 48 ?? jne basic block L35
  
  L26: 3b f7 ?? cmp esi, edi
   75 06 ?? jne basic block L28
  
  L27: 33 f6 ?? xor esi, esi
   46 ?? inc esi
   89 75 0c ?? mov dword ss:[ebp + 12], esi
  
  L28: 83 c6 0f ?? add esi, 15
   83 e6 f0 ?? and esi, 0xf0<240,-16>
   89 75 0c ?? mov dword ss:[ebp + 12], esi
   56 ?? push esi
   57 ?? push edi
   ff 35 0c 99 42 00 ?? push dword ds:[0x0042990c]
   ff 15 f0 a1 42 00 ?? call dword ds:[0x0042a1f0]
  
  L29: 89 45 e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], eax
   3b c7 ?? cmp eax, edi
   74 20 ?? je basic block L35
  
  L30: 8b 43 fc ?? mov eax, dword ds:[ebx + 0xfc<252,-4>]
   48 ?? dec eax
   3b c6 ?? cmp eax, esi
   72 02 ?? jb basic block L32
  
  L31: 8b c6 ?? mov eax, esi
  
  L32: 50 ?? push eax
   53 ?? push ebx
   ff 75 e4 ?? push dword ss:[ebp + 0xe4<228,-28>]
   e8 0c 9e ff ff ?? call function 0x0040fa10
  
  L33: 53 ?? push ebx
   ff 75 e0 ?? push dword ss:[ebp + 0xe0<224,-32>]
   e8 a0 1a ff ff ?? call function 0x004076ad
  
  L34: 83 c4 14 ?? add esp, 0x14<20>
  
  L35: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   e8 2e 00 00 00 ?? call function 0x00415c4a
  
  L36: 83 7d e0 00 ?? cmp dword ss:[ebp + 0xe0<224,-32>], 0
   75 31 ?? jne basic block L41
  
  L37: 85 f6 ?? test esi, esi
   75 01 ?? jne basic block L39
  
  L38: 46 ?? inc esi
  
  L39: 83 c6 0f ?? add esi, 15
   83 e6 f0 ?? and esi, 0xf0<240,-16>
   89 75 0c ?? mov dword ss:[ebp + 12], esi
   56 ?? push esi
   53 ?? push ebx
   6a 00 ?? push 0
   ff 35 0c 99 42 00 ?? push dword ds:[0x0042990c]
   ff 15 80 a2 42 00 ?? call dword ds:[0x0042a280]
  
  L40: 8b f8 ?? mov edi, eax
   eb 12 ?? jmp basic block L42
  
  L41: 8b 7d e4 ?? mov edi, dword ss:[ebp + 0xe4<228,-28>]
  
  L42: 85 ff ?? test edi, edi
   0f 85 bf 00 00 00 ?? jne basic block L76
  
  L43: 39 3d a8 9a 42 00 ?? cmp dword ds:[0x00429aa8], edi
   74 2c ?? je basic block L51
  
  L44: 56 ?? push esi
   e8 aa cc fe ff ?? call function 0x00402916
  
  L45: 59 ?? pop ecx
   85 c0 ?? test eax, eax
   0f 85 d2 fe ff ff ?? jne basic block L9
  
  L46: e8 1f 18 ff ff ?? call function 0x00407499
  
  L47: 39 7d e0 ?? cmp dword ss:[ebp + 0xe0<224,-32>], edi
   75 6c ?? jne basic block L65
  
  L48: 8b f0 ?? mov esi, eax
   ff 15 e0 a1 42 00 ?? call dword ds:[0x0042a1e0]
  
  L49: 50 ?? push eax
   e8 ca 17 ff ff ?? call function 0x00407457
  
  L50: 59 ?? pop ecx
   89 06 ?? mov dword ds:[esi], eax
   eb 5f ?? jmp basic block L66
  
  L51: 85 ff ?? test edi, edi
   0f 85 83 00 00 00 ?? jne basic block L76
  
  L52: e8 fa 17 ff ff ?? call function 0x00407499
  
  L53: 39 7d e0 ?? cmp dword ss:[ebp + 0xe0<224,-32>], edi
   74 68 ?? je basic block L73
  
  L54: c7 00 0c 00 00 00 ?? mov dword ds:[eax], 12
   eb 71 ?? jmp basic block L76
  
  L55: 85 f6 ?? test esi, esi
   75 01 ?? jne basic block L57
  
  L56: 46 ?? inc esi
  
  L57: 56 ?? push esi
   53 ?? push ebx
   6a 00 ?? push 0
   ff 35 0c 99 42 00 ?? push dword ds:[0x0042990c]
   ff 15 80 a2 42 00 ?? call dword ds:[0x0042a280]
  
  L58: 8b f8 ?? mov edi, eax
   85 ff ?? test edi, edi
   75 56 ?? jne basic block L76
  
  L59: 39 05 a8 9a 42 00 ?? cmp dword ds:[0x00429aa8], eax
   74 34 ?? je basic block L71
  
  L60: 56 ?? push esi
   e8 41 cc fe ff ?? call function 0x00402916
  
  L61: 59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 1f ?? je basic block L69
  
  L62: 83 fe e0 ?? cmp esi, 0xe0<224,-32>
   76 cd ?? jbe basic block L55
  
  L63: 56 ?? push esi
   e8 31 cc fe ff ?? call function 0x00402916
  
  L64: 59 ?? pop ecx
   e8 ae 17 ff ff ?? call function 0x00407499
  
  L65: c7 00 0c 00 00 00 ?? mov dword ds:[eax], 12
  
  L66: 33 c0 ?? xor eax, eax
  
  L67: e8 61 f7 fe ff ?? call function 0x00405459
  
  L68: c3 ?? ret
  
  L69: e8 9b 17 ff ff ?? call function 0x00407499
  
  L70: e9 7c ff ff ff ?? jmp basic block L48
  
  L71: 85 ff ?? test edi, edi
   75 16 ?? jne basic block L76
  
  L72: e8 8d 17 ff ff ?? call function 0x00407499
  
  L73: 8b f0 ?? mov esi, eax
   ff 15 e0 a1 42 00 ?? call dword ds:[0x0042a1e0]
  
  L74: 50 ?? push eax
   e8 3d 17 ff ff ?? call function 0x00407457
  
  L75: 89 06 ?? mov dword ds:[esi], eax
   59 ?? pop ecx
  
  L76: 8b c7 ?? mov eax, edi
   eb d2 ?? jmp basic block L67
  
  