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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x51a1f0
push 0x4a68b0
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x522104]
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.004a7c50
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 0x46e4da
mov byte [ebp - 0x82], 1
popfd
cmp byte [ebp - 0x82], 0
je 0x46e590
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 0x46e55a
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 0x46e590
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x58]
test al, 1
je 0x46e5ad
mov edi, 1
mov dword [ebp - 0x7c], edi
xor edx, edx
mov dword [ebp - 0x78], edx
jmp 0x46e5b3
mov edx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 0x80], edx
test eax, 0x800000
je 0x46e5c9
or edi, 2
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x2000000
je 0x46e5dc
or edi, 4
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x4000000
je 0x46e5ef
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 0x46e602
or edi, 0x10
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x200
je 0x46e615
or edi, 0x20
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x80000
je 0x46e628
or edi, 0x40
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x100000
je 0x46e63e
or edi, 0x80
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x800000
je 0x46e654
or edi, 0x8000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x2000000
je 0x46e66a
or edi, 0x100
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test al, 2
je 0x46e67d
or edi, 0x200
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x10000000
je 0x46e693
or edi, 0x400
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x40000000
je 0x46e6a9
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 0x46e6bf
or edi, 0x1000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test al, 8
je 0x46e6d2
or edi, 0x2000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x100
je 0x46e6e8
or edi, 0x4000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x200
je 0x46e6fe
mov dword [ebp - 0x7c], edi
or edx, 0x100
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x10000
je 0x46e714
or edi, 0x100000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x20000
je 0x46e72a
or edi, 0x400000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x40000
je 0x46e73d
mov dword [ebp - 0x7c], edi
or edx, 8
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x80000
je 0x46e753
or edi, 0x10000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x200000
je 0x46e769
or edi, 0x8000000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x10000000
je 0x46e77f
or edi, 0x2000000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x20000000
je 0x46e795
or edi, 0x40000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x40000000
je 0x46e7ab
or edi, 0x200000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, eax
jns 0x46e7be
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 0x46e7d4
or edi, 0x1000000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test al, 0x40
je 0x46e7e7
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 0x46e907
je 0x46e8e9
cmp eax, 0x68532020
je 0x46e8c8
cmp eax, 0x68747541
jne 0x46ea82
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x444d4163
jne 0x46eae7
cmp dword [ebp - 0x68], 0x69746e65
jne 0x46eae7
cmp esi, 5
jb 0x46e856
jne 0x46e862
cmp ecx, 6
jb 0x46e856
cmp ecx, 0xa
jne 0x46e862
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 0x46e886
test dword [ebp - 0x4c], 0x800
je 0x46e886
or edi, 0x800
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
cmp esi, 0x700f
jb 0x46eae7
mov eax, edi
and eax, 0x200
or eax, 0
je 0x46e8ad
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 0x46eae7
or edx, 0x800
jmp 0x46eade
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x20206961
jne 0x46eae7
cmp dword [ebp - 0x68], 0x68676e61
jne 0x46eae7
jmp 0x46eab3
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x656e6975
jne 0x46eae7
cmp dword [ebp - 0x68], 0x6e65476e
jne 0x46eae7
jmp 0x46e892
cmp eax, 0x746e6543
je 0x46ea87
cmp eax, 0x756e6547
jne 0x46ea82
mov ebx, dword [ebp - 0x6c]
mov eax, ebx
and eax, 0xfffffffe
cmp eax, 0x6c65746e
jne 0x46eae7
cmp dword [ebp - 0x68], 0x49656e69
jne 0x46eae7
mov dword [ebp - 0x7c], edi
or edx, 4
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
cmp esi, 6
jae 0x46e956
or edx, 1
jmp 0x46ea3c
jne 0x46ea45
cmp ecx, 0x100c
je 0x46ea39
cmp ecx, 0x2006
je 0x46ea39
cmp ecx, 0x2007
je 0x46ea39
cmp ecx, 0x3005
je 0x46ea39
cmp ecx, 0x3006
je 0x46ea39
cmp ecx, 0x3007
je 0x46ea34
cmp ecx, 0x400a
je 0x46ea34
cmp ecx, 0x400c
je 0x46ea34
cmp ecx, 0x400d
je 0x46ea34
cmp ecx, 0x500c
je 0x46ea45
cmp ecx, 0x500f
je 0x46ea45
cmp ecx, 0x700a
je 0x46ea45
cmp ecx, 0x200a
je 0x46ea2c
cmp ecx, 0x200d
je 0x46ea2c
cmp ecx, 0x300a
je 0x46ea2c
cmp ecx, 0x300e
je 0x46ea2c
cmp ecx, 0x400f
je 0x46ea2c
cmp ecx, 0x300c
je 0x46ea18
cmp ecx, 0x300d
je 0x46ea18
cmp ecx, 0x300f
jb 0x46ea45
mov eax, edi
and eax, 0x200
or eax, 0
je 0x46ea45
or edx, 0x400
jmp 0x46ea3c
or edx, 0x200
jmp 0x46ea3c
or edx, 2
jmp 0x46ea3c
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 0x46e8ad
cmp ecx, 0x1006
je 0x46e8ad
cmp ecx, 0xf
je 0x46e8ad
mov ecx, edx
and ecx, 2
xor eax, eax
or eax, ecx
jne 0x46e8ad
or edx, 0x1000
jmp 0x46e8a4
mov ebx, dword [ebp - 0x6c]
jmp 0x46eae7
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x736c7561
jne 0x46eae7
cmp dword [ebp - 0x68], 0x48727561
jne 0x46eae7
cmp esi, 6
jb 0x46eaa7
jne 0x46eab3
cmp ecx, 0xf
jae 0x46eab3
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 0x46eacc
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 0x46eae7
or edx, 0x400
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
mov dword [0x529c7c], ebx
mov eax, dword [ebp - 0x64]
mov dword [0x529c78], eax
mov eax, dword [ebp - 0x70]
mov dword [0x529c54], eax
mov eax, dword [ebp - 0x68]
mov dword [0x529c58], eax
mov dword [0x529c5c], ebx
mov byte [0x529c60], 0
cmp dword [ebp - 0x34], 0x80000004
jb 0x46eb90
mov eax, 0x80000002
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [0x529c20], eax
mov dword [0x529c24], esi
mov dword [0x529c28], ecx
mov dword [0x529c2c], edx
mov eax, 0x80000003
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [0x529c30], eax
mov dword [0x529c34], esi
mov dword [0x529c38], ecx
mov dword [0x529c3c], edx
mov eax, 0x80000004
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [0x529c40], eax
mov dword [0x529c44], esi
mov dword [0x529c48], ecx
mov dword [0x529c4c], edx
mov byte [0x529c50], 0
jmp 0x46eb97
mov byte [0x529c20], 0
mov byte [0x529c64], 0
mov byte [0x529c61], 0
test dword [ebp - 0x5c], 0x80000000
je 0x46ec28
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 0x46ebff
cmp dword [ebp - 0x90], 0x7263694d
jne 0x46ebff
cmp dword [ebp - 0x8c], 0x666f736f
jne 0x46ebff
mov eax, dword [ebp - 0x88]
cmp eax, 0x76482074
je 0x46ec28
jmp 0x46ec05
mov eax, dword [ebp - 0x88]
mov byte [0x529c61], 1
movq xmm0, qword [ebp - 0x90]
movq qword [0x529c64], xmm0
mov dword [0x529c6c], eax
mov byte [0x529c70], 0
mov dword [ebp - 4], 1
mov eax, edi
and eax, 2
or eax, 0
je 0x46ec97
mov dword [ebp - 4], 2
call fcn.00408430
test al, al
jne 0x46ec60
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 4], 1
jmp 0x46ec8a
mov esi, dword [ebp - 0x80]
mov dword [ebp - 4], 1
jmp 0x46ec8a
mov eax, edi
or eax, esi
jne 0x46ec9a
call fcn.00408460
jmp 0x46ec9a
mov esi, dword [ebp - 0x80]
mov eax, edi
and eax, 8
or eax, 0
je 0x46ecd0
mov eax, edi
and eax, 4
or eax, 0
jne 0x46ecb9
and edi, 0xfffffff7
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46ecd0
call fcn.004083f0
test al, al
jne 0x46ecd0
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 0x46eced
mov eax, edi
and eax, 8
or eax, 0
jne 0x46eced
and edi, 0xffffffef
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x20
or eax, 0
je 0x46ed23
mov eax, edi
and eax, 0x10
or eax, 0
jne 0x46ed0c
and edi, 0xffffffdf
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46ed23
call fcn.004083b0
test al, al
jne 0x46ed23
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 0x46ed59
mov eax, edi
and eax, 0x20
or eax, 0
jne 0x46ed42
and edi, 0xffffffbf
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46ed59
call fcn.00408360
test al, al
jne 0x46ed59
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 0x46ed9a
mov eax, edi
and eax, 0x40
or eax, 0
jne 0x46ed83
and edi, 0xffffff7f
mov dword [ebp - 0x7c], edi
and esi, 0xfffff7ff
mov dword [ebp - 0x78], esi
jmp 0x46ed9a
call fcn.00408330
test al, al
jne 0x46ed9a
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 0x46edc5
mov eax, edi
and eax, 0x10
or eax, 0
je 0x46edb9
call fcn.00408310
test al, al
jne 0x46edc5
and edi, 0xffff7fff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x200
or eax, 0
je 0x46edf8
mov eax, edi
and eax, 0x80
or eax, 0
je 0x46ede6
call fcn.00408270
test al, al
jne 0x46edf8
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 0x46ee25
mov eax, edi
and eax, 0x80
or eax, 0
je 0x46ee19
call fcn.004082b0
test al, al
jne 0x46ee25
and edi, 0xfffffeff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x400
or eax, 0
je 0x46eeda
mov eax, edi
and eax, 0x80
or eax, 0
jne 0x46ee52
and edi, 0xfffffbff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46eeda
test dword [ebp - 0x5c], 0x8000000
jne 0x46ee69
and edi, 0xffefebff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46eeda
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 0x46eeb1
test cl, cl
jne 0x46eec3
and edi, 0xffffebff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46eeda
call fcn.004081f0
test al, al
jne 0x46eeda
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 0x46ef17
mov eax, edi
and eax, 0x400
or eax, 0
jne 0x46ef00
and edi, 0xfffff7ff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46ef17
call fcn.00408230
test al, al
jne 0x46ef17
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 0x46ef54
mov eax, edi
and eax, 0x400
or eax, 0
jne 0x46ef3d
and edi, 0xffffdfff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46ef54
call fcn.00408160
test al, al
jne 0x46ef54
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 0x46ef93
mov eax, edi
and eax, 0x2400
cmp eax, 0x2400
jne 0x46ef87
call fcn.00408190
test al, al
jne 0x46ef93
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
jmp 0x46ef93
and edi, 0xffffbfff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x10000
or eax, 0
je 0x46efd0
mov eax, edi
and eax, 0x4000
or eax, 0
jne 0x46efb9
and edi, 0xfffeffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46efd0
call fcn.004081c0
test al, al
jne 0x46efd0
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 0x46f00c
mov dword [ebp - 4], 4
call fcn.00408470
jmp 0x46f005
mov dword [ebp - 4], 1
mov ebx, 1
mov ecx, esi
and ecx, 8
xor eax, eax
or eax, ecx
je 0x46f06c
mov eax, edi
and eax, 0x20000
or eax, 0
jne 0x46f033
mov dword [ebp - 0x7c], edi
and esi, 0xfffffff7
mov dword [ebp - 0x78], esi
jmp 0x46f06c
mov dword [ebp - 4], 5
call fcn.00408480
mov dword [ebp - 4], 1
jmp 0x46f06c
mov eax, edi
and eax, 0x1000
or eax, 0
je 0x46f0ab
mov eax, edi
and eax, 0x6400
cmp eax, 0x6400
jne 0x46f09f
call fcn.00408110
test al, al
jne 0x46f0ab
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
jmp 0x46f0ab
and edi, 0xffffefff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x40000
or eax, 0
je 0x46f0e6
mov eax, edi
and eax, 0x40
or eax, 0
jne 0x46f0cf
and edi, 0xfffbffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46f0e6
call fcn.00408490
test al, al
jne 0x46f0e6
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 0x46f171
mov eax, edi
and eax, 0x1000
or eax, 0
jne 0x46f106
and edi, 0xffefffff
jmp 0x46f16b
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 0x46f150
test cl, cl
jne 0x46f15c
and edi, 0xffefffff
jmp 0x46f16b
call fcn.00408510
test al, al
jne 0x46f171
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x200000
or eax, 0
je 0x46f1a6
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x46f191
and edi, 0xffdfffff
jmp 0x46f1a0
call fcn.00408570
test al, al
jne 0x46f1a6
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x400000
or eax, 0
je 0x46f1db
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x46f1c6
and edi, 0xffbfffff
jmp 0x46f1d5
call fcn.004085e0
test al, al
jne 0x46f1db
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x800000
or eax, 0
je 0x46f210
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x46f1fb
and edi, 0xff7fffff
jmp 0x46f20a
call fcn.00408640
test al, al
jne 0x46f210
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x2000000
or eax, 0
je 0x46f245
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x46f230
and edi, 0xfdffffff
jmp 0x46f23f
call fcn.004086a0
test al, al
jne 0x46f245
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x1000000
or eax, 0
je 0x46f287
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x46f272
and edi, 0xfeffffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov dword [ebp - 4], 0xfffffffe
jmp 0x46f2ae
call fcn.004086e0
test al, al
jne 0x46f287
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov dword [ebp - 4], 0xfffffffe
jmp 0x46f2ae
mov eax, edi
and eax, 4
or eax, 0
je 0x46f2c4
lea ecx, [ebp - 0x64]
call fcn.0046e1f0
or edi, eax
or esi, edx
mov dword [0x529c88], edi
mov dword [0x529c8c], 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.004a4c5b
mov esp, ebp
pop ebp
ret