Function at 0x46d1f0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x518ce0
push 0x4a54f0
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x521104]
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.004a6890
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 0x46d26a
mov byte [ebp - 0x82], 1
popfd
cmp byte [ebp - 0x82], 0
je 0x46d320
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 0x46d2ea
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 0x46d320
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x58]
test al, 1
je 0x46d33d
mov edi, 1
mov dword [ebp - 0x7c], edi
xor edx, edx
mov dword [ebp - 0x78], edx
jmp 0x46d343
mov edx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 0x80], edx
test eax, 0x800000
je 0x46d359
or edi, 2
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x2000000
je 0x46d36c
or edi, 4
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x4000000
je 0x46d37f
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 0x46d392
or edi, 0x10
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x200
je 0x46d3a5
or edi, 0x20
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x80000
je 0x46d3b8
or edi, 0x40
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x100000
je 0x46d3ce
or edi, 0x80
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x800000
je 0x46d3e4
or edi, 0x8000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x2000000
je 0x46d3fa
or edi, 0x100
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test al, 2
je 0x46d40d
or edi, 0x200
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x10000000
je 0x46d423
or edi, 0x400
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x40000000
je 0x46d439
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 0x46d44f
or edi, 0x1000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test al, 8
je 0x46d462
or edi, 0x2000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x100
je 0x46d478
or edi, 0x4000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x200
je 0x46d48e
mov dword [ebp - 0x7c], edi
or edx, 0x100
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x10000
je 0x46d4a4
or edi, 0x100000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x20000
je 0x46d4ba
or edi, 0x400000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x40000
je 0x46d4cd
mov dword [ebp - 0x7c], edi
or edx, 8
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x80000
je 0x46d4e3
or edi, 0x10000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x200000
je 0x46d4f9
or edi, 0x8000000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x10000000
je 0x46d50f
or edi, 0x2000000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x20000000
je 0x46d525
or edi, 0x40000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x40000000
je 0x46d53b
or edi, 0x200000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, eax
jns 0x46d54e
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 0x46d564
or edi, 0x1000000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test al, 0x40
je 0x46d577
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 0x46d697
je 0x46d679
cmp eax, 0x68532020
je 0x46d658
cmp eax, 0x68747541
jne 0x46d812
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x444d4163
jne 0x46d877
cmp dword [ebp - 0x68], 0x69746e65
jne 0x46d877
cmp esi, 5
jb 0x46d5e6
jne 0x46d5f2
cmp ecx, 6
jb 0x46d5e6
cmp ecx, 0xa
jne 0x46d5f2
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 0x46d616
test dword [ebp - 0x4c], 0x800
je 0x46d616
or edi, 0x800
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
cmp esi, 0x700f
jb 0x46d877
mov eax, edi
and eax, 0x200
or eax, 0
je 0x46d63d
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 0x46d877
or edx, 0x800
jmp 0x46d86e
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x20206961
jne 0x46d877
cmp dword [ebp - 0x68], 0x68676e61
jne 0x46d877
jmp 0x46d843
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x656e6975
jne 0x46d877
cmp dword [ebp - 0x68], 0x6e65476e
jne 0x46d877
jmp 0x46d622
cmp eax, 0x746e6543
je 0x46d817
cmp eax, 0x756e6547
jne 0x46d812
mov ebx, dword [ebp - 0x6c]
mov eax, ebx
and eax, 0xfffffffe
cmp eax, 0x6c65746e
jne 0x46d877
cmp dword [ebp - 0x68], 0x49656e69
jne 0x46d877
mov dword [ebp - 0x7c], edi
or edx, 4
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
cmp esi, 6
jae 0x46d6e6
or edx, 1
jmp 0x46d7cc
jne 0x46d7d5
cmp ecx, 0x100c
je 0x46d7c9
cmp ecx, 0x2006
je 0x46d7c9
cmp ecx, 0x2007
je 0x46d7c9
cmp ecx, 0x3005
je 0x46d7c9
cmp ecx, 0x3006
je 0x46d7c9
cmp ecx, 0x3007
je 0x46d7c4
cmp ecx, 0x400a
je 0x46d7c4
cmp ecx, 0x400c
je 0x46d7c4
cmp ecx, 0x400d
je 0x46d7c4
cmp ecx, 0x500c
je 0x46d7d5
cmp ecx, 0x500f
je 0x46d7d5
cmp ecx, 0x700a
je 0x46d7d5
cmp ecx, 0x200a
je 0x46d7bc
cmp ecx, 0x200d
je 0x46d7bc
cmp ecx, 0x300a
je 0x46d7bc
cmp ecx, 0x300e
je 0x46d7bc
cmp ecx, 0x400f
je 0x46d7bc
cmp ecx, 0x300c
je 0x46d7a8
cmp ecx, 0x300d
je 0x46d7a8
cmp ecx, 0x300f
jb 0x46d7d5
mov eax, edi
and eax, 0x200
or eax, 0
je 0x46d7d5
or edx, 0x400
jmp 0x46d7cc
or edx, 0x200
jmp 0x46d7cc
or edx, 2
jmp 0x46d7cc
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 0x46d63d
cmp ecx, 0x1006
je 0x46d63d
cmp ecx, 0xf
je 0x46d63d
mov ecx, edx
and ecx, 2
xor eax, eax
or eax, ecx
jne 0x46d63d
or edx, 0x1000
jmp 0x46d634
mov ebx, dword [ebp - 0x6c]
jmp 0x46d877
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x736c7561
jne 0x46d877
cmp dword [ebp - 0x68], 0x48727561
jne 0x46d877
cmp esi, 6
jb 0x46d837
jne 0x46d843
cmp ecx, 0xf
jae 0x46d843
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 0x46d85c
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 0x46d877
or edx, 0x400
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
mov dword [0x528c5c], ebx
mov eax, dword [ebp - 0x64]
mov dword [0x528c58], eax
mov eax, dword [ebp - 0x70]
mov dword [0x528c38], eax
mov eax, dword [ebp - 0x68]
mov dword [0x528c3c], eax
mov dword [0x528c40], ebx
mov byte [0x528c44], 0
cmp dword [ebp - 0x34], 0x80000004
jb 0x46d920
mov eax, 0x80000002
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [0x528c04], eax
mov dword [0x528c08], esi
mov dword [0x528c0c], ecx
mov dword [0x528c10], edx
mov eax, 0x80000003
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [0x528c14], eax
mov dword [0x528c18], esi
mov dword [0x528c1c], ecx
mov dword [0x528c20], edx
mov eax, 0x80000004
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [0x528c24], eax
mov dword [0x528c28], esi
mov dword [0x528c2c], ecx
mov dword [0x528c30], edx
mov byte [0x528c34], 0
jmp 0x46d927
mov byte [0x528c04], 0
mov byte [0x528bf4], 0
mov byte [0x528bf0], 0
test dword [ebp - 0x5c], 0x80000000
je 0x46d9b8
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 0x46d98f
cmp dword [ebp - 0x90], 0x7263694d
jne 0x46d98f
cmp dword [ebp - 0x8c], 0x666f736f
jne 0x46d98f
mov eax, dword [ebp - 0x88]
cmp eax, 0x76482074
je 0x46d9b8
jmp 0x46d995
mov eax, dword [ebp - 0x88]
mov byte [0x528bf0], 1
movq xmm0, qword [ebp - 0x90]
movq qword [0x528bf4], xmm0
mov dword [0x528bfc], eax
mov byte [0x528c00], 0
mov dword [ebp - 4], 1
mov eax, edi
and eax, 2
or eax, 0
je 0x46da27
mov dword [ebp - 4], 2
call fcn.00408430
test al, al
jne 0x46d9f0
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 4], 1
jmp 0x46da1a
mov esi, dword [ebp - 0x80]
mov dword [ebp - 4], 1
jmp 0x46da1a
mov eax, edi
or eax, esi
jne 0x46da2a
call fcn.00408460
jmp 0x46da2a
mov esi, dword [ebp - 0x80]
mov eax, edi
and eax, 8
or eax, 0
je 0x46da60
mov eax, edi
and eax, 4
or eax, 0
jne 0x46da49
and edi, 0xfffffff7
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46da60
call fcn.004083f0
test al, al
jne 0x46da60
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 0x46da7d
mov eax, edi
and eax, 8
or eax, 0
jne 0x46da7d
and edi, 0xffffffef
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x20
or eax, 0
je 0x46dab3
mov eax, edi
and eax, 0x10
or eax, 0
jne 0x46da9c
and edi, 0xffffffdf
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46dab3
call fcn.004083b0
test al, al
jne 0x46dab3
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 0x46dae9
mov eax, edi
and eax, 0x20
or eax, 0
jne 0x46dad2
and edi, 0xffffffbf
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46dae9
call fcn.00408360
test al, al
jne 0x46dae9
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 0x46db2a
mov eax, edi
and eax, 0x40
or eax, 0
jne 0x46db13
and edi, 0xffffff7f
mov dword [ebp - 0x7c], edi
and esi, 0xfffff7ff
mov dword [ebp - 0x78], esi
jmp 0x46db2a
call fcn.00408330
test al, al
jne 0x46db2a
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 0x46db55
mov eax, edi
and eax, 0x10
or eax, 0
je 0x46db49
call fcn.00408310
test al, al
jne 0x46db55
and edi, 0xffff7fff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x200
or eax, 0
je 0x46db88
mov eax, edi
and eax, 0x80
or eax, 0
je 0x46db76
call fcn.00408270
test al, al
jne 0x46db88
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 0x46dbb5
mov eax, edi
and eax, 0x80
or eax, 0
je 0x46dba9
call fcn.004082b0
test al, al
jne 0x46dbb5
and edi, 0xfffffeff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x400
or eax, 0
je 0x46dc6a
mov eax, edi
and eax, 0x80
or eax, 0
jne 0x46dbe2
and edi, 0xfffffbff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46dc6a
test dword [ebp - 0x5c], 0x8000000
jne 0x46dbf9
and edi, 0xffefebff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46dc6a
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 0x46dc41
test cl, cl
jne 0x46dc53
and edi, 0xffffebff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46dc6a
call fcn.004081f0
test al, al
jne 0x46dc6a
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 0x46dca7
mov eax, edi
and eax, 0x400
or eax, 0
jne 0x46dc90
and edi, 0xfffff7ff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46dca7
call fcn.00408230
test al, al
jne 0x46dca7
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 0x46dce4
mov eax, edi
and eax, 0x400
or eax, 0
jne 0x46dccd
and edi, 0xffffdfff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46dce4
call fcn.00408160
test al, al
jne 0x46dce4
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 0x46dd23
mov eax, edi
and eax, 0x2400
cmp eax, 0x2400
jne 0x46dd17
call fcn.00408190
test al, al
jne 0x46dd23
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
jmp 0x46dd23
and edi, 0xffffbfff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x10000
or eax, 0
je 0x46dd60
mov eax, edi
and eax, 0x4000
or eax, 0
jne 0x46dd49
and edi, 0xfffeffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46dd60
call fcn.004081c0
test al, al
jne 0x46dd60
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 0x46dd9c
mov dword [ebp - 4], 4
call fcn.00408470
jmp 0x46dd95
mov dword [ebp - 4], 1
mov ebx, 1
mov ecx, esi
and ecx, 8
xor eax, eax
or eax, ecx
je 0x46ddfc
mov eax, edi
and eax, 0x20000
or eax, 0
jne 0x46ddc3
mov dword [ebp - 0x7c], edi
and esi, 0xfffffff7
mov dword [ebp - 0x78], esi
jmp 0x46ddfc
mov dword [ebp - 4], 5
call fcn.00408480
mov dword [ebp - 4], 1
jmp 0x46ddfc
mov eax, edi
and eax, 0x1000
or eax, 0
je 0x46de3b
mov eax, edi
and eax, 0x6400
cmp eax, 0x6400
jne 0x46de2f
call fcn.00408110
test al, al
jne 0x46de3b
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
jmp 0x46de3b
and edi, 0xffffefff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x40000
or eax, 0
je 0x46de76
mov eax, edi
and eax, 0x40
or eax, 0
jne 0x46de5f
and edi, 0xfffbffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x46de76
call fcn.00408490
test al, al
jne 0x46de76
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 0x46df01
mov eax, edi
and eax, 0x1000
or eax, 0
jne 0x46de96
and edi, 0xffefffff
jmp 0x46defb
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 0x46dee0
test cl, cl
jne 0x46deec
and edi, 0xffefffff
jmp 0x46defb
call fcn.00408510
test al, al
jne 0x46df01
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x200000
or eax, 0
je 0x46df36
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x46df21
and edi, 0xffdfffff
jmp 0x46df30
call fcn.00408570
test al, al
jne 0x46df36
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x400000
or eax, 0
je 0x46df6b
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x46df56
and edi, 0xffbfffff
jmp 0x46df65
call fcn.004085e0
test al, al
jne 0x46df6b
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x800000
or eax, 0
je 0x46dfa0
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x46df8b
and edi, 0xff7fffff
jmp 0x46df9a
call fcn.00408640
test al, al
jne 0x46dfa0
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x2000000
or eax, 0
je 0x46dfd5
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x46dfc0
and edi, 0xfdffffff
jmp 0x46dfcf
call fcn.004086a0
test al, al
jne 0x46dfd5
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x1000000
or eax, 0
je 0x46e017
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x46e002
and edi, 0xfeffffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov dword [ebp - 4], 0xfffffffe
jmp 0x46e03e
call fcn.004086e0
test al, al
jne 0x46e017
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov dword [ebp - 4], 0xfffffffe
jmp 0x46e03e
mov eax, edi
and eax, 4
or eax, 0
je 0x46e054
lea ecx, [ebp - 0x64]
call fcn.0046cf80
or edi, eax
or esi, edx
mov dword [0x528c50], edi
mov dword [0x528c54], 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.004a389b
mov esp, ebp
pop ebp
ret