Disassembly: 
  L1: f6 41 0c 40 ?? test byte ds:[ecx + 12], 0x40<64>
   74 06 ?? je basic block L3
  
  L2: 83 79 08 00 ?? cmp dword ds:[ecx + 8], 0
   74 24 ?? je basic block L9
  
  L3: ff 49 04 ?? dec dword ds:[ecx + 4]
   78 0b ?? js basic block L5
  
  L4: 8b 11 ?? mov edx, dword ds:[ecx]
   88 02 ?? mov byte ds:[edx], al
   ff 01 ?? inc dword ds:[ecx]
   0f b6 c0 ?? movzx eax, al
   eb 0c ?? jmp basic block L7
  
  L5: 0f be c0 ?? movsx eax, al
   51 ?? push ecx
   50 ?? push eax
   e8 76 fe ff ff ?? call function 0x0041075e
  
  L6: 59 ?? pop ecx
   59 ?? pop ecx
  
  L7: 83 f8 ff ?? cmp eax, 0xff<255,-1>
   75 03 ?? jne basic block L9
  
  L8: 09 06 ?? or dword ds:[esi], eax
   c3 ?? ret
  
  L9: ff 06 ?? inc dword ds:[esi]
   c3 ?? ret
  
  