Function at 0x39e9b9b6
Capabilities:
Enumerate files on windows

Disassembly:
push 0x314
mov eax, 0x39ebd656
call fcn.39eaecb8
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0x18]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp + 0x14]
xor ebx, ebx
mov dword [ebp - 0x290], eax
xor eax, eax
mov dword [ebp - 0x284], ebx
mov dword [ebp - 0x28c], ebx
cmp word [edi], bx
je 0x39e9bbf6
mov dword [ebp - 0x288], edi
mov ecx, dword [ebp - 0x288]
movzx ecx, word [ecx]
cmp cx, 0x3b
je 0x39e9ba14
cmp cx, bx
jne 0x39e9bbdf
mov ecx, dword [ebp - 0x28c]
sub ecx, eax
push ecx
lea eax, [edi + eax*2]
push eax
lea ecx, [ebp - 0x2c]
call fcn.39eb4742
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x28]
jae 0x39e9ba41
lea eax, [ebp - 0x28]
push ebx
push eax
call fcn.39eb4742
pop ecx
pop ecx
test eax, eax
je 0x39e9ba72
push ebx
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x280], esp
lea ecx, [ebp - 0x2c]
push ecx
push 0x39e0a150
push eax
call fcn.39e4ad04
add esp, 0xc
mov byte [ebp - 4], 1
jmp 0x39e9baa1
lea eax, [ebp - 0x2c]
push eax
call fcn.39eb4742
test eax, eax
jne 0x39e9bab2
push ebx
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x280], esp
lea ecx, [ebp - 0x2c]
push ecx
push 0x39e0a048
push eax
call fcn.39e4ad04
add esp, 0xc
mov byte [ebp - 4], 2
mov eax, dword [esi]
add eax, 0xc
mov byte [ebp - 4], bl
mov ecx, esi
call dword [eax]
jmp 0x39e9bbac
mov eax, dword [ebp - 0x280]
cmp eax, 4
jbe 0x39e9bbac
cmp dword [ebp - 0x14], 8
mov ecx, dword [ebp - 0x28]
jae 0x39e9bacd
lea ecx, [ebp - 0x28]
lea eax, [eax + eax - 8]
mov dword [ebp - 0x280], eax
add eax, ecx
push 0x39e0a020
push eax
call fcn.39eb4742
pop ecx
pop ecx
test eax, eax
jne 0x39e9bb6e
push ebx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x2b0]
push 0x39e0a11c
push eax
call fcn.39e4ad04
mov byte [ebp - 4], 3
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x280], esp
push 0x39e0a098
push eax
push ecx
call fcn.39e567c2
add esp, 0xc
mov byte [ebp - 4], 4
mov eax, dword [esi]
add eax, 0xc
mov byte [ebp - 4], 3
mov ecx, esi
call dword [eax]
mov byte [ebp - 4], bl
push ebx
push 1
lea ecx, [ebp - 0x2b0]
call fcn.39eb4742
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x39e9bb50
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edx, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x294]
inc dword [ebp - 0x284]
mov dword [ecx + edx*4], eax
jmp 0x39e9bbac
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x39e9bb7a
lea eax, [ebp - 0x28]
mov ecx, dword [ebp - 0x280]
add ecx, eax
push 0x39e0a03c
push ecx
call fcn.39eb4742
pop ecx
pop ecx
test eax, eax
jne 0x39e9bbac
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x39e9bb9f
lea eax, [ebp - 0x28]
push esi
push dword [ebp - 0x290]
push eax
call fcn.39e9b0ec
mov ecx, dword [ebp - 0x288]
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x280], eax
cmp word [ecx], bx
je 0x39e9bbca
inc eax
mov dword [ebp - 0x280], eax
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.39eb4742
mov eax, dword [ebp - 0x280]
inc dword [ebp - 0x28c]
add dword [ebp - 0x288], 2
cmp word [edi + eax*2], bx
jne 0x39e9b9fc
push dword [ebp - 0x290]
lea ecx, [ebp - 0x2cc]
call fcn.39eb4742
mov dword [ebp - 4], 5
push 0x39e0a02c
push eax
lea eax, [ebp - 0x2b0]
push eax
call fcn.39e567c2
add esp, 0xc
mov byte [ebp - 4], 6
cmp dword [eax + 0x18], 8
jb 0x39e9bc32
mov eax, dword [eax + 4]
jmp 0x39e9bc35
add eax, 4
lea ecx, [ebp - 0x27c]
push ecx
push eax
call dword [sym.imp.kernel32.dll_FindFirstFileW]
mov dword [ebp - 0x288], eax
mov byte [ebp - 4], 5
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0x2b0]
call fcn.39eb4742
or dword [ebp - 4], 0xffffffff
push ebx
push edi
lea ecx, [ebp - 0x2cc]
call fcn.39eb4742
mov eax, dword [ebp - 0x284]
cmp eax, dword [ebp + 0x10]
jge 0x39e9bdb0
cmp dword [ebp - 0x288], 0xffffffff
je 0x39e9bdc5
push dword [ebp - 0x290]
lea ecx, [ebp - 0x304]
call fcn.39eb4742
mov dword [ebp - 4], 7
push 0x39e172f4
push eax
lea eax, [ebp - 0x320]
push eax
call fcn.39e567c2
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x250]
push ecx
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.39e567c2
add esp, 0x18
mov byte [ebp - 4], 0xa
push ebx
push edi
lea ecx, [ebp - 0x320]
call fcn.39eb4742
mov byte [ebp - 4], 0xb
push ebx
push edi
lea ecx, [ebp - 0x304]
call fcn.39eb4742
push ebx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x2e8]
push 0x39e0a11c
push eax
call fcn.39e4ad04
mov byte [ebp - 4], 0xc
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x280], esp
push 0x39e0a098
push eax
push ecx
call fcn.39e567c2
add esp, 0xc
mov byte [ebp - 4], 0xd
mov eax, dword [esi]
add eax, 0xc
mov byte [ebp - 4], 0xc
mov ecx, esi
call dword [eax]
mov byte [ebp - 4], 0xb
push ebx
push edi
lea ecx, [ebp - 0x2e8]
call fcn.39eb4742
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x39e9bd50
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edx, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x294]
inc dword [ebp - 0x284]
mov dword [ecx + edx*4], eax
lea eax, [ebp - 0x27c]
push eax
push dword [ebp - 0x288]
call dword [sym.imp.kernel32.dll_FindNextFileW]
test eax, eax
je 0x39e9bda2
or dword [ebp - 4], 0xffffffff
push ebx
push edi
lea ecx, [ebp - 0x2c]
call fcn.39eb4742
mov eax, dword [ebp + 0x10]
cmp dword [ebp - 0x284], eax
jl 0x39e9bc7d
jmp 0x39e9bdb0
or dword [ebp - 4], 0xffffffff
push ebx
push edi
lea ecx, [ebp - 0x2c]
call fcn.39eb4742
cmp dword [ebp - 0x288], 0xffffffff
je 0x39e9bdc5
push dword [ebp - 0x288]
call dword [sym.imp.kernel32.dll_FindClose]
mov eax, dword [ebp - 0x284]
call fcn.39eaed4a
ret 0x14