Function at 0x140081350
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x50
mov rbx, rcx
mov rsi, qword [rdx]
mov rbp, qword [rdx + 8]
xor r15d, r15d
cmp rsi, rbp
je 0x14006bcb7
mov ecx, pe_nt_image_headers64
call fcn.1403606d0
mov r14, rax
mov qword [rsp + 0x88], rax
mov rdx, qword [rbx + 8]
sub rdx, qword [rbx]
sar rdx, 3
mov rcx, qword [rbx + 0x18]
mov rdi, qword [rcx]
mov qword [rax], rdx
lea rcx, [rax + 8]
mov rdx, rsi
call fcn.14006c560
mov qword [r14 + 0x108], rdi
mov qword [r14 + 0x110], r15
xorps xmm0, xmm0
movups xmmword [r14 + 0x118], xmm0
mov qword [rsp + 0x80], r14
mov rdx, qword [rbx + 8]
cmp rdx, qword [rbx + 0x10]
je 0x14006bc91
mov qword [rdx], r14
add qword [rbx + 8], 8
jmp 0x14006bca1
lea r8, [rsp + 0x80]
mov rcx, rbx
call fcn.140026300
mov rax, qword [rbx + 8]
add rsi, 0x100
cmp rsi, rbp
jne 0x14006bc26
jmp 0x14006bcbb
mov rax, qword [rcx + 8]
sub rax, qword [rbx]
sar rax, 3
mov qword [rsp + 0x88], rax
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x40]
call fcn.14006c890
mov rcx, qword [rbx + 0x18]
add rcx, 0x18
mov rdx, rax
call fcn.1400374b0
mov rdi, qword [rsp + 0x48]
test rdi, rdi
je 0x14006bd22
mov esi, 0xffffffff
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x14006bd22
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], esi
cmp esi, 1
jne 0x14006bd22
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
lock inc qword [0x140511360]
mov rdi, qword [rbx]
mov rsi, qword [rbx + 8]
cmp rdi, rsi
je 0x14006bdb0
lea rbp, [0x14006bfc0]
mov rbx, qword [rdi]
mov ecx, 0x10
call fcn.1403606d0
mov qword [rax], rbx
mov qword [rax + 8], rbp
mov qword [rsp + 0x80], rax
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r15d
mov r9, rax
lea r8, [0x14006ca90]
xor edx, edx
xor ecx, ecx
call fcn.14036eb2c
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14006bdca
cmp dword [rbx + 0x120], 0
jne 0x14006bdc4
xorps xmm0, xmm0
movaps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
movups xmmword [rbx + 0x118], xmm1
add rdi, 8
cmp rdi, rsi
jne 0x14006bd41
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.14036bbe8
nop
mov dword [rsp + 0x38], r15d
mov ecx, 6
call fcn.14035ec80
int3
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov r8, rdx
mov r12, rcx
lea rcx, [0x1404ce720]
call fcn.1400262d0
movzx ecx, byte [r12 + 2]
mov eax, 1
shl rax, cl
mov qword [rsp + 0xb0], rax
xor r14d, r14d
mov r13d, r14d
lea rdi, [r12 + 0x60]
mov r15, qword [rdi]
mov rcx, qword [rdi + 8]
mov qword [rsp + 0xa0], rcx
cmp r15, rcx
je 0x1400815d2
lea rsi, [r15 + 0x50]
mov r10d, 0xffff0000
movabs r11, 0x179ec9cbd821dc3b
lea r9, [0x140000000]
nop
mov ebp, dword [rsi + 0x90]
imul rbp, rax
shr rbp, 0x14
mov eax, dword [r12]
and eax, 0xff000000
mov ecx, 0xff000000
cmp eax, 0x63000000
cmove ecx, r10d
and ecx, dword [r12]
cmp ecx, 0x6b000000
jne 0x140081442
mov rcx, qword [r8 + 0x78]
mov rax, r11
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 0xc
cmp ecx, 0x800
jb 0x140081428
mov rcx, r14
mov rax, r14
jmp 0x14008143a
mov eax, ecx
mov rcx, qword [r9 + rax*8 + 0x47b640]
mov rax, qword [r9 + rax*8 + 0x47f640]
lea rbp, [rcx + rax]
shr rbp, 0x14
mov rcx, qword [rsi + 8]
mov rbx, qword [rsi - 8]
add rcx, 0x40
add rbx, rcx
mov rcx, rbx
call fcn.140360c28
mov rdi, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.1403635e0
mov r9, qword [rsi - 0x10]
mov rax, qword [rsi]
mov rdx, rbx
mov rcx, rdi
test r9, r9
jne 0x14008148c
mov r9, rax
lea r8, [0x1404cf010]
call fcn.1400262a0
jmp 0x14008149d
mov qword [rsp + 0x20], rax
lea r8, [0x1404cf048]
call fcn.1400262a0
mov qword [rsp + 0x50], rdi
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdi + rax], 0
jne 0x1400814b0
mov qword [rsp + 0x58], rax
cmp byte [rsi + 0x50], 0
jne 0x1400814e9
mov qword [rsp + 0x48], 3
mov ecx, 4
call fcn.140360c28
mov rbx, rax
mov qword [rsp + 0x40], rax
mov eax, dword [0x1404cdcf8]
mov dword [rbx], eax
jmp 0x14008153e
mov ecx, 8
call fcn.140360c28
mov rbx, rax
xor eax, eax
mov qword [rbx], rax
movzx eax, byte [rsi + 0x53]
movzx ecx, byte [rsi + 0x52]
movzx r9d, byte [rsi + 0x51]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea r8, [0x1404ce578]
mov edx, 8
mov rcx, rbx
call fcn.1400262a0
mov qword [rsp + 0x40], rbx
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], 0
jne 0x140081530
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rbp
mov eax, dword [rsi + 0xa0]
mov dword [rsp + 0x28], eax
mov eax, dword [rsi + 0x90]
mov dword [rsp + 0x20], eax
mov r9, rbx
mov r8d, dword [rsi + 0x8c]
mov rdx, r13
lea rcx, [0x1404ce800]
call fcn.1400262d0
nop
mov rcx, rbx
call fcn.14036070c
nop
mov rcx, rdi
call fcn.14036070c
inc r13
add r15, 0x100
add rsi, 0x100
cmp r15, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xa8]
lea r9, [0x140000000]
mov r10d, 0xffff0000
movabs r11, 0x179ec9cbd821dc3b
jne 0x1400813d0
lea rdi, [r12 + 0x60]
mov rdx, r8
mov rcx, rdi
call fcn.140091a20
mov rax, qword [rdi + 8]
sub rax, qword [rdi]
sar rax, 8
mov qword [r12 + 0x20], r14
mov qword [r12 + 0x18], r14
mov qword [r12 + 0x28], rax
call fcn.14035efb8
mov rbx, rax
call fcn.14035ef9c
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul r8, rcx, 0x3b9aca00
add r8, rax
movabs rax, 0x431bde82d7b634db
imul r8
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [r12 + 0x30], rdx
xchg byte [0x1407a9f46], r14b
lea rcx, [r12 + 0x88]
mov rdx, rdi
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp 0x14006bc00