Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   56 ?? push esi
   8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   83 fe e0 ?? cmp esi, 0xe0<224,-32>
   0f 87 a1 00 00 00 ?? ja basic block L30
  
  L2: 53 ?? push ebx
   57 ?? push edi
   8b 3d c4 a1 42 00 ?? mov edi, dword ds:[0x0042a1c4]
  
  L3: 83 3d 1c 99 42 00 00 ?? cmp dword ds:[0x0042991c], 0
   75 18 ?? jne basic block L8
  
  L4: e8 94 25 00 00 ?? call function 0x004046f9
  
  L5: 6a 1e ?? push 0x1e<30>
   e8 bc 23 00 00 ?? call function 0x00404528
  
  L6: 68 ff 00 00 00 ?? push 0x000000ff<255>
   e8 86 20 00 00 ?? call function 0x004041fc
  
  L7: 59 ?? pop ecx
   59 ?? pop ecx
  
  L8: a1 94 9c 42 00 ?? mov eax, dword ds:[0x00429c94]
   83 f8 01 ?? cmp eax, 1
   75 0e ?? jne basic block L13
  
  L9: 85 f6 ?? test esi, esi
   74 04 ?? je basic block L11
  
  L10: 8b c6 ?? mov eax, esi
   eb 03 ?? jmp basic block L12
  
  L11: 33 c0 ?? xor eax, eax
   40 ?? inc eax
  
  L12: 50 ?? push eax
   eb 1c ?? jmp basic block L19
  
  L13: 83 f8 03 ?? cmp eax, 3
   75 0b ?? jne basic block L16
  
  L14: 56 ?? push esi
   e8 d9 fe ff ff ?? call function 0x00402074
  
  L15: 59 ?? pop ecx
   85 c0 ?? test eax, eax
   75 16 ?? jne basic block L20
  
  L16: 85 f6 ?? test esi, esi
   75 01 ?? jne basic block L18
  
  L17: 46 ?? inc esi
  
  L18: 83 c6 0f ?? add esi, 15
   83 e6 f0 ?? and esi, 0xf0<240,-16>
   56 ?? push esi
  
  L19: 6a 00 ?? push 0
   ff 35 1c 99 42 00 ?? push dword ds:[0x0042991c]
   ff d7 ?? call edi
  
  L20: 8b d8 ?? mov ebx, eax
   85 db ?? test ebx, ebx
   75 2e ?? jne basic block L29
  
  L21: 6a 0c ?? push 12
   5e ?? pop esi
   39 05 78 9a 42 00 ?? cmp dword ds:[0x00429a78], eax
   74 15 ?? je basic block L25
  
  L22: ff 75 08 ?? push dword ss:[ebp + 8]
   e8 93 00 00 00 ?? call function 0x00402262
  
  L23: 59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 0f ?? je basic block L27
  
  L24: 8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   e9 7b ff ff ff ?? jmp basic block L3
  
  L25: e8 13 32 00 00 ?? call function 0x004053f4
  
  L26: 89 30 ?? mov dword ds:[eax], esi
  
  L27: e8 0c 32 00 00 ?? call function 0x004053f4
  
  L28: 89 30 ?? mov dword ds:[eax], esi
  
  L29: 5f ?? pop edi
   8b c3 ?? mov eax, ebx
   5b ?? pop ebx
   eb 14 ?? jmp basic block L33
  
  L30: 56 ?? push esi
   e8 6c 00 00 00 ?? call function 0x00402262
  
  L31: 59 ?? pop ecx
   e8 f8 31 00 00 ?? call function 0x004053f4
  
  L32: c7 00 0c 00 00 00 ?? mov dword ds:[eax], 12
   33 c0 ?? xor eax, eax
  
  L33: 5e ?? pop esi
   5d ?? pop ebp
   c3 ?? ret
  
  