Function at 0x42fe30
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 0x65a764
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x518
mov eax, dword [0x6d5ec0]
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 0x430586
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 0x42ff06
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 0x42ffb8
mov edx, dword [ebp - 0x510]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x42ffae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4305b5
push ecx
push edx
call fcn.0061ef9d
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.00459570
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.00466680
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.00446e50
mov ecx, dword [ebp - 0x4fc]
cmp ecx, 7
jbe 0x4300a7
mov edx, dword [ebp - 0x510]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x43009d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4305a6
push ecx
push edx
call fcn.0061ef9d
add esp, 8
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x23c]
cmp ecx, 7
jbe 0x4300eb
mov edx, dword [ebp - 0x250]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4300e1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4305a6
push ecx
push edx
call fcn.0061ef9d
add esp, 8
mov ecx, dword [ebp - 0x228]
mov eax, SysReAllocString
sub eax, ecx
cmp eax, 2
jb 0x4305ab
cmp dword [ebp - 0x224], 7
lea eax, [ebp - 0x238]
push 2
cmova eax, dword [ebp - 0x238]
push 0x6ab794
push ecx
push eax
lea eax, [ebp - 0x238]
push eax
push dword [ebp - 0x51c]
lea ecx, [ebp - 0x510]
call fcn.00466750
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 0x4301af
mov edx, dword [ebp - 0x510]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4301a5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4305b0
push ecx
push edx
call fcn.0061ef9d
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 0x4304df
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 0x430204
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 0x4304a1
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 0x430292
cmp word [eax], 0x64
je 0x430290
cmp edx, 1
je 0x430292
add eax, 2
dec edx
cmp word [eax], 0x64
jne 0x430281
mov esi, eax
mov eax, esi
test eax, eax
je 0x43048f
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 0x4302cc
add esi, 2
sub edi, 1
je 0x4302d7
mov ecx, dword [ebp - 0x520]
jmp 0x4302b0
mov edx, dword [ebp - 0x524]
add eax, 2
jmp 0x430270
sub eax, dword [ebp - 0x518]
sar eax, 1
cmp eax, 0xffffffff
je 0x43048f
lea ecx, [ebp - 0x4bc]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4302f1
sub ecx, edx
mov eax, SysReAllocString
mov edx, dword [ebp - 0x228]
sub eax, edx
sar ecx, 1
cmp eax, ecx
jb 0x4305ab
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.00466750
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 0x4303cb
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 0xf
mov byte [ebp - 0x250], 0
jmp 0x4303dd
sub eax, edx
sar eax, 1
push eax
push ecx
push edx
lea ecx, [ebp - 0x250]
call fcn.004700f0
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 0x430403
mov ecx, eax
call fcn.00447840
add dword [edi + 4], 0x18
jmp 0x43040b
push eax
mov ecx, edi
call fcn.00471d90
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x23c]
cmp ecx, 0xf
jbe 0x430449
mov edx, dword [ebp - 0x250]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43043f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4305a6
push ecx
push edx
call fcn.0061ef9d
add esp, 8
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x284]
cmp ecx, 7
jbe 0x430495
mov edx, dword [ebp - 0x298]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x430483
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4305a6
push ecx
push edx
call fcn.0061ef9d
add esp, 8
jmp 0x430495
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 0x4304df
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4304d5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4305b5
push ecx
push edx
call fcn.0061ef9d
add esp, 8
lea eax, [ebp - 0x4e8]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4301d0
mov ecx, dword [ebp - 0x254]
cmp ecx, 0xf
jbe 0x43052f
mov edx, dword [ebp - 0x268]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x430525
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4305b5
push ecx
push edx
call fcn.0061ef9d
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 0x430586
mov edx, dword [ebp - 0x238]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x43057c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4305b5
push ecx
push edx
call fcn.0061ef9d
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.0061eb08
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0063629b
call fcn.00402f70
call fcn.0063629b
call fcn.0063629b
int3