Function at 0x458522
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
lea ebp, [esp - 0x6f4]
sub esp, 0x774
mov eax, dword [0x4c3a60]
xor eax, ebp
mov dword [ebp + 0x6f0], eax
push ebx
push edi
mov eax, ecx
lea ebx, [eax + 0x90]
push 0x4ad568
lea eax, [ebp + 0x28c]
push ebx
push eax
call fcn.004135ef
mov eax, dword [ebp + 0x290]
add esp, 0xc
cmp dword [ebp + 0x2a4], 8
jae 0x458571
lea eax, [ebp + 0x290]
push 0x4ad564
push eax
call fcn.0047b6c8
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x458597
push eax
push 1
lea ecx, [ebp + 0x28c]
call fcn.00401ad3
jmp 0x458892
push esi
lea ecx, [ebp + 0x10]
call fcn.00412162
mov esi, 0x104
jmp 0x458639
lea eax, [ebp + 0x4e8]
push eax
lea ecx, [ebp + 0x2c4]
call fcn.004018f6
push 1
push 3
lea eax, [ebp + 0x2c4]
push eax
lea ecx, [ebp - 0x80]
call fcn.00458337
push 0
push 1
lea ecx, [ebp + 0x2c4]
call fcn.00401ad3
lea eax, [ebp + 0x4e8]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.0045820b
lea eax, [ebp + 0x4e8]
push eax
call fcn.00476c4e
add esp, 0xc
test eax, eax
je 0x458631
lea eax, [ebp + 0x4e8]
push eax
lea ecx, [ebp + 0x2c4]
call fcn.004018f6
lea eax, [ebp + 0x2c4]
push eax
lea ecx, [ebp + 0x10]
call fcn.00412244
push 0
push 1
lea ecx, [ebp + 0x2c4]
call fcn.00401ad3
lea ecx, [ebp - 0x80]
call fcn.00405341
push edi
lea eax, [ebp + 0x4e8]
push esi
push eax
call fcn.0047b541
add esp, 0xc
test eax, eax
jne 0x4585aa
push edi
call fcn.0047ae23
pop ecx
push ebx
lea ecx, [ebp + 0x2a8]
call fcn.00401918
mov eax, dword [ebp + 0x2bc]
dec eax
push eax
lea ecx, [ebp + 0x2a8]
call fcn.0040317f
cmp word [eax], 0x5c
je 0x45868e
push 0x4b3018
lea ecx, [ebp + 0x2a8]
call fcn.004019f8
push 0x4b315c
lea ecx, [ebp + 0x2a8]
call fcn.004019f8
cmp dword [ebp + 0x2c0], 8
mov eax, dword [ebp + 0x2ac]
jae 0x4586b3
lea eax, [ebp + 0x2ac]
lea ecx, [ebp + 0x3c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp + 0x30], eax
cmp eax, 0xffffffff
jne 0x4586ed
push 0
push 1
lea ecx, [ebp + 0x2a8]
call fcn.00401ad3
lea ecx, [ebp + 0x10]
call fcn.00412669
push dword [ebp + 0x10]
call fcn.00476811
pop ecx
push 0
jmp 0x458884
push 0x208
xor edi, edi
lea eax, [ebp + 0x2e0]
push edi
push eax
call fcn.00476cc0
add esp, 0xc
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpW]
push 0x4b3160
lea eax, [ebp + 0x68]
push eax
call esi
test eax, eax
je 0x458846
push 0x4b3010
lea eax, [ebp + 0x68]
push eax
call esi
test eax, eax
je 0x458846
cmp dword [ebx + 0x18], 8
jb 0x45873b
mov eax, dword [ebx + 4]
jmp 0x45873e
lea eax, [ebx + 4]
lea ecx, [ebp + 0x68]
push ecx
push eax
lea eax, [ebp + 0x2e0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
test byte [ebp + 0x3c], 0x10
lea eax, [ebp + 0x68]
lea ecx, [ebp + 0x2c4]
push eax
je 0x458795
call fcn.004018f6
push str.download_profiles
lea ecx, [ebp + 0x2c4]
call fcn.0040c570
test eax, eax
jne 0x458838
push 1
push edi
lea eax, [ebp + 0x2e0]
push edi
push eax
call fcn.00403896
add esp, 0x10
jmp 0x458838
call fcn.004018f6
lea eax, [ebp + 0x10]
push eax
push dword [ebp + 0x1c]
lea ecx, [ebp + 8]
call fcn.00415f49
mov eax, dword [ebp + 8]
mov dword [ebp + 0x34], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x38], eax
jmp 0x4587f6
cmp dword [ebp + 0x2dc], 8
mov esi, dword [ebp + 0x2c8]
jae 0x4587cc
lea esi, [ebp + 0x2c8]
lea ecx, [ebp + 0x34]
call fcn.00403a66
cmp dword [eax + 0x18], 8
jb 0x4587df
mov eax, dword [eax + 4]
jmp 0x4587e2
add eax, 4
push esi
push eax
call dword [sym.imp.SHLWAPI.dll_StrCmpIW]
test eax, eax
je 0x458838
lea ecx, [ebp + 0x34]
call fcn.004039f9
lea eax, [ebp + 0x10]
push eax
push dword [ebp + 0x20]
lea ecx, [ebp + 0x28]
call fcn.00415f49
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp + 0x34]
call fcn.00403a28
test al, al
je 0x4587b7
push 0x4ad568
lea ecx, [ebp + 0x2c4]
call fcn.0040c570
test eax, eax
je 0x458838
lea eax, [ebp + 0x2e0]
push edi
push eax
call fcn.004038da
pop ecx
pop ecx
push edi
push 1
lea ecx, [ebp + 0x2c4]
call fcn.00401ad3
lea eax, [ebp + 0x3c]
push eax
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x458704
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_FindClose]
push edi
push 1
lea ecx, [ebp + 0x2a8]
call fcn.00401ad3
lea ecx, [ebp + 0x10]
call fcn.00412669
push dword [ebp + 0x10]
call fcn.00476811
pop ecx
push edi
push 1
lea ecx, [ebp + 0x28c]
call fcn.00401ad3
pop esi
mov ecx, dword [ebp + 0x6f0]
pop edi
xor ecx, ebp
pop ebx
call fcn.00476d3a
add ebp, 0x6f4
leave
ret