Function at 0x4536d0
Capabilities:
Enumerate files on windows
Enumerate files recursively
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x548
mov eax, dword [0x4f0100]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x4f8], ecx
mov eax, edx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x4e4], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x4f0], ecx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x4d0], ecx
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x4b0], ecx
mov ecx, dword [ebp + 0x20]
mov dword [ebp - 0x4ac], ecx
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x4d4], ecx
mov ecx, dword [ebp + 0x38]
push ebx
mov ebx, dword [ebp + 0x18]
mov dword [ebp - 0x4f4], ecx
mov ecx, dword [ebp + 0x44]
push esi
mov dword [ebp - 0x4fc], ecx
mov ecx, dword [ebp + 0x48]
push edi
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0x4cc], ecx
lea ecx, [ebp - 0x46c]
push ecx
mov dword [ebp - 0x4b4], eax
push eax
mov eax, dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x4b8], ebx
mov dword [ebp - 0x4a8], eax
call eax
mov dword [ebp - 0x494], eax
cmp eax, 0xffffffff
je 0x4547b6
mov eax, dword [ebx + 0xc]
xor ecx, ecx
add ecx, dword [ebp - 0x468]
xorps xmm0, xmm0
mov edx, dword [ebx + 8]
mov esi, dword [ebp - 0x46c]
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 0x540], eax
mov eax, dword [ebp - 0x464]
adc eax, 0
mov dword [ebp - 0x4d8], ecx
mov dword [ebp - 0x534], ecx
xor ecx, ecx
add ecx, dword [ebp - 0x460]
mov dword [ebp - 0x4c8], eax
mov dword [ebp - 0x530], eax
mov eax, dword [ebp - 0x45c]
adc eax, 0
mov dword [ebp - 0x4c4], ecx
mov dword [ebp - 0x52c], ecx
xor ecx, ecx
add ecx, dword [ebp - 0x458]
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x528], eax
mov eax, dword [ebp - 0x454]
adc eax, 0
mov dword [ebp - 0x4e0], edx
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x520], eax
mov eax, dword [ebp - 0x4b8]
mov dword [ebp - 0x544], edx
add edx, dword [ebp - 0x4e4]
mov dword [ebp - 0x4bc], ecx
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x524], ecx
lea ecx, [ebp - 0x440]
mov dword [ebp - 0x53c], esi
mov dword [ebp - 0x538], 0
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x51c], ebx
mov dword [ebp - 0x518], eax
movlpd qword [ebp - 0x514], xmm0
mov dword [ebp - 0x50c], 0xffffffff
mov dword [ebp - 0x508], 0xffffffff
mov dword [ebp - 0x504], 0xffffffff
mov dword [ebp - 0x500], 0xffffffff
call fcn.00452fc0
mov ecx, dword [ebp - 0x4b8]
lea edi, [edi + edi*8]
cdq
add dword [ecx + 8], eax
mov eax, dword [ebp - 0x4b0]
adc dword [ecx + 0xc], edx
mov edx, dword [ebp - 0x4d0]
mov ecx, dword [ebp - 0x4e0]
mov eax, dword [eax + 0x18]
shl edi, 3
add eax, edi
mov dword [eax + edx], ecx
mov ecx, dword [ebp - 0x4dc]
mov dword [eax + edx + 4], ecx
mov ecx, dword [ebp - 0x4d8]
mov dword [eax + edx + 8], esi
mov dword [eax + edx + 0xc], 0
mov dword [eax + edx + 0x10], ecx
mov ecx, dword [ebp - 0x4c8]
mov dword [eax + edx + 0x14], ecx
mov ecx, dword [ebp - 0x4c4]
mov dword [eax + edx + 0x18], ecx
mov ecx, dword [ebp - 0x4c0]
mov dword [eax + edx + 0x1c], ecx
mov ecx, dword [ebp - 0x4bc]
mov dword [eax + edx + 0x20], ecx
mov ecx, dword [ebp - 0x498]
mov dword [eax + edx + 0x24], ecx
mov ecx, dword [ebp - 0x490]
mov dword [eax + edx + 0x28], ebx
mov dword [eax + edx + 0x2c], ecx
mov dword [eax + edx + 0x30], 0
mov dword [eax + edx + 0x34], 0
push dword [ebp - 0x494]
mov dword [eax + edx + 0x38], 0xffffffff
mov dword [eax + edx + 0x3c], 0xffffffff
mov dword [eax + edx + 0x40], 0xffffffff
mov dword [eax + edx + 0x44], 0xffffffff
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0x21c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push dword [ebp - 0x4b4]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov edx, dword [ebp - 0x4b0]
xor eax, eax
mov ebx, dword [ebp - 0x4b8]
add edi, dword [edx + 0x18]
mov ecx, dword [ebx + 0x1c]
adc eax, dword [edx + 0x1c]
mov dword [ebp - 0x488], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x474], eax
mov dword [ebp - 0x470], ecx
mov ecx, dword [edx]
mov eax, ecx
mov edx, dword [edx + 4]
and eax, edx
mov dword [ebp - 0x48c], edi
cmp eax, 0xffffffff
je 0x4539cf
mov eax, ecx
or eax, edx
je 0x4539cf
mov edx, dword [ebp - 0x4d0]
mov eax, dword [edx + ecx + 0x28]
mov ecx, dword [edx + ecx + 0x2c]
mov dword [ebp - 0x484], eax
mov dword [ebp - 0x480], ecx
jmp 0x4539da
xorps xmm0, xmm0
movlpd qword [ebp - 0x484], xmm0
xor edx, edx
mov ecx, 0x4d7f3c
call fcn.00455480
mov ecx, dword [ebp - 0x4f0]
movups xmm0, xmmword [ebp - 0x48c]
cdq
mov dword [ebp - 0x47c], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x478], edx
movups xmmword [eax + ecx], xmm0
movups xmm0, xmmword [ebp - 0x47c]
movups xmmword [eax + ecx + 0x10], xmm0
mov eax, dword [ebx + 0x10]
mov edi, dword [ebp - 0x478]
add eax, ecx
add dword [ebx + 0x10], 0x20
mov ecx, edi
mov dword [ebp - 0x548], eax
mov esi, edi
adc dword [ebx + 0x14], 0
mov ebx, dword [ebp - 0x47c]
mov eax, ebx
shld ecx, eax, 3
mov edx, ebx
shl eax, 3
add edx, eax
mov eax, dword [ebp - 0x4b8]
adc esi, ecx
shld esi, edx, 3
shl edx, 3
add dword [eax + 0x18], edx
adc dword [eax + 0x1c], esi
or ebx, edi
je 0x4547a8
lea eax, [ebp - 0x46c]
xor edi, edi
push eax
push 0x4d7f84
mov dword [ebp - 0x4d8], edi
call dword [ebp - 0x4a8]
mov ebx, dword [ebp - 0x4d0]
mov esi, dword [ebp - 0x4cc]
mov dword [ebp - 0x4e0], eax
mov dword [ebp - 0x4dc], ebx
mov ecx, 0x4deaf4
lea eax, [ebp - 0x440]
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453ac6
test dx, dx
je 0x453ac2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453ac6
add eax, 4
add ecx, 4
test dx, dx
jne 0x453aa0
xor eax, eax
jmp 0x453acb
sbb eax, eax
or eax, 1
test eax, eax
je 0x454781
mov ecx, 0x4deaf8
lea eax, [ebp - 0x440]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453b06
test dx, dx
je 0x453b02
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453b06
add eax, 4
add ecx, 4
test dx, dx
jne 0x453ae0
xor eax, eax
jmp 0x453b0b
sbb eax, eax
or eax, 1
test eax, eax
je 0x454781
mov edx, dword [ebp - 0x46c]
test dl, 0x10
je 0x453b95
push esi
push dword [ebp - 0x4fc]
mov ecx, dword [ebp - 0x4f8]
lea eax, [ebp - 0x48c]
push 0
push dword [ebp + 0x3c]
lea edx, [ebp - 0x440]
push dword [ebp - 0x4f4]
push 0xc
push 1
push 0
push dword [ebp + 0x28]
push dword [ebp - 0x4d4]
push dword [ebp - 0x4ac]
push edi
push dword [ebp - 0x4b8]
push eax
push dword [ebp - 0x4d0]
push dword [ebp - 0x4f0]
push dword [ebp - 0x4e4]
call fcn.004536d0
add esp, 0x44
test eax, eax
jns 0x454771
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0047b4e2
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x4b8]
mov ebx, dword [ebp - 0x450]
mov dword [ebp - 0x53c], edx
mov dword [ebp - 0x538], 0
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x544], eax
xor eax, eax
add eax, dword [ebp - 0x468]
mov dword [ebp - 0x540], ecx
mov ecx, dword [ebp - 0x464]
adc ecx, 0
mov dword [ebp - 0x534], eax
xor eax, eax
mov dword [ebp - 0x530], ecx
add eax, dword [ebp - 0x460]
mov ecx, dword [ebp - 0x45c]
adc ecx, 0
mov dword [ebp - 0x52c], eax
xor eax, eax
mov dword [ebp - 0x528], ecx
add eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x454]
adc ecx, 0
mov dword [ebp - 0x524], eax
mov eax, dword [esi]
xor edi, edi
add edi, dword [ebp - 0x44c]
mov dword [ebp - 0x51c], eax
mov eax, dword [ebp - 0x4cc]
adc ebx, 0
mov dword [ebp - 0x520], ecx
mov ecx, dword [esi + 4]
mov dword [ebp - 0x518], ecx
cmp byte [eax + 0x100c], 0
mov dword [ebp - 0x4a4], edi
mov dword [ebp - 0x4a0], ebx
mov dword [ebp - 0x514], edi
mov dword [ebp - 0x510], ebx
mov dword [ebp - 0x50c], 0xffffffff
mov dword [ebp - 0x508], 0xffffffff
mov dword [ebp - 0x504], 0xffffffff
mov dword [ebp - 0x500], 0xffffffff
je 0x453cb6
lea ecx, [ebp - 0x440]
mov edx, eax
mov eax, ecx
sub edx, eax
add edx, 0xc
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x453c94
mov eax, dword [ebp - 0x4cc]
xor dl, dl
mov ecx, eax
inc dword [eax + 4]
call fcn.00455790
mov edx, dword [esi + 8]
lea ecx, [ebp - 0x440]
add edx, dword [ebp - 0x4e4]
call fcn.00452fc0
mov ecx, dword [ebp - 0x4f8]
cdq
add dword [esi + 8], eax
lea eax, [ebp - 0x544]
adc dword [esi + 0xc], edx
mov esi, dword [ebp - 0x4fc]
mov edx, dword [ebp - 0x4f4]
push esi
push dword [ebp - 0x4e4]
push dword [ebp - 0x4f0]
push dword [ebp - 0x4d0]
push eax
push dword [ebp - 0x548]
push dword [ebp + 0x3c]
call fcn.00453260
add esp, 0x1c
lea ecx, [ebp - 0x10]
mov edx, eax
push ecx
mov ecx, esi
call fcn.004533a0
mov eax, edi
add esp, 4
or eax, ebx
je 0x45471c
xor al, al
mov byte [ebp - 0x499], al
lea eax, [ebp - 0x440]
push 0x4deb00
push eax
call fcn.0048c5b4
push 2
push 0
mov esi, eax
push 0
push esi
mov dword [ebp - 0x4b4], esi
call fcn.0048b1a1
push esi
call fcn.0048c3cb
add esp, 0x1c
mov dword [ebp - 0x490], edx
mov ebx, eax
mov dword [ebp - 0x494], ebx
push 0
push 0
push 0
push esi
call fcn.0048b1a1
lea esi, [ebp - 0x440]
add esp, 0x10
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x453d84
sub esi, ecx
sar esi, 1
cmp esi, 4
jbe 0x453de7
lea ecx, [ebp - 0x446]
mov edx, 0x4deb08
lea ecx, [ecx + esi*2]
call fcn.00452f20
test eax, eax
je 0x453ddd
lea ecx, [ebp - 0x446]
mov edx, 0x4deb58
lea ecx, [ecx + esi*2]
call fcn.00452f20
test eax, eax
je 0x453ddd
lea ecx, [ebp - 0x446]
mov edx, 0x4deb60
lea ecx, [ecx + esi*2]
call fcn.00452f20
test eax, eax
jne 0x453de7
mov al, 1
mov byte [ebp - 0x499], al
jmp 0x453ded
mov al, byte [ebp - 0x499]
mov ecx, dword [ebp + 0x28]
cmp cl, 1
jne 0x4542ca
test al, al
jne 0x453f0b
cmp dword [ebp - 0x4a0], 0
ja 0x4542d2
jb 0x453e1c
cmp edi, 0xa00000
jae 0x4542d2
cmp esi, 4
jbe 0x453f0b
lea eax, [ebp - 0x446]
mov edx, 0x4deb08
lea esi, [eax + esi*2]
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x4542d2
mov edx, 0x4deb10
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x4542d2
mov edx, 0x4deb18
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x4542d2
mov edx, 0x4deb20
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x4542d2
mov edx, 0x4deb28
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x4542d2
mov edx, 0x4deb30
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x4542d2
mov edx, 0x4deb38
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x4542d2
mov edx, 0x4deb40
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x4542d2
mov edx, 0x4deb48
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x4542d2
mov edx, 0x4deb50
mov ecx, esi
call fcn.00452f20
test eax, eax
je 0x4542d2
lea ecx, [esi - 2]
mov edx, str.jpeg
call fcn.00452f20
test eax, eax
je 0x4542d2
lea eax, [ebx + 0x20]
lea eax, [ebx + eax*2]
push eax
call fcn.0048b49b
mov esi, dword [ebp - 0x490]
mov edi, eax
mov edx, dword [ebp - 0x4b4]
add esp, 4
mov ecx, edi
mov dword [ebp - 0x4c0], edi
lea eax, [ebx + edi]
push esi
push ebx
mov dword [ebp - 0x498], eax
call fcn.004531e0
mov eax, dword [ebp - 0x4cc]
add esp, 8
cmp byte [eax + 0x100c], 0
je 0x453f61
mov dl, 1
mov ecx, eax
call fcn.00455790
mov eax, dword [ebp - 0x4cc]
movzx eax, byte [eax + 0x100c]
mov edx, ebx
push 0
push eax
lea eax, [ebx + edi]
mov ecx, edi
push eax
call fcn.00455900
add esp, 0xc
mov edi, eax
cmp byte [ebp - 0x499], 0
jne 0x453fe5
movd xmm0, edi
mov edx, esi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mov ecx, ebx
addsd xmm0, qword [eax*8 + 0x4df010]
movsd qword [ebp - 0x4ec], xmm0
call fcn.004a2e80
movsd xmm1, qword [ebp - 0x4ec]
divsd xmm1, xmm0
comisd xmm1, xmmword [0x4def88]
jbe 0x453fe5
push 0
push 0
push 0
push dword [ebp - 0x4b4]
call fcn.0048b1a1
push dword [ebp - 0x4c0]
call fcn.0048aa64
add esp, 0x14
jmp 0x4542d2
xor ebx, ebx
mov dword [ebp - 0x50c], edi
mov dword [ebp - 0x508], ebx
lea ecx, [ebx - 1]
cmp edi, 0x6000
ja 0x454094
lea eax, [edi + edi]
add eax, 0x220
cmovb eax, ecx
push eax
push 1
call fcn.0048b4a6
mov ecx, dword [ebp - 0x498]
mov esi, eax
push ebx
push edi
mov edx, esi
mov dword [ebp - 0x4bc], esi
call fcn.004616c0
mov edi, eax
add esp, 0x10
mov eax, dword [ebp - 0x4a4]
mov ebx, edx
mov dword [ebp - 0x504], edi
add edi, 3
mov dword [ebp - 0x500], ebx
adc ebx, 0
and eax, dword [ebp - 0x4a0]
and edi, 0xfffffffc
mov dword [ebp - 0x4a8], ebx
cmp eax, 0xffffffff
jne 0x454079
push dword [ebp - 0x4ac]
call fcn.0048c3cb
add esp, 4
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x4a0], edx
mov ecx, ebx
mov dword [ebp - 0x498], esi
mov eax, edi
mov dword [ebp - 0x494], edi
mov dword [ebp - 0x490], ecx
jmp 0x454252
mov eax, 0x18000
add eax, 0x220
cmovo eax, ecx
push eax
push 1
call fcn.0048b4a6
push 0x3000
push dword [ebp - 0x498]
mov esi, eax
mov dword [ebp - 0x4bc], eax
push esi
call fcn.0047ce50
mov eax, dword [ebp - 0x498]
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 [ebp - 0x4b0], eax
mov ecx, esi
push 0
push 0x6000
call fcn.004616c0
mov esi, dword [ebp - 0x4a4]
mov ecx, eax
mov eax, edx
mov dword [ebp - 0x494], ecx
mov dword [ebp - 0x490], eax
add esp, 8
mov dword [ebp - 0x500], eax
mov eax, esi
mov dword [ebp - 0x504], ecx
mov ecx, dword [ebp - 0x4a0]
and eax, ecx
cmp eax, 0xffffffff
jne 0x454155
push dword [ebp - 0x4ac]
call fcn.0048c3cb
add esp, 4
mov dword [ebp - 0x4a4], eax
mov ecx, edx
mov dword [ebp - 0x4a8], edx
jmp 0x454163
mov eax, esi
mov dword [ebp - 0x4a4], esi
mov dword [ebp - 0x4a8], ecx
push ecx
mov ecx, dword [ebp - 0x4b0]
lea edx, [ebp - 0x10]
push eax
push dword [ebp - 0x490]
push dword [ebp - 0x494]
call fcn.004535a0
push dword [ebp - 0x490]
mov edx, dword [ebp - 0x4ac]
push dword [ebp - 0x494]
mov ecx, dword [ebp - 0x4b0]
call fcn.00453160
push dword [ebp - 0x4a8]
mov ecx, dword [ebp - 0x4b0]
lea edx, [ebp - 0x10]
push dword [ebp - 0x4a4]
push dword [ebp - 0x490]
push dword [ebp - 0x494]
call fcn.004535a0
mov ecx, dword [ebp - 0x494]
add esp, 0x28
mov eax, dword [ebp - 0x490]
add edi, ecx
adc ebx, eax
add edi, 0xffffa003
adc ebx, 0xffffffff
and edi, 0xfffffffc
add ecx, esi
mov dword [ebp - 0x4a8], ebx
mov dword [ebp - 0x4a4], ecx
adc eax, dword [ebp - 0x4a0]
mov edx, eax
mov dword [ebp - 0x4a0], eax
mov eax, edi
sub eax, dword [ebp - 0x494]
mov dword [ebp - 0x494], eax
mov eax, ebx
sbb eax, dword [ebp - 0x490]
add dword [ebp - 0x498], 0x3000
mov dword [ebp - 0x490], eax
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x454246
push dword [ebp - 0x4ac]
call fcn.0048c3cb
add esp, 4
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x4a0], edx
mov eax, dword [ebp - 0x494]
mov ecx, dword [ebp - 0x490]
mov esi, dword [ebp - 0x4a0]
lea edx, [ebp - 0x10]
mov ebx, dword [ebp - 0x4a4]
push esi
push ebx
push ecx
mov ecx, dword [ebp - 0x498]
push eax
call fcn.004535a0
push dword [ebp - 0x490]
mov edx, dword [ebp - 0x4ac]
push dword [ebp - 0x494]
mov ecx, dword [ebp - 0x498]
call fcn.00453160
mov ecx, dword [ebp - 0x498]
lea edx, [ebp - 0x10]
push esi
push ebx
push dword [ebp - 0x490]
push dword [ebp - 0x494]
call fcn.004535a0
push dword [ebp - 0x4bc]
call fcn.0048aa64
add esp, 0x2c
push dword [ebp - 0x4c0]
call fcn.0048aa64
add esp, 4
jmp 0x4546fd
test cl, cl
je 0x4545c5
lea eax, [ebx + 0x20]
push eax
push 1
call fcn.0048b4a6
mov edi, dword [ebp - 0x490]
mov ecx, eax
mov edx, dword [ebp - 0x4b4]
push edi
push ebx
mov dword [ebp - 0x4b0], eax
call fcn.004531e0
add esp, 0x10
test edi, edi
jne 0x45439d
cmp ebx, 0x6000
ja 0x45439d
lea eax, [ebx*2 + 0x220]
push eax
push 1
call fcn.0048b4a6
mov ecx, dword [ebp - 0x4b0]
mov esi, eax
push edi
push ebx
mov edx, esi
mov dword [ebp - 0x4c8], esi
call fcn.004616c0
mov edi, eax
add esp, 0x10
mov eax, dword [ebp - 0x4a4]
mov ebx, edx
mov dword [ebp - 0x504], edi
add edi, 3
mov dword [ebp - 0x500], ebx
adc ebx, 0
and eax, dword [ebp - 0x4a0]
and edi, 0xfffffffc
mov dword [ebp - 0x4a8], ebx
cmp eax, 0xffffffff
jne 0x454382
push dword [ebp - 0x4ac]
call fcn.0048c3cb
add esp, 4
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x4a0], edx
mov ecx, ebx
mov dword [ebp - 0x494], esi
mov eax, edi
mov dword [ebp - 0x490], edi
mov dword [ebp - 0x498], ecx
jmp 0x45454d
mov eax, 0x18000
mov ecx, 0xffffffff
add eax, 0x220
cmovo eax, ecx
push eax
push 1
call fcn.0048b4a6
mov edi, dword [ebp - 0x4b0]
mov esi, eax
push 0x3000
push edi
push esi
mov dword [ebp - 0x4c8], eax
call fcn.0047ce50
add esp, 0x14
lea eax, [edi - 0x3000]
add eax, ebx
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 [ebp - 0x498], eax
mov ecx, esi
push 0
push 0x6000
call fcn.004616c0
mov esi, dword [ebp - 0x4a4]
mov edi, eax
mov ecx, dword [ebp - 0x4a0]
mov eax, esi
mov ebx, edx
mov dword [ebp - 0x4c4], edi
and eax, ecx
mov dword [ebp - 0x4e8], ebx
add esp, 8
mov dword [ebp - 0x504], edi
mov dword [ebp - 0x500], ebx
cmp eax, 0xffffffff
jne 0x45445f
push dword [ebp - 0x4ac]
call fcn.0048c3cb
add esp, 4
mov dword [ebp - 0x4bc], eax
mov ecx, edx
mov dword [ebp - 0x4c0], edx
jmp 0x45446d
mov eax, esi
mov dword [ebp - 0x4bc], esi
mov dword [ebp - 0x4c0], ecx
push ecx
mov ecx, dword [ebp - 0x498]
lea edx, [ebp - 0x10]
push eax
push ebx
push edi
call fcn.004535a0
mov edx, dword [ebp - 0x4ac]
mov ecx, dword [ebp - 0x498]
push ebx
push edi
call fcn.00453160
push dword [ebp - 0x4c0]
mov ecx, dword [ebp - 0x498]
lea edx, [ebp - 0x10]
push dword [ebp - 0x4bc]
push ebx
push edi
call fcn.004535a0
mov ecx, dword [ebp - 0x4c4]
add esp, 0x28
add edi, dword [ebp - 0x494]
mov eax, dword [ebp - 0x4e8]
adc ebx, dword [ebp - 0x490]
add edi, 0xffffa003
adc ebx, 0xffffffff
and edi, 0xfffffffc
add ecx, esi
mov dword [ebp - 0x4a8], ebx
mov dword [ebp - 0x4a4], ecx
adc eax, dword [ebp - 0x4a0]
mov edx, eax
mov dword [ebp - 0x4a0], eax
mov eax, edi
sub eax, dword [ebp - 0x4c4]
mov dword [ebp - 0x490], eax
mov eax, ebx
sbb eax, dword [ebp - 0x4e8]
mov dword [ebp - 0x498], eax
mov eax, dword [ebp - 0x4b0]
add eax, 0x3000
mov dword [ebp - 0x494], eax
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x454541
push dword [ebp - 0x4ac]
call fcn.0048c3cb
add esp, 4
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x4a0], edx
mov eax, dword [ebp - 0x490]
mov ecx, dword [ebp - 0x498]
mov esi, dword [ebp - 0x4a0]
lea edx, [ebp - 0x10]
mov ebx, dword [ebp - 0x4a4]
push esi
push ebx
push ecx
mov ecx, dword [ebp - 0x494]
push eax
call fcn.004535a0
push dword [ebp - 0x498]
mov edx, dword [ebp - 0x4ac]
push dword [ebp - 0x490]
mov ecx, dword [ebp - 0x494]
call fcn.00453160
mov ecx, dword [ebp - 0x494]
lea edx, [ebp - 0x10]
push esi
push ebx
push dword [ebp - 0x498]
push dword [ebp - 0x490]
call fcn.004535a0
push dword [ebp - 0x4b0]
call fcn.0048aa64
add esp, 0x2c
push dword [ebp - 0x4c8]
call fcn.0048aa64
add esp, 4
jmp 0x4546fd
mov ecx, dword [ebp - 0x490]
xorps xmm0, xmm0
movlpd qword [ebp - 0x4ec], xmm0
test ecx, ecx
jb 0x4546eb
ja 0x4545e8
test ebx, ebx
je 0x4546eb
mov eax, dword [ebp - 0x4e8]
mov edi, dword [ebp - 0x4ec]
mov dword [ebp - 0x4a8], eax
nop word [eax + eax]
mov esi, ebx
mov ebx, ecx
sub esi, edi
sbb ebx, eax
ja 0x454612
cmp esi, 0x1000000
jbe 0x454619
mov esi, 0x1000000
xor ebx, ebx
add esi, 3
adc ebx, 0
and esi, 0xfffffffc
push esi
push 0
push dword [ebp - 0x4d4]
call fcn.0047d590
mov edx, dword [ebp - 0x4a8]
add esp, 0xc
mov ecx, edi
add ecx, dword [ebp - 0x4a4]
mov eax, ecx
mov dword [ebp - 0x4c4], ecx
adc edx, dword [ebp - 0x4a0]
and eax, edx
mov dword [ebp - 0x4c8], edx
cmp eax, 0xffffffff
jne 0x454676
push dword [ebp - 0x4b4]
call fcn.0048c3cb
add esp, 4
mov dword [ebp - 0x4c4], eax
mov dword [ebp - 0x4c8], edx
mov edx, dword [ebp - 0x4b4]
mov ecx, dword [ebp - 0x4d4]
push ebx
push esi
call fcn.004531e0
push dword [ebp - 0x4c8]
mov ecx, dword [ebp - 0x4d4]
lea edx, [ebp - 0x10]
push dword [ebp - 0x4c4]
push ebx
push esi
call fcn.004535a0
mov edx, dword [ebp - 0x4ac]
mov ecx, dword [ebp - 0x4d4]
push ebx
push esi
call fcn.00453160
mov eax, dword [ebp - 0x4a8]
add esp, 0x20
mov ecx, dword [ebp - 0x490]
add edi, esi
adc eax, ebx
mov ebx, dword [ebp - 0x494]
mov dword [ebp - 0x4a8], eax
cmp eax, ecx
jb 0x454600
ja 0x4546fd
cmp edi, ebx
jb 0x454600
jmp 0x4546fd
mov eax, dword [ebp - 0x4e8]
mov edi, dword [ebp - 0x4ec]
mov dword [ebp - 0x4a8], eax
push dword [ebp - 0x4b4]
call fcn.00483fbe
mov ecx, dword [ebp - 0x4b8]
add esp, 4
mov eax, dword [ebp - 0x4a8]
add dword [ecx], edi
adc dword [ecx + 4], eax
mov eax, dword [ebp - 0x474]
mov ebx, dword [ebp - 0x4dc]
movups xmm0, xmmword [ebp - 0x544]
mov esi, dword [ebp - 0x4cc]
mov edi, dword [ebp - 0x4d8]
movups xmmword [ebx + eax], xmm0
movups xmm0, xmmword [ebp - 0x534]
movups xmmword [ebx + eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0x524]
movups xmmword [ebx + eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0x514]
movups xmmword [ebx + eax + 0x30], xmm0
movq xmm0, qword [ebp - 0x504]
movq qword [ebx + eax + 0x40], xmm0
inc edi
add ebx, 0x48
mov dword [ebp - 0x4d8], edi
mov dword [ebp - 0x4dc], ebx
lea eax, [ebp - 0x46c]
push eax
push dword [ebp - 0x4e0]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x453a92
push dword [ebp - 0x4e0]
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0x21c]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
call eax
mov ecx, dword [ebp - 8]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0047b4e2
mov esp, ebp
pop ebp
ret