Function at 0x456370
Capabilities:
Check if file exists
Get file attributes
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x1c18
call fcn.0047c700
mov eax, dword [0x4f0100]
xor eax, esp
mov dword [esp + 0x1c14], eax
mov eax, dword [ebp + 0x18]
test eax, eax
push esi
push edi
mov dword [esp + 0x6c], edx
mov edi, ecx
mov edx, str.DXBDXARC
mov dword [esp + 0x3bc], 0
mov ecx, 0x7ffd
mov dword [esp + 0x3b8], 0
mov byte [esp + 0x13c4], 0
cmovne edx, eax
call fcn.00461320
sub eax, 1
je 0x4563fe
sub eax, 1
je 0x4563ed
sub eax, 2
je 0x4563de
xor esi, esi
jmp 0x456416
xor esi, esi
cmp dword [edx], esi
je 0x45640c
inc esi
cmp dword [edx + esi*4], 0
jne 0x4563e4
jmp 0x45640c
xor esi, esi
cmp word [edx], si
je 0x45640c
inc esi
cmp word [edx + esi*2], 0
jne 0x4563f4
jmp 0x45640c
xor esi, esi
cmp byte [edx], 0
je 0x45640c
inc esi
cmp byte [esi + edx], 0
jne 0x456405
mov eax, 0x3f
cmp esi, eax
cmova esi, eax
push esi
push edx
lea eax, [esp + 0x13e0]
mov dword [esp + 0x3c], esi
push eax
call fcn.0047ce50
add esp, 0xc
cmp esi, 0x40
jae 0x4577b4
lea eax, [esp + 0x13d0]
mov byte [esp + esi + 0x13d8], 0
push eax
mov edx, esi
lea ecx, [esp + 0x13dc]
call fcn.004533a0
add esp, 4
push 0x1000000
call fcn.0048b49b
add esp, 4
mov dword [esp + 0x54], eax
push 0x4deb74
push edi
call fcn.0048c5b4
add esp, 8
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x161], 0
xorps xmm0, xmm0
mov word [esp + 0x165], ax
movlpd qword [esp + 0x159], xmm0
mov byte [esp + 0x167], al
mov dword [esp + 0x128], 0x85844
mov dword [esp + 0x12c], 0xffffffff
mov dword [esp + 0x130], 0x40
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], 0xffffffff
mov dword [esp + 0x13c], 0xffffffff
mov dword [esp + 0x148], 0xffffffff
mov dword [esp + 0x14c], 0xffffffff
mov dword [esp + 0x140], 0xffffffff
mov dword [esp + 0x144], 0xffffffff
call dword [sym.imp.KERNEL32.dll_GetACP]
mov dword [esp + 0x150], eax
mov ecx, 2
xor eax, eax
mov byte [esp + 0x158], 0xc
cmp byte [ebp + 0xc], al
cmove eax, ecx
mov dword [esp + 0x154], eax
call dword [sym.imp.KERNEL32.dll_SetFileApisToANSI]
push 0
push 0
push 0
push 0x40
lea edx, [esp + 0x13e0]
lea ecx, [esp + 0x138]
call fcn.004535a0
xorps xmm0, xmm0
add esp, 0x10
movlpd qword [esp + 0x13c8], xmm0
mov edi, dword [esp + 0x13cc]
mov esi, dword [esp + 0x13c8]
push dword [esp + 0x14]
lea eax, [esp + 0x12c]
push 0x40
add eax, esi
push 1
push eax
call fcn.00485546
add esp, 0x10
add esi, 0x40
adc edi, 0
test edi, edi
jl 0x456572
jg 0x45659d
cmp esi, 0x40
jb 0x456572
push 0
push 0
push 0
push 0x40
lea edx, [esp + 0x13e0]
lea ecx, [esp + 0x138]
call fcn.004535a0
push 0x1000000
call fcn.0048b49b
mov edi, eax
add esp, 0x14
mov dword [esp + 0x5c], edi
test edi, edi
je 0x45779b
push 0x1000000
push 0
push edi
call fcn.0047d590
add esp, 0xc
push 0x1000000
call fcn.0048b49b
mov esi, eax
add esp, 4
mov dword [esp + 0x64], esi
test esi, esi
je 0x45779b
push 0x1000000
push 0
push esi
call fcn.0047d590
add esp, 0xc
push 0x1000000
call fcn.0048b49b
add esp, 4
mov dword [esp + 0x60], eax
test eax, eax
je 0x45779b
push 0x1000000
push 0
push eax
call fcn.0047d590
xorps xmm0, xmm0
mov dword [esp + 0x94], 0x10
add esp, 0xc
movlpd qword [esp + 0xe0], xmm0
mov edx, edi
movlpd qword [esp + 0xe8], xmm0
mov ecx, 0x4d7f3c
movlpd qword [esp + 0xf0], xmm0
movlpd qword [esp + 0xf8], xmm0
movlpd qword [esp + 0x90], xmm0
movlpd qword [esp + 0x98], xmm0
movlpd qword [esp + 0xa0], xmm0
movlpd qword [esp + 0xc0], xmm0
movlpd qword [esp + 0x80], xmm0
mov dword [esp + 0x8c], 0
movlpd qword [esp + 0xa8], xmm0
movlpd qword [esp + 0xb0], xmm0
mov dword [esp + 0xb8], 0xffffffff
mov dword [esp + 0xbc], 0xffffffff
call fcn.00452fc0
movups xmm0, xmmword [esp + 0x80]
cdq
add dword [esp + 0xe8], eax
mov eax, dword [esp + 0xf8]
adc dword [esp + 0xec], edx
mov dword [esp + 0x68], 0
movups xmmword [eax + esi], xmm0
movups xmm0, xmmword [esp + 0x90]
movups xmmword [eax + esi + 0x10], xmm0
movups xmm0, xmmword [esp + 0xa0]
movups xmmword [eax + esi + 0x20], xmm0
movups xmm0, xmmword [esp + 0xb0]
movups xmmword [eax + esi + 0x30], xmm0
movq xmm0, qword [esp + 0xc0]
movq qword [eax + esi + 0x40], xmm0
xorps xmm0, xmm0
mov esi, dword [esp + 0xf8]
mov eax, dword [ebp + 8]
add esi, 0x48
mov ecx, dword [esp + 0xfc]
cdq
adc ecx, 0
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x114], edx
mov edx, dword [esp + 0x60]
movlpd qword [esp + 0x100], xmm0
mov dword [esp + 0x108], 0xffffffff
mov dword [esp + 0x10c], 0xffffffff
movups xmm0, xmmword [esp + 0x100]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0xf8], esi
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x118], esi
mov esi, dword [ebp + 8]
movups xmmword [eax + edx], xmm0
movups xmm0, xmmword [esp + 0x110]
movups xmmword [eax + edx + 0x10], xmm0
mov ecx, dword [esp + 0xf0]
mov edi, dword [esp + 0xf8]
lea eax, [ecx + edx]
mov edx, dword [esp + 0xf4]
add ecx, 0x20
mov dword [esp + 0xdc], eax
lea eax, [esi + esi*8]
mov dword [esp + 0xf0], ecx
adc edx, 0
shl eax, 3
add edi, eax
mov dword [esp + 0xf4], edx
mov eax, dword [esp + 0xfc]
adc eax, 0
mov dword [esp + 0xf8], edi
mov dword [esp + 0xfc], eax
test esi, esi
jle 0x457450
mov esi, dword [esp + 0x34]
xor eax, eax
mov dword [esp + 0x40], 0
nop dword [eax]
lea edi, [eax + eax*2]
mov eax, dword [esp + 0x6c]
shl edi, 3
mov eax, dword [eax]
add eax, edi
cmp dword [eax + 0x14], 7
jbe 0x456846
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x45741d
mov ecx, dword [esp + 0x6c]
mov ecx, dword [ecx]
add ecx, edi
test al, 0x10
je 0x4568d8
cmp dword [ecx + 0x14], 7
jbe 0x45686a
mov ecx, dword [ecx]
lea eax, [esp + 0x3b8]
mov edx, ecx
push eax
lea eax, [esp + 0x141c]
mov ecx, dword [esp + 0x154]
push eax
push 0
push esi
lea eax, [esp + 0x13e8]
push eax
push 0xc
push 1
push 0
push dword [ebp + 0xc]
lea eax, [esp + 0x104]
push dword [esp + 0x78]
push dword [esp + 0x3c]
push dword [esp + 0x94]
push eax
lea eax, [esp + 0x134]
push eax
push dword [esp + 0x9c]
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.004536d0
add esp, 0x44
jmp 0x45741d
cmp dword [ecx + 0x14], 7
jbe 0x4568e0
mov ecx, dword [ecx]
lea eax, [esp + 0x168]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [esp + 0x7c], eax
cmp eax, 0xffffffff
je 0x45741d
cmp byte [esp + 0x13c4], 0
je 0x45693d
xor ecx, ecx
nop dword [eax + eax]
movzx eax, word [esp + ecx + 0x194]
lea ecx, [ecx + 2]
mov word [esp + ecx + 0x3c2], ax
test ax, ax
jne 0x456910
inc dword [esp + 0x3bc]
lea ecx, [esp + 0x3b8]
xor dl, dl
call fcn.00455790
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0xe8]
mov dword [esp + 0x84], eax
xor eax, eax
add eax, dword [esp + 0x16c]
mov dword [esp + 0x90], eax
adc ecx, 0
mov dword [esp + 0x80], edx
xor eax, eax
mov dword [esp + 0x94], ecx
add eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x178]
adc ecx, 0
mov dword [esp + 0x98], eax
xor eax, eax
mov dword [esp + 0x9c], ecx
add eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x180]
adc ecx, 0
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x168]
xor esi, esi
add esi, dword [esp + 0x188]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x184]
mov dword [esp + 0xa4], ecx
adc eax, 0
mov ecx, dword [esp + 0xe4]
add edx, dword [esp + 0x5c]
mov dword [esp + 0xac], ecx
lea ecx, [esp + 0x194]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], eax
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], 0xffffffff
mov dword [esp + 0xbc], 0xffffffff
mov dword [esp + 0xc0], 0xffffffff
mov dword [esp + 0xc4], 0xffffffff
call fcn.00452fc0
mov ecx, dword [esp + 0x150]
cdq
add dword [esp + 0xe8], eax
lea eax, [esp + 0x1418]
push eax
push dword [esp + 0x60]
adc dword [esp + 0xf4], edx
lea eax, [esp + 0x88]
push dword [esp + 0x68]
lea edx, [esp + 0x13e4]
push dword [esp + 0x70]
push eax
push dword [esp + 0xf0]
push dword [esp + 0x4c]
call fcn.00453260
add esp, 0x1c
lea ecx, [esp + 0x13c8]
mov edx, eax
push ecx
lea ecx, [esp + 0x141c]
call fcn.004533a0
mov eax, esi
add esp, 4
or eax, dword [esp + 0x18]
je 0x4573c3
xor al, al
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x6c]
mov eax, dword [eax]
add eax, edi
cmp dword [eax + 0x14], 7
jbe 0x456add
mov eax, dword [eax]
push 0x4deb00
push eax
call fcn.0048c5b4
push 2
push 0
mov esi, eax
push 0
push esi
mov dword [esp + 0x40], esi
call fcn.0048b1a1
push esi
call fcn.0048c3cb
add esp, 0x1c
mov dword [esp + 0xc], edx
mov edi, eax
mov dword [esp + 0x24], edi
push 0
push 0
push 0
push esi
call fcn.0048b1a1
lea esi, [esp + 0x1a4]
add esp, 0x10
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x456b26
sub esi, ecx
sar esi, 1
cmp esi, 4
jbe 0x456b8a
lea ecx, [esp + 0x18e]
mov edx, 0x4deb08
lea ecx, [ecx + esi*2]
call fcn.00452f20
test eax, eax
je 0x456b82
lea ecx, [esp + 0x18e]
mov edx, 0x4deb58
lea ecx, [ecx + esi*2]
call fcn.00452f20
test eax, eax
je 0x456b82
lea ecx, [esp + 0x18e]
mov edx, 0x4deb60
lea ecx, [ecx + esi*2]
call fcn.00452f20
test eax, eax
jne 0x456b8a
mov al, 1
mov byte [esp + 0x13], al
jmp 0x456b8e
mov al, byte [esp + 0x13]
mov ecx, dword [ebp + 0xc]
cmp cl, 1
jne 0x456fea
test al, al
jne 0x456cad
cmp dword [esp + 0x18], 0
ja 0x456ff2
jb 0x456bbd
cmp dword [esp + 0x20], 0xa00000
jae 0x456ff2
cmp esi, 4
jbe 0x456cad
lea eax, [esp + 0x18e]
mov edx, 0x4deb08
lea esi, [eax + esi*2]
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x456ff2
mov edx, 0x4deb10
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x456ff2
mov edx, 0x4deb18
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x456ff2
mov edx, 0x4deb20
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x456ff2
mov edx, 0x4deb28
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x456ff2
mov edx, 0x4deb30
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x456ff2
mov edx, 0x4deb38
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x456ff2
mov edx, 0x4deb40
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x456ff2
mov edx, 0x4deb48
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x456ff2
mov edx, 0x4deb50
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x456ff2
lea ecx, [esi - 2]
mov edx, str.jpeg
call fcn.00452f20
test eax, eax
je 0x456ff2
lea eax, [edi + 0x20]
lea eax, [edi + eax*2]
push eax
push 1
call fcn.0048b4a6
push dword [esp + 0x14]
mov edx, dword [esp + 0x34]
mov esi, eax
push edi
mov ecx, esi
mov dword [esp + 0x48], esi
lea eax, [edi + esi]
mov dword [esp + 0x2c], eax
call fcn.004531e0
add esp, 0x10
cmp byte [esp + 0x13c4], 0
je 0x456cf3
mov dl, 1
lea ecx, [esp + 0x3b8]
call fcn.00455790
push 0
push dword [esp + 0x13c8]
lea eax, [edi + esi]
mov edx, edi
push eax
mov ecx, esi
call fcn.00455900
add esp, 0xc
mov esi, eax
cmp byte [esp + 0x13], 0
mov dword [esp + 0x48], esi
jne 0x456d74
mov edx, dword [esp + 0xc]
mov ecx, esi
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x4df010]
mov ecx, edi
movsd qword [esp + 0x70], xmm0
call fcn.004a2e80
movsd xmm1, qword [esp + 0x70]
divsd xmm1, xmm0
comisd xmm1, xmmword [0x4def88]
jbe 0x456d74
push 0
push 0
push 0
push dword [esp + 0x34]
call fcn.0048b1a1
push dword [esp + 0x48]
call fcn.0048aa64
add esp, 0x14
jmp 0x456ff2
xor edi, edi
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], edi
lea ecx, [edi - 1]
cmp esi, 0x6000
ja 0x456e13
lea eax, [esi + esi]
add eax, 0x220
cmovb eax, ecx
push eax
push 1
call fcn.0048b4a6
mov ecx, dword [esp + 0x24]
mov edx, eax
push edi
push esi
mov dword [esp + 0x54], eax
call fcn.004616c0
mov esi, eax
add esp, 0x10
mov eax, dword [esp + 0x20]
mov edi, edx
mov dword [esp + 0xc0], esi
add esi, 3
mov dword [esp + 0xc4], edi
adc edi, 0
and eax, dword [esp + 0x18]
and esi, 0xfffffffc
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], esi
cmp eax, 0xffffffff
jne 0x456dfe
push dword [esp + 0x14]
call fcn.0048c3cb
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0xc], edi
jmp 0x456f7a
mov eax, 0x18000
add eax, 0x220
cmovo eax, ecx
push eax
push 1
call fcn.0048b4a6
push 0x3000
push dword [esp + 0x28]
mov edi, eax
push edi
mov dword [esp + 0x58], edi
call fcn.0047ce50
mov eax, dword [esp + 0x30]
add esp, 0x14
add eax, 0xffffd000
add eax, esi
push 0x3000
push eax
lea eax, [edi + 0x3000]
push eax
call fcn.0047ce50
add esp, 0xc
lea eax, [edi + 0x6000]
mov edx, eax
mov dword [esp + 0x3c], eax
mov ecx, edi
push 0
push 0x6000
call fcn.004616c0
mov ecx, dword [esp + 0x28]
mov esi, eax
mov edi, edx
mov dword [esp + 0x14], esi
mov edx, dword [esp + 0x20]
mov eax, ecx
and eax, edx
mov dword [esp + 0x78], edi
add esp, 8
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], edi
cmp eax, 0xffffffff
jne 0x456ec0
push dword [esp + 0x14]
call fcn.0048c3cb
mov ecx, edx
mov dword [esp + 0x28], eax
add esp, 4
mov dword [esp + 0x58], ecx
jmp 0x456ecc
mov eax, ecx
mov dword [esp + 0x24], ecx
mov ecx, edx
mov dword [esp + 0x58], edx
push ecx
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x13cc]
push eax
push edi
push esi
call fcn.004535a0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x4c]
push edi
push esi
call fcn.00453160
push dword [esp + 0x70]
mov ecx, dword [esp + 0x58]
lea edx, [esp + 0x13e4]
push dword [esp + 0x40]
push edi
push esi
call fcn.004535a0
mov ecx, dword [esp + 0x34]
add esp, 0x28
add esi, dword [esp + 0x48]
mov eax, dword [esp + 0x70]
adc edi, 0
add esi, 0xffffa003
adc edi, 0xffffffff
and esi, 0xfffffffc
add ecx, dword [esp + 0x20]
mov dword [esp + 0x30], edi
adc eax, dword [esp + 0x18]
mov edx, eax
mov dword [esp + 0x18], eax
mov eax, esi
mov dword [esp + 0x2c], esi
sub eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov eax, edi
sbb eax, dword [esp + 0x70]
add dword [esp + 0x1c], 0x3000
mov dword [esp + 0xc], eax
mov eax, ecx
and eax, edx
mov dword [esp + 0x20], ecx
cmp eax, 0xffffffff
jne 0x456f7a
push dword [esp + 0x14]
call fcn.0048c3cb
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
mov edi, dword [esp + 0x18]
lea eax, [esp + 0x13c8]
mov esi, dword [esp + 0x20]
mov edx, eax
mov ecx, dword [esp + 0x1c]
push edi
push esi
push dword [esp + 0x14]
push dword [esp + 0x30]
call fcn.004535a0
push dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
push dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
call fcn.00453160
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x13e0]
push edi
push esi
push dword [esp + 0x2c]
push dword [esp + 0x48]
call fcn.004535a0
push dword [esp + 0x6c]
call fcn.0048aa64
add esp, 0x2c
push dword [esp + 0x38]
call fcn.0048aa64
add esp, 4
jmp 0x4573a1
test cl, cl
je 0x45728b
lea eax, [edi + 0x20]
push eax
push 1
call fcn.0048b4a6
push dword [esp + 0x14]
mov edx, dword [esp + 0x34]
mov esi, eax
push edi
mov ecx, esi
mov dword [esp + 0x4c], esi
call fcn.004531e0
add esp, 0x10
cmp dword [esp + 0xc], 0
ja 0x4570a6
cmp edi, 0x6000
ja 0x4570a6
lea eax, [edi*2 + 0x220]
push eax
push 1
call fcn.0048b4a6
push dword [esp + 0x14]
mov edx, eax
mov dword [esp + 0x64], eax
push edi
mov ecx, esi
call fcn.004616c0
mov esi, eax
add esp, 0x10
mov eax, dword [esp + 0x20]
mov edi, edx
mov dword [esp + 0xc0], esi
add esi, 3
mov dword [esp + 0xc4], edi
adc edi, 0
and eax, dword [esp + 0x18]
and esi, 0xfffffffc
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], esi
cmp eax, 0xffffffff
jne 0x457091
push dword [esp + 0x14]
call fcn.0048c3cb
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], edi
jmp 0x45721b
mov eax, 0x18000
mov ecx, 0xffffffff
add eax, 0x220
cmovo eax, ecx
push eax
push 1
call fcn.0048b4a6
push 0x3000
push dword [esp + 0x48]
mov esi, eax
push esi
mov dword [esp + 0x6c], esi
call fcn.0047ce50
mov eax, dword [esp + 0x50]
add esp, 0x14
add eax, 0xffffd000
add eax, edi
push 0x3000
push eax
lea eax, [esi + 0x3000]
push eax
call fcn.0047ce50
add esp, 0xc
lea eax, [esi + 0x6000]
mov edx, eax
mov dword [esp + 0x44], eax
mov ecx, esi
push 0
push 0x6000
call fcn.004616c0
mov ecx, dword [esp + 0x28]
mov esi, eax
mov edi, edx
mov dword [esp + 0x24], esi
mov edx, dword [esp + 0x20]
mov eax, ecx
and eax, edx
mov dword [esp + 0x50], edi
add esp, 8
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], edi
cmp eax, 0xffffffff
jne 0x457158
push dword [esp + 0x14]
call fcn.0048c3cb
mov ecx, edx
mov dword [esp + 0x74], eax
add esp, 4
mov dword [esp + 0x38], ecx
jmp 0x457164
mov eax, ecx
mov dword [esp + 0x70], ecx
mov ecx, edx
mov dword [esp + 0x38], edx
push ecx
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x13cc]
push eax
push edi
push esi
call fcn.004535a0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x54]
push edi
push esi
call fcn.00453160
push dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
lea edx, [esp + 0x13e4]
push dword [esp + 0x8c]
push edi
push esi
call fcn.004535a0
mov ecx, dword [esp + 0x44]
add esp, 0x28
add esi, dword [esp + 0x24]
mov eax, dword [esp + 0x48]
adc edi, dword [esp + 0xc]
add esi, 0xffffa003
adc edi, 0xffffffff
and esi, 0xfffffffc
add ecx, dword [esp + 0x20]
mov dword [esp + 0x30], edi
adc eax, dword [esp + 0x18]
mov edx, eax
mov dword [esp + 0x18], eax
mov eax, esi
mov dword [esp + 0x2c], esi
sub eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, edi
sbb eax, dword [esp + 0x48]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
add eax, 0x3000
mov dword [esp + 0x20], ecx
mov dword [esp + 0xc], eax
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x45721b
push dword [esp + 0x14]
call fcn.0048c3cb
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
mov edi, dword [esp + 0x18]
lea eax, [esp + 0x13c8]
mov esi, dword [esp + 0x20]
mov edx, eax
mov ecx, dword [esp + 0xc]
push edi
push esi
push dword [esp + 0x2c]
push dword [esp + 0x28]
call fcn.004535a0
push dword [esp + 0x34]
mov edx, dword [esp + 0x28]
push dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
call fcn.00453160
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x13e0]
push edi
push esi
push dword [esp + 0x44]
push dword [esp + 0x40]
call fcn.004535a0
push dword [esp + 0x64]
call fcn.0048aa64
add esp, 0x2c
push dword [esp + 0x58]
call fcn.0048aa64
add esp, 4
jmp 0x4573a1
mov edx, dword [esp + 0xc]
xorps xmm0, xmm0
movlpd qword [esp + 0x48], xmm0
test edx, edx
jb 0x457391
ja 0x4572aa
test edi, edi
je 0x457391
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], eax
nop word [eax + eax]
mov esi, edi
mov edi, edx
sub esi, eax
sbb edi, ecx
ja 0x4572d2
cmp esi, 0x1000000
jbe 0x4572d9
mov esi, 0x1000000
xor edi, edi
add esi, 3
adc edi, 0
and esi, 0xfffffffc
push esi
push 0
push dword [esp + 0x5c]
call fcn.0047d590
mov ecx, dword [esp + 0x38]
add esp, 0xc
add ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov eax, ecx
adc edx, dword [esp + 0x18]
and eax, edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x48], edx
cmp eax, 0xffffffff
jne 0x457326
push dword [esp + 0x28]
call fcn.0048c3cb
add esp, 4
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x54]
push edi
push esi
call fcn.004531e0
push dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
lea edx, [esp + 0x13d4]
push dword [esp + 0x44]
push edi
push esi
call fcn.004535a0
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x6c]
push edi
push esi
call fcn.00453160
mov eax, dword [esp + 0x4c]
add esp, 0x20
mov ecx, dword [esp + 0x30]
add eax, esi
mov edx, dword [esp + 0xc]
adc ecx, edi
mov dword [esp + 0x2c], eax
mov edi, dword [esp + 0x24]
mov dword [esp + 0x30], ecx
cmp ecx, edx
jb 0x4572c0
ja 0x4573a1
cmp eax, edi
jb 0x4572c0
jmp 0x4573a1
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
push dword [esp + 0x28]
call fcn.00483fbe
mov eax, dword [esp + 0x30]
add esp, 4
add dword [esp + 0xe0], eax
mov eax, dword [esp + 0x30]
adc dword [esp + 0xe4], eax
mov eax, dword [esp + 0x118]
add eax, dword [esp + 0x40]
add eax, dword [esp + 0x64]
movups xmm0, xmmword [esp + 0x80]
push dword [esp + 0x7c]
movups xmmword [eax], xmm0
movups xmm0, xmmword [esp + 0x94]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [esp + 0xa4]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [esp + 0xb4]
movups xmmword [eax + 0x30], xmm0
movq xmm0, qword [esp + 0xc4]
movq qword [eax + 0x40], xmm0
call dword [sym.imp.KERNEL32.dll_FindClose]
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x68]
add dword [esp + 0x40], 0x48
inc eax
mov dword [esp + 0x68], eax
cmp eax, dword [ebp + 8]
jl 0x456830
mov eax, dword [esp + 0xfc]
mov edi, dword [esp + 0xf8]
mov edx, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf0]
add edi, ecx
adc eax, edx
add edi, dword [esp + 0xe8]
push edi
adc eax, dword [esp + 0xf0]
mov dword [esp + 0x44], edi
mov dword [esp + 0x80], eax
call fcn.0048b49b
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
je 0x45779b
mov esi, dword [esp + 0xe8]
push esi
push dword [esp + 0x60]
push eax
call fcn.0047ce50
mov eax, dword [esp + 0x34]
add esp, 0xc
add eax, esi
push dword [esp + 0xf8]
push dword [esp + 0x68]
push eax
call fcn.0047ce50
mov eax, dword [esp + 0x104]
add esp, 0xc
add eax, dword [esp + 0xe8]
mov esi, dword [esp + 0x28]
add eax, esi
push dword [esp + 0xf0]
push dword [esp + 0x64]
push eax
call fcn.0047ce50
add esp, 0xc
cmp byte [ebp + 0xc], 0
je 0x45759a
lea eax, [edi*4 + 0x240]
push eax
call fcn.0048b49b
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
je 0x45779b
push 0
push 0
push eax
mov edx, edi
mov ecx, esi
call fcn.00455900
mov esi, dword [esp + 0x40]
add esp, 0xc
add edi, 0x10
cdq
push edx
lea ecx, [esi + edi*2]
mov edx, ecx
mov ecx, esi
push eax
call fcn.004616c0
push 0
mov edi, eax
mov esi, edx
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x13dc]
push 0
push esi
push edi
mov dword [esp + 0x60], edi
add eax, 0x10
mov edi, dword [esp + 0x4c]
lea ecx, [edi + eax*2]
call fcn.004535a0
mov edi, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x2c]
push esi
push edi
mov edi, dword [esp + 0x54]
add edi, 0x20
lea ecx, [edi + ecx*2]
call fcn.00453160
mov ecx, dword [esp + 0x60]
lea edx, [esp + 0x13f0]
mov edi, dword [esp + 0x68]
add ecx, 0x10
push 0
push 0
push esi
mov esi, dword [esp + 0x60]
push edi
lea ecx, [esi + ecx*2]
call fcn.004535a0
push esi
call fcn.0048aa64
add esp, 0x34
jmp 0x4575dc
mov esi, dword [esp + 0x7c]
lea edx, [esp + 0x13d0]
mov ecx, dword [esp + 0x28]
push 0
push 0
push esi
push edi
call fcn.004535a0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
push esi
push edi
call fcn.00453160
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x13e8]
push 0
push 0
push esi
push edi
call fcn.004535a0
add esp, 0x28
push dword [esp + 0x28]
call fcn.0048aa64
mov edx, dword [esp + 0xec]
add esp, 4
mov esi, dword [esp + 0xf8]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x128], 0x85844
push 0
lea eax, [esi + edx]
mov dword [esp + 0x134], 0x40
add eax, dword [esp + 0xf4]
add ecx, 0x40
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0xe8]
adc eax, 0
mov dword [esp + 0x13c], ecx
mov ecx, dword [esp + 0xf0]
add esi, edx
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x100]
push 0
push 0
push dword [esp + 0x20]
adc eax, ecx
mov dword [esp + 0x144], 0
mov dword [esp + 0x150], edx
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], esi
mov dword [esp + 0x15c], eax
call fcn.0048b1a1
xorps xmm0, xmm0
add esp, 0x10
movlpd qword [esp + 0x13d0], xmm0
mov edi, dword [esp + 0x13d4]
mov esi, dword [esp + 0x13d0]
nop dword [eax]
nop dword [eax + eax]
push dword [esp + 0x14]
lea eax, [esp + 0x12c]
push 0x40
add eax, esi
push 1
push eax
call fcn.00485546
add esp, 0x10
add esi, 0x40
adc edi, 0
test edi, edi
jl 0x4576b0
jg 0x4576db
cmp esi, 0x40
jb 0x4576b0
push dword [esp + 0x14]
call fcn.00483fbe
add esp, 4
push dword [esp + 0x5c]
call fcn.0048aa64
add esp, 4
push dword [esp + 0x64]
call fcn.0048aa64
add esp, 4
push dword [esp + 0x60]
call fcn.0048aa64
add esp, 4
push dword [esp + 0x54]
call fcn.0048aa64
mov edi, dword [0x4f46b0]
add esp, 4
test edi, edi
je 0x457785
xor esi, esi
test edi, edi
je 0x457769
mov esi, edi
push esi
push 8
push 0x6749d8
call fcn.0047d590
add esp, 0xc
test edi, edi
je 0x457769
push edi
lea eax, [esi + 0x6749d8]
push 0x20
push eax
call fcn.0047d590
add esp, 0xc
add esi, edi
test edi, edi
je 0x457769
push edi
lea eax, [esi + 0x6749d8]
push 8
push eax
call fcn.0047d590
add esp, 0xc
add esi, edi
cmp esi, 0x2000
jae 0x4577b4
push 0x6749d8
mov byte [esi + 0x6749d8], 0
call fcn.004526a0
add esp, 4
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x1c14]
xor ecx, esp
call fcn.0047b4e2
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x1c1c]
or edi, 0xffffffff
mov eax, edi
pop edi
pop esi
xor ecx, esp
call fcn.0047b4e2
mov esp, ebp
pop ebp
ret
call fcn.0047b6f8
int3