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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x47c
mov eax, dword [0x10a6184]
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 0x108b44d
mov eax, 0x80004005
jmp 0x108b772
call fcn.0108c4b2
test eax, eax
jne 0x108b484
mov eax, dword [0x10a60d8]
cmp eax, 0x10a60d8
je 0x108b47a
test byte [eax + 0x1c], 4
je 0x108b47a
push 0x1012400
push 0x18
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01015b76
mov eax, 0x1000010c
jmp 0x108b772
push esi
push 0x104
lea eax, [ebp - 0x20c]
push eax
call fcn.0101d307
mov dword [ebp - 0x460], eax
test eax, eax
jge 0x108b4d4
mov eax, dword [0x10a60d8]
cmp eax, 0x10a60d8
je 0x108b4ca
test byte [eax + 0x1c], 1
je 0x108b4ca
push dword [ebp - 0x460]
push 0x1012400
push 0x19
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010160ad
mov eax, 0x80070057
jmp 0x108b772
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 0x108b54c
mov eax, dword [0x10a60d8]
cmp eax, 0x10a60d8
je 0x108b53d
test byte [eax + 0x1c], 1
je 0x108b53d
push 0x1012400
push 0x1a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01015b76
mov dword [ebp - 0x460], 0x80070057
jmp 0x108b760
lea eax, [ebp - 0x45c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x468], eax
cmp eax, 0xffffffff
jne 0x108b599
mov eax, dword [0x10a60d8]
cmp eax, 0x10a60d8
je 0x108b58a
test byte [eax + 0x1c], 1
je 0x108b58a
push esi
push 0x1012400
push 0x1b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01015b9c
mov dword [ebp - 0x460], 0x90080108
jmp 0x108b760
cmp dword [ebp - 0x45c], 0x10
je 0x108b682
lea eax, [ebp - 0x430]
push eax
push dword [ebp - 0x474]
push dword [ebp - 0x464]
call fcn.0101d307
xor esi, esi
cmp eax, esi
mov dword [ebp - 0x460], eax
jge 0x108b601
mov eax, dword [0x10a60d8]
cmp eax, 0x10a60d8
je 0x108b682
test byte [eax + 0x1c], 1
je 0x108b682
push dword [ebp - 0x460]
push 0x1012400
push 0x1c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010160ad
jmp 0x108b682
push 0x14
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
cmp eax, esi
je 0x108b617
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 0x108b6a5
lea eax, [ebp - 0x20c]
push eax
mov ecx, esi
call fcn.01019fe4
push dword [ebp - 0x46c]
lea ecx, [esi + 4]
call fcn.01019fe4
push dword [ebp - 0x47c]
lea ecx, [esi + 8]
call fcn.01019fe4
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.0108a332
test eax, eax
je 0x108b679
inc dword [ebx]
and dword [ebp - 0x460], 0
jmp 0x108b682
push 1
mov ecx, esi
call fcn.01088510
lea eax, [ebp - 0x45c]
push eax
push dword [ebp - 0x468]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x108b6d5
test byte [ebp + 0x14], 2
jne 0x108b599
jmp 0x108b6d5
mov eax, dword [0x10a60d8]
cmp eax, 0x10a60d8
je 0x108b6cb
test byte [eax + 0x1c], 1
je 0x108b6cb
push 0x14
push 0x1012400
push 0x1d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010160ad
mov dword [ebp - 0x460], 0x8007000e
push dword [ebp - 0x468]
call dword [sym.imp.KERNEL32.dll_FindClose]
xor esi, esi
cmp dword [ebx], esi
jbe 0x108b760
cmp dword [edi + 4], esi
jne 0x108b760
push dword [edi + 0x44]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov eax, dword [edi + 0x4c]
cmp eax, esi
je 0x108b703
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [edi + 0x50]
push eax
push esi
push edi
push 0x108b356
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [edi + 0x4c], eax
cmp eax, esi
jne 0x108b759
mov eax, dword [0x10a60d8]
cmp eax, 0x10a60d8
je 0x108b74d
test byte [eax + 0x1c], 1
je 0x108b74d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x10a60d8]
push 0x1012400
push 0x1e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010160ad
mov dword [ebp - 0x460], 0x80004005
jmp 0x108b760
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.01039921
leave
ret 0x18