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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x4a0038
push 0x454ec0
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x4a4100]
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.004557e0
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 0x43f66a
mov byte [ebp - 0x82], 1
popfd
cmp byte [ebp - 0x82], 0
je 0x43f720
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, SysReAllocString
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 0x43f6ea
lea edi, [ebp - 0x54]
mov eax, SysReAllocString
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 0x43f720
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x58]
test al, 1
je 0x43f73d
mov edi, 1
mov dword [ebp - 0x7c], edi
xor edx, edx
mov dword [ebp - 0x78], edx
jmp 0x43f743
mov edx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 0x80], edx
test eax, 0x800000
je 0x43f759
or edi, 2
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x2000000
je 0x43f76c
or edi, 4
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x4000000
je 0x43f77f
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 0x43f792
or edi, 0x10
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x200
je 0x43f7a5
or edi, 0x20
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x80000
je 0x43f7b8
or edi, 0x40
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x100000
je 0x43f7ce
or edi, 0x80
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x800000
je 0x43f7e4
or edi, 0x8000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x2000000
je 0x43f7fa
or edi, 0x100
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test al, 2
je 0x43f80d
or edi, 0x200
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x10000000
je 0x43f823
or edi, 0x400
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x40000000
je 0x43f839
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 0x43f84f
or edi, 0x1000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test al, 8
je 0x43f862
or edi, 0x2000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x100
je 0x43f878
or edi, 0x4000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x200
je 0x43f88e
mov dword [ebp - 0x7c], edi
or edx, 0x100
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x10000
je 0x43f8a4
or edi, 0x100000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x20000
je 0x43f8ba
or edi, 0x400000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x40000
je 0x43f8cd
mov dword [ebp - 0x7c], edi
or edx, 8
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x80000
je 0x43f8e3
or edi, 0x10000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x200000
je 0x43f8f9
or edi, 0x8000000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x10000000
je 0x43f90f
or edi, 0x2000000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x20000000
je 0x43f925
or edi, 0x40000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, 0x40000000
je 0x43f93b
or edi, 0x200000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test eax, eax
jns 0x43f94e
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 0x43f964
or edi, 0x1000000
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
test al, 0x40
je 0x43f977
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 0x43fa97
je 0x43fa79
cmp eax, 0x68532020
je 0x43fa58
cmp eax, 0x68747541
jne 0x43fc12
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x444d4163
jne 0x43fc77
cmp dword [ebp - 0x68], 0x69746e65
jne 0x43fc77
cmp esi, 5
jb 0x43f9e6
jne 0x43f9f2
cmp ecx, 6
jb 0x43f9e6
cmp ecx, 0xa
jne 0x43f9f2
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 0x43fa16
test dword [ebp - 0x4c], 0x800
je 0x43fa16
or edi, 0x800
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
cmp esi, 0x700f
jb 0x43fc77
mov eax, edi
and eax, 0x200
or eax, 0
je 0x43fa3d
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 0x43fc77
or edx, 0x800
jmp 0x43fc6e
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x20206961
jne 0x43fc77
cmp dword [ebp - 0x68], 0x68676e61
jne 0x43fc77
jmp 0x43fc43
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x656e6975
jne 0x43fc77
cmp dword [ebp - 0x68], 0x6e65476e
jne 0x43fc77
jmp 0x43fa22
cmp eax, 0x746e6543
je 0x43fc17
cmp eax, 0x756e6547
jne 0x43fc12
mov ebx, dword [ebp - 0x6c]
mov eax, ebx
and eax, 0xfffffffe
cmp eax, 0x6c65746e
jne 0x43fc77
cmp dword [ebp - 0x68], 0x49656e69
jne 0x43fc77
mov dword [ebp - 0x7c], edi
or edx, 4
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
cmp esi, 6
jae 0x43fae6
or edx, 1
jmp 0x43fbcc
jne 0x43fbd5
cmp ecx, 0x100c
je 0x43fbc9
cmp ecx, 0x2006
je 0x43fbc9
cmp ecx, 0x2007
je 0x43fbc9
cmp ecx, 0x3005
je 0x43fbc9
cmp ecx, 0x3006
je 0x43fbc9
cmp ecx, 0x3007
je 0x43fbc4
cmp ecx, 0x400a
je 0x43fbc4
cmp ecx, 0x400c
je 0x43fbc4
cmp ecx, 0x400d
je 0x43fbc4
cmp ecx, 0x500c
je 0x43fbd5
cmp ecx, 0x500f
je 0x43fbd5
cmp ecx, 0x700a
je 0x43fbd5
cmp ecx, 0x200a
je 0x43fbbc
cmp ecx, 0x200d
je 0x43fbbc
cmp ecx, 0x300a
je 0x43fbbc
cmp ecx, 0x300e
je 0x43fbbc
cmp ecx, 0x400f
je 0x43fbbc
cmp ecx, 0x300c
je 0x43fba8
cmp ecx, 0x300d
je 0x43fba8
cmp ecx, 0x300f
jb 0x43fbd5
mov eax, edi
and eax, 0x200
or eax, 0
je 0x43fbd5
or edx, 0x400
jmp 0x43fbcc
or edx, 0x200
jmp 0x43fbcc
or edx, 2
jmp 0x43fbcc
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 0x43fa3d
cmp ecx, 0x1006
je 0x43fa3d
cmp ecx, 0xf
je 0x43fa3d
mov ecx, edx
and ecx, 2
xor eax, eax
or eax, ecx
jne 0x43fa3d
or edx, 0x1000
jmp 0x43fa34
mov ebx, dword [ebp - 0x6c]
jmp 0x43fc77
mov ebx, dword [ebp - 0x6c]
cmp ebx, 0x736c7561
jne 0x43fc77
cmp dword [ebp - 0x68], 0x48727561
jne 0x43fc77
cmp esi, 6
jb 0x43fc37
jne 0x43fc43
cmp ecx, 0xf
jae 0x43fc43
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 0x43fc5c
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 0x43fc77
or edx, 0x400
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
mov dword [0x4a77f0], ebx
mov eax, dword [ebp - 0x64]
mov dword [0x4a77ec], eax
mov eax, dword [ebp - 0x70]
mov dword [0x4a77d4], eax
mov eax, dword [ebp - 0x68]
mov dword [0x4a77d8], eax
mov dword [0x4a77dc], ebx
mov byte [0x4a77e0], 0
cmp dword [ebp - 0x34], 0x80000004
jb 0x43fd20
mov eax, reloc.OLEAUT32.dll_SysReAllocString
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [0x4a77a0], eax
mov dword [0x4a77a4], esi
mov dword [0x4a77a8], ecx
mov dword [0x4a77ac], edx
mov eax, VariantInit
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [0x4a77b0], eax
mov dword [0x4a77b4], esi
mov dword [0x4a77b8], ecx
mov dword [0x4a77bc], edx
mov eax, VariantInit
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [0x4a77c0], eax
mov dword [0x4a77c4], esi
mov dword [0x4a77c8], ecx
mov dword [0x4a77cc], edx
mov byte [0x4a77d0], 0
jmp 0x43fd27
mov byte [0x4a77a0], 0
mov byte [0x4a7790], 0
mov byte [0x4a778c], 0
test dword [ebp - 0x5c], 0x80000000
je 0x43fdb8
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 0x43fd8f
cmp dword [ebp - 0x90], 0x7263694d
jne 0x43fd8f
cmp dword [ebp - 0x8c], 0x666f736f
jne 0x43fd8f
mov eax, dword [ebp - 0x88]
cmp eax, 0x76482074
je 0x43fdb8
jmp 0x43fd95
mov eax, dword [ebp - 0x88]
mov byte [0x4a778c], 1
movq xmm0, qword [ebp - 0x90]
movq qword [0x4a7790], xmm0
mov dword [0x4a7798], eax
mov byte [0x4a779c], 0
mov dword [ebp - 4], 1
mov eax, edi
and eax, 2
or eax, 0
je 0x43fe27
mov dword [ebp - 4], 2
call fcn.004083d0
test al, al
jne 0x43fdf0
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 4], 1
jmp 0x43fe1a
mov esi, dword [ebp - 0x80]
mov dword [ebp - 4], 1
jmp 0x43fe1a
mov eax, edi
or eax, esi
jne 0x43fe2a
call fcn.00408400
jmp 0x43fe2a
mov esi, dword [ebp - 0x80]
mov eax, edi
and eax, 8
or eax, 0
je 0x43fe60
mov eax, edi
and eax, 4
or eax, 0
jne 0x43fe49
and edi, 0xfffffff7
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x43fe60
call fcn.00408390
test al, al
jne 0x43fe60
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 0x43fe7d
mov eax, edi
and eax, 8
or eax, 0
jne 0x43fe7d
and edi, 0xffffffef
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x20
or eax, 0
je 0x43feb3
mov eax, edi
and eax, 0x10
or eax, 0
jne 0x43fe9c
and edi, 0xffffffdf
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x43feb3
call fcn.00408350
test al, al
jne 0x43feb3
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 0x43fee9
mov eax, edi
and eax, 0x20
or eax, 0
jne 0x43fed2
and edi, 0xffffffbf
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x43fee9
call fcn.00408300
test al, al
jne 0x43fee9
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 0x43ff2a
mov eax, edi
and eax, 0x40
or eax, 0
jne 0x43ff13
and edi, 0xffffff7f
mov dword [ebp - 0x7c], edi
and esi, 0xfffff7ff
mov dword [ebp - 0x78], esi
jmp 0x43ff2a
call fcn.004082d0
test al, al
jne 0x43ff2a
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 0x43ff55
mov eax, edi
and eax, 0x10
or eax, 0
je 0x43ff49
call fcn.004082b0
test al, al
jne 0x43ff55
and edi, 0xffff7fff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x200
or eax, 0
je 0x43ff88
mov eax, edi
and eax, 0x80
or eax, 0
je 0x43ff76
call 0x408210
test al, al
jne 0x43ff88
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 0x43ffb5
mov eax, edi
and eax, 0x80
or eax, 0
je 0x43ffa9
call fcn.00408250
test al, al
jne 0x43ffb5
and edi, 0xfffffeff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x400
or eax, 0
je 0x44006a
mov eax, edi
and eax, 0x80
or eax, 0
jne 0x43ffe2
and edi, 0xfffffbff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x44006a
test dword [ebp - 0x5c], 0x8000000
jne 0x43fff9
and edi, 0xffefebff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x44006a
xor bl, bl
mov byte [ebp - 0x83], bl
mov dword [ebp - 4], 3
call fcn.004080a0
movzx ecx, bl
test al, al
mov eax, 1
cmovne ecx, eax
mov byte [ebp - 0x83], cl
mov dword [ebp - 4], eax
jmp 0x440041
test cl, cl
jne 0x440053
and edi, 0xffffebff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x44006a
call fcn.00408190
test al, al
jne 0x44006a
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 0x4400a7
mov eax, edi
and eax, 0x400
or eax, 0
jne 0x440090
and edi, 0xfffff7ff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x4400a7
call fcn.004081d0
test al, al
jne 0x4400a7
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 0x4400e4
mov eax, edi
and eax, 0x400
or eax, 0
jne 0x4400cd
and edi, 0xffffdfff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x4400e4
call fcn.00408100
test al, al
jne 0x4400e4
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 0x440123
mov eax, edi
and eax, 0x2400
cmp eax, 0x2400
jne 0x440117
call 0x408130
test al, al
jne 0x440123
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
jmp 0x440123
and edi, 0xffffbfff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x10000
or eax, 0
je 0x440160
mov eax, edi
and eax, 0x4000
or eax, 0
jne 0x440149
and edi, 0xfffeffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x440160
call 0x408160
test al, al
jne 0x440160
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 0x44019c
mov dword [ebp - 4], 4
call fcn.00408410
jmp 0x440195
mov dword [ebp - 4], 1
mov ebx, 1
mov ecx, esi
and ecx, 8
xor eax, eax
or eax, ecx
je 0x4401fc
mov eax, edi
and eax, 0x20000
or eax, 0
jne 0x4401c3
mov dword [ebp - 0x7c], edi
and esi, 0xfffffff7
mov dword [ebp - 0x78], esi
jmp 0x4401fc
mov dword [ebp - 4], 5
call fcn.00408420
mov dword [ebp - 4], 1
jmp 0x4401fc
mov eax, edi
and eax, 0x1000
or eax, 0
je 0x44023b
mov eax, edi
and eax, 0x6400
cmp eax, 0x6400
jne 0x44022f
call fcn.004080b0
test al, al
jne 0x44023b
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
jmp 0x44023b
and edi, 0xffffefff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x40000
or eax, 0
je 0x440276
mov eax, edi
and eax, 0x40
or eax, 0
jne 0x44025f
and edi, 0xfffbffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
jmp 0x440276
call fcn.00408430
test al, al
jne 0x440276
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 0x440301
mov eax, edi
and eax, 0x1000
or eax, 0
jne 0x440296
and edi, 0xffefffff
jmp 0x4402fb
mov byte [ebp - 0x81], 0
mov dword [ebp - 4], 6
call 0x408490
movzx ecx, byte [ebp - 0x81]
test al, al
cmovne ecx, ebx
mov byte [ebp - 0x81], cl
mov dword [ebp - 4], 1
jmp 0x4402e0
test cl, cl
jne 0x4402ec
and edi, 0xffefffff
jmp 0x4402fb
call fcn.004084b0
test al, al
jne 0x440301
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x200000
or eax, 0
je 0x440336
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x440321
and edi, 0xffdfffff
jmp 0x440330
call fcn.00408510
test al, al
jne 0x440336
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x400000
or eax, 0
je 0x44036b
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x440356
and edi, 0xffbfffff
jmp 0x440365
call fcn.00408580
test al, al
jne 0x44036b
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x800000
or eax, 0
je 0x4403a0
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x44038b
and edi, 0xff7fffff
jmp 0x44039a
call 0x4085e0
test al, al
jne 0x4403a0
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x2000000
or eax, 0
je 0x4403d5
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x4403c0
and edi, 0xfdffffff
jmp 0x4403cf
call fcn.00408640
test al, al
jne 0x4403d5
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov eax, edi
and eax, 0x1000000
or eax, 0
je 0x440417
mov eax, edi
and eax, 0x100000
or eax, 0
jne 0x440402
and edi, 0xfeffffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov dword [ebp - 4], 0xfffffffe
jmp 0x44043e
call fcn.00408680
test al, al
jne 0x440417
and edi, 0xf00fffff
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov dword [ebp - 4], 0xfffffffe
jmp 0x44043e
mov eax, edi
and eax, 4
or eax, 0
je 0x440454
lea ecx, [ebp - 0x64]
call fcn.0043f380
or edi, eax
or esi, edx
mov dword [0x4a77f8], edi
mov dword [0x4a77fc], 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.0045360d
mov esp, ebp
pop ebp
ret