Function at 0x180039d30
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
lea edi, [rcx - 0xa]
mov rsi, rdx
mov dword [rsp + 0x98], edi
cmp ecx, edi
jbe case.0x180039d83.0
lea ebx, [rcx - 0x54]
xor ebp, ebp
mov dword [rsp + 0x90], ebx
lea rdx, [0x180000000]
nop dword [rax]
cmp ebx, 0x16
ja case.0x180039d83.3
mov ecx, dword [rdx + rbx*4 + 0x3a088]
add rcx, rdx
jmp rcx
mov rcx, qword [rsi + 0x70]
mov r9d, 0x51
xor r8d, r8d
xor edx, edx
call fcn.180013640
jmp 0x180039fc0
mov r8, rsi
mov edx, 0x44
xor ecx, ecx
call fcn.18001beb0
test al, al
jne 0x180039ffa
xor edx, edx
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rbp
xor r9d, r9d
mov r8, rsi
mov qword [rsp + 0x20], rbp
lea ecx, [rdx + 0x34]
call fcn.18000c040
test al, al
je 0x180039fc0
mov eax, 3
jmp 0x180039fe2
mov edx, 0x119
mov rcx, rsi
call fcn.180025060
test al, al
jne 0x18003a001
mov r9, rsi
xor r8d, r8d
mov edx, 0xa3
xor ecx, ecx
call fcn.180021ca0
test al, al
je 0x180039fc0
mov eax, 4
jmp 0x180039fe2
mov byte [rsp + 0x80], 1
jmp case.0x180039d83.3
mov qword [rsp + 0x28], rbp
lea r8, [0x1800094d0]
mov r9, rsi
mov dword [rsp + 0x20], ebp
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsi], rax
test rax, rax
je 0x18003a008
lea r9, [rsp + 0x90]
mov dword [rsp + 0x90], 1
xor r8d, r8d
mov edx, 0x86
mov rcx, rsi
call fcn.18004e300
jmp 0x180039fc0
mov rcx, qword [rsi + 0x90]
mov r9d, 0x51
xor r8d, r8d
xor edx, edx
call fcn.180013640
mov rcx, qword [rsi + 0x50]
mov r9d, 0x51
xor r8d, r8d
xor edx, edx
call fcn.180013640
jmp 0x180039fc0
mov rcx, qword [rsi + 0x68]
test rcx, rcx
je 0x180039fae
mov r13d, ebp
cmp dword [rsi + 0x20], ebp
jbe 0x180039f9e
nop word [rax + rax]
mov eax, dword [rsi]
mov r12d, ebp
inc eax
test eax, eax
jle 0x180039f64
mov eax, r13d
mov r14, rbp
lea r15, [rax*8]
nop dword [rax]
mov ebx, ebp
cmp dword [rsi + 0x10], ebx
jle 0x180039f38
mov rdi, rbp
nop word [rax + rax]
mov rax, qword [rsi + 0x68]
mov rcx, qword [rax + r15]
mov rdx, qword [r14 + rcx]
mov rax, qword [rdx + rdi]
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x180039f2d
mov eax, ebx
xor r9d, r9d
lea rcx, [rdx + rax*8]
xor edx, edx
lea r8d, [r9 + 0x4c]
call fcn.18002abb0
inc ebx
add rdi, 8
cmp ebx, dword [rsi + 0x10]
jl 0x180039f00
mov rax, qword [rsi + 0x68]
mov r9d, 0x51
xor r8d, r8d
xor edx, edx
mov rcx, qword [r15 + rax]
mov rcx, qword [rcx + r14]
call fcn.180013640
mov eax, dword [rsi]
inc r12d
inc eax
add r14, 8
cmp r12d, eax
jl 0x180039ef0
mov rcx, qword [rsi + 0x68]
mov r9d, 0x51
mov eax, r13d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rcx + rax*8]
call fcn.180013640
inc r13d
cmp r13d, dword [rsi + 0x20]
jb 0x180039ed0
mov rcx, qword [rsi + 0x68]
mov ebx, dword [rsp + 0x90]
mov edi, dword [rsp + 0x98]
mov r9d, 0x51
xor r8d, r8d
xor edx, edx
call fcn.180013640
xor r9d, r9d
lea rcx, [rsi + 0x78]
xor edx, edx
lea r8d, [r9 + 0x4c]
call fcn.18002abb0
lea rdx, [0x180000000]
dec ebx
mov dword [rsp + 0x90], ebx
lea eax, [rbx + 0x54]
cmp eax, edi
ja 0x180039d70
mov eax, dword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, 2
jmp 0x180039fe2
mov eax, 1
jmp 0x180039fe2
mov byte [rsp + 0x80], bpl
jmp case.0x180039d83.0
mov rcx, qword [rsi + 0x30]
test rcx, rcx
je 0x18003a067
cmp dword [rsi + 0x10], ebp
jle 0x18003a057
mov rbx, rbp
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rsi + 0x30]
mov r9d, 0x51
xor r8d, r8d
xor edx, edx
mov rcx, qword [rcx + rbx]
call fcn.180013640
inc ebp
lea rbx, [rbx + 8]
cmp ebp, dword [rsi + 0x10]
jl 0x18003a030
mov rcx, qword [rsi + 0x30]
mov r9d, 0x51
xor r8d, r8d
xor edx, edx
call fcn.180013640
mov rcx, qword [rsi + 0x38]
mov r9d, 0x51
xor r8d, r8d
xor edx, edx
call fcn.180013640
jmp case.0x180039d83.0
mov eax, ebp
jmp 0x180039fe2