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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x544ae0
push 0x4b1000
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x54d104]
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.004b23a0
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 0x47188a
mov byte [ebp - 0x82], 1
popfd
cmp byte [ebp - 0x82], 0
je 0x471940
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 0x47190a
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 0x471940
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x58]
test al, 1
je 0x47195d
mov edi, 1
mov dword [ebp - 0x7c], edi
xor edx, edx
mov dword [ebp - 0x78], edx
jmp 0x471963
mov edx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 0x80], edx
test eax, 0x800000
je 0x471979
or edi, 2
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x2000000
je 0x47198c
or edi, 4
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x4000000
je 0x47199f
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 0x4719b2
or edi, 0x10
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x200
je 0x4719c5
or edi, 0x20
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x80000
je 0x4719d8
or edi, 0x40
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x100000
je 0x4719ee
or edi, 0x80
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x800000
je 0x471a04
or edi, 0x8000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x2000000
je 0x471a1a
or edi, 0x100
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test al, 2
je 0x471a2d
or edi, 0x200
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x10000000
je 0x471a43
or edi, 0x400
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x40000000
je 0x471a59
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 0x471a6f
or edi, 0x1000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test al, 8
je 0x471a82
or edi, 0x2000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x100
je 0x471a98
or edi, 0x4000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x200
je 0x471aae
mov dword [ebp - 0x7c], edi
or edx, 0x100
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x10000
je 0x471ac4
or edi, 0x100000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x20000
je 0x471ada
or edi, 0x400000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x40000
je 0x471aed
mov dword [ebp - 0x7c], edi
or edx, 8
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x80000
je 0x471b03
or edi, 0x10000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x200000
je 0x471b19
or edi, 0x8000000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x10000000
je 0x471b2f
or edi, 0x2000000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x20000000
je 0x471b45
or edi, 0x40000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x40000000
je 0x471b5b
or edi, 0x200000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, eax
jns 0x471b6e
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 0x471b84
or edi, 0x1000000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test al, 0x40
je 0x471b97
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 0x471cb7
je 0x471c99
cmp eax, 0x68532020
je 0x471c78
cmp eax, 0x68747541
jne 0x471e32
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x444d4163
jne 0x471e97
cmp dword [ebp - 0x68], 0x69746e65
jne 0x471e97
cmp esi, 5
jb 0x471c06
jne 0x471c12
cmp ecx, 6
jb 0x471c06
cmp ecx, 0xa
jne 0x471c12
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 0x471c36
test dword [ebp - 0x4c], 0x800
je 0x471c36
or edi, 0x800
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
cmp esi, 0x700f
jb 0x471e97
mov eax, edi
and eax, 0x200
or eax, 0
je 0x471c5d
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 0x471e97
or edx, 0x800
jmp 0x471e8e
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x20206961
jne 0x471e97
cmp dword [ebp - 0x68], 0x68676e61
jne 0x471e97
jmp 0x471e63
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x656e6975
jne 0x471e97
cmp dword [ebp - 0x68], 0x6e65476e
jne 0x471e97
jmp 0x471c42
cmp eax, 0x746e6543
je 0x471e37
cmp eax, 0x756e6547
jne 0x471e32
mov ebx, dword [ebp - 0x6c]
mov eax, ebx
and eax, 0xfffffffe
cmp eax, 0x6c65746e
jne 0x471e97
cmp dword [ebp - 0x68], 0x49656e69
jne 0x471e97
mov dword [ebp - 0x7c], edi
or edx, 4
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
cmp esi, 6
jae 0x471d06
or edx, 1
jmp 0x471dec
jne 0x471df5
cmp ecx, 0x100c
je 0x471de9
cmp ecx, 0x2006
je 0x471de9
cmp ecx, 0x2007
je 0x471de9
cmp ecx, 0x3005
je 0x471de9
cmp ecx, 0x3006
je 0x471de9
cmp ecx, 0x3007
je 0x471de4
cmp ecx, 0x400a
je 0x471de4
cmp ecx, 0x400c
je 0x471de4
cmp ecx, 0x400d
je 0x471de4
cmp ecx, 0x500c
je 0x471df5
cmp ecx, 0x500f
je 0x471df5
cmp ecx, 0x700a
je 0x471df5
cmp ecx, 0x200a
je 0x471ddc
cmp ecx, 0x200d
je 0x471ddc
cmp ecx, 0x300a
je 0x471ddc
cmp ecx, 0x300e
je 0x471ddc
cmp ecx, 0x400f
je 0x471ddc
cmp ecx, 0x300c
je 0x471dc8
cmp ecx, 0x300d
je 0x471dc8
cmp ecx, 0x300f
jb 0x471df5
mov eax, edi
and eax, 0x200
or eax, 0
je 0x471df5
or edx, 0x400
jmp 0x471dec
or edx, 0x200
jmp 0x471dec
or edx, 2
jmp 0x471dec
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 0x471c5d
cmp ecx, 0x1006
je 0x471c5d
cmp ecx, 0xf
je 0x471c5d
mov ecx, edx
and ecx, 2
xor eax, eax
or eax, ecx
jne 0x471c5d
or edx, 0x1000
jmp 0x471c54
mov ebx, dword [ebp - 0x6c]
jmp 0x471e97
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x736c7561
jne 0x471e97
cmp dword [ebp - 0x68], 0x48727561
jne 0x471e97
cmp esi, 6
jb 0x471e57
jne 0x471e63
cmp ecx, 0xf
jae 0x471e63
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 0x471e7c
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 0x471e97
or edx, 0x400
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
mov dword [0x554cfc], ebx
mov eax, dword [ebp - 0x64]
mov dword [0x554cf8], eax
mov eax, dword [ebp - 0x70]
mov dword [0x554cd4], eax
mov eax, dword [ebp - 0x68]
mov dword [0x554cd8], eax
mov dword [0x554cdc], ebx
mov byte [0x554ce0], 0
cmp dword [ebp - 0x34], 0x80000004
jb 0x471f40
mov eax, 0x80000002
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [0x554ca0], eax
mov dword [0x554ca4], esi
mov dword [0x554ca8], ecx
mov dword [0x554cac], edx
mov eax, 0x80000003
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [0x554cb0], eax
mov dword [0x554cb4], esi
mov dword [0x554cb8], ecx
mov dword [0x554cbc], edx
mov eax, 0x80000004
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [0x554cc0], eax
mov dword [0x554cc4], esi
mov dword [0x554cc8], ecx
mov dword [0x554ccc], edx
mov byte [0x554cd0], 0
jmp 0x471f47
mov byte [0x554ca0], 0
mov byte [0x554ce4], 0
mov byte [0x554ce1], 0
test dword [ebp - 0x5c], 0x80000000
je 0x471fd8
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 0x471faf
cmp dword [ebp - 0x90], 0x7263694d
jne 0x471faf
cmp dword [ebp - 0x8c], 0x666f736f
jne 0x471faf
mov eax, dword [ebp - 0x88]
cmp eax, 0x76482074
je 0x471fd8
jmp 0x471fb5
mov eax, dword [ebp - 0x88]
mov byte [0x554ce1], 1
movq xmm0, qword [ebp - 0x90]
movq qword [0x554ce4], xmm0
mov dword [0x554cec], eax
mov byte [0x554cf0], 0
mov dword [ebp - 4], 1
mov eax, edi
and eax, 2
or eax, 0
je 0x472047
mov dword [ebp - 4], 2
call fcn.00408430
test al, al
jne 0x472010
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 4], 1
jmp 0x47203a
mov esi, dword [ebp - 0x80]
mov dword [ebp - 4], 1
jmp 0x47203a
mov eax, edi
or eax, esi
jne 0x47204a
call fcn.00408460
jmp 0x47204a
mov esi, dword [ebp - 0x80]
mov eax, edi
and eax, 8
or eax, 0
je 0x472080
mov eax, edi
and eax, 4
or eax, 0
jne 0x472069
and edi, 0xfffffff7
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x472080
call fcn.004083f0
test al, al
jne 0x472080
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 0x47209d
mov eax, edi
and eax, 8
or eax, 0
jne 0x47209d
and edi, 0xffffffef
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x20
or eax, 0
je 0x4720d3
mov eax, edi
and eax, 0x10
or eax, 0
jne 0x4720bc
and edi, 0xffffffdf
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x4720d3
call fcn.004083b0
test al, al
jne 0x4720d3
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 0x472109
mov eax, edi
and eax, 0x20
or eax, 0
jne 0x4720f2
and edi, 0xffffffbf
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x472109
call fcn.00408360
test al, al
jne 0x472109
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 0x47214a
mov eax, edi
and eax, 0x40
or eax, 0
jne 0x472133
and edi, 0xffffff7f
mov dword [ebp - 0x7c], edi
and esi, 0xfffff7ff
mov dword [ebp - 0x78], esi
jmp 0x47214a
call fcn.00408330
test al, al
jne 0x47214a
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 0x472175
mov eax, edi
and eax, 0x10
or eax, 0
je 0x472169
call fcn.00408310
test al, al
jne 0x472175
and edi, 0xffff7fff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x200
or eax, 0
je 0x4721a8
mov eax, edi
and eax, 0x80
or eax, 0
je 0x472196
call fcn.00408270
test al, al
jne 0x4721a8
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 0x4721d5
mov eax, edi
and eax, 0x80
or eax, 0
je 0x4721c9
call fcn.004082b0
test al, al
jne 0x4721d5
and edi, 0xfffffeff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x400
or eax, 0
je 0x47228a
mov eax, edi
and eax, 0x80
or eax, 0
jne 0x472202
and edi, 0xfffffbff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x47228a
test dword [ebp - 0x5c], 0x8000000
jne 0x472219
and edi, 0xffefebff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x47228a
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 0x472261
test cl, cl
jne 0x472273
and edi, 0xffffebff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x47228a
call fcn.004081f0
test al, al
jne 0x47228a
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 0x4722c7
mov eax, edi
and eax, 0x400
or eax, 0
jne 0x4722b0
and edi, 0xfffff7ff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x4722c7
call fcn.00408230
test al, al
jne 0x4722c7
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 0x472304
mov eax, edi
and eax, 0x400
or eax, 0
jne 0x4722ed
and edi, 0xffffdfff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x472304
call fcn.00408160
test al, al
jne 0x472304
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 0x472343
mov eax, edi
and eax, 0x2400
cmp eax, 0x2400
jne 0x472337
call fcn.00408190
test al, al
jne 0x472343
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
jmp 0x472343
and edi, 0xffffbfff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x10000
or eax, 0
je 0x472380
mov eax, edi
and eax, 0x4000
or eax, 0
jne 0x472369
and edi, 0xfffeffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x472380
call fcn.004081c0
test al, al
jne 0x472380
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 0x4723bc
mov dword [ebp - 4], 4
call fcn.00408470
jmp 0x4723b5
mov dword [ebp - 4], 1
mov ebx, 1
mov ecx, esi
and ecx, 8
xor eax, eax
or eax, ecx
je 0x47241c
mov eax, edi
and eax, 0x20000
or eax, 0
jne 0x4723e3
mov dword [ebp - 0x7c], edi
and esi, 0xfffffff7
mov dword [ebp - 0x78], esi
jmp 0x47241c
mov dword [ebp - 4], 5
call fcn.00408480
mov dword [ebp - 4], 1
jmp 0x47241c
mov eax, edi
and eax, 0x1000
or eax, 0
je 0x47245b
mov eax, edi
and eax, 0x6400
cmp eax, 0x6400
jne 0x47244f
call fcn.00408110
test al, al
jne 0x47245b
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
jmp 0x47245b
and edi, 0xffffefff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x40000
or eax, 0
je 0x472496
mov eax, edi
and eax, 0x40
or eax, 0
jne 0x47247f
and edi, 0xfffbffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x472496
call fcn.00408490
test al, al
jne 0x472496
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 0x472521
mov eax, edi
and eax, 0x1000
or eax, 0
jne 0x4724b6
and edi, 0xffefffff
jmp 0x47251b
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 0x472500
test cl, cl
jne 0x47250c
and edi, 0xffefffff
jmp 0x47251b
call fcn.00408510
test al, al
jne 0x472521
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x200000
or eax, 0
je 0x472556
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x472541
and edi, 0xffdfffff
jmp 0x472550
call fcn.00408570
test al, al
jne 0x472556
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x400000
or eax, 0
je 0x47258b
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x472576
and edi, 0xffbfffff
jmp 0x472585
call fcn.004085e0
test al, al
jne 0x47258b
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x800000
or eax, 0
je 0x4725c0
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x4725ab
and edi, 0xff7fffff
jmp 0x4725ba
call fcn.00408640
test al, al
jne 0x4725c0
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x2000000
or eax, 0
je 0x4725f5
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x4725e0
and edi, 0xfdffffff
jmp 0x4725ef
call fcn.004086a0
test al, al
jne 0x4725f5
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x1000000
or eax, 0
je 0x472637
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x472622
and edi, 0xfeffffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov dword [ebp - 4], 0xfffffffe
jmp 0x47265e
call fcn.004086e0
test al, al
jne 0x472637
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov dword [ebp - 4], 0xfffffffe
jmp 0x47265e
mov eax, edi
and eax, 4
or eax, 0
je 0x472674
lea ecx, [ebp - 0x64]
call fcn.004715a0
or edi, eax
or esi, edx
mov dword [0x554d08], edi
mov dword [0x554d0c], 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.004af3ab
mov esp, ebp
pop ebp
ret