Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   8b 41 20 ?? mov eax, dword ds:[ecx + 0x20<32>]
   8b 00 ?? mov eax, dword ds:[eax]
   53 ?? push ebx
   8b 5d 08 ?? mov ebx, dword ss:[ebp + 8]
   85 c0 ?? test eax, eax
   74 29 ?? je basic block L6
  
  L2: 8b 51 10 ?? mov edx, dword ds:[ecx + 0x10<16>]
   39 02 ?? cmp dword ds:[edx], eax
   73 22 ?? jae basic block L6
  
  L3: 83 fb ff ?? cmp ebx, 0xff<255,-1>
   74 08 ?? je basic block L5
  
  L4: 0f b6 40 ff ?? movzx eax, byte ds:[eax + 0xff<255,-1>]
   3b c3 ?? cmp eax, ebx
   75 15 ?? jne basic block L6
  
  L5: 8b 41 30 ?? mov eax, dword ds:[ecx + 0x30<48>]
   ff 00 ?? inc dword ds:[eax]
   8b 49 20 ?? mov ecx, dword ds:[ecx + 0x20<32>]
   ff 09 ?? dec dword ds:[ecx]
   8b c3 ?? mov eax, ebx
   40 ?? inc eax
   f7 d8 ?? neg eax
   1b c0 ?? sbb eax, eax
   23 c3 ?? and eax, ebx
   eb 2c ?? jmp basic block L13
  
  L6: 8b 41 4c ?? mov eax, dword ds:[ecx + 0x4c<76>]
   85 c0 ?? test eax, eax
   74 22 ?? je basic block L12
  
  L7: 83 fb ff ?? cmp ebx, 0xff<255,-1>
   74 1d ?? je basic block L12
  
  L8: 83 79 3c 00 ?? cmp dword ds:[ecx + 0x3c<60>], 0
   75 17 ?? jne basic block L12
  
  L9: 50 ?? push eax
   8d 45 0b ?? lea eax, ss:[ebp + 11]
   50 ?? push eax
   88 5d 0b ?? mov byte ss:[ebp + 11], bl
   e8 e1 fe ff ff ?? call function 0x00403e2f
  
  L10: 59 ?? pop ecx
   59 ?? pop ecx
   84 c0 ?? test al, al
   74 04 ?? je basic block L12
  
  L11: 8b c3 ?? mov eax, ebx
   eb 03 ?? jmp basic block L13
  
  L12: 83 c8 ff ?? or eax, 0xff<255,-1>
  
  L13: 5b ?? pop ebx
   5d ?? pop ebp
   c2 04 00 ?? ret 4
  
  