Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   53 ?? push ebx
   8a 5d 10 ?? mov bl, byte ss:[ebp + 0x10<16>]
   56 ?? push esi
   8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   8a 46 08 ?? mov al, byte ds:[esi + 8]
   3c 70 ?? cmp al, 0x70<112>
   0f 84 06 01 00 00 ?? je basic block L49
  
  L2: 80 fb 70 ?? cmp bl, 0x70<112>
   0f 84 fd 00 00 00 ?? je basic block L49
  
  L3: 3c 73 ?? cmp al, 0x73<115>
   74 08 ?? je basic block L6
  
  L4: 3c 53 ?? cmp al, 0x53<83>
   74 04 ?? je basic block L6
  
  L5: 33 d2 ?? xor edx, edx
   eb 03 ?? jmp basic block L7
  
  L6: 33 d2 ?? xor edx, edx
   42 ?? inc edx
  
  L7: 80 fb 73 ?? cmp bl, 0x73<115>
   74 09 ?? je basic block L10
  
  L8: 80 fb 53 ?? cmp bl, 0x53<83>
   74 04 ?? je basic block L10
  
  L9: 33 c9 ?? xor ecx, ecx
   eb 03 ?? jmp basic block L11
  
  L10: 33 c9 ?? xor ecx, ecx
   41 ?? inc ecx
  
  L11: 85 d2 ?? test edx, edx
   0f 85 a9 00 00 00 ?? jne basic block L45
  
  L12: 85 c9 ?? test ecx, ecx
   0f 85 c9 00 00 00 ?? jne basic block L48
  
  L13: b2 64 ?? mov dl, 0x64<100>
   3a c2 ?? cmp al, dl
   74 4d ?? je basic block L32
  
  L14: 3c 69 ?? cmp al, 0x69<105>
   74 2d ?? je basic block L25
  
  L15: 3c 6f ?? cmp al, 0x6f<111>
   74 29 ?? je basic block L25
  
  L16: 3c 75 ?? cmp al, 0x75<117>
   74 25 ?? je basic block L25
  
  L17: 3c 78 ?? cmp al, 0x78<120>
   74 21 ?? je basic block L25
  
  L18: 3c 58 ?? cmp al, 0x58<88>
   74 1d ?? je basic block L25
  
  L19: 3a da ?? cmp bl, dl
   74 19 ?? je basic block L25
  
  L20: 80 fb 69 ?? cmp bl, 0x69<105>
   74 14 ?? je basic block L25
  
  L21: 80 fb 6f ?? cmp bl, 0x6f<111>
   74 0f ?? je basic block L25
  
  L22: 80 fb 75 ?? cmp bl, 0x75<117>
   74 0a ?? je basic block L25
  
  L23: 80 fb 78 ?? cmp bl, 0x78<120>
   74 05 ?? je basic block L25
  
  L24: 80 fb 58 ?? cmp bl, 0x58<88>
   75 5e ?? jne basic block L44
  
  L25: 3a c2 ?? cmp al, dl
   74 18 ?? je basic block L32
  
  L26: 3c 69 ?? cmp al, 0x69<105>
   74 14 ?? je basic block L32
  
  L27: 3c 6f ?? cmp al, 0x6f<111>
   74 10 ?? je basic block L32
  
  L28: 3c 75 ?? cmp al, 0x75<117>
   74 0c ?? je basic block L32
  
  L29: 3c 78 ?? cmp al, 0x78<120>
   74 08 ?? je basic block L32
  
  L30: 3c 58 ?? cmp al, 0x58<88>
   74 04 ?? je basic block L32
  
  L31: 33 c9 ?? xor ecx, ecx
   eb 03 ?? jmp basic block L33
  
  L32: 33 c9 ?? xor ecx, ecx
   41 ?? inc ecx
  
  L33: 3a da ?? cmp bl, dl
   74 1d ?? je basic block L40
  
  L34: 80 fb 69 ?? cmp bl, 0x69<105>
   74 18 ?? je basic block L40
  
  L35: 80 fb 6f ?? cmp bl, 0x6f<111>
   74 13 ?? je basic block L40
  
  L36: 80 fb 75 ?? cmp bl, 0x75<117>
   74 0e ?? je basic block L40
  
  L37: 80 fb 78 ?? cmp bl, 0x78<120>
   74 09 ?? je basic block L40
  
  L38: 80 fb 58 ?? cmp bl, 0x58<88>
   74 04 ?? je basic block L40
  
  L39: 33 c0 ?? xor eax, eax
   eb 03 ?? jmp basic block L41
  
  L40: 33 c0 ?? xor eax, eax
   40 ?? inc eax
  
  L41: 3b c8 ?? cmp ecx, eax
   75 4b ?? jne basic block L48
  
  L42: 8b 46 0c ?? mov eax, dword ds:[esi + 12]
   8b c8 ?? mov ecx, eax
   33 4d 14 ?? xor ecx, dword ss:[ebp + 0x14<20>]
   f7 c1 00 00 01 00 ?? test ecx, 0x00010000
   75 3b ?? jne basic block L48
  
  L43: 33 45 14 ?? xor eax, dword ss:[ebp + 0x14<20>]
   a8 20 ?? test al, 0x20<32>
   75 34 ?? jne basic block L48
  
  L44: 8b 0e ?? mov ecx, dword ds:[esi]
   33 c0 ?? xor eax, eax
   3b 4d 0c ?? cmp ecx, dword ss:[ebp + 12]
   0f 94 c0 ?? sete al
   eb 35 ?? jmp basic block L50
  
  L45: 3b d1 ?? cmp edx, ecx
   75 24 ?? jne basic block L48
  
  L46: 8b 4e 0c ?? mov ecx, dword ds:[esi + 12]
   8b 55 14 ?? mov edx, dword ss:[ebp + 0x14<20>]
   b8 10 08 00 00 ?? mov eax, 0x00000810<2064>
   23 c8 ?? and ecx, eax
   f7 d9 ?? neg ecx
   1b c9 ?? sbb ecx, ecx
   23 d0 ?? and edx, eax
   f7 d9 ?? neg ecx
   f7 da ?? neg edx
   1b d2 ?? sbb edx, edx
   f7 da ?? neg edx
   3b ca ?? cmp ecx, edx
   75 05 ?? jne basic block L48
  
  L47: 33 c0 ?? xor eax, eax
   40 ?? inc eax
   eb 0d ?? jmp basic block L50
  
  L48: 33 c0 ?? xor eax, eax
   eb 09 ?? jmp basic block L50
  
  L49: 33 c9 ?? xor ecx, ecx
   3a c3 ?? cmp al, bl
   0f 94 c1 ?? sete cl
   8b c1 ?? mov eax, ecx
  
  L50: 5e ?? pop esi
   5b ?? pop ebx
   5d ?? pop ebp
   c3 ?? ret
  
  