Function at 0x42ff50
Capabilities:
Enumerate files on windows
Get common file path

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x65b114
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x518
mov eax, dword [0x6d6ec0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x4f8], edi
mov dword [ebp - 0x518], edi
mov dword [ebp - 0x51c], edi
xorps xmm0, xmm0
mov dword [ebp - 0x4ec], 0
movq qword [edi], xmm0
mov dword [edi + 8], 0
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
lea eax, [ebp - 0x220]
mov dword [ebp - 4], 0
push eax
push 0
push 0
push 0x1a
push 0
mov dword [ebp - 0x4ec], 1
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x4306a6
xorps xmm0, xmm0
mov dword [ebp - 0x228], 0
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x224], 0
movups xmmword [ebp - 0x238], xmm0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430026
sub ecx, edx
lea eax, [ebp - 0x220]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x238]
call fcn.00423ce0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x510]
push 0x5c
xorps xmm0, xmm0
mov dword [ebp - 0x500], 0
push str.92_77_111_122_105_108_108_97_92_70_105_114_101_102_111_120_92_80_114_111_102_105_108_101_115
movups xmmword [ebp - 0x510], xmm0
mov dword [ebp - 0x4fc], 0
call fcn.00423ce0
lea edx, [ebp - 0x510]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x268]
call fcn.00421f10
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x4fc]
cmp ecx, 7
jbe 0x4300d8
mov edx, dword [ebp - 0x510]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4300ce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4306d5
push ecx
push edx
call fcn.0061f90d
add esp, 8
cmp dword [ebp - 0x254], 0xf
lea ecx, [ebp - 0x268]
mov eax, dword [ebp - 0x258]
cmova ecx, dword [ebp - 0x268]
add eax, ecx
cmp dword [ebp - 0x254], 0xf
lea ecx, [ebp - 0x268]
cmova ecx, dword [ebp - 0x268]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x250]
call fcn.00459b80
mov ecx, eax
mov byte [ebp - 4], 5
lea eax, [ebp - 0x238]
cmp dword [ebp - 0x224], 7
push dword [ebp - 0x228]
cmova eax, dword [ebp - 0x238]
push eax
push ecx
call fcn.00466f10
xor ecx, ecx
mov esi, 1
or esi, 8
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x510], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x500], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x510]
push eax
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x4ec], esi
call fcn.004470a0
mov ecx, dword [ebp - 0x4fc]
cmp ecx, 7
jbe 0x4301c7
mov edx, dword [ebp - 0x510]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4301bd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4306c6
push ecx
push edx
call fcn.0061f90d
add esp, 8
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x23c]
cmp ecx, 7
jbe 0x43020b
mov edx, dword [ebp - 0x250]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x430201
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4306c6
push ecx
push edx
call fcn.0061f90d
add esp, 8
mov ecx, dword [ebp - 0x228]
mov eax, SysReAllocString
sub eax, ecx
cmp eax, 2
jb 0x4306cb
cmp dword [ebp - 0x224], 7
lea eax, [ebp - 0x238]
push 2
cmova eax, dword [ebp - 0x238]
push 0x6ac984
push ecx
push eax
lea eax, [ebp - 0x238]
push eax
push dword [ebp - 0x51c]
lea ecx, [ebp - 0x510]
call fcn.00466fe0
or esi, 4
lea ecx, [ebp - 0x4e8]
cmp dword [ebp - 0x4fc], 7
lea eax, [ebp - 0x510]
push ecx
cmova eax, dword [ebp - 0x510]
push eax
mov dword [ebp - 0x514], esi
mov dword [ebp - 0x4ec], esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ecx, dword [ebp - 0x4fc]
mov esi, eax
mov dword [ebp - 0x4f4], esi
cmp ecx, 7
jbe 0x4302cf
mov edx, dword [ebp - 0x510]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4302c5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4306d0
push ecx
push edx
call fcn.0061f90d
add esp, 8
xor eax, eax
mov dword [ebp - 0x500], 0
mov dword [ebp - 0x4fc], 7
mov word [ebp - 0x510], ax
nop dword [eax]
test byte [ebp - 0x4e8], 0x10
je 0x4305ff
xorps xmm0, xmm0
mov dword [ebp - 0x270], 0
lea ecx, [ebp - 0x4bc]
mov dword [ebp - 0x26c], 0
movups xmmword [ebp - 0x280], xmm0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430324
sub ecx, edx
lea eax, [ebp - 0x4bc]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x280]
call fcn.00423ce0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x280]
cmp dword [ebp - 0x26c], 7
mov edx, dword [ebp - 0x280]
mov eax, dword [ebp - 0x270]
cmova ecx, edx
mov dword [ebp - 0x4f0], edx
mov dword [ebp - 0x518], ecx
cmp eax, 7
jb 0x4305c1
add eax, 0xfffffffa
lea edx, [ecx + eax*2]
mov eax, ecx
mov dword [ebp - 0x524], edx
nop dword [eax]
sub edx, eax
mov esi, 0
sar edx, 1
je 0x4303b2
cmp word [eax], 0x64
je 0x4303b0
cmp edx, 1
je 0x4303b2
add eax, 2
dec edx
cmp word [eax], 0x64
jne 0x4303a1
mov esi, eax
mov eax, esi
test eax, eax
je 0x4305af
mov esi, str.default
mov ecx, eax
sub ecx, esi
mov edi, 7
mov dword [ebp - 0x520], ecx
movzx edx, word [ecx + esi]
movzx ecx, word [esi]
cmp dx, cx
jne 0x4303ec
add esi, 2
sub edi, 1
je 0x4303f7
mov ecx, dword [ebp - 0x520]
jmp 0x4303d0
mov edx, dword [ebp - 0x524]
add eax, 2
jmp 0x430390
sub eax, dword [ebp - 0x518]
sar eax, 1
cmp eax, 0xffffffff
je 0x4305af
lea ecx, [ebp - 0x4bc]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430411
sub ecx, edx
mov eax, SysReAllocString
mov edx, dword [ebp - 0x228]
sub eax, edx
sar ecx, 1
cmp eax, ecx
jb 0x4306cb
cmp dword [ebp - 0x224], 7
lea eax, [ebp - 0x238]
push ecx
cmova eax, dword [ebp - 0x238]
lea ecx, [ebp - 0x4bc]
push ecx
push edx
push eax
lea eax, [ebp - 0x238]
push eax
push dword [ebp - 0x51c]
lea ecx, [ebp - 0x298]
call fcn.00466fe0
mov eax, dword [ebp - 0x514]
or eax, 2
mov dword [ebp - 0x514], eax
mov dword [ebp - 0x4ec], eax
mov byte [ebp - 4], 7
lea edx, [ebp - 0x298]
cmp dword [ebp - 0x284], 7
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x298]
mov eax, dword [ebp - 0x288]
cmova edx, ecx
movups xmmword [ebp - 0x250], xmm0
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 0
lea eax, [edx + eax*2]
lea edx, [ebp - 0x298]
cmova edx, ecx
cmp edx, eax
jne 0x4304eb
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 0xf
mov byte [ebp - 0x250], 0
jmp 0x4304fd
sub eax, edx
sar eax, 1
push eax
push ecx
push edx
lea ecx, [ebp - 0x250]
call fcn.00470980
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x250]
mov edi, dword [ebp - 0x4f8]
push ecx
mov eax, dword [edi + 4]
cmp eax, dword [edi + 8]
je 0x430523
mov ecx, eax
call fcn.00447ad0
add dword [edi + 4], 0x18
jmp 0x43052b
push eax
mov ecx, edi
call fcn.00472620
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x23c]
cmp ecx, 0xf
jbe 0x430569
mov edx, dword [ebp - 0x250]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43055f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4306c6
push ecx
push edx
call fcn.0061f90d
add esp, 8
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x284]
cmp ecx, 7
jbe 0x4305b5
mov edx, dword [ebp - 0x298]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4305a3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4306c6
push ecx
push edx
call fcn.0061f90d
add esp, 8
jmp 0x4305b5
mov edi, dword [ebp - 0x4f8]
mov esi, dword [ebp - 0x4f4]
mov edx, dword [ebp - 0x4f0]
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x26c]
cmp eax, 7
jbe 0x4305ff
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4305f5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4306d5
push ecx
push edx
call fcn.0061f90d
add esp, 8
lea eax, [ebp - 0x4e8]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4302f0
mov ecx, dword [ebp - 0x254]
cmp ecx, 0xf
jbe 0x43064f
mov edx, dword [ebp - 0x268]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x430645
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4306d5
push ecx
push edx
call fcn.0061f90d
add esp, 8
mov ecx, dword [ebp - 0x224]
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0xf
mov byte [ebp - 0x268], 0
cmp ecx, 7
jbe 0x4306a6
mov edx, dword [ebp - 0x238]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x43069c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4306d5
push ecx
push edx
call fcn.0061f90d
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0061f478
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00636c1b
call fcn.00402f70
call fcn.00636c1b
call fcn.00636c1b
int3