Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   53 ?? push ebx
   56 ?? push esi
   57 ?? push edi
   e8 85 2e 00 00 ?? call function 0x0040bb4a
  
  L2: 83 b8 0c 02 00 00 00 ?? cmp dword ds:[eax + 0x0000020c<524>], 0
   8b 45 18 ?? mov eax, dword ss:[ebp + 0x18<24>]
   8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   bf 63 73 6d e0 ?? mov edi, 0xe06d7363
   be ff ff ff 1f ?? mov esi, 0x1fffffff
   bb 22 05 93 19 ?? mov ebx, 0x19930522
   75 20 ?? jne basic block L7
  
  L3: 8b 11 ?? mov edx, dword ds:[ecx]
   3b d7 ?? cmp edx, edi
   74 1a ?? je basic block L7
  
  L4: 81 fa 26 00 00 80 ?? cmp edx, 0x80000026
   74 12 ?? je basic block L7
  
  L5: 8b 10 ?? mov edx, dword ds:[eax]
   23 d6 ?? and edx, esi
   3b d3 ?? cmp edx, ebx
   72 0a ?? jb basic block L7
  
  L6: f6 40 20 01 ?? test byte ds:[eax + 0x20<32>], 1
   0f 85 93 00 00 00 ?? jne basic block L23
  
  L7: f6 41 04 66 ?? test byte ds:[ecx + 4], 0x66<102>
   74 23 ?? je basic block L12
  
  L8: 83 78 04 00 ?? cmp dword ds:[eax + 4], 0
   0f 84 83 00 00 00 ?? je basic block L23
  
  L9: 83 7d 1c 00 ?? cmp dword ss:[ebp + 0x1c<28>], 0
   75 7d ?? jne basic block L23
  
  L10: 6a ff ?? push 0xff<255,-1>
   50 ?? push eax
   ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
   ff 75 0c ?? push dword ss:[ebp + 12]
   e8 88 ef ff ff ?? call function 0x00407caf
  
  L11: 83 c4 10 ?? add esp, 0x10<16>
   eb 6a ?? jmp basic block L23
  
  L12: 83 78 0c 00 ?? cmp dword ds:[eax + 12], 0
   75 12 ?? jne basic block L15
  
  L13: 8b 10 ?? mov edx, dword ds:[eax]
   23 d6 ?? and edx, esi
   81 fa 21 05 93 19 ?? cmp edx, 0x19930521
   72 58 ?? jb basic block L23
  
  L14: 83 78 1c 00 ?? cmp dword ds:[eax + 0x1c<28>], 0
   74 52 ?? je basic block L23
  
  L15: 39 39 ?? cmp dword ds:[ecx], edi
   75 32 ?? jne basic block L21
  
  L16: 83 79 10 03 ?? cmp dword ds:[ecx + 0x10<16>], 3
   72 2c ?? jb basic block L21
  
  L17: 39 59 14 ?? cmp dword ds:[ecx + 0x14<20>], ebx
   76 27 ?? jbe basic block L21
  
  L18: 8b 51 1c ?? mov edx, dword ds:[ecx + 0x1c<28>]
   8b 52 08 ?? mov edx, dword ds:[edx + 8]
   85 d2 ?? test edx, edx
   74 1d ?? je basic block L21
  
  L19: 0f b6 75 24 ?? movzx esi, byte ss:[ebp + 0x24<36>]
   56 ?? push esi
   ff 75 20 ?? push dword ss:[ebp + 0x20<32>]
   ff 75 1c ?? push dword ss:[ebp + 0x1c<28>]
   50 ?? push eax
   ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
   ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   ff 75 0c ?? push dword ss:[ebp + 12]
   51 ?? push ecx
   ff d2 ?? call edx
  
  L20: 83 c4 20 ?? add esp, 0x20<32>
   eb 1f ?? jmp basic block L24
  
  L21: ff 75 20 ?? push dword ss:[ebp + 0x20<32>]
   ff 75 1c ?? push dword ss:[ebp + 0x1c<28>]
   ff 75 24 ?? push dword ss:[ebp + 0x24<36>]
   50 ?? push eax
   ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
   ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   ff 75 0c ?? push dword ss:[ebp + 12]
   51 ?? push ecx
   e8 c1 fb ff ff ?? call function 0x00408954
  
  L22: 83 c4 20 ?? add esp, 0x20<32>
  
  L23: 33 c0 ?? xor eax, eax
   40 ?? inc eax
  
  L24: 5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   5d ?? pop ebp
   c3 ?? ret
  
  