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
   8b 7d 0c ?? mov edi, dword ss:[ebp + 12]
   81 e7 ff ff f7 ff ?? and edi, 0xfff7ffff
   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 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
   74 28 ?? je basic block L20
  
  L14: 3d 00 04 00 00 ?? cmp eax, 0x00000400<1024>
   74 1b ?? je basic block L19
  
  L15: 3d 00 08 00 00 ?? cmp eax, 0x00000800<2048>
   74 0c ?? je basic block L18
  
  L16: 3b c6 ?? cmp eax, esi
   75 16 ?? jne basic block L20
  
  L17: 81 ca 00 03 00 00 ?? or edx, 0x00000300<768>
   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: 81 e1 00 03 00 00 ?? and ecx, 0x00000300<768>
   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 c7 ?? mov eax, edi
   f7 d0 ?? not eax
   8b cf ?? mov ecx, edi
   23 4d 08 ?? and ecx, dword ss:[ebp + 8]
   23 c2 ?? and eax, edx
   0b c1 ?? or eax, ecx
   89 45 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], eax
   3b c2 ?? cmp eax, edx
   0f 84 ae 00 00 00 ?? je basic block L54
  
  L27: 8b d8 ?? mov ebx, eax
   e8 ae f2 ff ff ?? call function 0x0042ad08
  
  L28: 0f b7 c0 ?? movzx eax, ax
   89 45 0c ?? mov dword ss:[ebp + 12], eax
   d9 6d 0c ?? fldcw word ss:[ebp + 12]
   9b ?? wait
   d9 7d 0c ?? fnstcw word ss:[ebp + 12]
   8b 5d 0c ?? mov ebx, dword ss:[ebp + 12]
   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: 8b c2 ?? mov eax, edx
   89 55 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], edx
  
  L54: 33 f6 ?? xor esi, esi
   39 35 e0 6c 44 00 ?? cmp dword ds:[0x00446ce0], esi
   0f 84 87 01 00 00 ?? je basic block L111
  
  L55: 81 e7 1f 03 08 03 ?? and edi, 0x0308031f
   89 7d ec ?? mov dword ss:[ebp + 0xec<236,-20>], edi
   0f ae 5d f4 ?? stmxcsr dword ss:[ebp + 0xf4<244,-12>]
   8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]
   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
   bf 00 60 00 00 ?? mov edi, 0x00006000<24576>
   23 cf ?? and ecx, edi
   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 cf ?? cmp ecx, edi
   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: bb 40 80 00 00 ?? mov ebx, 0x00008040<32832>
   23 c3 ?? and eax, ebx
   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 aa 00 00 00 ?? jmp basic block L109
  
  L82: e8 9d f2 ff ff ?? call function 0x0042ae79
  
  L83: 50 ?? push eax
   89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
   e8 bb 0b 00 00 ?? call function 0x0042c7a0
  
  L84: 59 ?? pop ecx
   0f ae 5d f8 ?? stmxcsr dword ss:[ebp + 0xf8<248,-8>]
   8b 55 f8 ?? mov edx, dword ss:[ebp + 0xf8<248,-8>]
   33 c0 ?? xor eax, eax
   84 d2 ?? test dl, dl
   79 03 ?? jns basic block L86
  
  L85: 6a 10 ?? push 0x10<16>
   58 ?? pop eax
  
  L86: f7 c2 00 02 00 00 ?? test edx, 0x00000200<512>
   74 03 ?? je basic block L88
  
  L87: 83 c8 08 ?? or eax, 8
  
  L88: f7 c2 00 04 00 00 ?? test edx, 0x00000400<1024>
   74 03 ?? je basic block L90
  
  L89: 83 c8 04 ?? or eax, 4
  
  L90: f7 c2 00 08 00 00 ?? test edx, 0x00000800<2048>
   74 03 ?? je basic block L92
  
  L91: 83 c8 02 ?? or eax, 2
  
  L92: f7 c2 00 10 00 00 ?? test edx, 0x00001000<4096>
   74 03 ?? je basic block L94
  
  L93: 83 c8 01 ?? or eax, 1
  
  L94: be 00 01 00 00 ?? mov esi, 0x00000100<256>
   85 d6 ?? test esi, edx
   74 05 ?? je basic block L96
  
  L95: 0d 00 00 08 00 ?? or eax, 0x00080000
  
  L96: 8b ca ?? mov ecx, edx
   23 cf ?? and ecx, edi
   74 24 ?? je basic block L103
  
  L97: 81 f9 00 20 00 00 ?? cmp ecx, 0x00002000<8192>
   74 1a ?? je basic block L102
  
  L98: 81 f9 00 40 00 00 ?? cmp ecx, 0x00004000<16384>
   74 0b ?? je basic block L101
  
  L99: 3b cf ?? cmp ecx, edi
   75 10 ?? jne basic block L103
  
  L100: 0d 00 03 00 00 ?? or eax, 0x00000300<768>
   eb 09 ?? jmp basic block L103
  
  L101: 0d 00 02 00 00 ?? or eax, 0x00000200<512>
   eb 02 ?? jmp basic block L103
  
  L102: 0b c6 ?? or eax, esi
  
  L103: 23 d3 ?? and edx, ebx
   83 ea 40 ?? sub edx, 0x40<64>
   74 1b ?? je basic block L108
  
  L104: 81 ea c0 7f 00 00 ?? sub edx, 0x00007fc0<32704>
   74 0c ?? je basic block L107
  
  L105: 83 ea 40 ?? sub edx, 0x40<64>
   75 13 ?? jne basic block L109
  
  L106: 0d 00 00 00 01 ?? or eax, 0x01000000
   eb 0c ?? jmp basic block L109
  
  L107: 0d 00 00 00 03 ?? or eax, 0x03000000
   eb 05 ?? jmp basic block L109
  
  L108: 0d 00 00 00 02 ?? or eax, 0x02000000
  
  L109: 8b c8 ?? mov ecx, eax
   33 4d f0 ?? xor ecx, dword ss:[ebp + 0xf0<240,-16>]
   0b 45 f0 ?? or eax, dword ss:[ebp + 0xf0<240,-16>]
   f7 c1 1f 03 08 00 ?? test ecx, 0x0008031f
   74 05 ?? je basic block L111
  
  L110: 0d 00 00 00 80 ?? or eax, 0x80000000
  
  L111: 5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  