Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 14 ?? sub esp, 0x14<20>
   53 ?? push ebx
   56 ?? push esi
   57 ?? push edi
   9b ?? wait
   d9 7d f8 ?? fnstcw word ss:[ebp + 0xf8<248,-8>]
   8b 5d f8 ?? mov ebx, dword ss:[ebp + 0xf8<248,-8>]
   33 d2 ?? xor edx, edx
   f6 c3 01 ?? test bl, 1
   74 03 ?? je basic block L3
  
  L2: 6a 10 ?? push 0x10<16>
   5a ?? pop edx
  
  L3: f6 c3 04 ?? test bl, 4
   74 03 ?? je basic block L5
  
  L4: 83 ca 08 ?? or edx, 8
  
  L5: f6 c3 08 ?? test bl, 8
   74 03 ?? je basic block L7
  
  L6: 83 ca 04 ?? or edx, 4
  
  L7: f6 c3 10 ?? test bl, 0x10<16>
   74 03 ?? je basic block L9
  
  L8: 83 ca 02 ?? or edx, 2
  
  L9: f6 c3 20 ?? test bl, 0x20<32>
   74 03 ?? je basic block L11
  
  L10: 83 ca 01 ?? or edx, 1
  
  L11: f6 c3 02 ?? test bl, 2
   74 06 ?? je basic block L13
  
  L12: 81 ca 00 00 08 00 ?? or edx, 0x00080000
  
  L13: 0f b7 cb ?? movzx ecx, bx
   8b c1 ?? mov eax, ecx
   be 00 0c 00 00 ?? mov esi, 0x00000c00<3072>
   23 c6 ?? and eax, esi
   bf 00 03 00 00 ?? mov edi, 0x00000300<768>
   74 24 ?? je basic block L20
  
  L14: 3d 00 04 00 00 ?? cmp eax, 0x00000400<1024>
   74 17 ?? je basic block L19
  
  L15: 3d 00 08 00 00 ?? cmp eax, 0x00000800<2048>
   74 08 ?? je basic block L18
  
  L16: 3b c6 ?? cmp eax, esi
   75 12 ?? jne basic block L20
  
  L17: 0b d7 ?? or edx, edi
   eb 0e ?? jmp basic block L20
  
  L18: 81 ca 00 02 00 00 ?? or edx, 0x00000200<512>
   eb 06 ?? jmp basic block L20
  
  L19: 81 ca 00 01 00 00 ?? or edx, 0x00000100<256>
  
  L20: 23 cf ?? and ecx, edi
   74 10 ?? je basic block L23
  
  L21: 81 f9 00 02 00 00 ?? cmp ecx, 0x00000200<512>
   75 0e ?? jne basic block L24
  
  L22: 81 ca 00 00 01 00 ?? or edx, 0x00010000
   eb 06 ?? jmp basic block L24
  
  L23: 81 ca 00 00 02 00 ?? or edx, 0x00020000
  
  L24: f7 c3 00 10 00 00 ?? test ebx, 0x00001000<4096>
   74 06 ?? je basic block L26
  
  L25: 81 ca 00 00 04 00 ?? or edx, 0x00040000
  
  L26: 8b 7d 0c ?? mov edi, dword ss:[ebp + 12]
   8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   8b c7 ?? mov eax, edi
   f7 d0 ?? not eax
   23 c2 ?? and eax, edx
   23 cf ?? and ecx, edi
   0b c1 ?? or eax, ecx
   89 45 0c ?? mov dword ss:[ebp + 12], eax
   3b c2 ?? cmp eax, edx
   0f 84 ae 00 00 00 ?? je basic block L54
  
  L27: 8b d8 ?? mov ebx, eax
   e8 c6 f5 ff ff ?? call function 0x0042ad08
  
  L28: 0f b7 c0 ?? movzx eax, ax
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   d9 6d fc ?? fldcw word ss:[ebp + 0xfc<252,-4>]
   9b ?? wait
   d9 7d fc ?? fnstcw word ss:[ebp + 0xfc<252,-4>]
   8b 5d fc ?? mov ebx, dword ss:[ebp + 0xfc<252,-4>]
   33 d2 ?? xor edx, edx
   f6 c3 01 ?? test bl, 1
   74 03 ?? je basic block L30
  
  L29: 6a 10 ?? push 0x10<16>
   5a ?? pop edx
  
  L30: f6 c3 04 ?? test bl, 4
   74 03 ?? je basic block L32
  
  L31: 83 ca 08 ?? or edx, 8
  
  L32: f6 c3 08 ?? test bl, 8
   74 03 ?? je basic block L34
  
  L33: 83 ca 04 ?? or edx, 4
  
  L34: f6 c3 10 ?? test bl, 0x10<16>
   74 03 ?? je basic block L36
  
  L35: 83 ca 02 ?? or edx, 2
  
  L36: f6 c3 20 ?? test bl, 0x20<32>
   74 03 ?? je basic block L38
  
  L37: 83 ca 01 ?? or edx, 1
  
  L38: f6 c3 02 ?? test bl, 2
   74 06 ?? je basic block L40
  
  L39: 81 ca 00 00 08 00 ?? or edx, 0x00080000
  
  L40: 0f b7 cb ?? movzx ecx, bx
   8b c1 ?? mov eax, ecx
   23 c6 ?? and eax, esi
   74 28 ?? je basic block L47
  
  L41: 3d 00 04 00 00 ?? cmp eax, 0x00000400<1024>
   74 1b ?? je basic block L46
  
  L42: 3d 00 08 00 00 ?? cmp eax, 0x00000800<2048>
   74 0c ?? je basic block L45
  
  L43: 3b c6 ?? cmp eax, esi
   75 16 ?? jne basic block L47
  
  L44: 81 ca 00 03 00 00 ?? or edx, 0x00000300<768>
   eb 0e ?? jmp basic block L47
  
  L45: 81 ca 00 02 00 00 ?? or edx, 0x00000200<512>
   eb 06 ?? jmp basic block L47
  
  L46: 81 ca 00 01 00 00 ?? or edx, 0x00000100<256>
  
  L47: 81 e1 00 03 00 00 ?? and ecx, 0x00000300<768>
   74 10 ?? je basic block L50
  
  L48: 81 f9 00 02 00 00 ?? cmp ecx, 0x00000200<512>
   75 0e ?? jne basic block L51
  
  L49: 81 ca 00 00 01 00 ?? or edx, 0x00010000
   eb 06 ?? jmp basic block L51
  
  L50: 81 ca 00 00 02 00 ?? or edx, 0x00020000
  
  L51: f7 c3 00 10 00 00 ?? test ebx, 0x00001000<4096>
   74 06 ?? je basic block L53
  
  L52: 81 ca 00 00 04 00 ?? or edx, 0x00040000
  
  L53: 89 55 0c ?? mov dword ss:[ebp + 12], edx
   8b c2 ?? mov eax, edx
  
  L54: 33 f6 ?? xor esi, esi
   39 35 e0 6c 44 00 ?? cmp dword ds:[0x00446ce0], esi
   0f 84 8d 01 00 00 ?? je basic block L112
  
  L55: 81 e7 1f 03 08 03 ?? and edi, 0x0308031f
   89 7d ec ?? mov dword ss:[ebp + 0xec<236,-20>], edi
   0f ae 5d f0 ?? stmxcsr dword ss:[ebp + 0xf0<240,-16>]
   8b 45 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16>]
   84 c0 ?? test al, al
   79 03 ?? jns basic block L57
  
  L56: 6a 10 ?? push 0x10<16>
   5e ?? pop esi
  
  L57: a9 00 02 00 00 ?? test eax, 0x00000200<512>
   74 03 ?? je basic block L59
  
  L58: 83 ce 08 ?? or esi, 8
  
  L59: a9 00 04 00 00 ?? test eax, 0x00000400<1024>
   74 03 ?? je basic block L61
  
  L60: 83 ce 04 ?? or esi, 4
  
  L61: a9 00 08 00 00 ?? test eax, 0x00000800<2048>
   74 03 ?? je basic block L63
  
  L62: 83 ce 02 ?? or esi, 2
  
  L63: a9 00 10 00 00 ?? test eax, 0x00001000<4096>
   74 03 ?? je basic block L65
  
  L64: 83 ce 01 ?? or esi, 1
  
  L65: a9 00 01 00 00 ?? test eax, 0x00000100<256>
   74 06 ?? je basic block L67
  
  L66: 81 ce 00 00 08 00 ?? or esi, 0x00080000
  
  L67: 8b c8 ?? mov ecx, eax
   bb 00 60 00 00 ?? mov ebx, 0x00006000<24576>
   23 cb ?? and ecx, ebx
   74 2a ?? je basic block L74
  
  L68: 81 f9 00 20 00 00 ?? cmp ecx, 0x00002000<8192>
   74 1c ?? je basic block L73
  
  L69: 81 f9 00 40 00 00 ?? cmp ecx, 0x00004000<16384>
   74 0c ?? je basic block L72
  
  L70: 3b cb ?? cmp ecx, ebx
   75 16 ?? jne basic block L74
  
  L71: 81 ce 00 03 00 00 ?? or esi, 0x00000300<768>
   eb 0e ?? jmp basic block L74
  
  L72: 81 ce 00 02 00 00 ?? or esi, 0x00000200<512>
   eb 06 ?? jmp basic block L74
  
  L73: 81 ce 00 01 00 00 ?? or esi, 0x00000100<256>
  
  L74: bf 40 80 00 00 ?? mov edi, 0x00008040<32832>
   23 c7 ?? and eax, edi
   83 e8 40 ?? sub eax, 0x40<64>
   74 1c ?? je basic block L79
  
  L75: 2d c0 7f 00 00 ?? sub eax, 0x00007fc0<32704>
   74 0d ?? je basic block L78
  
  L76: 83 e8 40 ?? sub eax, 0x40<64>
   75 16 ?? jne basic block L80
  
  L77: 81 ce 00 00 00 01 ?? or esi, 0x01000000
   eb 0e ?? jmp basic block L80
  
  L78: 81 ce 00 00 00 03 ?? or esi, 0x03000000
   eb 06 ?? jmp basic block L80
  
  L79: 81 ce 00 00 00 02 ?? or esi, 0x02000000
  
  L80: 8b 45 ec ?? mov eax, dword ss:[ebp + 0xec<236,-20>]
   8b d0 ?? mov edx, eax
   23 45 08 ?? and eax, dword ss:[ebp + 8]
   f7 d2 ?? not edx
   23 d6 ?? and edx, esi
   0b d0 ?? or edx, eax
   3b d6 ?? cmp edx, esi
   75 07 ?? jne basic block L82
  
  L81: 8b c6 ?? mov eax, esi
   e9 b0 00 00 00 ?? jmp basic block L110
  
  L82: e8 b5 f5 ff ff ?? call function 0x0042ae79
  
  L83: 50 ?? push eax
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   e8 d3 0e 00 00 ?? call function 0x0042c7a0
  
  L84: 59 ?? pop ecx
   0f ae 5d f4 ?? stmxcsr dword ss:[ebp + 0xf4<244,-12>]
   8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
   33 d2 ?? xor edx, edx
   84 c9 ?? test cl, cl
   79 03 ?? jns basic block L86
  
  L85: 6a 10 ?? push 0x10<16>
   5a ?? pop edx
  
  L86: f7 c1 00 02 00 00 ?? test ecx, 0x00000200<512>
   74 03 ?? je basic block L88
  
  L87: 83 ca 08 ?? or edx, 8
  
  L88: f7 c1 00 04 00 00 ?? test ecx, 0x00000400<1024>
   74 03 ?? je basic block L90
  
  L89: 83 ca 04 ?? or edx, 4
  
  L90: f7 c1 00 08 00 00 ?? test ecx, 0x00000800<2048>
   74 03 ?? je basic block L92
  
  L91: 83 ca 02 ?? or edx, 2
  
  L92: f7 c1 00 10 00 00 ?? test ecx, 0x00001000<4096>
   74 03 ?? je basic block L94
  
  L93: 83 ca 01 ?? or edx, 1
  
  L94: be 00 01 00 00 ?? mov esi, 0x00000100<256>
   85 ce ?? test esi, ecx
   74 06 ?? je basic block L96
  
  L95: 81 ca 00 00 08 00 ?? or edx, 0x00080000
  
  L96: 8b c1 ?? mov eax, ecx
   23 c3 ?? and eax, ebx
   74 24 ?? je basic block L103
  
  L97: 3d 00 20 00 00 ?? cmp eax, 0x00002000<8192>
   74 1b ?? je basic block L102
  
  L98: 3d 00 40 00 00 ?? cmp eax, 0x00004000<16384>
   74 0c ?? je basic block L101
  
  L99: 3b c3 ?? cmp eax, ebx
   75 12 ?? jne basic block L103
  
  L100: 81 ca 00 03 00 00 ?? or edx, 0x00000300<768>
   eb 0a ?? jmp basic block L103
  
  L101: 81 ca 00 02 00 00 ?? or edx, 0x00000200<512>
   eb 02 ?? jmp basic block L103
  
  L102: 0b d6 ?? or edx, esi
  
  L103: 23 cf ?? and ecx, edi
   83 e9 40 ?? sub ecx, 0x40<64>
   74 1d ?? je basic block L108
  
  L104: 81 e9 c0 7f 00 00 ?? sub ecx, 0x00007fc0<32704>
   74 0d ?? je basic block L107
  
  L105: 83 e9 40 ?? sub ecx, 0x40<64>
   75 16 ?? jne basic block L109
  
  L106: 81 ca 00 00 00 01 ?? or edx, 0x01000000
   eb 0e ?? jmp basic block L109
  
  L107: 81 ca 00 00 00 03 ?? or edx, 0x03000000
   eb 06 ?? jmp basic block L109
  
  L108: 81 ca 00 00 00 02 ?? or edx, 0x02000000
  
  L109: 8b c2 ?? mov eax, edx
  
  L110: 8b c8 ?? mov ecx, eax
   33 4d 0c ?? xor ecx, dword ss:[ebp + 12]
   0b 45 0c ?? or eax, dword ss:[ebp + 12]
   f7 c1 1f 03 08 00 ?? test ecx, 0x0008031f
   74 05 ?? je basic block L112
  
  L111: 0d 00 00 00 80 ?? or eax, 0x80000000
  
  L112: 5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  