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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x47c
mov eax, dword [0x10ed860]
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 0x10b9ce7
mov eax, 0x80004005
jmp 0x10ba00c
call fcn.010bacfb
test eax, eax
jne 0x10b9d1e
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x10b9d14
test byte [eax + 0x1c], 4
je 0x10b9d14
push 0x100b054
push 0x18
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027e15
mov eax, 0x1000010c
jmp 0x10ba00c
push esi
push 0x104
lea eax, [ebp - 0x20c]
push eax
call fcn.0104e20e
mov dword [ebp - 0x460], eax
test eax, eax
jge 0x10b9d6e
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x10b9d64
test byte [eax + 0x1c], 1
je 0x10b9d64
push dword [ebp - 0x460]
push 0x100b054
push 0x19
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027ecb
mov eax, 0x80070057
jmp 0x10ba00c
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 0x10b9de6
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x10b9dd7
test byte [eax + 0x1c], 1
je 0x10b9dd7
push 0x100b054
push 0x1a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027e15
mov dword [ebp - 0x460], 0x80070057
jmp 0x10b9ffa
lea eax, [ebp - 0x45c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x468], eax
cmp eax, 0xffffffff
jne 0x10b9e33
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x10b9e24
test byte [eax + 0x1c], 1
je 0x10b9e24
push esi
push 0x100b054
push 0x1b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027e3b
mov dword [ebp - 0x460], 0x90080108
jmp 0x10b9ffa
cmp dword [ebp - 0x45c], 0x10
je 0x10b9f1c
lea eax, [ebp - 0x430]
push eax
push dword [ebp - 0x474]
push dword [ebp - 0x464]
call fcn.0104e20e
xor esi, esi
cmp eax, esi
mov dword [ebp - 0x460], eax
jge 0x10b9e9b
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x10b9f1c
test byte [eax + 0x1c], 1
je 0x10b9f1c
push dword [ebp - 0x460]
push 0x100b054
push 0x1c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027ecb
jmp 0x10b9f1c
push 0x14
call fcn.010a08d3
pop ecx
cmp eax, esi
je 0x10b9eb1
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 0x10b9f3f
lea eax, [ebp - 0x20c]
push eax
mov ecx, esi
call fcn.0105050a
push dword [ebp - 0x46c]
lea ecx, [esi + 4]
call fcn.0105050a
push dword [ebp - 0x47c]
lea ecx, [esi + 8]
call fcn.0105050a
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.010b8bcc
test eax, eax
je 0x10b9f13
inc dword [ebx]
and dword [ebp - 0x460], 0
jmp 0x10b9f1c
push 1
mov ecx, esi
call fcn.010b6da5
lea eax, [ebp - 0x45c]
push eax
push dword [ebp - 0x468]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x10b9f6f
test byte [ebp + 0x14], 2
jne 0x10b9e33
jmp 0x10b9f6f
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x10b9f65
test byte [eax + 0x1c], 1
je 0x10b9f65
push 0x14
push 0x100b054
push 0x1d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027ecb
mov dword [ebp - 0x460], 0x8007000e
push dword [ebp - 0x468]
call dword [sym.imp.KERNEL32.dll_FindClose]
xor esi, esi
cmp dword [ebx], esi
jbe 0x10b9ffa
cmp dword [edi + 4], esi
jne 0x10b9ffa
push dword [edi + 0x44]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov eax, dword [edi + 0x4c]
cmp eax, esi
je 0x10b9f9d
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [edi + 0x50]
push eax
push esi
push edi
push 0x10b9bf0
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [edi + 0x4c], eax
cmp eax, esi
jne 0x10b9ff3
mov eax, dword [0x10ed030]
cmp eax, 0x10ed030
je 0x10b9fe7
test byte [eax + 0x1c], 1
je 0x10b9fe7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x10ed030]
push 0x100b054
push 0x1e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027ecb
mov dword [ebp - 0x460], 0x80004005
jmp 0x10b9ffa
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.010a0b37
leave
ret 0x18