
L1: 8b ff ?? mov edi, edi
 55 ?? push ebp
 8b ec ?? mov ebp, esp
 53 ?? push ebx
 56 ?? push esi
 8b 75 08 ?? mov esi, dword ss:[ebp + 8]
 8b 46 0c ?? mov eax, dword ds:[esi + 12]
 8b c8 ?? mov ecx, eax
 80 e1 03 ?? and cl, 3
 33 db ?? xor ebx, ebx
 80 f9 02 ?? cmp cl, 2
 75 40 ?? jne basic block L11

L2: a9 08 01 00 00 ?? test eax, 0x00000108<264>
 74 39 ?? je basic block L11

L3: 8b 46 08 ?? mov eax, dword ds:[esi + 8]
 57 ?? push edi
 8b 3e ?? mov edi, dword ds:[esi]
 2b f8 ?? sub edi, eax
 85 ff ?? test edi, edi
 7e 2c ?? jle basic block L10

L4: 57 ?? push edi
 50 ?? push eax
 56 ?? push esi
 e8 46 a0 00 00 ?? call function 0x00415073

L5: 59 ?? pop ecx
 50 ?? push eax
 e8 ed a7 00 00 ?? call function 0x00415821

L6: 83 c4 0c ?? add esp, 12
 3b c7 ?? cmp eax, edi
 75 0f ?? jne basic block L9

L7: 8b 46 0c ?? mov eax, dword ds:[esi + 12]
 84 c0 ?? test al, al
 79 0f ?? jns basic block L10

L8: 83 e0 fd ?? and eax, 0xfd<253,-3>
 89 46 0c ?? mov dword ds:[esi + 12], eax
 eb 07 ?? jmp basic block L10

L9: 83 4e 0c 20 ?? or dword ds:[esi + 12], 0x20<32>
 83 cb ff ?? or ebx, 0xff<255,-1>

L10: 5f ?? pop edi

L11: 8b 46 08 ?? mov eax, dword ds:[esi + 8]
 83 66 04 00 ?? and dword ds:[esi + 4], 0
 89 06 ?? mov dword ds:[esi], eax
 5e ?? pop esi
 8b c3 ?? mov eax, ebx
 5b ?? pop ebx
 5d ?? pop ebp
 c3 ?? ret

