Disassembly: 
  L1: 6a 10 ?? push 0x10<16>
   68 d0 2b 44 00 ?? push 0x00442bd0
   e8 89 d6 fe ff ?? call function 0x00413ab0
  
  L2: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   83 f8 fe ?? cmp eax, 0xfe<254,-2>
   75 1b ?? jne basic block L7
  
  L3: e8 76 7c fe ff ?? call function 0x0040e0aa
  
  L4: 83 20 00 ?? and dword ds:[eax], 0
   e8 5b 7c fe ff ?? call function 0x0040e097
  
  L5: c7 00 09 00 00 00 ?? mov dword ds:[eax], 9
  
  L6: 83 c8 ff ?? or eax, 0xff<255,-1>
   e9 be 00 00 00 ?? jmp basic block L28
  
  L7: 33 f6 ?? xor esi, esi
   3b c6 ?? cmp eax, esi
   7c 08 ?? jl basic block L9
  
  L8: 3b 05 80 6b 44 00 ?? cmp eax, dword ds:[0x00446b80]
   72 21 ?? jb basic block L14
  
  L9: e8 4d 7c fe ff ?? call function 0x0040e0aa
  
  L10: 89 30 ?? mov dword ds:[eax], esi
   e8 33 7c fe ff ?? call function 0x0040e097
  
  L11: c7 00 09 00 00 00 ?? mov dword ds:[eax], 9
  
  L12: 56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   e8 63 3d fe ff ?? call function 0x0040a1d7
  
  L13: 83 c4 14 ?? add esp, 0x14<20>
   eb c9 ?? jmp basic block L6
  
  L14: 8b c8 ?? mov ecx, eax
   c1 f9 05 ?? sar ecx, 5
   8d 1c 8d c0 6b 44 00 ?? lea ebx, ds:[0x00446bc0 + ecx * 4]
   8b f8 ?? mov edi, eax
   83 e7 1f ?? and edi, 0x1f<31>
   c1 e7 06 ?? shl edi, 6
   8b 0b ?? mov ecx, dword ds:[ebx]
   0f be 4c 39 04 ?? movsx ecx, byte ds:[ecx + edi + 4]
   83 e1 01 ?? and ecx, 1
   74 bf ?? je basic block L9
  
  L15: b9 ff ff ff 7f ?? mov ecx, 0x7fffffff
   3b 4d 10 ?? cmp ecx, dword ss:[ebp + 0x10<16>]
   1b c9 ?? sbb ecx, ecx
   41 ?? inc ecx
   75 14 ?? jne basic block L19
  
  L16: e8 ff 7b fe ff ?? call function 0x0040e0aa
  
  L17: 89 30 ?? mov dword ds:[eax], esi
   e8 e5 7b fe ff ?? call function 0x0040e097
  
  L18: c7 00 16 00 00 00 ?? mov dword ds:[eax], 0x00000016<22>
   eb b0 ?? jmp basic block L12
  
  L19: 50 ?? push eax
   e8 e9 04 00 00 ?? call function 0x004269a9
  
  L20: 59 ?? pop ecx
   89 75 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], esi
   8b 03 ?? mov eax, dword ds:[ebx]
   f6 44 38 04 01 ?? test byte ds:[eax + edi + 4], 1
   74 16 ?? je basic block L23
  
  L21: ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   ff 75 0c ?? push dword ss:[ebp + 12]
   ff 75 08 ?? push dword ss:[ebp + 8]
   e8 7e f9 ff ff ?? call function 0x00425e59
  
  L22: 83 c4 0c ?? add esp, 12
   89 45 e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], eax
   eb 16 ?? jmp basic block L26
  
  L23: e8 af 7b fe ff ?? call function 0x0040e097
  
  L24: c7 00 09 00 00 00 ?? mov dword ds:[eax], 9
   e8 b7 7b fe ff ?? call function 0x0040e0aa
  
  L25: 89 30 ?? mov dword ds:[eax], esi
   83 4d e4 ff ?? or dword ss:[ebp + 0xe4<228,-28>], 0xff<255,-1>
  
  L26: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   e8 09 00 00 00 ?? call function 0x0042650e
  
  L27: 8b 45 e4 ?? mov eax, dword ss:[ebp + 0xe4<228,-28>]
  
  L28: e8 e8 d5 fe ff ?? call function 0x00413af5
  
  L29: c3 ?? ret
  
  