Function at 0x14013ff40
Capabilities:
Create thread

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x60
movaps xmmword [rsp + 0x50], xmm6
mov r14, r8
mov rdi, rdx
mov rbp, rcx
movzx eax, word [rdx]
cmp eax, dword [rcx + 0x60]
jne 0x14013ff82
call fcn.140140540
mov qword [r14 + 8], rax
mov dword [r14], 1
xor esi, esi
mov qword [r14 + 0x10], rsi
xor eax, eax
jmp 0x140140250
cmp eax, dword [rcx + 0x64]
jne 0x14014024b
test byte [rdx + 0x18], 4
je 0x14014024b
mov ecx, dword [rdx + 0x14]
test ecx, ecx
js 0x14014024b
mov rax, qword [rbp + 0x48]
sub rax, qword [rbp + 0x40]
sar rax, 3
cmp ecx, eax
jge 0x14014024b
mov dword [r8], 4
xor esi, esi
mov qword [rsp + 0xb8], rsi
mov dword [rsp + 0xa0], esi
lea ecx, [rsi + 0x10]
call fcn.1401455e4
mov rbx, rax
mov qword [rsp + 0xa8], rax
test rax, rax
je 0x140140048
lea ecx, [rsi + 0x20]
call fcn.1401455e4
test rax, rax
je 0x140140012
mov qword [rax], rbp
mov qword [rax + 8], rdi
lea rcx, [rsp + 0xb8]
mov qword [rax + 0x10], rcx
lea rcx, [rsp + 0xa0]
mov qword [rax + 0x18], rcx
jmp 0x140140015
mov rax, rsi
mov qword [rsp + 0x38], rax
lea rdi, [rbx + 8]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], esi
mov r9, rax
lea r8, [0x140140e90]
xor edx, edx
xor ecx, ecx
call fcn.14017e404
mov qword [rbx], rax
test rax, rax
je 0x14014026a
jmp 0x14014004b
mov rbx, rsi
mov qword [rsp + 0xa8], rbx
mov rdx, qword [rbp + 0x98]
cmp rdx, qword [rbp + 0xa0]
je 0x140140073
mov rcx, rsi
mov qword [rdx], rbx
add qword [rbp + 0x98], 8
jmp 0x14014008f
lea r8, [rsp + 0xa8]
lea rcx, [rbp + 0x90]
call fcn.140140c50
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x1401400a8
cmp dword [rcx + 8], 0
jne 0x140140264
mov edx, 0x10
call fcn.140145620
mov eax, dword [rsp + 0xa0]
test eax, eax
jne 0x1401401e8
movabs r15, 0x311cdad160000
movabs r12, 0x112e0be826d694b3
movsd xmm6, qword [0x1401c0410]
call fcn.140144194
mov rbx, rax
call fcn.140144178
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdi, rcx, 0x3b9aca00
add rax, 0x5f5e100
add rdi, rax
call fcn.140144194
mov rbx, rax
call fcn.140144178
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rbx, rax
imul rax, rcx, 0x3b9aca00
add rbx, rax
cmp rbx, rdi
jge 0x1401401d9
nop dword [rax + rax]
call fcn.140144294
imul rdx, rax, 0x64
mov rax, rdi
sub rax, rbx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
comisd xmm0, xmm6
lea rcx, [rdx + r15]
ja 0x140140165
lea rcx, [rax + rdx]
add rax, rdx
add rdx, r15
comisd xmm0, xmm6
cmovbe rdx, rax
mov rax, r12
imul rdx
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rsp + 0x38], rdx
imul eax, edx, 0x3b9aca00
sub ecx, eax
mov dword [rsp + 0x40], ecx
lea rcx, [rsp + 0x38]
call fcn.140143b74
call fcn.140144194
mov rbx, rax
call fcn.140144178
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rbx, rax
imul rax, rcx, 0x3b9aca00
add rbx, rax
cmp rbx, rdi
jl 0x140140140
mov eax, dword [rsp + 0xa0]
test eax, eax
je 0x1401400d3
mov qword [rsp + 0x30], rsi
cmp eax, 1
jne 0x140140240
mov rcx, qword [rbp + 0x78]
test rcx, rcx
je 0x140140215
cmp byte [rbp + 0x80], 0
jne 0x140140215
mov rax, qword [rcx]
mov rdx, qword [rbp + 0x70]
call qword [rax + 0x18]
mov byte [rbp + 0x80], 1
lea r8, [rsp + 0x30]
lea rdx, [0x1401f0bb8]
mov rcx, qword [rsp + 0xb8]
call qword [sym.imp.ole32.dll_CoGetInterfaceAndReleaseStream]
test eax, eax
jne 0x140140244
mov rax, qword [rsp + 0x30]
mov qword [r14 + 8], rax
xor eax, eax
jmp 0x140140250
mov qword [r14 + 8], rsi
mov eax, 0x80004005
jmp 0x140140250
mov eax, 0x80004001
movaps xmm6, xmmword [rsp + 0x50]
add rsp, 0x60
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.14017e2b8
nop
mov dword [rdi], esi
mov ecx, 6
call fcn.140143e90
int3