Function at 0x18002a140
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x100
mov r12, rcx
mov r15, r8
mov ecx, dword [rbp + 0x7f]
mov rbx, rdx
imul eax, ecx, 0x3f0
mov r13d, ecx
mov dword [rbp - 0x71], eax
cmp ecx, eax
ja 0x18002a767
mov r14, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x58]
xor edx, edx
movabs r8, 0x7fffffffffffffff
movabs r10, 0x7ffffffffffffff7
cmp r13d, 0x7dbe
ja 0x18002a660
je 0x18002a757
cmp r13d, 0xe6
ja 0x18002a300
je 0x18002a73d
mov eax, r13d
sub eax, 0x12
je 0x18002a22f
sub eax, 0x91
je 0x18002a1fc
cmp eax, 0x3b
jne 0x18002a481
mov qword [0x1800c18d8], r15
mov qword [r15 + 0x80], r12
jmp 0x18002a481
test r15, r15
je 0x18002a733
mov rax, qword [r9]
sub rax, 5
cmp rax, r10
ja 0x18002a733
cmp qword [rbx], r8
ja 0x18002a733
mov r14, qword [r15 + 0x10]
mov qword [rbp - 0x69], r14
mov r14, qword [r14 + 0x48]
jmp 0x18002a481
cmp qword [r12], 0
jbe 0x18002a27e
mov edx, 0x41
nop dword [rax + rax]
cmp edx, 0x32c8
jne 0x18002a26b
mov rax, qword [r12]
mov rcx, qword [0x1800c1928]
cmp rax, rcx
jbe 0x18002a264
mov qword [r15], rcx
mov rax, qword [0x1800c1928]
jmp 0x18002a267
mov qword [r15], rax
sub qword [r12], rax
add edx, 0x3287
cmp edx, 0x650e
jbe 0x18002a240
jmp 0x18002a47e
mov rax, qword [r9]
mov rcx, qword [0x1800c1930]
cmp qword [rcx + rax*8 + 8], 0
je 0x18002a29d
inc rax
mov qword [r9], rax
mov rcx, qword [0x1800c1930]
mov rax, qword [rcx + rax*8]
xor r9d, r9d
mov qword [rsp + 0x30], rdx
xor r8d, r8d
mov dword [rsp + 0x28], 0xe5
xor ecx, ecx
mov qword [rsp + 0x20], rdx
xor edx, edx
mov qword [r15], rax
call fcn.18003ecb0
cmp eax, 1
jne 0x18002a47e
mov rcx, qword [0x1800c1928]
test rcx, rcx
je 0x18002a47e
mov rax, qword [r15]
cmp rax, rcx
jbe 0x18002a47e
sub rax, rcx
mov qword [r12], rax
mov rax, qword [0x1800c1928]
mov qword [r15], rax
jmp 0x18002a47e
cmp r13d, 0x2e7b
je 0x18002a60e
cmp r13d, 0x3f4e
je 0x18002a5da
cmp r13d, 0x5c53
jne 0x18002a481
mov rax, qword [r9]
lea r8, [rbp - 0x41]
xor edx, edx
mov qword [rbp - 0x41], rax
lea ecx, [rdx + 0x66]
call fcn.180038870
mov ebx, eax
lea r8, [rbp - 0x39]
mov rax, qword [rbp + 0x67]
xor edx, edx
mov rax, qword [rax]
lea ecx, [rdx + 0x66]
mov qword [rbp - 0x39], rax
call fcn.180038870
mov rdx, qword [rbp - 0x69]
lea r8, [rbp - 0x19]
mov dword [rsp + 0x48], 0x2e
xor r9d, r9d
lea ecx, [rbx + rax]
mov rax, qword [rdx + 0xa0]
mov qword [rbp - 0x11], rax
mov rax, qword [rdx + 0x58]
inc rax
mov dword [rsp + 0x60], ecx
mov qword [rbp - 0x29], rax
mov rax, qword [rbp + 0x77]
mov ebx, ecx
mov rcx, qword [rdx + 0x60]
add rcx, rbx
mov rax, qword [rax]
mov qword [rbp - 0x21], rcx
mov rcx, qword [rbp - 0x79]
add rcx, rax
mov rax, qword [rdx + 8]
mov qword [rbp - 0x31], rax
xor edx, edx
mov qword [rbp - 0x19], rcx
lea rax, [rbp - 0x31]
xor ecx, ecx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x29]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x11]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x21]
mov qword [rsp + 0x20], rax
call fcn.18001b3e0
cmp rax, 0xffffffffffffffff
je 0x18002a74d
mov rdx, qword [r15 + 0x38]
mov ecx, 0xe4
mov rax, qword [r15 + 0x30]
add rdx, rbx
inc rax
mov qword [rbp - 0x51], rax
mov eax, ecx
sub eax, 0xe2
je 0x18002a49c
cmp eax, 2
jne 0x18002a4a1
mov rax, qword [rbp - 0x51]
lea rcx, [rbp - 1]
mov qword [rbp - 1], rdx
mov r8d, 0x1f
lea rdx, [rbp - 9]
mov qword [rbp - 9], rax
call fcn.18001bbf0
xor r9d, r9d
mov qword [rbp + 7], rax
mov r8d, 0xaf
lea rdx, [rbp + 7]
xor ecx, ecx
call fcn.18001c0a0
mov rsi, rax
movabs rax, 0x400000000
cmp rsi, rax
ja 0x18002a74d
test r14, r14
je 0x18002a4b1
mov rax, qword [r14 + 0x38]
inc rax
cmp rax, qword [r14 + 0x30]
jae 0x18002a4b1
mov qword [r14 + 0x38], rax
mov rbx, qword [rbp + 0x67]
mov ecx, dword [rbp + 0x7f]
lea eax, [rcx + rcx*8]
lea r13d, [r13 + rax*8]
cmp r13d, dword [rbp - 0x71]
ja 0x18002a767
mov r9, qword [rbp + 0x77]
jmp 0x18002a195
mov eax, edx
xchg dword [rbp - 0x45], eax
inc ecx
cmp ecx, 0xe6
jb 0x18002a401
jmp 0x18002a451
mov ebx, 0xe2
mov eax, ebx
sub eax, 0xe2
je 0x18002a518
sub eax, 1
je 0x18002a4ef
cmp eax, 1
jne 0x18002a566
mov rcx, qword [rbp - 0x69]
mov edx, 0x76
mov rax, qword [rcx + 0x58]
lea r8, [rcx + 0x38]
inc rax
mov rcx, r14
mov qword [r14 + 0x28], rax
call fcn.180029170
jmp 0x18002a566
mov qword [r14 + 0x38], 0
mov rax, qword [r15 + 0x40]
mov qword [r14 + 0x30], rax
mov rax, qword [rbp - 0x61]
mov qword [r15 + 0x40], 0x200
mov qword [r14], rax
mov rax, qword [rbp - 0x79]
mov qword [r14 + 8], rax
jmp 0x18002a566
mov rcx, qword [r15 + 0x40]
mov edx, 0x47
add rcx, 4
shl rcx, 4
nop dword [rax]
mov eax, edx
sub eax, 0x47
je 0x18002a579
sub eax, 9
je 0x18002a5a7
cmp eax, 0x57
jne 0x18002a585
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x18002a58f
mov rcx, qword [rcx]
xor r8d, r8d
mov rdx, r12
call rax
mov r14, rdi
test r14, r14
je 0x18002a743
inc ebx
cmp ebx, 0xe5
jb 0x18002a4b6
jmp 0x18002a47a
test rcx, rcx
mov eax, 1
cmove rcx, rax
add edx, 9
cmp edx, 0x62
jb 0x18002a530
jmp 0x18002a55a
mov rax, qword [rsp + 0x58]
mov qword [r12], rax
mov rax, qword [rsp + 0x58]
mov qword [0], rax
jmp 0x18002a55a
test r12, r12
je 0x18002a5cc
mov rax, qword [r12]
test rax, rax
je 0x18002a5cc
mov r8, rcx
mov edx, 1
mov rcx, qword [r12 + 0x10]
call rax
mov r14, rax
mov rdi, rax
jmp 0x18002a55d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov rdi, rax
jmp 0x18002a55d
mov qword [rsp + 0x28], rdx
lea r8, [0x18000e440]
mov dword [rsp + 0x20], edx
mov r9, r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbp - 0x59], rax
cmp rax, 0
jne 0x18002a47e
mov byte [rsp + 0x50], al
jmp 0x18002a767
test r14, r14
jne 0x18002a620
mov qword [rbp - 0x79], rdx
mov qword [rbp - 0x61], rdx
jmp 0x18002a481
mov rax, qword [r14 + 0x38]
lea rdx, [rbp + 0xf]
add rax, rax
xor r9d, r9d
mov r8d, 0xaf
xor ecx, ecx
mov rax, qword [r14 + rax*8 + 0x48]
mov qword [rbp + 0xf], rax
call fcn.18001c0a0
mov rcx, qword [r14 + 0x38]
add rcx, 4
mov qword [rbp - 0x79], rax
add rcx, rcx
mov rax, qword [r14 + rcx*8]
mov qword [rbp - 0x61], rax
jmp 0x18002a47e
cmp r13d, 0x113b3
ja 0x18002a713
je 0x18002a706
cmp r13d, 0x8a2b
je 0x18002a6eb
cmp r13d, 0xb803
je 0x18002a6c3
cmp r13d, 0xe5db
jne 0x18002a481
mov rax, qword [r9]
lea rdx, [rsp + 0x58]
xor r9d, r9d
mov qword [rsp + 0x58], rax
mov r8d, 0xaf
xor ecx, ecx
call fcn.18001c0a0
add qword [r15 + 0x28], rax
mov rax, qword [rbx]
add qword [r15 + 0x20], rax
inc qword [r15 + 0x30]
jmp 0x18002a47e
mov rax, qword [r14 + 0x38]
mov rcx, qword [rbp - 0x79]
add rax, rax
add rcx, qword [r9]
mov qword [r14 + rax*8 + 0x48], rcx
mov rcx, qword [rbp - 0x69]
mov eax, dword [rsp + 0x60]
inc qword [rcx + 0x58]
add qword [rcx + 0x60], rax
jmp 0x18002a47e
mov rax, qword [r14 + 0x38]
mov rcx, qword [rbp - 0x61]
add rax, 4
add rcx, qword [rbx]
add rax, rax
mov qword [r14 + rax*8], rcx
jmp 0x18002a47e
mov eax, dword [rsp + 0x60]
add qword [r15 + 0x38], rax
jmp 0x18002a481
cmp r13d, 0x1418b
je 0x18002a72a
cmp r13d, 0x16f63
je 0x18002a767
jmp 0x18002a481
mov dword [rsp + 0x50], edx
jmp 0x18002a481
mov dword [rsp + 0x50], 0xb
jmp 0x18002a767
mov rax, qword [r15 + 0x28]
jmp 0x18002a76c
mov dword [rsp + 0x50], 5
jmp 0x18002a767
mov dword [rsp + 0x50], 9
jmp 0x18002a767
mov rax, qword [rbp - 0x59]
xchg qword [0x1800c18e0], rax
mov byte [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x140]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret