Function at 0x10001fc0
Capabilities:
Create thread
Terminate thread

Disassembly:
sub esp, 0x48
push ebx
push esi
push edi
xor ebx, ebx
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0xd]
mov byte [esp + 0xc], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, dword [esp + 0x64]
stosb byte es:[edi], al
mov eax, dword [esp + 0x60]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x58]
mov cl, byte [eax + 0x24c]
cmp cl, 1
mov ecx, dword [esp + 0x5c]
jne 0x1000248d
cmp ecx, 1
jne 0x10002095
lea edx, [eax + 0x14c]
mov al, byte [eax + 0x14c]
cmp al, bl
je 0x10002929
push 0x3f
push edx
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov al, byte [esp + 0x18]
add esp, 0xc
cmp al, bl
je 0x10002929
push ebx
lea eax, [esp + 0x10]
push ebx
push eax
push 0x10002bc0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
cmp esi, ebx
je 0x10002929
push 0x2bf20
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10002908
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov ebx, dword [esp + 0x5c]
jmp 0x10002914
cmp ecx, 2
jne 0x10002127
lea edx, [eax + 0x18c]
mov al, byte [eax + 0x18c]
cmp al, bl
je 0x10002929
push 0x3f
push edx
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov al, byte [esp + 0x18]
add esp, 0xc
cmp al, bl
je 0x10002929
push ebx
lea eax, [esp + 0x10]
push ebx
push eax
push 0x10002bc0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
cmp esi, ebx
je 0x10002929
push 0x2bf20
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10002908
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov ebx, dword [esp + 0x5c]
jmp 0x10002914
cmp ecx, 3
jne 0x100021b9
lea edx, [eax + 0x1cc]
mov al, byte [eax + 0x1cc]
cmp al, bl
je 0x10002929
push 0x3f
push edx
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov al, byte [esp + 0x18]
add esp, 0xc
cmp al, bl
je 0x10002929
push ebx
lea eax, [esp + 0x10]
push ebx
push eax
push 0x10002bc0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
cmp esi, ebx
je 0x10002929
push 0x2bf20
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10002908
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov ebx, dword [esp + 0x5c]
jmp 0x10002914
cmp ecx, 4
jne 0x1000224b
lea edx, [eax + 0x20c]
mov al, byte [eax + 0x20c]
cmp al, bl
je 0x10002929
push 0x3f
push edx
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov al, byte [esp + 0x18]
add esp, 0xc
cmp al, bl
je 0x10002929
push ebx
lea eax, [esp + 0x10]
push ebx
push eax
push 0x10002bc0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
cmp esi, ebx
je 0x10002929
push 0x2bf20
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10002908
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov ebx, dword [esp + 0x5c]
jmp 0x10002914
cmp ecx, 5
jne 0x100022d7
lea edx, [eax + 0x4c]
mov al, byte [eax + 0x4c]
cmp al, bl
je 0x10002929
push 0x3f
push edx
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov al, byte [esp + 0x18]
add esp, 0xc
cmp al, bl
je 0x10002929
push ebx
lea eax, [esp + 0x10]
push ebx
push eax
push 0x100029e0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
cmp esi, ebx
je 0x10002929
push 0x2bf20
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10002908
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov ebx, dword [esp + 0x5c]
jmp 0x10002914
cmp ecx, 6
jne 0x10002369
lea edx, [eax + 0x8c]
mov al, byte [eax + 0x8c]
cmp al, bl
je 0x10002929
push 0x3f
push edx
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov al, byte [esp + 0x18]
add esp, 0xc
cmp al, bl
je 0x10002929
push ebx
lea eax, [esp + 0x10]
push ebx
push eax
push 0x100029e0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
cmp esi, ebx
je 0x10002929
push 0x2bf20
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10002908
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov ebx, dword [esp + 0x5c]
jmp 0x10002914
cmp ecx, 7
jne 0x100023fb
lea edx, [eax + 0xcc]
mov al, byte [eax + 0xcc]
cmp al, bl
je 0x10002929
push 0x3f
push edx
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov al, byte [esp + 0x18]
add esp, 0xc
cmp al, bl
je 0x10002929
push ebx
lea eax, [esp + 0x10]
push ebx
push eax
push 0x100029e0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
cmp esi, ebx
je 0x10002929
push 0x2bf20
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10002908
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov ebx, dword [esp + 0x5c]
jmp 0x10002914
cmp ecx, 8
jne 0x10002929
lea edx, [eax + 0x10c]
mov al, byte [eax + 0x10c]
cmp al, bl
je 0x10002929
push 0x3f
push edx
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov al, byte [esp + 0x18]
add esp, 0xc
cmp al, bl
je 0x10002929
push ebx
lea eax, [esp + 0x10]
push ebx
push eax
push 0x100029e0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
cmp esi, ebx
je 0x10002929
push 0x2bf20
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10002908
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov ebx, dword [esp + 0x5c]
jmp 0x10002914
cmp ecx, 1
jne 0x10002519
lea edx, [eax + 0x4c]
mov al, byte [eax + 0x4c]
cmp al, bl
je 0x10002929
push 0x3f
push edx
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov al, byte [esp + 0x18]
add esp, 0xc
cmp al, bl
je 0x10002929
push ebx
lea eax, [esp + 0x10]
push ebx
push eax
push 0x100029e0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
cmp esi, ebx
je 0x10002929
push 0x2bf20
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10002908
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov ebx, dword [esp + 0x5c]
jmp 0x10002914
cmp ecx, 2
jne 0x100025ab
lea edx, [eax + 0x8c]
mov al, byte [eax + 0x8c]
cmp al, bl
je 0x10002929
push 0x3f
push edx
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov al, byte [esp + 0x18]
add esp, 0xc
cmp al, bl
je 0x10002929
push ebx
lea eax, [esp + 0x10]
push ebx
push eax
push 0x100029e0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
cmp esi, ebx
je 0x10002929
push 0x2bf20
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10002908
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov ebx, dword [esp + 0x5c]
jmp 0x10002914
cmp ecx, 3
jne 0x1000263d
lea edx, [eax + 0xcc]
mov al, byte [eax + 0xcc]
cmp al, bl
je 0x10002929
push 0x3f
push edx
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov al, byte [esp + 0x18]
add esp, 0xc
cmp al, bl
je 0x10002929
push ebx
lea eax, [esp + 0x10]
push ebx
push eax
push 0x100029e0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
cmp esi, ebx
je 0x10002929
push 0x2bf20
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10002908
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov ebx, dword [esp + 0x5c]
jmp 0x10002914
cmp ecx, 4
jne 0x100026cf
lea edx, [eax + 0x10c]
mov al, byte [eax + 0x10c]
cmp al, bl
je 0x10002929
push 0x3f
push edx
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov al, byte [esp + 0x18]
add esp, 0xc
cmp al, bl
je 0x10002929
push ebx
lea eax, [esp + 0x10]
push ebx
push eax
push 0x100029e0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
cmp esi, ebx
je 0x10002929
push 0x2bf20
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10002908
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov ebx, dword [esp + 0x5c]
jmp 0x10002914
cmp ecx, 5
jne 0x10002761
lea edx, [eax + 0x14c]
mov al, byte [eax + 0x14c]
cmp al, bl
je 0x10002929
push 0x3f
push edx
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov al, byte [esp + 0x18]
add esp, 0xc
cmp al, bl
je 0x10002929
push ebx
lea eax, [esp + 0x10]
push ebx
push eax
push 0x10002bc0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
cmp esi, ebx
je 0x10002929
push 0x2bf20
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10002908
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov ebx, dword [esp + 0x5c]
jmp 0x10002914
cmp ecx, 6
jne 0x100027f3
lea edx, [eax + 0x18c]
mov al, byte [eax + 0x18c]
cmp al, bl
je 0x10002929
push 0x3f
push edx
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov al, byte [esp + 0x18]
add esp, 0xc
cmp al, bl
je 0x10002929
push ebx
lea eax, [esp + 0x10]
push ebx
push eax
push 0x10002bc0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
cmp esi, ebx
je 0x10002929
push 0x2bf20
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10002908
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov ebx, dword [esp + 0x5c]
jmp 0x10002914
cmp ecx, 7
jne 0x10002885
lea edx, [eax + 0x1cc]
mov al, byte [eax + 0x1cc]
cmp al, bl
je 0x10002929
push 0x3f
push edx
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov al, byte [esp + 0x18]
add esp, 0xc
cmp al, bl
je 0x10002929
push ebx
lea eax, [esp + 0x10]
push ebx
push eax
push 0x10002bc0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
cmp esi, ebx
je 0x10002929
push 0x2bf20
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10002908
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov ebx, dword [esp + 0x5c]
jmp 0x10002914
cmp ecx, 8
jne 0x10002929
lea edx, [eax + 0x20c]
mov al, byte [eax + 0x20c]
cmp al, bl
je 0x10002929
push 0x3f
push edx
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov al, byte [esp + 0x18]
add esp, 0xc
cmp al, bl
je 0x10002929
push ebx
lea eax, [esp + 0x10]
push ebx
push eax
push 0x10002bc0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
cmp esi, ebx
je 0x10002929
push 0x2bf20
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10002908
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov ebx, dword [esp + 0x5c]
jmp 0x10002914
push 0xff
push esi
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp ebx, 1
jne 0x10002929
pop edi
mov eax, ebx
pop esi
pop ebx
add esp, 0x48
ret
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x48
ret