Function at 0x46ac70
Capabilities:
Inspect section memory permissions
Reference processor manufacturer constants

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5141c0
push 0x4a21e0
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x51c100]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x20], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
push 0x50
push 0
lea eax, [ebp - 0x74]
push eax
call fcn.004a3580
add esp, 0xc
mov dword [ebp - 4], 0
mov byte [ebp - 0x82], 0
mov edx, 0x200000
pushfd
pushfd
pop eax
xor eax, edx
push eax
popfd
pushfd
pop ecx
xor eax, ecx
and eax, edx
jne 0x46acea
mov byte [ebp - 0x82], 1
popfd
cmp byte [ebp - 0x82], 0
je 0x46ada0
lea edi, [ebp - 0x74]
xor eax, eax
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [edi], eax
mov dword [edi + 4], esi
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
lea edi, [ebp - 0x64]
mov eax, 1
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [edi], eax
mov dword [edi + 4], esi
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
lea edi, [ebp - 0x34]
mov eax, 0x80000000
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [edi], eax
mov dword [edi + 4], esi
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
cmp dword [ebp - 0x34], 0x80000001
jb 0x46ad6a
lea edi, [ebp - 0x54]
mov eax, 0x80000001
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [edi], eax
mov dword [edi + 4], esi
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
lea edi, [ebp - 0x44]
mov eax, 7
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [edi], eax
mov dword [edi + 4], esi
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
jmp 0x46ada0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x58]
test al, 1
je 0x46adbd
mov edi, 1
mov dword [ebp - 0x7c], edi
xor edx, edx
mov dword [ebp - 0x78], edx
jmp 0x46adc3
mov edx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 0x80], edx
test eax, 0x800000
je 0x46add9
or edi, 2
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x2000000
je 0x46adec
or edi, 4
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x4000000
je 0x46adff
or edi, 8
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x5c]
test al, 1
je 0x46ae12
or edi, 0x10
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x200
je 0x46ae25
or edi, 0x20
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x80000
je 0x46ae38
or edi, 0x40
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x100000
je 0x46ae4e
or edi, 0x80
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x800000
je 0x46ae64
or edi, 0x8000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x2000000
je 0x46ae7a
or edi, 0x100
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test al, 2
je 0x46ae8d
or edi, 0x200
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x10000000
je 0x46aea3
or edi, 0x400
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x40000000
je 0x46aeb9
or edi, 0x20000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x40]
test al, 0x20
je 0x46aecf
or edi, 0x1000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test al, 8
je 0x46aee2
or edi, 0x2000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x100
je 0x46aef8
or edi, 0x4000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x200
je 0x46af0e
mov dword [ebp - 0x7c], edi
or edx, 0x100
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x10000
je 0x46af24
or edi, 0x100000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x20000
je 0x46af3a
or edi, 0x400000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x40000
je 0x46af4d
mov dword [ebp - 0x7c], edi
or edx, 8
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x80000
je 0x46af63
or edi, 0x10000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x200000
je 0x46af79
or edi, 0x8000000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x10000000
je 0x46af8f
or edi, 0x2000000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x20000000
je 0x46afa5
or edi, 0x40000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x40000000
je 0x46afbb
or edi, 0x200000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, eax
jns 0x46afce
or edi, 0x800000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x3c]
test al, 2
je 0x46afe4
or edi, 0x1000000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test al, 0x40
je 0x46aff7
or edi, 0x4000000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
mov esi, dword [ebp - 0x64]
shr esi, 8
and esi, 0xff00f
mov ecx, dword [ebp - 0x64]
shr ecx, 4
and ecx, 0xf00f
mov eax, dword [ebp - 0x70]
cmp eax, 0x6f677948
ja 0x46b117
je 0x46b0f9
cmp eax, 0x68532020
je 0x46b0d8
cmp eax, 0x68747541
jne 0x46b292
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x444d4163
jne 0x46b2f7
cmp dword [ebp - 0x68], 0x69746e65
jne 0x46b2f7
cmp esi, 5
jb 0x46b066
jne 0x46b072
cmp ecx, 6
jb 0x46b066
cmp ecx, 0xa
jne 0x46b072
mov dword [ebp - 0x7c], edi
or edx, 1
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
mov eax, edi
and eax, 0x400
or eax, 0
je 0x46b096
test dword [ebp - 0x4c], 0x800
je 0x46b096
or edi, 0x800
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
cmp esi, 0x700f
jb 0x46b2f7
mov eax, edi
and eax, 0x200
or eax, 0
je 0x46b0bd
or edx, 0x400
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
mov eax, edi
and eax, 0x80
or eax, 0
je 0x46b2f7
or edx, 0x800
jmp 0x46b2ee
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x20206961
jne 0x46b2f7
cmp dword [ebp - 0x68], 0x68676e61
jne 0x46b2f7
jmp 0x46b2c3
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x656e6975
jne 0x46b2f7
cmp dword [ebp - 0x68], 0x6e65476e
jne 0x46b2f7
jmp 0x46b0a2
cmp eax, 0x746e6543
je 0x46b297
cmp eax, 0x756e6547
jne 0x46b292
mov ebx, dword [ebp - 0x6c]
mov eax, ebx
and eax, 0xfffffffe
cmp eax, 0x6c65746e
jne 0x46b2f7
cmp dword [ebp - 0x68], 0x49656e69
jne 0x46b2f7
mov dword [ebp - 0x7c], edi
or edx, 4
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
cmp esi, 6
jae 0x46b166
or edx, 1
jmp 0x46b24c
jne 0x46b255
cmp ecx, 0x100c
je 0x46b249
cmp ecx, 0x2006
je 0x46b249
cmp ecx, 0x2007
je 0x46b249
cmp ecx, 0x3005
je 0x46b249
cmp ecx, 0x3006
je 0x46b249
cmp ecx, 0x3007
je 0x46b244
cmp ecx, 0x400a
je 0x46b244
cmp ecx, 0x400c
je 0x46b244
cmp ecx, 0x400d
je 0x46b244
cmp ecx, 0x500c
je 0x46b255
cmp ecx, 0x500f
je 0x46b255
cmp ecx, 0x700a
je 0x46b255
cmp ecx, 0x200a
je 0x46b23c
cmp ecx, 0x200d
je 0x46b23c
cmp ecx, 0x300a
je 0x46b23c
cmp ecx, 0x300e
je 0x46b23c
cmp ecx, 0x400f
je 0x46b23c
cmp ecx, 0x300c
je 0x46b228
cmp ecx, 0x300d
je 0x46b228
cmp ecx, 0x300f
jb 0x46b255
mov eax, edi
and eax, 0x200
or eax, 0
je 0x46b255
or edx, 0x400
jmp 0x46b24c
or edx, 0x200
jmp 0x46b24c
or edx, 2
jmp 0x46b24c
or edx, 3
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
mov eax, edi
and eax, 0x20
or eax, 0
je 0x46b0bd
cmp ecx, 0x1006
je 0x46b0bd
cmp ecx, 0xf
je 0x46b0bd
mov ecx, edx
and ecx, 2
xor eax, eax
or eax, ecx
jne 0x46b0bd
or edx, 0x1000
jmp 0x46b0b4
mov ebx, dword [ebp - 0x6c]
jmp 0x46b2f7
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x736c7561
jne 0x46b2f7
cmp dword [ebp - 0x68], 0x48727561
jne 0x46b2f7
cmp esi, 6
jb 0x46b2b7
jne 0x46b2c3
cmp ecx, 0xf
jae 0x46b2c3
mov dword [ebp - 0x7c], edi
or edx, 1
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
mov eax, edi
and eax, 0x20
or eax, 0
je 0x46b2dc
or edx, 0x1000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x80], edx
mov eax, edi
and eax, 0x200
or eax, 0
je 0x46b2f7
or edx, 0x400
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
mov dword [0x523a04], ebx
mov eax, dword [ebp - 0x64]
mov dword [0x523a00], eax
mov eax, dword [ebp - 0x70]
mov dword [0x5239e0], eax
mov eax, dword [ebp - 0x68]
mov dword [0x5239e4], eax
mov dword [0x5239e8], ebx
mov byte [0x5239ec], 0
cmp dword [ebp - 0x34], 0x80000004
jb 0x46b3a0
mov eax, 0x80000002
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [0x5239ac], eax
mov dword [0x5239b0], esi
mov dword [0x5239b4], ecx
mov dword [0x5239b8], edx
mov eax, 0x80000003
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [0x5239bc], eax
mov dword [0x5239c0], esi
mov dword [0x5239c4], ecx
mov dword [0x5239c8], edx
mov eax, 0x80000004
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [0x5239cc], eax
mov dword [0x5239d0], esi
mov dword [0x5239d4], ecx
mov dword [0x5239d8], edx
mov byte [0x5239dc], 0
jmp 0x46b3a7
mov byte [0x5239ac], 0
mov byte [0x52399c], 0
mov byte [0x523998], 0
test dword [ebp - 0x5c], 0x80000000
je 0x46b438
mov eax, 0x40000000
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
lea ebx, [ebp - 0x94]
mov dword [ebx], eax
mov dword [ebx + 4], esi
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edx
cmp dword [ebp - 0x94], 0x40000007
jb 0x46b40f
cmp dword [ebp - 0x90], 0x7263694d
jne 0x46b40f
cmp dword [ebp - 0x8c], 0x666f736f
jne 0x46b40f
mov eax, dword [ebp - 0x88]
cmp eax, 0x76482074
je 0x46b438
jmp 0x46b415
mov eax, dword [ebp - 0x88]
mov byte [0x523998], 1
movq xmm0, qword [ebp - 0x90]
movq qword [0x52399c], xmm0
mov dword [0x5239a4], eax
mov byte [0x5239a8], 0
mov dword [ebp - 4], 1
mov eax, edi
and eax, 2
or eax, 0
je 0x46b4a7
mov dword [ebp - 4], 2
call fcn.00408430
test al, al
jne 0x46b470
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 4], 1
jmp 0x46b49a
mov esi, dword [ebp - 0x80]
mov dword [ebp - 4], 1
jmp 0x46b49a
mov eax, edi
or eax, esi
jne 0x46b4aa
call fcn.00408460
jmp 0x46b4aa
mov esi, dword [ebp - 0x80]
mov eax, edi
and eax, 8
or eax, 0
je 0x46b4e0
mov eax, edi
and eax, 4
or eax, 0
jne 0x46b4c9
and edi, 0xfffffff7
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46b4e0
call fcn.004083f0
test al, al
jne 0x46b4e0
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov eax, edi
and eax, 0x10
or eax, 0
je 0x46b4fd
mov eax, edi
and eax, 8
or eax, 0
jne 0x46b4fd
and edi, 0xffffffef
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x20
or eax, 0
je 0x46b533
mov eax, edi
and eax, 0x10
or eax, 0
jne 0x46b51c
and edi, 0xffffffdf
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46b533
call fcn.004083b0
test al, al
jne 0x46b533
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov eax, edi
and eax, 0x40
or eax, 0
je 0x46b569
mov eax, edi
and eax, 0x20
or eax, 0
jne 0x46b552
and edi, 0xffffffbf
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46b569
call fcn.00408360
test al, al
jne 0x46b569
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov eax, edi
and eax, 0x80
or eax, 0
je 0x46b5aa
mov eax, edi
and eax, 0x40
or eax, 0
jne 0x46b593
and edi, 0xffffff7f
mov dword [ebp - 0x7c], edi
and esi, 0xfffff7ff
mov dword [ebp - 0x78], esi
jmp 0x46b5aa
call fcn.00408330
test al, al
jne 0x46b5aa
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov eax, edi
and eax, 0x8000
or eax, 0
je 0x46b5d5
mov eax, edi
and eax, 0x10
or eax, 0
je 0x46b5c9
call fcn.00408310
test al, al
jne 0x46b5d5
and edi, 0xffff7fff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x200
or eax, 0
je 0x46b608
mov eax, edi
and eax, 0x80
or eax, 0
je 0x46b5f6
call fcn.00408270
test al, al
jne 0x46b608
and edi, 0xfffffdff
mov dword [ebp - 0x7c], edi
and esi, 0xfffffbff
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x100
or eax, 0
je 0x46b635
mov eax, edi
and eax, 0x80
or eax, 0
je 0x46b629
call fcn.004082b0
test al, al
jne 0x46b635
and edi, 0xfffffeff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x400
or eax, 0
je 0x46b6ea
mov eax, edi
and eax, 0x80
or eax, 0
jne 0x46b662
and edi, 0xfffffbff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46b6ea
test dword [ebp - 0x5c], 0x8000000
jne 0x46b679
and edi, 0xffefebff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46b6ea
xor bl, bl
mov byte [ebp - 0x83], bl
mov dword [ebp - 4], 3
call fcn.00408100
movzx ecx, bl
test al, al
mov eax, 1
cmovne ecx, eax
mov byte [ebp - 0x83], cl
mov dword [ebp - 4], eax
jmp 0x46b6c1
test cl, cl
jne 0x46b6d3
and edi, 0xffffebff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46b6ea
call fcn.004081f0
test al, al
jne 0x46b6ea
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov eax, edi
and eax, 0x800
or eax, 0
je 0x46b727
mov eax, edi
and eax, 0x400
or eax, 0
jne 0x46b710
and edi, 0xfffff7ff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46b727
call fcn.00408230
test al, al
jne 0x46b727
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov eax, edi
and eax, 0x2000
or eax, 0
je 0x46b764
mov eax, edi
and eax, 0x400
or eax, 0
jne 0x46b74d
and edi, 0xffffdfff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46b764
call fcn.00408160
test al, al
jne 0x46b764
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov eax, edi
and eax, 0x4000
or eax, 0
je 0x46b7a3
mov eax, edi
and eax, 0x2400
cmp eax, 0x2400
jne 0x46b797
call fcn.00408190
test al, al
jne 0x46b7a3
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
jmp 0x46b7a3
and edi, 0xffffbfff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x10000
or eax, 0
je 0x46b7e0
mov eax, edi
and eax, 0x4000
or eax, 0
jne 0x46b7c9
and edi, 0xfffeffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46b7e0
call fcn.004081c0
test al, al
jne 0x46b7e0
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov eax, edi
and eax, 0x20000
or eax, 0
je 0x46b81c
mov dword [ebp - 4], 4
call fcn.00408470
jmp 0x46b815
mov dword [ebp - 4], 1
mov ebx, 1
mov ecx, esi
and ecx, 8
xor eax, eax
or eax, ecx
je 0x46b87c
mov eax, edi
and eax, 0x20000
or eax, 0
jne 0x46b843
mov dword [ebp - 0x7c], edi
and esi, 0xfffffff7
mov dword [ebp - 0x78], esi
jmp 0x46b87c
mov dword [ebp - 4], 5
call fcn.00408480
mov dword [ebp - 4], 1
jmp 0x46b87c
mov eax, edi
and eax, 0x1000
or eax, 0
je 0x46b8bb
mov eax, edi
and eax, 0x6400
cmp eax, 0x6400
jne 0x46b8af
call fcn.00408110
test al, al
jne 0x46b8bb
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
jmp 0x46b8bb
and edi, 0xffffefff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x40000
or eax, 0
je 0x46b8f6
mov eax, edi
and eax, 0x40
or eax, 0
jne 0x46b8df
and edi, 0xfffbffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46b8f6
call fcn.00408490
test al, al
jne 0x46b8f6
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov eax, edi
and eax, 0x100000
or eax, 0
je 0x46b981
mov eax, edi
and eax, 0x1000
or eax, 0
jne 0x46b916
and edi, 0xffefffff
jmp 0x46b97b
mov byte [ebp - 0x81], 0
mov dword [ebp - 4], 6
call fcn.004084f0
movzx ecx, byte [ebp - 0x81]
test al, al
cmovne ecx, ebx
mov byte [ebp - 0x81], cl
mov dword [ebp - 4], 1
jmp 0x46b960
test cl, cl
jne 0x46b96c
and edi, 0xffefffff
jmp 0x46b97b
call fcn.00408510
test al, al
jne 0x46b981
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x200000
or eax, 0
je 0x46b9b6
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x46b9a1
and edi, 0xffdfffff
jmp 0x46b9b0
call fcn.00408570
test al, al
jne 0x46b9b6
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x400000
or eax, 0
je 0x46b9eb
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x46b9d6
and edi, 0xffbfffff
jmp 0x46b9e5
call fcn.004085e0
test al, al
jne 0x46b9eb
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x800000
or eax, 0
je 0x46ba20
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x46ba0b
and edi, 0xff7fffff
jmp 0x46ba1a
call fcn.00408640
test al, al
jne 0x46ba20
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x2000000
or eax, 0
je 0x46ba55
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x46ba40
and edi, 0xfdffffff
jmp 0x46ba4f
call fcn.004086a0
test al, al
jne 0x46ba55
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x1000000
or eax, 0
je 0x46ba97
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x46ba82
and edi, 0xfeffffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov dword [ebp - 4], 0xfffffffe
jmp 0x46babe
call fcn.004086e0
test al, al
jne 0x46ba97
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov dword [ebp - 4], 0xfffffffe
jmp 0x46babe
mov eax, edi
and eax, 4
or eax, 0
je 0x46bad4
lea ecx, [ebp - 0x64]
call fcn.0046aa00
or edi, eax
or esi, edx
mov dword [0x5239f8], edi
mov dword [0x5239fc], esi
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x20]
xor ecx, ebp
call fcn.004a057b
mov esp, ebp
pop ebp
ret