Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 0c ?? sub esp, 12
   53 ?? push ebx
   33 db ?? xor ebx, ebx
   56 ?? push esi
   57 ?? push edi
   39 1d 98 9d 42 00 ?? cmp dword ds:[0x00429d98], ebx
   75 05 ?? jne basic block L3
  
  L2: e8 32 41 00 00 ?? call function 0x004088b9
  
  L3: 68 04 01 00 00 ?? push 0x00000104<260>
   be a8 97 42 00 ?? mov esi, 0x004297a8
   56 ?? push esi
   53 ?? push ebx
   88 1d ac 98 42 00 ?? mov byte ds:[0x004298ac], bl
   ff 15 1c a2 42 00 ?? call dword ds:[0x0042a21c]
  
  L4: a1 a4 9d 42 00 ?? mov eax, dword ds:[0x00429da4]
   89 35 7c 94 42 00 ?? mov dword ds:[0x0042947c], esi
   3b c3 ?? cmp eax, ebx
   74 07 ?? je basic block L6
  
  L5: 89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   38 18 ?? cmp byte ds:[eax], bl
   75 03 ?? jne basic block L7
  
  L6: 89 75 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], esi
  
  L7: 8b 55 fc ?? mov edx, dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f8 ?? lea eax, ss:[ebp + 0xf8<248,-8>]
   50 ?? push eax
   53 ?? push ebx
   53 ?? push ebx
   8d 7d f4 ?? lea edi, ss:[ebp + 0xf4<244,-12>]
   e8 0a fe ff ff ?? call function 0x004045d3
  
  L8: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   83 c4 0c ?? add esp, 12
   3d ff ff ff 3f ?? cmp eax, 0x3fffffff
   73 4a ?? jae basic block L15
  
  L9: 8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
   83 f9 ff ?? cmp ecx, 0xff<255,-1>
   73 42 ?? jae basic block L15
  
  L10: 8b f8 ?? mov edi, eax
   c1 e7 02 ?? shl edi, 2
   8d 04 0f ?? lea eax, ds:[edi + ecx]
   3b c1 ?? cmp eax, ecx
   72 36 ?? jb basic block L15
  
  L11: 50 ?? push eax
   e8 03 20 00 00 ?? call function 0x004067f3
  
  L12: 8b f0 ?? mov esi, eax
   59 ?? pop ecx
   3b f3 ?? cmp esi, ebx
   74 29 ?? je basic block L15
  
  L13: 8b 55 fc ?? mov edx, dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f8 ?? lea eax, ss:[ebp + 0xf8<248,-8>]
   50 ?? push eax
   03 fe ?? add edi, esi
   57 ?? push edi
   56 ?? push esi
   8d 7d f4 ?? lea edi, ss:[ebp + 0xf4<244,-12>]
   e8 c9 fd ff ff ?? call function 0x004045d3
  
  L14: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   83 c4 0c ?? add esp, 12
   48 ?? dec eax
   a3 60 94 42 00 ?? mov dword ds:[0x00429460], eax
   89 35 64 94 42 00 ?? mov dword ds:[0x00429464], esi
   33 c0 ?? xor eax, eax
   eb 03 ?? jmp basic block L16
  
  L15: 83 c8 ff ?? or eax, 0xff<255,-1>
  
  L16: 5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  