Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   f6 47 0c 40 ?? test byte ds:[edi + 12], 0x40<64>
   53 ?? push ebx
   56 ?? push esi
   8b f0 ?? mov esi, eax
   8b d9 ?? mov ebx, ecx
   74 32 ?? je basic block L9
  
  L2: 83 7f 08 00 ?? cmp dword ds:[edi + 8], 0
   75 2c ?? jne basic block L9
  
  L3: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   01 06 ?? add dword ds:[esi], eax
   eb 2b ?? jmp basic block L10
  
  L4: 8a 03 ?? mov al, byte ds:[ebx]
   ff 4d 08 ?? dec dword ss:[ebp + 8]
   8b cf ?? mov ecx, edi
   e8 7d ff ff ff ?? call function 0x004108c2
  
  L5: 43 ?? inc ebx
   83 3e ff ?? cmp dword ds:[esi], 0xff<255,-1>
   75 13 ?? jne basic block L9
  
  L6: e8 47 d7 ff ff ?? call function 0x0040e097
  
  L7: 83 38 2a ?? cmp dword ds:[eax], 0x2a<42>
   75 0f ?? jne basic block L10
  
  L8: 8b cf ?? mov ecx, edi
   b0 3f ?? mov al, 0x3f<63>
   e8 64 ff ff ff ?? call function 0x004108c2
  
  L9: 83 7d 08 00 ?? cmp dword ss:[ebp + 8], 0
   7f d5 ?? jg basic block L4
  
  L10: 5e ?? pop esi
   5b ?? pop ebx
   5d ?? pop ebp
   c3 ?? ret
  
  