Function at 0x1019a19
Capabilities:
Create thread
Enumerate files on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x47c
mov eax, dword [0x1035030]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x1c]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [ebp - 0x47c], eax
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push eax
mov edi, ecx
call sub.msvcrt.dll_memset
and dword [ebx], 0
add esp, 0xc
cmp dword [edi], 0
jne 0x1019a7b
mov eax, 0x80004005
jmp 0x1019da0
call fcn.01013559
test eax, eax
jne 0x1019ab2
mov eax, dword [0x1035014]
cmp eax, 0x1035014
je 0x1019aa8
test byte [eax + 0x1c], 4
je 0x1019aa8
push 0x1003a20
push 0x18
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004e8e
mov eax, 0x1000010c
jmp 0x1019da0
push esi
push 0x104
lea eax, [ebp - 0x20c]
push eax
call fcn.010069ac
mov dword [ebp - 0x460], eax
test eax, eax
jge 0x1019b02
mov eax, dword [0x1035014]
cmp eax, 0x1035014
je 0x1019af8
test byte [eax + 0x1c], 1
je 0x1019af8
push dword [ebp - 0x460]
push 0x1003a20
push 0x19
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004eb4
mov eax, 0x80070057
jmp 0x1019da0
lea eax, [edi + 0x2c]
push eax
mov dword [ebp - 0x470], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov dword [ebp - 0x464], eax
mov ecx, eax
lea eax, [ebp - 0x20c]
sub ecx, eax
sar ecx, 1
mov eax, 0x103
sub eax, ecx
cmp dword [ebp - 0x464], 0
mov dword [ebp - 0x474], eax
jne 0x1019b7a
mov eax, dword [0x1035014]
cmp eax, 0x1035014
je 0x1019b6b
test byte [eax + 0x1c], 1
je 0x1019b6b
push 0x1003a20
push 0x1a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004e8e
mov dword [ebp - 0x460], 0x80070057
jmp 0x1019d8e
lea eax, [ebp - 0x45c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x468], eax
cmp eax, 0xffffffff
jne 0x1019bc7
mov eax, dword [0x1035014]
cmp eax, 0x1035014
je 0x1019bb8
test byte [eax + 0x1c], 1
je 0x1019bb8
push esi
push 0x1003a20
push 0x1b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004ee0
mov dword [ebp - 0x460], 0x90080108
jmp 0x1019d8e
cmp dword [ebp - 0x45c], 0x10
je 0x1019cb0
lea eax, [ebp - 0x430]
push eax
push dword [ebp - 0x474]
push dword [ebp - 0x464]
call fcn.010069ac
xor esi, esi
cmp eax, esi
mov dword [ebp - 0x460], eax
jge 0x1019c2f
mov eax, dword [0x1035014]
cmp eax, 0x1035014
je 0x1019cb0
test byte [eax + 0x1c], 1
je 0x1019cb0
push dword [ebp - 0x460]
push 0x1003a20
push 0x1c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004eb4
jmp 0x1019cb0
push 0x14
call fcn.01011b9e
pop ecx
cmp eax, esi
je 0x1019c45
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov esi, eax
mov dword [ebp - 0x478], esi
test esi, esi
je 0x1019cd3
lea eax, [ebp - 0x20c]
push eax
mov ecx, esi
call fcn.0101561c
push dword [ebp - 0x46c]
lea ecx, [esi + 4]
call fcn.0101561c
push dword [ebp - 0x47c]
lea ecx, [esi + 8]
call fcn.0101561c
mov eax, dword [ebp + 0x18]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x10], eax
lea eax, [ebp - 0x478]
push eax
lea ecx, [edi + 0x10]
call fcn.01018960
test eax, eax
je 0x1019ca7
inc dword [ebx]
and dword [ebp - 0x460], 0
jmp 0x1019cb0
push 1
mov ecx, esi
call fcn.01016b3e
lea eax, [ebp - 0x45c]
push eax
push dword [ebp - 0x468]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x1019d03
test byte [ebp + 0x14], 2
jne 0x1019bc7
jmp 0x1019d03
mov eax, dword [0x1035014]
cmp eax, 0x1035014
je 0x1019cf9
test byte [eax + 0x1c], 1
je 0x1019cf9
push 0x14
push 0x1003a20
push 0x1d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004eb4
mov dword [ebp - 0x460], 0x8007000e
push dword [ebp - 0x468]
call dword [sym.imp.KERNEL32.dll_FindClose]
xor esi, esi
cmp dword [ebx], esi
jbe 0x1019d8e
cmp dword [edi + 4], esi
jne 0x1019d8e
push dword [edi + 0x44]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov eax, dword [edi + 0x4c]
cmp eax, esi
je 0x1019d31
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [edi + 0x50]
push eax
push esi
push edi
push 0x1019984
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [edi + 0x4c], eax
cmp eax, esi
jne 0x1019d87
mov eax, dword [0x1035014]
cmp eax, 0x1035014
je 0x1019d7b
test byte [eax + 0x1c], 1
je 0x1019d7b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x1035014]
push 0x1003a20
push 0x1e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004eb4
mov dword [ebp - 0x460], 0x80004005
jmp 0x1019d8e
mov dword [edi + 4], 1
push dword [ebp - 0x470]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0x460]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01011f27
leave
ret 0x18