Function at 0x52e3e0
Capabilities:
Check if file exists
Enumerate files on windows
Enumerate files recursively

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5f7a02
mov eax, dword fs:[0]
push eax
sub esp, 0x2f8
mov eax, dword [0x70f200]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2f8], ecx
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
push ebx
mov dword [ebp - 0x2f4], edi
mov dword [ebp - 0x300], ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x52ea89
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x1c]
movq qword [ebp - 0x1c], xmm0
call fcn.005dc5e0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x40]
xorps xmm0, xmm0
mov dword [ebp - 0x38], 0
movq qword [ebp - 0x40], xmm0
call fcn.005dc5e0
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x34]
movq qword [ebp - 0x34], xmm0
call fcn.005dc5e0
sub esp, 8
mov byte [ebp - 4], 2
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x28]
movq qword [ebp - 0x28], xmm0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6249f8
push ebx
call fcn.005dc520
push 4
push 2
push 1
push 1
lea ecx, [edi + 8]
mov byte [ebp - 4], 3
push 0x624284
call fcn.005daa70
push 0x260
mov dword [ebp - 0x304], eax
lea eax, [ebp - 0x2ec]
push 0
push eax
call fcn.00420090
add esp, 0xc
lea ecx, [ebp - 0x28]
call fcn.005dc190
push 0x250
mov esi, eax
lea eax, [ebp - 0x2ec]
push 0
push eax
call fcn.00420090
add esp, 0xc
lea eax, [ebp - 0x2ec]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov edx, eax
mov dword [ebp - 0x9c], edx
cmp edx, 0xffffffff
je 0x52e5c1
mov ecx, 1
mov dword [ebp - 0x98], ecx
nop word [eax + eax]
cmp word [ebp - 0x2c0], 0x2e
jne 0x52e566
mov ax, word [ebp - 0x2be]
test ax, ax
je 0x52e590
cmp ax, 0x2e
jne 0x52e566
cmp word [ebp - 0x2bc], 0
je 0x52e590
test ecx, ecx
je 0x52e5c1
mov eax, dword [ebp - 0x2ec]
test cl, 1
je 0x52e57c
test eax, 0x400
jne 0x52e590
test cl, 2
je 0x52e587
test al, 0x10
je 0x52e5c1
jmp 0x52e590
test cl, 4
je 0x52e5c1
test al, 0x10
jne 0x52e5c1
lea eax, [ebp - 0x2ec]
push eax
push edx
call esi
test eax, eax
je 0x52e5ac
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0x9c]
jmp 0x52e540
push dword [ebp - 0x9c]
call dword [sym.imp.KERNEL32.dll_FindClose]
or edx, 0xffffffff
mov dword [ebp - 0x9c], edx
xor ebx, ebx
mov byte [ebp - 4], 4
cmp edx, 0xffffffff
je 0x52ea67
push 0x4c
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x2fc], ebx
push ebx
push eax
call fcn.00420090
add esp, 0xc
lea ecx, [ebp - 0x8c]
call fcn.005e9520
mov byte [ebp - 4], 5
mov eax, dword [edi + 4]
cmp eax, 0x2d
jne 0x52e60b
mov dword [ebp - 0x2f0], str.Chrome_shortcuts
jmp 0x52e680
cmp eax, 0x37
jne 0x52e61c
mov dword [ebp - 0x2f0], str.Firefox_shortcuts
jmp 0x52e680
cmp eax, 0x19
jne 0x52e62d
mov dword [ebp - 0x2f0], str.Microsoft_Edge_shortcuts
jmp 0x52e680
cmp eax, 0x72
jne 0x52e63e
mov dword [ebp - 0x2f0], str.Microsoft_Edge_shortcuts
jmp 0x52e680
cmp eax, 0x41
jne 0x52e64f
mov dword [ebp - 0x2f0], str.Other_Chromium_browsers_shortcuts
jmp 0x52e680
cmp eax, 0x4b
jne 0x52e660
mov dword [ebp - 0x2f0], str.Other_Firefox_browsers_shortcuts
jmp 0x52e680
cmp eax, 0x23
jne 0x52ea46
mov dword [ebp - 0x2f0], str.IE_shortcuts
nop dword [eax]
nop word [eax + eax]
test byte [ebp - 0x2ec], 0x10
lea eax, [ebp - 0x2c0]
je 0x52e6d7
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push 0x624284
push dword [ebp - 0x300]
lea ecx, [ebp - 0x28]
call fcn.005dc200
lea ecx, [ebp - 0x28]
call fcn.005dc190
mov ecx, dword [ebp - 0x2f8]
push eax
push edi
call fcn.0052e3e0
add ebx, eax
mov dword [ebp - 0x2fc], ebx
jmp 0x52e9fe
xor esi, esi
cmp word [ebp - 0x2c0], si
je 0x52e6fe
movzx ecx, word [eax + 2]
add eax, 2
cmp ecx, 0x2e
jne 0x52e6f2
mov esi, eax
jmp 0x52e6e2
test cx, cx
jne 0x52e6e2
test esi, esi
je 0x52e6fe
add esi, 2
push 0
mov edx, 0x66c890
mov ecx, esi
call fcn.005d8ad0
test eax, eax
jne 0x52e9f8
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
lea eax, [ebp - 0x2c0]
push eax
push 0x624284
push dword [ebp - 0x300]
lea ecx, [ebp - 0x28]
call fcn.005dc200
push 0
lea ecx, [ebp - 0x28]
call fcn.005dc190
push eax
lea ecx, [ebp - 0x8c]
call fcn.005e93e0
test al, al
je 0x52e9f8
push ecx
lea ecx, [ebp - 0x8c]
call fcn.005e9390
push eax
lea ecx, [ebp - 0x1c]
call fcn.005dc510
lea ecx, [ebp - 0x1c]
call fcn.005dc3a0
cmp eax, 4
jl 0x52e9f8
mov esi, dword [ebp - 0x304]
test esi, esi
jne 0x52e78f
push 1
lea ecx, [ebp - 0x1c]
call fcn.005dbf40
push 0
push 0
push 0x62439c
push 0x624388
lea ecx, [ebp - 0x1c]
call fcn.005da270
push 0
push 1
push 1
push 0
lea ecx, [edi + 8]
call fcn.005dc190
push eax
lea ecx, [ebp - 0x1c]
call fcn.005daa70
cmp eax, 1
je 0x52e7fc
test esi, esi
jne 0x52e9f8
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x6243cc
lea ecx, [ebp - 0x1c]
call fcn.005da780
lea ecx, [edi + 8]
call fcn.005dc190
push eax
lea ecx, [ebp - 0x1c]
call fcn.005dc480
test al, al
jne 0x52e9f8
lea ecx, [ebp - 0x8c]
call fcn.005e9340
push eax
lea ecx, [ebp - 0x1c]
call fcn.005dc510
push 3
lea ecx, [ebp - 0x1c]
call fcn.005da0f0
mov ecx, eax
call fcn.005dc3a0
cmp eax, 6
jl 0x52e9f8
push 0
push dword [ebp - 0x2f0]
lea ecx, [ebp - 0x1c]
call fcn.005dc190
mov ecx, dword [ebp - 0x2f8]
push eax
call fcn.00511ee0
test al, al
jne 0x52e9f8
push 5
push 1
push 1
push 0
push str.http
lea ecx, [ebp - 0x1c]
call fcn.005daa70
test eax, eax
jne 0x52e89a
push 5
push 1
push 1
push eax
push str.www.
lea ecx, [ebp - 0x1c]
call fcn.005daa70
test eax, eax
jne 0x52e89a
push eax
push 1
push 1
push eax
push str.extension
lea ecx, [ebp - 0x1c]
call fcn.005daa70
test eax, eax
jne 0x52e89a
xor bl, bl
jmp 0x52e89c
mov bl, 1
mov eax, dword [edi + 4]
xor esi, esi
cmp eax, 0x23
jne 0x52e8ab
lea esi, [eax - 0x22]
jmp 0x52e8d8
cmp eax, 0x2d
jne 0x52e8b5
lea esi, [eax - 0x2b]
jmp 0x52e8d8
cmp eax, 0x37
jne 0x52e8bf
lea esi, [eax - 0x34]
jmp 0x52e8d8
cmp eax, 0x19
jne 0x52e8c9
lea esi, [eax - 0x15]
jmp 0x52e8d8
cmp eax, 0x41
je 0x52e8d3
cmp eax, 0x4b
jne 0x52e8d8
mov esi, 5
push 0
push 0
push ecx
movzx eax, bl
lea ecx, [ebp - 0x1c]
push eax
call fcn.005dc190
mov ecx, dword [ebp - 0x2f8]
push eax
push dword [edi + 0x14]
lea eax, [ebp - 0x2c0]
push eax
push esi
push dword [edi + 4]
push dword [edi]
call fcn.0053ab00
mov edi, eax
cmp edi, 0xffffffff
je 0x52e9ec
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x2c0]
push eax
push 0x624284
push dword [ebp - 0x300]
lea ecx, [ebp - 0x28]
call fcn.005dc200
mov esi, dword [ebp - 0x2f4]
push 0
lea ecx, [esi + 0x28]
call fcn.005dc190
push eax
push 0
push 0
push 0
mov eax, esi
lea ecx, [ebp - 0x28]
push 0
push dword [eax + 0x14]
call fcn.005dc190
mov ecx, dword [ebp - 0x2f8]
push eax
mov eax, esi
push 0
push dword [eax + 4]
push edi
mov edi, eax
push dword [edi + 0x18]
call fcn.0053a900
push 0
test bl, bl
mov ecx, str.Un_checked
push 0x62781c
mov eax, str.Checked
cmove eax, ecx
lea ecx, [ebp - 0x1c]
push eax
push str._r_n_t_tItem_state:
call fcn.005dc190
push eax
push str._r_n_t_tArguments:
lea ecx, [esi + 0x28]
call fcn.005dc190
push eax
push str._r_n_t_tBrowser:
push dword [edi + 0x14]
lea ecx, [ebp - 0x28]
push str._r_n_t_tUser_name:
call fcn.005dc190
push eax
push str._r_n_t_tShortcut_path:
lea ecx, [ebp - 0x34]
call fcn.005dc200
mov ecx, dword [edi + 0x20]
lea eax, [ebp - 0x34]
push eax
call fcn.005e3a10
mov ebx, dword [ebp - 0x2fc]
inc ebx
mov dword [ebp - 0x2fc], ebx
jmp 0x52e9f8
mov edi, dword [ebp - 0x2f4]
mov ebx, dword [ebp - 0x2fc]
mov esi, dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov eax, dword [ebp - 0x9c]
cmp eax, 0xffffffff
je 0x52ea48
lea ecx, [ebp - 0x2ec]
push ecx
push eax
call esi
test eax, eax
je 0x52ea2c
lea ecx, [ebp - 0x2ec]
call fcn.004011a0
test al, al
jne 0x52e680
jmp 0x52ea48
push dword [ebp - 0x9c]
mov esi, dword [sym.imp.KERNEL32.dll_FindClose]
call esi
mov dword [ebp - 0x9c], 0xffffffff
jmp 0x52ea4e
xor ebx, ebx
mov esi, dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [ebp - 0x8c]
call fcn.005e9080
mov eax, dword [ebp - 0x9c]
cmp eax, 0xffffffff
je 0x52ea67
push eax
call esi
lea ecx, [ebp - 0x28]
call fcn.005dc430
lea ecx, [ebp - 0x34]
call fcn.005dc430
lea ecx, [ebp - 0x40]
call fcn.005dc430
lea ecx, [ebp - 0x1c]
call fcn.005dc430
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041e1b5
mov esp, ebp
pop ebp
ret 8