Function at 0x529030
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x5998aa
mov eax, dword fs:[0]
push eax
sub esp, 0x90
mov eax, dword [0x5e173c]
xor eax, esp
mov dword [esp + 0x88], eax
push esi
push edi
mov eax, dword [0x5e173c]
xor eax, esp
push eax
lea eax, [esp + 0x9c]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [esp + 0xac]
xor eax, eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x44], 7
mov dword [esp + 0x40], 0
mov word [esp + 0x30], ax
mov dword [esp + 0xa4], eax
lea ecx, [esp + 0x64]
push 0xa
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
push 0x5bf964
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], eax
mov word [esp + 0x6c], ax
call fcn.00404a80
mov byte [esp + 0xa4], 1
xor eax, eax
push 0xa
mov dword [esp + 0x60], 0
lea ecx, [esp + 0x50]
mov dword [esp + 0x64], 0
push str.HaoZip.exe
mov dword [esp + 0x68], 7
mov dword [esp + 0x64], 0
mov word [esp + 0x54], ax
call fcn.00404a80
mov byte [esp + 0xa4], 2
xor eax, eax
push 6
mov dword [esp + 0x90], 0
lea ecx, [esp + 0x80]
mov dword [esp + 0x94], 0
push 0x5a9b6c
mov dword [esp + 0x98], 7
mov dword [esp + 0x94], 0
mov word [esp + 0x84], ax
call fcn.00404a80
mov byte [esp + 0xa4], 3
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x88]
push eax
call fcn.00544bb0
mov byte [esp + 0x2f], al
mov byte [esp + 0xa4], 2
cmp dword [esp + 0x90], 8
jb 0x5291a2
push dword [esp + 0x7c]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], 0
mov word [esp + 0x7c], ax
mov byte [esp + 0xa4], 1
cmp dword [esp + 0x60], 8
jb 0x5291da
push dword [esp + 0x4c]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], 0
mov word [esp + 0x4c], ax
mov byte [esp + 0xa4], al
cmp dword [esp + 0x78], 8
jb 0x52920b
push dword [esp + 0x64]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], ax
cmp byte [esp + 0x2f], al
je 0x529327
xorps xmm0, xmm0
movdqu xmmword [esp + 0x7c], xmm0
movq qword [esp + 0x8c], xmm0
psrldq xmm0, 8
movd eax, xmm0
mov dword [esp + 0x84], eax
and eax, 0xffffff00
mov dword [esp + 0x84], eax
and eax, 0xfffffeff
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov byte [esp + 0xa4], 9
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x34]
mov ecx, edi
push eax
call fcn.0052b750
mov al, byte [esp + 0x84]
test al, al
je 0x5292b3
cmp al, 6
je 0x5292b3
cmp al, 7
jne 0x5292c5
lea ecx, [esp + 0x7c]
call fcn.004f6f10
test eax, eax
sete al
test al, al
jne 0x529311
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x18]
call fcn.004f6040
mov byte [esp + 0xa4], 0xa
mov ecx, esi
push 0x5bf949
push 0x5bf944
call fcn.004f74a0
mov byte [esp + 0xa4], 0xb
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.004f63a0
mov byte [esp + 0xa4], 9
lea ecx, [esp + 0x14]
call fcn.004f6200
mov byte [esp + 0xa4], 0
lea ecx, [esp + 0x7c]
call fcn.004f6200
jmp 0x529425
push 5
mov dword [esp + 0x90], eax
lea ecx, [esp + 0x80]
mov dword [esp + 0x94], eax
push 0x5bf93c
mov dword [esp + 0x98], 0xf
mov dword [esp + 0x94], eax
mov byte [esp + 0x84], al
call fcn.00404560
mov byte [esp + 0xa4], 0xc
xor eax, eax
push 6
mov dword [esp + 0x78], 0
lea ecx, [esp + 0x68]
mov dword [esp + 0x7c], 0
push 0x5a9b6c
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], ax
call fcn.00404a80
mov byte [esp + 0xa4], 0xd
lea eax, [esp + 0x7c]
push esi
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.0053abe0
mov byte [esp + 0xa4], 0xc
cmp dword [esp + 0x78], 8
jb 0x5293d6
push dword [esp + 0x64]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], ax
mov byte [esp + 0xa4], al
cmp dword [esp + 0x90], 0x10
jb 0x52940a
push dword [esp + 0x7c]
call fcn.00564de3
add esp, 4
mov dword [esp + 0x90], 0xf
mov dword [esp + 0x8c], 0
mov byte [esp + 0x7c], 0
push 0x10
xor eax, eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
lea ecx, [esp + 0x50]
push 0x5bf9b0
mov dword [esp + 0x68], 7
mov dword [esp + 0x64], 0
mov word [esp + 0x54], ax
call fcn.00404a80
mov byte [esp + 0xa4], 0xe
xor eax, eax
push 0x11
mov dword [esp + 0x90], 0
lea ecx, [esp + 0x80]
mov dword [esp + 0x94], 0
push 0x5bf98c
mov dword [esp + 0x98], 7
mov dword [esp + 0x94], 0
mov word [esp + 0x84], ax
call fcn.00404a80
mov byte [esp + 0xa4], 0xf
xor eax, eax
push 7
mov dword [esp + 0x78], 0
lea ecx, [esp + 0x68]
mov dword [esp + 0x7c], 0
push 0x5aa044
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], ax
call fcn.00404a80
mov byte [esp + 0xa4], 0x10
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x70]
push eax
call fcn.00544bb0
mov byte [esp + 0x2f], al
mov byte [esp + 0xa4], 0xf
cmp dword [esp + 0x78], 8
jb 0x529532
push dword [esp + 0x64]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], ax
mov byte [esp + 0xa4], 0xe
cmp dword [esp + 0x90], 8
jb 0x529567
push dword [esp + 0x7c]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], 0
mov word [esp + 0x7c], ax
mov byte [esp + 0xa4], al
cmp dword [esp + 0x60], 8
jb 0x52959e
push dword [esp + 0x4c]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], 0
mov word [esp + 0x4c], ax
cmp byte [esp + 0x2f], al
je 0x5296ba
xorps xmm0, xmm0
movdqu xmmword [esp + 0x7c], xmm0
movq qword [esp + 0x8c], xmm0
psrldq xmm0, 8
movd eax, xmm0
mov dword [esp + 0x84], eax
and eax, 0xffffff00
mov dword [esp + 0x84], eax
and eax, 0xfffffeff
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov byte [esp + 0xa4], 0x16
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x34]
mov ecx, edi
push eax
call fcn.0052d0b0
mov al, byte [esp + 0x84]
test al, al
je 0x529646
cmp al, 6
je 0x529646
cmp al, 7
jne 0x529658
lea ecx, [esp + 0x7c]
call fcn.004f6f10
test eax, eax
sete al
test al, al
jne 0x5296a4
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x18]
call fcn.004f6040
mov byte [esp + 0xa4], 0x17
mov ecx, esi
push 0x5bf989
push 0x5bf984
call fcn.004f74a0
mov byte [esp + 0xa4], 0x18
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.004f63a0
mov byte [esp + 0xa4], 0x16
lea ecx, [esp + 0x14]
call fcn.004f6200
mov byte [esp + 0xa4], 0
lea ecx, [esp + 0x7c]
call fcn.004f6200
jmp 0x5297b8
push 5
mov dword [esp + 0x90], eax
lea ecx, [esp + 0x80]
mov dword [esp + 0x94], eax
push 0x5bf97c
mov dword [esp + 0x98], 0xf
mov dword [esp + 0x94], eax
mov byte [esp + 0x84], al
call fcn.00404560
mov byte [esp + 0xa4], 0x19
xor eax, eax
push 7
mov dword [esp + 0x78], 0
lea ecx, [esp + 0x68]
mov dword [esp + 0x7c], 0
push 0x5aa044
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], ax
call fcn.00404a80
mov byte [esp + 0xa4], 0x1a
lea eax, [esp + 0x7c]
push esi
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.0053abe0
mov byte [esp + 0xa4], 0x19
cmp dword [esp + 0x78], 8
jb 0x529769
push dword [esp + 0x64]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], ax
mov byte [esp + 0xa4], al
cmp dword [esp + 0x90], 0x10
jb 0x52979d
push dword [esp + 0x7c]
call fcn.00564de3
add esp, 4
mov dword [esp + 0x90], 0xf
mov dword [esp + 0x8c], 0
mov byte [esp + 0x7c], 0
push 0xa
xor eax, eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
lea ecx, [esp + 0x50]
push 0x5ac818
mov dword [esp + 0x68], 7
mov dword [esp + 0x64], 0
mov word [esp + 0x54], ax
call fcn.00404a80
mov byte [esp + 0xa4], 0x1b
xor eax, eax
push 0x10
mov dword [esp + 0x90], 0
lea ecx, [esp + 0x80]
mov dword [esp + 0x94], 0
push 0x5a84ac
mov dword [esp + 0x98], 7
mov dword [esp + 0x94], 0
mov word [esp + 0x84], ax
call fcn.00404a80
mov byte [esp + 0xa4], 0x1c
xor eax, eax
push 0xc
mov dword [esp + 0x78], 0
lea ecx, [esp + 0x68]
mov dword [esp + 0x7c], 0
push 0x5a9d24
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], ax
call fcn.00404a80
mov byte [esp + 0xa4], 0x1d
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x70]
push eax
call fcn.00544bb0
mov byte [esp + 0x2f], al
mov byte [esp + 0xa4], 0x1c
cmp dword [esp + 0x78], 8
jb 0x5298c5
push dword [esp + 0x64]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], ax
mov byte [esp + 0xa4], 0x1b
cmp dword [esp + 0x90], 8
jb 0x5298fa
push dword [esp + 0x7c]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], 0
mov word [esp + 0x7c], ax
mov byte [esp + 0xa4], al
cmp dword [esp + 0x60], 8
jb 0x529931
push dword [esp + 0x4c]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], 0
mov word [esp + 0x4c], ax
cmp byte [esp + 0x2f], al
je 0x529a4d
xorps xmm0, xmm0
movdqu xmmword [esp + 0x7c], xmm0
movq qword [esp + 0x8c], xmm0
psrldq xmm0, 8
movd eax, xmm0
mov dword [esp + 0x84], eax
and eax, 0xffffff00
mov dword [esp + 0x84], eax
and eax, 0xfffffeff
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov byte [esp + 0xa4], 0x23
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x34]
mov ecx, edi
push eax
call fcn.0052ece0
mov al, byte [esp + 0x84]
test al, al
je 0x5299d9
cmp al, 6
je 0x5299d9
cmp al, 7
jne 0x5299eb
lea ecx, [esp + 0x7c]
call fcn.004f6f10
test eax, eax
sete al
test al, al
jne 0x529a37
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x18]
call fcn.004f6040
mov byte [esp + 0xa4], 0x24
mov ecx, esi
push 0x5bfa2d
push 0x5bfa28
call fcn.004f74a0
mov byte [esp + 0xa4], 0x25
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.004f63a0
mov byte [esp + 0xa4], 0x23
lea ecx, [esp + 0x14]
call fcn.004f6200
mov byte [esp + 0xa4], 0
lea ecx, [esp + 0x7c]
call fcn.004f6200
jmp 0x529b4b
push 5
mov dword [esp + 0x90], eax
lea ecx, [esp + 0x80]
mov dword [esp + 0x94], eax
push 0x5bfa20
mov dword [esp + 0x98], 0xf
mov dword [esp + 0x94], eax
mov byte [esp + 0x84], al
call fcn.00404560
mov byte [esp + 0xa4], 0x26
xor eax, eax
push 0xc
mov dword [esp + 0x78], 0
lea ecx, [esp + 0x68]
mov dword [esp + 0x7c], 0
push 0x5a9d24
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], ax
call fcn.00404a80
mov byte [esp + 0xa4], 0x27
lea eax, [esp + 0x7c]
push esi
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.0053abe0
mov byte [esp + 0xa4], 0x26
cmp dword [esp + 0x78], 8
jb 0x529afc
push dword [esp + 0x64]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], ax
mov byte [esp + 0xa4], al
cmp dword [esp + 0x90], 0x10
jb 0x529b30
push dword [esp + 0x7c]
call fcn.00564de3
add esp, 4
mov dword [esp + 0x90], 0xf
mov dword [esp + 0x8c], 0
mov byte [esp + 0x7c], 0
push 0x14
xor eax, eax
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
lea ecx, [esp + 0x80]
push 0x5bf9f4
mov dword [esp + 0x98], 7
mov dword [esp + 0x94], 0
mov word [esp + 0x84], ax
call fcn.00404a80
mov byte [esp + 0xa4], 0x28
xor eax, eax
push 0xe
mov dword [esp + 0x78], 0
lea ecx, [esp + 0x68]
mov dword [esp + 0x7c], 0
push 0x5bf9d4
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], ax
call fcn.00404a80
mov byte [esp + 0xa4], 0x29
lea ecx, [esp + 0x4c]
push 0x5aa11c
call fcn.00403a70
mov byte [esp + 0xa4], 0x2a
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.00544bb0
mov byte [esp + 0x2f], al
mov byte [esp + 0xa4], 0x29
cmp dword [esp + 0x60], 8
jb 0x529c2f
push dword [esp + 0x4c]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], 0
mov word [esp + 0x4c], ax
mov byte [esp + 0xa4], 0x28
cmp dword [esp + 0x78], 8
jb 0x529c61
push dword [esp + 0x64]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], ax
mov byte [esp + 0xa4], al
cmp dword [esp + 0x90], 8
jb 0x529c95
push dword [esp + 0x7c]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], 0
mov word [esp + 0x7c], ax
cmp byte [esp + 0x2f], al
je 0x529db5
xorps xmm0, xmm0
movdqu xmmword [esp + 0x7c], xmm0
movq qword [esp + 0x8c], xmm0
psrldq xmm0, 8
movd eax, xmm0
mov dword [esp + 0x84], eax
and eax, 0xffffff00
mov dword [esp + 0x84], eax
and eax, 0xfffffeff
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov byte [esp + 0xa4], 0x2c
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.005304e0
mov al, byte [esp + 0x84]
test al, al
je 0x529d41
cmp al, 6
je 0x529d41
cmp al, 7
jne 0x529d53
lea ecx, [esp + 0x7c]
call fcn.004f6f10
test eax, eax
sete al
test al, al
jne 0x529d9f
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x18]
call fcn.004f6040
mov byte [esp + 0xa4], 0x2d
mov ecx, esi
push 0x5bfa81
push 0x5bfa7c
call fcn.004f74a0
mov byte [esp + 0xa4], 0x2e
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.004f63a0
mov byte [esp + 0xa4], 0x2c
lea ecx, [esp + 0x14]
call fcn.004f6200
mov byte [esp + 0xa4], 0
lea ecx, [esp + 0x7c]
call fcn.004f6200
jmp 0x529e5e
push 0x5bfa74
lea ecx, [esp + 0x80]
call fcn.004039b0
mov byte [esp + 0xa4], 0x2f
lea ecx, [esp + 0x64]
push 0x5aa11c
call fcn.00403a70
mov byte [esp + 0xa4], 0x30
lea eax, [esp + 0x7c]
push esi
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.0053abe0
mov byte [esp + 0xa4], 0x2f
cmp dword [esp + 0x78], 8
jb 0x529e0f
push dword [esp + 0x64]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], ax
mov byte [esp + 0xa4], al
cmp dword [esp + 0x90], 0x10
jb 0x529e43
push dword [esp + 0x7c]
call fcn.00564de3
add esp, 4
mov dword [esp + 0x90], 0xf
mov dword [esp + 0x8c], 0
mov byte [esp + 0x7c], 0
push 0x5bfa50
lea ecx, [esp + 0x50]
call fcn.00403a70
mov byte [esp + 0xa4], 0x31
lea ecx, [esp + 0x7c]
push 0x5bfa30
call fcn.00403a70
mov byte [esp + 0xa4], 0x32
lea ecx, [esp + 0x64]
push 0x5aa39c
call fcn.00403a70
mov byte [esp + 0xa4], 0x33
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x70]
push eax
call fcn.00544bb0
mov byte [esp + 0x2f], al
mov byte [esp + 0xa4], 0x32
cmp dword [esp + 0x78], 8
jb 0x529edb
push dword [esp + 0x64]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], ax
mov byte [esp + 0xa4], 0x31
cmp dword [esp + 0x90], 8
jb 0x529f10
push dword [esp + 0x7c]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], 0
mov word [esp + 0x7c], ax
mov byte [esp + 0xa4], al
cmp dword [esp + 0x60], 8
jb 0x529f47
push dword [esp + 0x4c]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], 0
mov word [esp + 0x4c], ax
cmp byte [esp + 0x2f], al
je 0x52a063
xorps xmm0, xmm0
movdqu xmmword [esp + 0x7c], xmm0
movq qword [esp + 0x8c], xmm0
psrldq xmm0, 8
movd eax, xmm0
mov dword [esp + 0x84], eax
and eax, 0xffffff00
mov dword [esp + 0x84], eax
and eax, 0xfffffeff
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov byte [esp + 0xa4], 0x35
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x34]
mov ecx, edi
push eax
call fcn.00531660
mov al, byte [esp + 0x84]
test al, al
je 0x529fef
cmp al, 6
je 0x529fef
cmp al, 7
jne 0x52a001
lea ecx, [esp + 0x7c]
call fcn.004f6f10
test eax, eax
sete al
test al, al
jne 0x52a04d
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x18]
call fcn.004f6040
mov byte [esp + 0xa4], 0x36
mov ecx, esi
push 0x5bfad1
push 0x5bfacc
call fcn.004f74a0
mov byte [esp + 0xa4], 0x37
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.004f63a0
mov byte [esp + 0xa4], 0x35
lea ecx, [esp + 0x14]
call fcn.004f6200
mov byte [esp + 0xa4], 0
lea ecx, [esp + 0x7c]
call fcn.004f6200
jmp 0x52a10c
push 0x5bfac4
lea ecx, [esp + 0x80]
call fcn.004039b0
mov byte [esp + 0xa4], 0x38
lea ecx, [esp + 0x64]
push 0x5aa39c
call fcn.00403a70
mov byte [esp + 0xa4], 0x39
lea eax, [esp + 0x7c]
push esi
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.0053abe0
mov byte [esp + 0xa4], 0x38
cmp dword [esp + 0x78], 8
jb 0x52a0bd
push dword [esp + 0x64]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], ax
mov byte [esp + 0xa4], al
cmp dword [esp + 0x90], 0x10
jb 0x52a0f1
push dword [esp + 0x7c]
call fcn.00564de3
add esp, 4
mov dword [esp + 0x90], 0xf
mov dword [esp + 0x8c], 0
mov byte [esp + 0x7c], 0
push 0x5bfaa4
lea ecx, [esp + 0x50]
call fcn.00403a70
mov byte [esp + 0xa4], 0x3a
lea ecx, [esp + 0x7c]
push 0x5bfa84
call fcn.00403a70
mov byte [esp + 0xa4], 0x3b
lea ecx, [esp + 0x64]
push 0x5a9620
call fcn.00403a70
mov byte [esp + 0xa4], 0x3c
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x70]
push eax
call fcn.00544bb0
mov byte [esp + 0x2f], al
mov byte [esp + 0xa4], 0x3b
cmp dword [esp + 0x78], 8
jb 0x52a189
push dword [esp + 0x64]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], ax
mov byte [esp + 0xa4], 0x3a
cmp dword [esp + 0x90], 8
jb 0x52a1be
push dword [esp + 0x7c]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], 0
mov word [esp + 0x7c], ax
mov byte [esp + 0xa4], al
cmp dword [esp + 0x60], 8
jb 0x52a1f5
push dword [esp + 0x4c]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], 0
mov word [esp + 0x4c], ax
cmp byte [esp + 0x2f], al
je 0x52a303
xorps xmm0, xmm0
movdqu xmmword [esp + 0x7c], xmm0
movq qword [esp + 0x8c], xmm0
psrldq xmm0, 8
movd eax, xmm0
mov dword [esp + 0x84], eax
and eax, 0xffffff00
mov dword [esp + 0x84], eax
and eax, 0xfffffeff
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov byte [esp + 0xa4], 0x3e
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x34]
mov ecx, edi
push eax
call fcn.00532e40
mov al, byte [esp + 0x84]
test al, al
je 0x52a29d
cmp al, 6
je 0x52a29d
cmp al, 7
jne 0x52a2af
lea ecx, [esp + 0x7c]
call fcn.004f6f10
test eax, eax
sete al
test al, al
jne 0x52a2ed
sub esp, 0x18
lea eax, [esp + 0x94]
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call fcn.004f6040
mov byte [esp + 0xbc], 0x3f
mov ecx, esi
push 0x5bfb31
push 0x5bfb2c
call fcn.004f74a0
mov byte [esp + 0xbc], 0x3e
mov ecx, eax
call fcn.004f62e0
mov byte [esp + 0xa4], 0
lea ecx, [esp + 0x7c]
call fcn.004f6200
jmp 0x52a3ac
push 0x5bfb24
lea ecx, [esp + 0x80]
call fcn.004039b0
mov byte [esp + 0xa4], 0x40
lea ecx, [esp + 0x64]
push 0x5a9620
call fcn.00403a70
mov byte [esp + 0xa4], 0x41
lea eax, [esp + 0x7c]
push esi
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.0053abe0
mov byte [esp + 0xa4], 0x40
cmp dword [esp + 0x78], 8
jb 0x52a35d
push dword [esp + 0x64]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], ax
mov byte [esp + 0xa4], al
cmp dword [esp + 0x90], 0x10
jb 0x52a391
push dword [esp + 0x7c]
call fcn.00564de3
add esp, 4
mov dword [esp + 0x90], 0xf
mov dword [esp + 0x8c], 0
mov byte [esp + 0x7c], 0
push 0x5bfaf8
lea ecx, [esp + 0x50]
call fcn.00403a70
mov byte [esp + 0xa4], 0x42
lea ecx, [esp + 0x7c]
push 0x5bfad4
call fcn.00403a70
mov byte [esp + 0xa4], 0x43
lea ecx, [esp + 0x64]
push 0x5bfb68
call fcn.00403a70
mov byte [esp + 0xa4], 0x44
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x70]
push eax
call fcn.00544bb0
mov byte [esp + 0x2f], al
mov byte [esp + 0xa4], 0x43
cmp dword [esp + 0x78], 8
jb 0x52a429
push dword [esp + 0x64]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], ax
mov byte [esp + 0xa4], 0x42
cmp dword [esp + 0x90], 8
jb 0x52a45e
push dword [esp + 0x7c]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], 0
mov word [esp + 0x7c], ax
mov byte [esp + 0xa4], al
cmp dword [esp + 0x60], 8
jb 0x52a495
push dword [esp + 0x4c]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], 0
mov word [esp + 0x4c], ax
cmp byte [esp + 0x2f], al
je 0x52a777
xorps xmm0, xmm0
movdqu xmmword [esp + 0x7c], xmm0
movq qword [esp + 0x8c], xmm0
psrldq xmm0, 8
movd eax, xmm0
mov dword [esp + 0x84], eax
and eax, 0xffffff00
mov dword [esp + 0x84], eax
and eax, 0xfffffeff
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov byte [esp + 0xa4], 0x46
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], 0
call fcn.004b66d0
mov byte [esp + 0xa4], 0x47
xor eax, eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], 0
mov word [esp + 0x4c], ax
mov byte [esp + 0xa4], 0x48
lea ecx, [esp + 0x64]
push 0x5bfb54
call fcn.00403a70
mov byte [esp + 0xa4], 0x49
lea ecx, [esp + 0x64]
push 0x5bfb68
call fcn.00403b70
push 0x5bfb3c
lea ecx, [esp + 0x18]
call fcn.00403a70
mov byte [esp + 0xa4], 0x4a
lea eax, [esp + 0x4c]
cmp dword [esp + 0x60], 8
mov dword [esp + 0x5c], 0
cmovae eax, dword [esp + 0x4c]
xor ecx, ecx
mov word [eax], cx
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x6c]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [esp + 0x58]
call fcn.004b69f0
mov byte [esp + 0x2f], al
mov byte [esp + 0xa4], 0x49
cmp dword [esp + 0x28], 8
jb 0x52a5f6
push dword [esp + 0x14]
call fcn.00564de3
mov al, byte [esp + 0x33]
add esp, 4
xor ecx, ecx
mov dword [esp + 0x28], 7
mov dword [esp + 0x24], 0
mov word [esp + 0x14], cx
test al, al
je 0x52a66f
mov edx, 0x5bed3c
lea ecx, [esp + 0x4c]
call fcn.0040d190
test al, al
je 0x52a66f
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.00535750
lea ecx, [esp + 0x7c]
call fcn.004f6fa0
test al, al
jne 0x52a6e1
sub esp, 0x18
lea eax, [esp + 0x94]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.004f6040
mov byte [esp + 0xbc], 0x4b
mov ecx, esi
push 0x5bfb34
call fcn.004f78e0
jmp 0x52a6d2
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.00534550
mov al, byte [esp + 0x84]
test al, al
je 0x52a691
cmp al, 6
je 0x52a691
cmp al, 7
jne 0x52a6a3
lea ecx, [esp + 0x7c]
call fcn.004f6f10
test eax, eax
sete al
test al, al
jne 0x52a6e1
sub esp, 0x18
lea eax, [esp + 0x94]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.004f6040
mov byte [esp + 0xbc], 0x4c
mov ecx, esi
push 0x5bfba9
push 0x5bfba4
call fcn.004f74a0
mov byte [esp + 0xbc], 0x49
mov ecx, eax
call fcn.004f62e0
mov byte [esp + 0xa4], 0x48
cmp dword [esp + 0x78], 8
jb 0x52a6fc
push dword [esp + 0x64]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], ax
mov byte [esp + 0xa4], 0x47
cmp dword [esp + 0x60], 8
jb 0x52a72e
push dword [esp + 0x4c]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], 0
mov word [esp + 0x4c], ax
mov byte [esp + 0xa4], 0x46
push dword [esp + 0x48]
call fcn.00564de3
add esp, 4
mov dword [esp + 0x48], 0
mov byte [esp + 0xa4], 0
lea ecx, [esp + 0x7c]
call fcn.004f6200
jmp 0x52a814
push 0x5bfb9c
lea ecx, [esp + 0x68]
call fcn.004039b0
mov byte [esp + 0xa4], 0x4d
lea ecx, [esp + 0x14]
push 0x5bfb68
call fcn.00403a70
mov byte [esp + 0xa4], 0x4e
lea eax, [esp + 0x64]
push esi
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.0053abe0
mov byte [esp + 0xa4], 0x4d
cmp dword [esp + 0x28], 8
jb 0x52a7ce
push dword [esp + 0x14]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x28], 7
mov dword [esp + 0x24], 0
mov word [esp + 0x14], ax
mov byte [esp + 0xa4], al
cmp dword [esp + 0x78], 0x10
jb 0x52a7ff
push dword [esp + 0x64]
call fcn.00564de3
add esp, 4
mov dword [esp + 0x78], 0xf
mov dword [esp + 0x74], 0
mov byte [esp + 0x64], 0
mov dword [esp + 0xa4], 0xffffffff
cmp dword [esp + 0x44], 8
jb 0x52a832
push dword [esp + 0x30]
call fcn.00564de3
add esp, 4
xor eax, eax
mov dword [esp + 0x44], 7
mov dword [esp + 0x40], 0
mov word [esp + 0x30], ax
mov ecx, dword [esp + 0x9c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x88]
xor ecx, esp
call fcn.00564de8
add esp, 0x9c
ret 4