Function at 0x100194f0
Capabilities:
Enumerate files on windows

Disassembly:
sub esp, 0x244
cmp dword [0x1003097c], 0
push ebx
push esi
push edi
push ebp
je 0x1001957d
mov ebp, dword [esp + 0x260]
mov ebx, dword [esp + 0x258]
lea esi, [ebp + 4]
push esi
push 0
push ebx
call dword [0x1003097c]
test eax, eax
jne 0x1001958b
mov dword [0x100307e4], 1
movsx edi, word [esp + 0x25c]
not edi
mov eax, dword [esi]
and eax, edi
test al, 0x16
je 0x1001956f
push esi
push 1
push ebx
call dword [0x1003097c]
test eax, eax
je 0x10019536
push esi
push 0xffffffffffffffff
push ebx
call dword [0x1003097c]
mov ax, 0xffff
pop ebp
mov dword [0x100307e4], 0
pop edi
pop esi
pop ebx
add esp, 0x244
ret
xor ax, ax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x244
ret
mov ebx, dword [esp + 0x258]
mov ebp, dword [esp + 0x260]
cmp dword [0x100307cc], 0
je 0x1001959b
mov eax, dword [0x100307d0]
jmp 0x100195a0
call fcn.100188c0
test eax, eax
jne 0x10019774
call fcn.100188f0
push 1
call fcn.10018960
lea eax, [esp + 0x14]
add esp, 4
push eax
push ebx
call fcn.10018c10
lea eax, [esp + 0x11c]
lea ecx, [esp + 0x18]
add esp, 8
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov edi, eax
mov dword [ebp], eax
jne 0x100195f6
call fcn.10018920
mov ax, 0xffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x244
ret
movsx esi, word [esp + 0x25c]
not esi
mov eax, dword [esp + 0x114]
and eax, esi
test al, 0x16
je 0x10019634
lea eax, [esp + 0x114]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x10019600
call fcn.10018920
mov ax, 0xffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x244
ret
push ebx
mov dword [0x100307e0], edi
push 0x10029ca8
lea edi, [ebp + 4]
call fcn.1001ef83
lea esi, [esp + 0x11c]
add esp, 8
mov ecx, 0xb
rep movsd dword es:[edi], dword [esi]
lea esi, [ebp + 0x30]
lea eax, [esp + 0x140]
push esi
add ebp, 0x238
push eax
call fcn.10018b50
mov byte [esp + 0x258], 0
lea eax, [esp + 0x24c]
add esp, 8
push ebp
push eax
call fcn.10018b50
add esp, 8
call fcn.10018950
cmp eax, 1
jne 0x1001976d
lea eax, [esp + 0x140]
push 0x5f
push eax
call fcn.10020368
add esp, 8
test eax, eax
je 0x1001976d
cmp byte [esp + 0x244], 0
je 0x1001976d
push 0
call fcn.10018960
lea eax, [esp + 0x14]
add esp, 4
push eax
push ebx
call fcn.10018bb0
lea eax, [esp + 0x18]
add esp, 8
push 0x5c
push eax
call fcn.1001fdec
add esp, 8
test eax, eax
je 0x100196f0
inc eax
jmp 0x100196ff
cmp byte [esp + 0x11], 0x3a
lea eax, [esp + 0x12]
je 0x100196ff
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x248]
push eax
call dword [sym.imp.USER32.dll_OemToCharA]
lea ecx, [esp + 0x114]
lea eax, [esp + 0x10]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
je 0x1001976d
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [esp + 0x140]
push 0x5f
push eax
call fcn.10020368
add esp, 8
test eax, eax
jne 0x1001976d
lea eax, [esp + 0x140]
push esi
push eax
call fcn.10018b50
mov byte [esp + 0x258], 0
lea eax, [esp + 0x24c]
add esp, 8
push ebp
push eax
call fcn.10018b50
add esp, 8
call fcn.10018920
jmp 0x100197db
lea esi, [ebp + 4]
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp], eax
cmp eax, 0xffffffff
jne 0x10019796
mov ax, 0xffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x244
ret
movsx edi, word [esp + 0x25c]
not edi
mov ebx, dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov eax, dword [esi]
and eax, edi
test al, 0x16
je 0x100197d2
push esi
mov eax, dword [ebp]
push eax
call ebx
test eax, eax
jne 0x100197a6
mov eax, dword [ebp]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ax, 0xffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x244
ret
mov word [ebp + 0x250], 0
xor ax, ax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x244
ret