Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 0c ?? sub esp, 12
   85 ff ?? test edi, edi
   75 0a ?? jne basic block L4
  
  L2: e8 55 0c 00 00 ?? call function 0x00403bbd
  
  L3: e8 04 0c 00 00 ?? call function 0x00403b71
  
  L4: 83 65 f8 00 ?? and dword ss:[ebp + 0xf8<248,-8>], 0
   83 3f 00 ?? cmp dword ds:[edi], 0
   c6 45 ff 00 ?? mov byte ss:[ebp + 0xff<255,-1>], 0
   7e 53 ?? jle basic block L15
  
  L5: 53 ?? push ebx
   56 ?? push esi
  
  L6: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   8b 40 1c ?? mov eax, dword ds:[eax + 0x1c<28>]
   8b 40 0c ?? mov eax, dword ds:[eax + 12]
   8b 18 ?? mov ebx, dword ds:[eax]
   8d 70 04 ?? lea esi, ds:[eax + 4]
   85 db ?? test ebx, ebx
   7e 33 ?? jle basic block L13
  
  L7: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   c1 e0 04 ?? shl eax, 4
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
  
  L8: 8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   ff 71 1c ?? push dword ds:[ecx + 0x1c<28>]
   8b 06 ?? mov eax, dword ds:[esi]
   50 ?? push eax
   8b 47 04 ?? mov eax, dword ds:[edi + 4]
   03 45 f4 ?? add eax, dword ss:[ebp + 0xf4<244,-12>]
   50 ?? push eax
   e8 2e fa ff ff ?? call function 0x004029da
  
  L9: 83 c4 0c ?? add esp, 12
   85 c0 ?? test eax, eax
   75 0a ?? jne basic block L12
  
  L10: 4b ?? dec ebx
   83 c6 04 ?? add esi, 4
   85 db ?? test ebx, ebx
   7f dc ?? jg basic block L8
  
  L11: eb 04 ?? jmp basic block L13
  
  L12: c6 45 ff 01 ?? mov byte ss:[ebp + 0xff<255,-1>], 1
  
  L13: ff 45 f8 ?? inc dword ss:[ebp + 0xf8<248,-8>]
   8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   3b 07 ?? cmp eax, dword ds:[edi]
   7c b1 ?? jl basic block L6
  
  L14: 5e ?? pop esi
   5b ?? pop ebx
  
  L15: 8a 45 ff ?? mov al, byte ss:[ebp + 0xff<255,-1>]
   c9 ?? leave
   c3 ?? ret
  
  