Function at 0x405d8c
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2270
call fcn.00410620
mov eax, dword [0x417004]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [ebp - 0x2268], eax
xor eax, eax
mov esi, 0x7fe
push esi
mov word [ebp - 0x180c], ax
xor ebx, ebx
lea eax, [ebp - 0x180a]
push ebx
push eax
call fcn.0040fd90
add esp, 0xc
xor eax, eax
push esi
mov word [ebp - 0x100c], ax
lea eax, [ebp - 0x100a]
push ebx
push eax
call fcn.0040fd90
add esp, 0xc
xor eax, eax
push esi
mov word [ebp - 0x200c], ax
lea eax, [ebp - 0x200a]
push ebx
push eax
call fcn.0040fd90
add esp, 0xc
xor eax, eax
push esi
mov word [ebp - 0x80c], ax
lea eax, [ebp - 0x80a]
push ebx
push eax
call fcn.0040fd90
xor eax, eax
mov byte [ebp - 0x2260], bl
lea edi, [ebp - 0x225f]
stosw word es:[edi], ax
add esp, 0xc
push 0x14000
stosb byte es:[edi], al
call fcn.0040ae5e
pop ecx
mov dword [ebp - 0x2270], eax
cmp eax, ebx
jne 0x405e4c
xor esi, esi
inc esi
jmp 0x4061d9
movzx eax, byte [0x529fbf]
push eax
movzx eax, byte [0x529fbe]
push eax
mov eax, dword [0x529fbc]
movzx ecx, ah
push ecx
movzx eax, al
push eax
push 0x52b808
lea eax, [ebp - 0x180c]
push str._s_02x_02x_02x_02x
push eax
call fcn.0040af2c
add esp, 0x1c
lea eax, [ebp - 0x180c]
push eax
mov ebx, str._s
lea eax, [ebp - 0x200c]
push ebx
push eax
call fcn.0040af2c
mov esi, dword [sym.imp.KERNEL32.DLL_FindFirstFileW]
add esp, 0xc
lea eax, [ebp - 0x225c]
push eax
lea eax, [ebp - 0x200c]
push eax
call esi
mov dword [ebp - 0x226c], eax
cmp eax, 0xffffffff
je 0x40601e
test byte [ebp - 0x225c], 0x10
je 0x406003
mov ecx, 0x414914
lea eax, [ebp - 0x2230]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x405f01
test dx, dx
je 0x405efd
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x405f01
add eax, 4
add ecx, 4
test dx, dx
jne 0x405edb
xor eax, eax
jmp 0x405f06
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x406003
mov ecx, 0x414918
lea eax, [ebp - 0x2230]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x405f3f
test dx, dx
je 0x405f3b
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x405f3f
add eax, 4
add ecx, 4
test dx, dx
jne 0x405f19
xor eax, eax
jmp 0x405f44
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x406003
lea eax, [ebp - 0x2230]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x405f55
sub eax, edx
sar eax, 1
cmp eax, 8
jne 0x406003
lea edi, [ebp - 0x2230]
call fcn.00401d81
test eax, eax
jne 0x406003
lea eax, [ebp - 0x2260]
push eax
mov ecx, edi
call fcn.00401de2
pop ecx
lea eax, [ebp - 0x2260]
push eax
mov eax, dword [ebp - 0x2268]
call fcn.00405d56
pop ecx
test eax, eax
jne 0x406003
mov eax, edi
push eax
lea eax, [ebp - 0x180c]
push eax
lea eax, [ebp - 0x80c]
push str._s_s
push eax
call fcn.0040af2c
lea eax, [ebp - 0x2264]
push eax
lea edi, [ebp - 0x80c]
call fcn.00403d26
add esp, 0x14
test eax, eax
mov eax, edi
je 0x405ffc
push dword [ebp - 0x2264]
push eax
call fcn.00404010
pop ecx
pop ecx
cmp eax, 2
jne 0x406003
mov ebx, dword [ebp - 0x226c]
push eax
pop esi
jmp 0x4061bd
push eax
call fcn.004054f0
pop ecx
lea eax, [ebp - 0x225c]
push eax
push dword [ebp - 0x226c]
call dword [sym.imp.KERNEL32.DLL_FindNextFileW]
test eax, eax
jne 0x405ec3
mov eax, 0xff
push eax
push eax
push eax
push eax
push 0x52b808
lea eax, [ebp - 0x100c]
push str._s_02x_02x_02x_02x
push eax
call fcn.0040af2c
add esp, 0x1c
lea eax, [ebp - 0x100c]
push eax
lea eax, [ebp - 0x200c]
push ebx
push eax
call fcn.0040af2c
add esp, 0xc
lea eax, [ebp - 0x225c]
push eax
lea eax, [ebp - 0x200c]
push eax
call esi
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4061bb
test byte [ebp - 0x225c], 0x10
je 0x4061a5
mov ecx, 0x414914
lea eax, [ebp - 0x2230]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4060b0
test dx, dx
je 0x4060ac
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4060b0
add eax, 4
add ecx, 4
test dx, dx
jne 0x40608a
xor eax, eax
jmp 0x4060b5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4061a5
mov ecx, 0x414918
lea eax, [ebp - 0x2230]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4060ee
test dx, dx
je 0x4060ea
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4060ee
add eax, 4
add ecx, 4
test dx, dx
jne 0x4060c8
xor eax, eax
jmp 0x4060f3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4061a5
lea eax, [ebp - 0x2230]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x406104
sub eax, edx
sar eax, 1
cmp eax, 8
jne 0x4061a5
lea edi, [ebp - 0x2230]
call fcn.00401d81
test eax, eax
jne 0x4061a5
lea eax, [ebp - 0x2260]
push eax
mov ecx, edi
call fcn.00401de2
pop ecx
lea eax, [ebp - 0x2260]
push eax
mov eax, dword [ebp - 0x2268]
call fcn.00405d56
pop ecx
test eax, eax
jne 0x4061a5
mov eax, edi
push eax
lea eax, [ebp - 0x100c]
push eax
lea eax, [ebp - 0x80c]
push str._s_s
push eax
call fcn.0040af2c
lea eax, [ebp - 0x2264]
push eax
lea edi, [ebp - 0x80c]
call fcn.00403d26
add esp, 0x14
test eax, eax
mov eax, edi
je 0x40619e
push dword [ebp - 0x2264]
push eax
call fcn.00404010
pop ecx
pop ecx
push 2
pop esi
cmp eax, esi
je 0x4061bd
jmp 0x4061a5
push eax
call fcn.004054f0
pop ecx
lea eax, [ebp - 0x225c]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_FindNextFileW]
test eax, eax
jne 0x406072
xor esi, esi
push dword [ebp - 0x2270]
call fcn.0040aef2
pop ecx
test ebx, ebx
je 0x4061d9
cmp ebx, 0xffffffff
je 0x4061d9
push ebx
call dword [sym.imp.KERNEL32.DLL_FindClose]
mov ecx, dword [ebp - 8]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040ad48
leave
ret