Function at 0x1800112b9
Capabilities:
Create thread

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x208
lea rbp, [rsp + 0x80]
sub rsp, 0x20
lea rcx, [0x180016fe0]
lea rdx, [0x180016fe9]
push 9
pop rdi
lea r9, [rbp + 0xd5]
mov r8d, edi
call fcn.180010cab
add rsp, 0x20
mov r13, rax
sub rsp, 0x20
lea rcx, [0x18001700f]
lea rdx, [0x18001701a]
push 0xb
pop rsi
lea r9, [rbp + 0xb6]
mov r8d, esi
call fcn.180010cab
add rsp, 0x20
mov r14, rax
sub rsp, 0x20
lea rcx, [0x18001701b]
lea rdx, [0x180017024]
lea r9, [rbp + 0xde]
mov r8d, edi
call fcn.180010cab
add rsp, 0x20
mov r12, rax
sub rsp, 0x20
lea rcx, [0x180017025]
lea rdx, [0x18001702e]
lea r9, [rbp + 0xe7]
mov r8d, edi
call fcn.180010cab
add rsp, 0x20
mov qword [rbp + 0x178], rax
sub rsp, 0x20
lea rcx, [0x180017030]
lea rdx, [0x1800170e5]
lea r9, [rbp - 0x75]
mov r8d, 0xb5
call fcn.180010cab
add rsp, 0x20
mov r15, rax
sub rsp, 0x20
lea rcx, [0x1800170e6]
lea rdx, [0x1800170f1]
lea r9, [rbp + 0xc1]
mov r8d, esi
call fcn.180010cab
add rsp, 0x20
mov rdi, rax
mov r8d, dword [0x180017248]
sub rsp, 0x20
lea rcx, [0x180017100]
lea rdx, [0x18001712a]
lea r9, [rbp + 0x40]
call fcn.180010cab
add rsp, 0x20
mov qword [rbp + 0x180], rax
sub rsp, 0x20
lea rcx, [0x18001712b]
lea rdx, [0x18001713a]
push 0xf
pop r8
lea r9, [rbp + 0xa7]
call fcn.180010cab
add rsp, 0x20
mov rsi, rax
mov eax, dword [0x180017250]
xor eax, dword [0x18001724c]
imul rax, rax, 0x21
add rax, 0xf
and rax, 0xfffffffffffffff0
sub rsp, rax
mov r9, rsp
sub rsp, 0x20
lea rcx, [0x180017140]
lea rdx, [0x180017161]
push 0x21
pop r8
call fcn.180010cab
add rsp, 0x20
mov rbx, rax
sub rsp, 0x20
lea rcx, [0x180017170]
lea rdx, [0x180017415]
push 0x1f
pop r8
lea r9, [rbp + 0x6a]
call fcn.180010cab
add rsp, 0x20
mov qword [rbp + 0x130], rax
sub rsp, 0x20
mov rcx, r13
call fcn.180009b15
mov ecx, eax
call fcn.180009ba0
mov rcx, r14
call rax
call fcn.180006dbf
add rsp, 0x20
mov qword [0x180017438], rax
sub rsp, 0x20
mov rcx, r15
call fcn.1800088cf
add rsp, 0x20
mov qword [rbp + 0x140], rax
sub rsp, 0x20
mov rcx, r15
call fcn.180008892
add rsp, 0x20
mov r13d, eax
sub rsp, 0x20
mov rcx, r12
call fcn.180009b15
mov ecx, eax
call fcn.180009ba0
xor r15d, r15d
xor ecx, ecx
call rax
add rsp, 0x20
lea r14, [rbp + 0xf0]
mov qword [r14], rax
sub rsp, 0x20
mov rcx, qword [rbp + 0x178]
call fcn.180009b15
mov ecx, eax
call fcn.180009ba0
mov rcx, r14
call rax
add rsp, 0x20
cmp dword [0x1800174d8], 1
je 0x1800115a9
mov r14, rax
sub rsp, 0x20
lea rcx, [0x180016ff0]
lea rdx, [0x18001700e]
push 0x1e
pop r8
lea r9, [rbp + 0x89]
call fcn.180010cab
add rsp, 0x20
mov rdi, rax
mov eax, dword [0x180017258]
xor eax, dword [0x180017254]
cmp dword [r14 + 0x18], eax
jne 0x1800115a9
sub rsp, 0x20
call 0x180011bf7
add rsp, 0x20
mov r14, rax
sub rsp, 0x20
mov rcx, qword [rbp + 0x180]
mov rdx, rax
call fcn.18000895f
add rsp, 0x20
mov rdi, rax
sub rsp, 0x20
mov rcx, r14
call sub.msvcrt.dll_free
add rsp, 0x20
sub rsp, 0x20
mov rcx, rdi
call fcn.1800088cf
add rsp, 0x20
mov qword [rbp + 0x138], rax
sub rsp, 0x20
mov rcx, rdi
call fcn.180008892
add rsp, 0x20
mov dword [rbp + 0x174], eax
sub rsp, 0x20
mov rcx, rsi
call fcn.1800088cf
add rsp, 0x20
mov qword [rbp + 0x148], rax
sub rsp, 0x20
mov rcx, rsi
call fcn.180008892
add rsp, 0x20
mov esi, eax
sub rsp, 0x20
mov rcx, rbx
call fcn.1800088cf
add rsp, 0x20
mov qword [rbp + 0x150], rax
sub rsp, 0x20
mov rcx, rbx
call fcn.180008892
add rsp, 0x20
movsxd rcx, dword [0x180017424]
test eax, eax
cmovle eax, r15d
mov qword [rbp + 0x120], rax
test esi, esi
cmovle esi, r15d
mov qword [rbp + 0x160], rsi
movsxd rax, r13d
push 0x68
pop r12
mov qword [rbp + 0x158], rax
cmp rcx, rax
jge 0x180011bbb
xor edx, edx
mov qword [rbp + 0x168], rcx
cmp edx, dword [rbp + 0x174]
jge 0x180011baf
movsxd r8, edx
mov qword [rbp + 0x128], r8
xor r8d, r8d
mov dword [rbp + 0x170], edx
cmp r8, qword [rbp + 0x160]
je 0x180011ba4
xor r9d, r9d
mov qword [rbp + 0x180], r8
cmp r9, qword [rbp + 0x120]
je 0x180011b9c
mov qword [rbp + 0x178], r9
mov rax, qword [rbp + 0x138]
mov rcx, qword [rbp + 0x128]
mov rcx, qword [rax + rcx*8]
sub rsp, 0x20
call fcn.180011fd2
add rsp, 0x20
mov rsi, rax
sub rsp, 0x20
mov rcx, rax
mov rdx, qword [rbp + 0x130]
call sub.msvcrt.dll_strcmp
add rsp, 0x20
test eax, eax
je 0x180011bdf
mov rax, qword [rbp + 0x140]
mov rcx, qword [rbp + 0x168]
mov rax, qword [rax + rcx*8]
mov rcx, qword [rbp + 0x148]
mov rdx, qword [rbp + 0x180]
mov rcx, qword [rcx + rdx*8]
mov rdx, qword [rbp + 0x150]
mov r8, qword [rbp + 0x178]
mov rdx, qword [rdx + r8*8]
mov qword [rbp + 0xf8], rax
and dword [rbp + 0x100], 0
mov qword [rbp + 0x108], rsi
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], rdx
mov rdx, qword [0x180017418]
mov eax, dword [0x180017420]
sub rsp, 0x30
mov dword [rsp + 0x20], eax
and qword [rsp + 0x28], 0
xor ecx, ecx
lea r8, [0x180012253]
lea r9, [rbp + 0xf8]
call qword [sym.imp.KERNEL32.DLL_CreateThread]
add rsp, 0x30
sub rsp, 0x20
test rax, rax
je 0x180011bef
mov rcx, rax
push 0xffffffffffffffff
pop rdx
call qword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
mov rcx, rsi
call sub.msvcrt.dll_free
add rsp, 0x20
and qword [0x180017440], 0
mov rsi, qword [0x180017468]
and qword [0x180017468], 0
test rsi, rsi
je 0x1800119b3
mov rdi, qword [rsi]
cmp dword [rdi + 0xc], 0
jne 0x1800117f7
sub rsp, 0x20
mov rcx, rdi
call fcn.1800017aa
add rsp, 0x20
mov rdi, qword [rsi]
cmp dword [rdi + 0xc], 0
jne 0x1800117f7
sub rsp, 0x20
mov rcx, rdi
call fcn.1800017aa
add rsp, 0x20
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x18001180d
sub rsp, 0x20
call sub.msvcrt.dll_free
add rsp, 0x20
mov rbx, qword [rdi + 0x30]
test rbx, rbx
je 0x180011971
mov eax, dword [rbx]
cmp eax, 3
je 0x180011857
cmp eax, 1
je 0x18001188a
cmp eax, 2
je 0x1800118c0
test eax, eax
jne 0x180011bcf
mov r15, qword [rbx + 8]
cmp dword [r15 + 0x10], 0
jne 0x180011951
sub rsp, 0x20
mov rcx, r15
call fcn.18000448f
jmp 0x18001194d
mov r15, qword [rbx + 8]
mov eax, dword [0x18001479c]
xor eax, dword [0x180014798]
cmp dword [r15 + 8], eax
jne 0x180011875
mov dword [r15 + 8], 1
mov rcx, qword [r15]
test rcx, rcx
je 0x180011951
sub rsp, 0x20
jmp 0x180011948
mov r15, qword [rbx + 8]
cmp dword [r15 + 0x18], 0
jne 0x1800118a5
sub rsp, 0x20
mov rcx, r15
call fcn.180004908
add rsp, 0x20
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x180011951
sub rsp, 0x20
call fcn.180004a31
jmp 0x18001194d
mov r15, qword [rbx + 8]
mov eax, dword [r15 + 0x28]
cmp eax, dword [0x1800172ac]
jne 0x1800118d8
mov dword [r15 + 0x28], 1
mov rcx, qword [r15]
test rcx, rcx
je 0x1800118ed
sub rsp, 0x20
call sub.msvcrt.dll_free
add rsp, 0x20
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x180011903
sub rsp, 0x20
call fcn.180004a31
add rsp, 0x20
mov rcx, qword [r15 + 0x20]
test rcx, rcx
je 0x180011919
sub rsp, 0x20
call fcn.180004a31
add rsp, 0x20
mov r13, qword [r15 + 0x30]
test r13, r13
je 0x180011951
mov rcx, qword [r13]
test rcx, rcx
je 0x180011941
mov r14, qword [rcx + 0x18]
sub rsp, 0x20
call fcn.180006f5e
add rsp, 0x20
mov rcx, r14
jmp 0x180011926
sub rsp, 0x20
mov rcx, r13
call sub.msvcrt.dll_free
add rsp, 0x20
sub rsp, 0x20
mov rcx, r15
call sub.msvcrt.dll_free
add rsp, 0x20
sub rsp, 0x20
mov rcx, rbx
call sub.msvcrt.dll_free
add rsp, 0x20
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x180011987
sub rsp, 0x20
call fcn.180004a31
add rsp, 0x20
sub rsp, 0x20
mov rcx, rdi
call sub.msvcrt.dll_free
add rsp, 0x20
mov rdi, qword [rsi + 8]
sub rsp, 0x20
mov rcx, rsi
call sub.msvcrt.dll_free
add rsp, 0x20
mov rsi, rdi
jmp 0x1800117bc
mov eax, dword [0x18001720c]
mov ecx, 0x7a008e78
xor eax, ecx
imul eax, eax, 0xfa001771
add eax, 0xbb180347
and eax, 0xfbb3c0b8
xor eax, 0xc536d860
cmp eax, 0x7aeebbce
jae 0x180011bb7
mov rsi, qword [0x1800174f0]
test rsi, rsi
je 0x180011a3f
movsxd rdi, dword [rsi]
cmp rdi, 0xffffffffffffffff
je 0x180011a2f
sub rsp, 0x20
lea rcx, [0x180014cd8]
lea rdx, [0x180014ce1]
push 9
pop r8
lea r9, [rbp + 0xcc]
call fcn.180010cab
mov rcx, rax
call fcn.180009b15
mov ecx, eax
call fcn.180009ba0
mov rcx, rdi
call rax
add rsp, 0x20
sub rsp, 0x20
mov rcx, rsi
call sub.msvcrt.dll_free
add rsp, 0x20
mov rsi, qword [0x1800174a0]
test rsi, rsi
je 0x180011b0c
xor edi, edi
mov rcx, qword [rsi]
cmp rdi, qword [rsi + 8]
jae 0x180011acb
mov rcx, qword [rcx + rdi*8]
mov rax, qword [rcx + 0x48]
test rax, rax
je 0x180011a9c
mov r8, qword [rcx + 0x40]
sub rsp, 0x20
mov rcx, rax
xor edx, edx
call sub.msvcrt.dll_memset
add rsp, 0x20
mov rax, qword [rsi]
mov rax, qword [rax + rdi*8]
mov rcx, qword [rax + 0x48]
sub rsp, 0x20
call sub.msvcrt.dll_free
add rsp, 0x20
mov rax, qword [rsi]
mov rcx, qword [rax + rdi*8]
sub rsp, 0x20
xor edx, edx
mov r8, r12
call sub.msvcrt.dll_memset
add rsp, 0x20
mov rax, qword [rsi]
mov rcx, qword [rax + rdi*8]
sub rsp, 0x20
call sub.msvcrt.dll_free
add rsp, 0x20
add rdi, qword [0x180014b18]
jmp 0x180011a51
mov r8, qword [0x180014b20]
imul r8, qword [rsi + 0x10]
sub rsp, 0x20
xor edx, edx
call sub.msvcrt.dll_memset
add rsp, 0x20
mov rcx, qword [rsi]
sub rsp, 0x20
call sub.msvcrt.dll_free
mov rcx, rsi
xor edx, edx
push 0x30
pop r8
call sub.msvcrt.dll_memset
mov rcx, rsi
call sub.msvcrt.dll_free
add rsp, 0x20
mov eax, dword [0x180017214]
xor eax, dword [0x180017210]
imul eax, eax, 0xd03951d1
mov ecx, dword [0x18001721c]
xor ecx, dword [0x180017218]
cmp eax, 0xd05c8256
sbb ecx, 0xffffffff
cmp ecx, dword [0x180017220]
jbe 0x180011bb9
mov rcx, qword [0x1800174e0]
test rcx, rcx
je 0x180011b53
sub rsp, 0x20
call sub.msvcrt.dll_free
add rsp, 0x20
mov rax, qword [0x180017438]
mov rcx, qword [rax]
test rcx, rcx
je 0x180011b72
mov rdx, qword [rcx + 0x18]
mov qword [rax], rdx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x180011b46
mov r9, qword [rbp + 0x178]
inc r9
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x158]
mov edx, dword [rbp + 0x170]
mov r8, qword [rbp + 0x180]
jmp 0x18001169d
inc r8
jmp 0x180011686
add edx, dword [0x18001725c]
jmp 0x180011667
inc rcx
jmp 0x180011655
jmp 0x180011bb7
jmp 0x180011bb9
lea rsp, [rbp + 0x188]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov ecx, dword [0x1800142cc]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.DLL_ExitThread]
sub rsp, 0x20
call sym.msvcp74.dll_InitService
xor ecx, ecx
call sub.msvcrt.dll_exit
push 1
pop rcx
call sub.msvcrt.dll_exit
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
sub rsp, 0x20
lea rcx, [0x180016f90]
lea rdx, [0x180016f99]
push 9
pop rsi
lea r9, [rbp - 0x5a]
mov r8d, esi
call fcn.180010cab
add rsp, 0x20
mov qword [rbp + 0x40], rax
sub rsp, 0x20
lea rcx, [0x180016f9a]
lea rdx, [0x180016f9f]
push 5
pop rdi
lea r9, [rbp + 8]
mov r8d, edi
call fcn.180010cab
add rsp, 0x20
mov qword [rbp + 0x38], rax
mov r8d, dword [0x180017224]
sub rsp, 0x20
lea rcx, [0x180016fa0]
lea rdx, [0x180016fa9]
lea r9, [rbp - 0x51]
call fcn.180010cab
add rsp, 0x20
mov rbx, rax
mov eax, dword [0x18001722c]
xor eax, dword [0x180017228]
lea rax, [rax + rax*8]
add rax, 0xf
and rax, 0xfffffffffffffff0
sub rsp, rax
mov r9, rsp
sub rsp, 0x20
lea rcx, [0x180016faa]
lea rdx, [0x180016fb3]
mov r8d, esi
call fcn.180010cab
add rsp, 0x20
mov r14, rax
sub rsp, 0x20
lea rcx, [0x180016fb4]
lea rdx, [0x180016fb8]
push 4
pop r15
lea r9, [rbp + 0x1c]
mov r8d, r15d
call fcn.180010cab
add rsp, 0x20
mov qword [rbp + 0x48], rax
sub rsp, 0x20
lea rcx, [0x180016fb9]
lea rdx, [0x180016fbe]
lea r9, [rbp + 0xd]
mov r8d, edi
call fcn.180010cab
add rsp, 0x20
mov qword [rbp + 0x50], rax
sub rsp, 0x20
lea rcx, [0x180016fbf]
lea rdx, [0x180016fc2]
push 3
pop rsi
lea r9, [rbp + 0x72]
mov r8d, esi
call fcn.180010cab
add rsp, 0x20
mov qword [rbp + 0x58], rax
mov r8d, dword [0x180017230]
sub rsp, 0x20
lea rcx, [0x180016fc3]
lea rdx, [0x180016fc7]
lea r9, [rbp + 0x20]
call fcn.180010cab
add rsp, 0x20
mov qword [rbp + 0x60], rax
sub rsp, 0x20
lea rcx, [0x180016fc8]
lea rdx, [0x180016fcd]
lea r9, [rbp + 0x12]
mov r8d, edi
call fcn.180010cab
add rsp, 0x20
mov qword [rbp + 0x68], rax
sub rsp, 0x20
lea rcx, [0x180016fce]
lea rdx, [0x180016fd3]
lea r9, [rbp + 0x17]
mov r8d, edi
call fcn.180010cab
add rsp, 0x20
mov r12, rax
sub rsp, 0x20
lea rcx, [0x180016fd4]
lea rdx, [0x180016fd8]
lea r9, [rbp + 0x24]
mov r8d, r15d
call fcn.180010cab
add rsp, 0x20
mov rdi, rax
sub rsp, 0x20
lea rcx, [0x180016fd9]
lea rdx, [0x180016fdc]
lea r9, [rbp + 0x75]
mov r8d, esi
call fcn.180010cab
add rsp, 0x20
mov qword [rbp + 0x28], rax
mov eax, dword [0x180017234]
add rax, rax
add rax, 0xf
and rax, 0xfffffffffffffff0
sub rsp, rax
mov r9, rsp
mov r8d, dword [0x18001723c]
xor r8d, dword [0x180017238]
sub rsp, 0x20
lea rcx, [0x180016fdd]
lea rdx, [0x180016fdf]
call fcn.180010cab
add rsp, 0x20
mov qword [rbp + 0x30], rax
sub rsp, 0x20
mov rcx, rbx
call fcn.180009b15
mov ecx, eax
call fcn.180009ba0
xor r13d, r13d
xor ecx, ecx
call rax
add rsp, 0x20
lea rsi, [rbp - 0x48]
mov qword [rsi], rax
sub rsp, 0x20
mov rcx, r14
call fcn.180009b15
mov ecx, eax
call fcn.180009ba0
mov rcx, rsi
call rax
add rsp, 0x20
mov rcx, rax
mov eax, dword [rax + 0x1c]
push 7
pop r8
cdq
idiv r8d
cdqe
movsxd rdx, dword [rcx + 0x10]
inc rdx
movsxd rcx, dword [rcx + 0x14]
movsxd r8, dword [0x180017240]
add r8, rcx
lea rcx, [rbp - 0x80]
mov qword [rcx], r8
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], rax
sub rsp, 0x20
call fcn.180009a3e
add rsp, 0x20
mov rbx, rax
sub rsp, 0x20
mov rcx, qword [rbp + 0x40]
call fcn.180009b15
mov ecx, eax
call fcn.180009ba0
add rsp, 0x20
mov r14, rax
sub rsp, 0x20
mov rcx, rbx
call rax
add rsp, 0x20
mov r15, rax
mov rax, qword [rbp + 0x48]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp + 0x50]
mov qword [rbp - 0x38], rax
mov rax, qword [rbp + 0x38]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], rdi
mov ecx, dword [0x180017244]
sub rsp, 0x20
call fcn.180004940
add rsp, 0x20
mov rsi, rax
movsxd r12, r15d
push 1
pop r15
sub rsp, 0x20
cmp r13, 8
je 0x180011faf
mov rcx, rsi
mov rdx, qword [rbp + 0x28]
push 2
pop r8
call fcn.1800049ad
mov rcx, rsi
mov rdx, rbx
mov r8, r12
call fcn.1800049ad
mov rcx, rsi
mov rdx, qword [rbp + 0x30]
mov r8, r15
call fcn.1800049ad
add rsp, 0x20
mov rdi, qword [rbp + r13*8 - 0x40]
sub rsp, 0x20
mov rcx, rdi
call r14
mov rcx, rsi
mov rdx, rdi
mov r8, rax
call fcn.1800049ad
add rsp, 0x20
inc r13
jmp 0x180011f4e
mov rcx, rbx
call sub.msvcrt.dll_free
mov rcx, rsi
xor edx, edx
call fcn.180004b82
lea rsp, [rbp + 0x78]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret