Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   8b 45 14 ?? mov eax, dword ss:[ebp + 0x14<20>]
   56 ?? push esi
   57 ?? push edi
   85 c0 ?? test eax, eax
   75 11 ?? jne basic block L5
  
  L2: e8 87 56 00 00 ?? call function 0x0040e5b3
  
  L3: 8b 70 08 ?? mov esi, dword ds:[eax + 8]
   e8 33 56 00 00 ?? call function 0x0040e567
  
  L4: 8b f8 ?? mov edi, eax
   eb 05 ?? jmp basic block L6
  
  L5: 8b 30 ?? mov esi, dword ds:[eax]
   8b 78 04 ?? mov edi, dword ds:[eax + 4]
  
  L6: 85 f6 ?? test esi, esi
   75 18 ?? jne basic block L9
  
  L7: 66 8b 45 0c ?? mov ax, word ss:[ebp + 12]
   b9 ff 00 00 00 ?? mov ecx, 0x000000ff<255>
   66 3b c1 ?? cmp ax, cx
   77 3f ?? ja basic block L14
  
  L8: 8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   88 01 ?? mov byte ds:[ecx], al
   33 c0 ?? xor eax, eax
   40 ?? inc eax
   eb 43 ?? jmp basic block L16
  
  L9: 83 65 14 00 ?? and dword ss:[ebp + 0x14<20>], 0
   57 ?? push edi
   e8 08 05 00 00 ?? call function 0x0040946b
  
  L10: 59 ?? pop ecx
   8d 4d 14 ?? lea ecx, ss:[ebp + 0x14<20>]
   51 ?? push ecx
   6a 00 ?? push 0
   50 ?? push eax
   e8 db 55 00 00 ?? call function 0x0040e54b
  
  L11: 59 ?? pop ecx
   50 ?? push eax
   ff 75 08 ?? push dword ss:[ebp + 8]
   8d 45 0c ?? lea eax, ss:[ebp + 12]
   6a 01 ?? push 1
   50 ?? push eax
   6a 00 ?? push 0
   57 ?? push edi
   ff 15 00 92 44 00 ?? call dword ds:[0x00449200]
  
  L12: 85 c0 ?? test eax, eax
   74 06 ?? je basic block L14
  
  L13: 83 7d 14 00 ?? cmp dword ss:[ebp + 0x14<20>], 0
   74 0e ?? je basic block L16
  
  L14: e8 04 51 00 00 ?? call function 0x0040e097
  
  L15: c7 00 2a 00 00 00 ?? mov dword ds:[eax], 0x0000002a<42>
   83 c8 ff ?? or eax, 0xff<255,-1>
  
  L16: 5f ?? pop edi
   5e ?? pop esi
   5d ?? pop ebp
   c3 ?? ret
  
  