Function at 0x4caf90
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb9c
mov eax, dword [0x5c04b4]
xor eax, esp
mov dword [esp + 0xb98], eax
mov eax, dword [ebp + 0x14]
push ebx
mov dword [esp + 0x28], eax
xor ebx, ebx
mov eax, dword [ebp + 0x1c]
push esi
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x24], eax
or eax, 0xffffffff
push edi
mov dword [esp + 0x20], eax
xor al, al
push 0xac
mov byte [esp + 0x17], al
lea eax, [esp + 0x44]
push ebx
push eax
mov dword [esp + 0x20], ebx
call sub.MSVCR120.dll_memset
add esp, 0xc
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
mov edi, dword [sym.imp.MSVCR120.dll_wcscpy_s]
test esi, esi
je 0x4cb069
mov ecx, esi
lea edx, [ecx + 2]
mov edi, edi
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cb000
sub ecx, edx
lea eax, [esp + 0x790]
sar ecx, 1
cmp ecx, 0x104
jae 0x4cb032
push esi
push 0x104
push eax
call edi
mov esi, dword [sym.imp.MSVCR120.dll_wcsncpy_s]
add esp, 0xc
jmp 0x4cb053
push 0x103
push esi
mov esi, dword [sym.imp.MSVCR120.dll_wcsncpy_s]
push 0x104
push eax
call esi
add esp, 0x10
xor eax, eax
mov word [esp + 0x996], ax
push str..xml
lea ecx, [esp + 0x794]
call fcn.0054e900
add esp, 4
jmp 0x4cb079
mov esi, dword [sym.imp.MSVCR120.dll_wcsncpy_s]
xor eax, eax
mov word [esp + 0x790], ax
mov edx, 0x104
lea ecx, [esp + 0x588]
call fcn.0050a320
test al, al
je 0x4cb422
push 0x592c70
mov edx, 0x104
lea ecx, [esp + 0x58c]
call fcn.0052fae0
lea ecx, [esp + 0x58c]
add esp, 4
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cb0b5
sub ecx, edx
lea eax, [esp + 0x588]
sar ecx, 1
cmp ecx, 0x104
jae 0x4cb0e8
push eax
lea eax, [esp + 0x99c]
push 0x104
push eax
call edi
add esp, 0xc
jmp 0x4cb10a
push 0x103
push eax
lea eax, [esp + 0x9a0]
push 0x104
push eax
call esi
add esp, 0x10
xor eax, eax
mov word [esp + 0xb9e], ax
push 0x58b228
mov edx, 0x104
lea ecx, [esp + 0x99c]
call fcn.0052fae0
add esp, 4
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0x99c]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [esp + 0x24], eax
cmp eax, 0xffffffff
je 0x4cb422
mov edi, dword [ebp + 8]
mov esi, eax
jmp 0x4cb150
lea ecx, [esp + 0x588]
lea edx, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cb160
sub ecx, edx
lea eax, [esp + 0x588]
sar ecx, 1
cmp ecx, 0x104
jae 0x4cb197
push eax
lea eax, [esp + 0x384]
push 0x104
push eax
call dword [sym.imp.MSVCR120.dll_wcscpy_s]
add esp, 0xc
jmp 0x4cb1bd
push 0x103
push eax
lea eax, [esp + 0x388]
push 0x104
push eax
call dword [sym.imp.MSVCR120.dll_wcsncpy_s]
add esp, 0x10
xor eax, eax
mov word [esp + 0x586], ax
lea eax, [esp + 0x11c]
mov edx, 0x104
push eax
lea ecx, [esp + 0x384]
call fcn.0052fae0
add esp, 4
lea eax, [esp + 0x380]
push eax
lea eax, [esp + 0x794]
push eax
call dword [sym.imp.MSVCR120.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x4cb32a
lea edx, [esp + 0x380]
lea ecx, [esp + 0x18]
call fcn.00533f70
test eax, eax
jne 0x4cb32a
lea eax, [esp + 0x38]
xor esi, esi
push eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
push 0x58b33c
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov edx, dword [eax + 0xec]
call fcn.00534870
add esp, 8
test eax, eax
jne 0x4cb242
mov esi, dword [esp + 0x38]
test edi, edi
je 0x4cb265
cmp edi, 1
jne 0x4cb254
test esi, esi
je 0x4cb265
jmp 0x4cb319
cmp edi, 2
jne 0x4cb319
test esi, esi
je 0x4cb319
mov eax, dword [esp + 0x18]
xor edi, edi
mov dword [esp + 0x2c], 0x20
mov dword [esp + 0x1c], edi
mov ebx, dword [eax + 0xec]
lea ecx, [ecx]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], 0
mov eax, ecx
test eax, eax
jne 0x4cb298
lea ecx, [esp + 0x34]
jmp 0x4cb2a5
cmp edi, 0xffffffff
je 0x4cb370
test edi, edi
jne 0x4cb2b7
mov esi, dword [ebx + 0x74]
test esi, esi
je 0x4cb2c0
mov eax, dword [esi + 0x78]
mov dword [ecx], eax
mov edi, dword [esp + 0x1c]
jmp 0x4cb2c0
mov esi, edi
mov edi, dword [edi + 0x78]
mov dword [esp + 0x1c], edi
cmp dword [ecx], 0
jne 0x4cb2cf
mov dword [ecx], 0xffffffff
mov edi, dword [esp + 0x1c]
test esi, esi
je 0x4cb370
lea eax, [esi + 4]
push eax
push str.START
call dword [sym.imp.MSVCR120.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x4cb280
cmp dword [esi], 6
jne 0x4cb280
mov ebx, dword [esp + 0x18]
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x344]
mov ecx, ebx
push eax
push esi
call fcn.00531610
add esp, 0xc
cmp dword [esp + 0x2c], 0
jne 0x4cb374
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push eax
call fcn.00532e00
add esp, 4
mov esi, dword [esp + 0x24]
lea eax, [esp + 0xf0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov edi, dword [ebp + 8]
test eax, eax
jne 0x4cb150
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4cb355
mov dword [eax], ebx
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb98]
xor ecx, esp
call fcn.00553510
mov esp, ebp
pop ebp
ret 0x18
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x340]
call fcn.0054eac0
mov ecx, dword [esp + 0xe8]
mov edx, eax
shl ecx, 4
sub ecx, dword [esp + 0xe8]
lea ecx, [edx + ecx*4]
cmp ecx, 0xffffffff
je 0x4cb315
mov edi, dword [esp + 0x20]
mov eax, dword [ebp + 0xc]
cmp edi, 0xffffffff
je 0x4cb3c2
sub eax, ecx
js 0x4cb315
cmp eax, edi
jge 0x4cb315
cdq
xor eax, edx
sub eax, edx
jmp 0x4cb3ca
sub eax, ecx
js 0x4cb315
mov ecx, dword [esp + 0x30]
mov edx, 0x104
mov dword [esp + 0x20], eax
lea eax, [esp + 0x380]
push eax
call fcn.0052fa00
mov ecx, dword [esp + 0x34]
add esp, 4
push 0x58516c
call fcn.0054e900
add esp, 4
mov byte [esp + 0x13], 1
cmp dword [esp + 0x28], 0
je 0x4cb315
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4cb419
push eax
call fcn.00532e00
add esp, 4
mov dword [esp + 0x14], ebx
jmp 0x4cb326
mov ecx, dword [esp + 0xba4]
xor al, al
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00553510
mov esp, ebp
pop ebp
ret 0x18