Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   56 ?? push esi
   8b f1 ?? mov esi, ecx
   8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   81 66 04 ff 00 ff ff ?? and dword ds:[esi + 4], 0xffff00ff<4294902015,-65281>
   83 f9 02 ?? cmp ecx, 2
   74 09 ?? je basic block L4
  
  L2: 83 f9 03 ?? cmp ecx, 3
   74 04 ?? je basic block L4
  
  L3: 33 c0 ?? xor eax, eax
   eb 02 ?? jmp basic block L5
  
  L4: 8b c1 ?? mov eax, ecx
  
  L5: 83 26 00 ?? and dword ds:[esi], 0
   88 46 04 ?? mov byte ds:[esi + 4], al
   83 f9 01 ?? cmp ecx, 1
   75 11 ?? jne basic block L9
  
  L6: 51 ?? push ecx
   e8 ea fc ff ff ?? call function 0x0040a8fb
  
  L7: 59 ?? pop ecx
   89 06 ?? mov dword ds:[esi], eax
   85 c0 ?? test eax, eax
   75 04 ?? jne basic block L9
  
  L8: c6 46 04 03 ?? mov byte ds:[esi + 4], 3
  
  L9: 8b c6 ?? mov eax, esi
   5e ?? pop esi
   5d ?? pop ebp
   c2 04 00 ?? ret 4
  
  