Function at 0x140193e3c
Capabilities:
Create thread

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x120
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x140231ec8]
xor rax, rsp
mov qword [rbp - 8], rax
mov r15b, r8b
mov rsi, rdx
xor r12d, r12d
mov dword [rsp + 0x48], r12d
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x38], r12
lea ebx, [r12 + 7]
mov qword [rbp - 0x30], rbx
mov word [rbp - 0x48], r12w
mov edi, 0x1000
cmp qword [r9 + 0x10], r12
jne 0x140194021
mov qword [rsp + 0x78], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
xor r8d, r8d
lea rdx, [0x1401dbff0]
lea rcx, [rsp + 0x78]
call fcn.1400041b8
nop
mov qword [rbp - 0x28], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x18], xmm0
lea r8d, [r12 + 0xe]
lea rdx, str.ExternalViewer
lea rcx, [rbp - 0x28]
call fcn.1400041b8
nop
mov qword [rsp + 0x58], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
lea r8d, [r12 + 6]
lea rdx, [0x1401dceb0]
lea rcx, [rsp + 0x58]
call fcn.1400041b8
nop
lea r9, [rsp + 0x78]
lea r8, [rbp - 0x48]
lea rdx, [rbp - 0x28]
lea rcx, [rsp + 0x58]
call fcn.140116818
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x140193f64
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, rdi
jb 0x140193f5f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140194592
call fcn.1401af9bc
movdqa xmm0, xmmword [0x1401dc090]
movdqu xmmword [rsp + 0x68], xmm0
mov word [rsp + 0x58], r12w
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x140193fb4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, rdi
jb 0x140193faf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140194598
call fcn.1401af9bc
movdqa xmm0, xmmword [0x1401dc090]
movdqu xmmword [rbp - 0x18], xmm0
mov word [rbp - 0x28], r12w
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x140194003
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, rdi
jb 0x140193ffe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14019459e
call fcn.1401af9bc
movdqa xmm0, xmmword [0x1401dc090]
movdqu xmmword [rbp - 0x78], xmm0
mov word [rsp + 0x78], r12w
lea rcx, [rbp - 0x48]
call fcn.1400fde80
jmp 0x14019402d
mov rdx, r9
lea rcx, [rbp - 0x48]
call fcn.140004958
cmp qword [rbp - 0x38], r12
jne 0x14019403b
mov r14b, r12b
jmp 0x140194518
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x50], r12
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x140194054
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
lea rcx, [rbp - 0x68]
call fcn.1400042c0
nop
lea rcx, [rbp - 0x68]
call fcn.140129d58
lea rcx, [rbp - 0x48]
call fcn.1400cbff4
movabs rbx, 0x7ffffffffffffffe
mov r14d, 1
test al, al
jne 0x140194251
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r12w
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x48]
call fcn.140163630
cmp qword [rsp + 0x68], r12
je 0x1401941ff
lea eax, [r14 + 0x1f]
mov word [rsp + 0x40], ax
mov rax, qword [rsp + 0x68]
cmp rax, rbx
je 0x1401945a4
lea r9, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae r9, qword [rsp + 0x58]
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x58]
mov dl, byte [rsp + 0x40]
lea rcx, [rbp - 0x28]
call fcn.140004684
mov dword [rsp + 0x48], r14d
lea rdx, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae rdx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x58]
lea rcx, [rbp - 0x28]
call fcn.140006c24
mov qword [rsp + 0x78], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
movups xmm6, xmmword [rax]
movups xmmword [rsp + 0x78], xmm6
movups xmm7, xmmword [rax + 0x10]
movdqu xmmword [rbp - 0x78], xmm7
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
lea edi, [r14 + 2]
mov dword [rsp + 0x48], edi
mov rdx, qword [rbp - 0x50]
cmp rdx, 8
jb 0x1401941ac
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401941a7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401945aa
call fcn.1401af9bc
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r12w
movups xmmword [rbp - 0x68], xmm6
movups xmmword [rbp - 0x58], xmm7
movdqa xmm0, xmmword [0x1401dc090]
movdqu xmmword [rbp - 0x78], xmm0
mov word [rsp + 0x78], r12w
and edi, 0xfffffffd
mov dword [rsp + 0x48], edi
movdqu xmmword [rbp - 0x78], xmm0
mov word [rsp + 0x78], r12w
and edi, 0xfffffffe
mov dword [rsp + 0x48], edi
lea rcx, [rbp - 0x28]
call fcn.140006b94
mov edi, 0x1000
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x14019423d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, rdi
jb 0x140194238
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401945b0
call fcn.1401af9bc
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r12w
mov ecx, dword [0x14027f3a8]
mov rax, qword gs:[0x58]
mov edx, 4
mov rcx, qword [rax + rcx*8]
lea rdi, [0x14025c1d0]
mov eax, dword [rdx + rcx]
cmp dword [0x14025c2a0], eax
jg 0x1401945b6
mov r8b, r14b
mov rdx, rsi
mov rcx, rdi
call fcn.1401955f0
mov qword [rbp - 0x28], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x18], xmm0
xor r8d, r8d
lea rdx, [0x1401dbff0]
lea rcx, [rbp - 0x28]
call fcn.1400041b8
nop
mov qword [rsp + 0x78], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
xor r8d, r8d
lea rdx, [0x1401dbff0]
lea rcx, [rsp + 0x78]
call fcn.1400041b8
nop
lea rax, [rsp + 0x58]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], r12
mov rdi, qword [rbp - 0x38]
lea rsi, [rbp - 0x48]
cmp qword [rbp - 0x30], 8
cmovae rsi, qword [rbp - 0x48]
cmp rdi, rbx
ja 0x1401945f5
mov qword [rsp + 0x70], 7
cmp rdi, 8
jae 0x14019432f
mov qword [rsp + 0x68], rdi
mov r8d, 0x10
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.1401b1b70
jmp 0x1401943b6
mov rax, rdi
or rax, 7
cmp rax, rbx
jbe 0x14019434b
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x14019437d
mov rbx, rax
mov ecx, 0xa
cmp rax, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x1401945fb
add rcx, rcx
cmp rcx, 0x1000
jb 0x140194384
call fcn.14000417c
jmp 0x140194393
test rcx, rcx
je 0x140194390
call fcn.1401af980
jmp 0x140194393
mov rax, r12
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rbx
lea r8, [rdi*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.1401b1b70
nop
mov r9b, r15b
xor r9b, r14b
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
lea rsi, [0x14025c1d0]
mov qword [rsp + 0x20], rsi
lea r8, [rbp - 0x68]
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x58]
call fcn.140197e48
test al, al
sete bl
mov rdx, qword [rbp - 0x70]
mov edi, 0x1000
cmp rdx, 8
jb 0x14019442b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, rdi
jb 0x140194426
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140194601
call fcn.1401af9bc
movdqa xmm0, xmmword [0x1401dc090]
movdqu xmmword [rbp - 0x78], xmm0
mov word [rsp + 0x78], r12w
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x14019447a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, rdi
jb 0x140194475
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140194607
call fcn.1401af9bc
movdqa xmm0, xmmword [0x1401dc090]
movdqu xmmword [rbp - 0x18], xmm0
mov word [rbp - 0x28], r12w
test bl, bl
je 0x14019449d
mov rcx, rsi
call fcn.140192b40
mov r14b, r12b
jmp 0x1401944ca
test r15b, r15b
je 0x1401944c1
cmp qword [0x14025c1d0], r12
je 0x1401944c1
mov r8, rsi
mov edx, 0x10000
lea rcx, [0x140192e30]
call fcn.1401bd1b8
jmp 0x1401944ca
mov rcx, rsi
call fcn.140192b40
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 8
jb 0x140194506
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, rdi
jb 0x140194501
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14019460d
call fcn.1401af9bc
mov qword [rbp - 0x58], r12
mov ebx, 7
mov qword [rbp - 0x50], rbx
mov word [rbp - 0x68], r12w
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x140194550
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, rdi
jb 0x14019454b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14019458c
call fcn.1401af9bc
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], rbx
mov word [rbp - 0x48], r12w
mov al, r14b
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1401afad0
lea r11, [rsp + 0x120]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1401b6b94
nop
call fcn.1401b6b94
nop
call fcn.1401b6b94
nop
call fcn.1401b6b94
nop
call fcn.140006bf8
nop
call fcn.1401b6b94
nop
call fcn.1401b6b94
int3
lea rcx, [0x14025c2a0]
call fcn.1401b0228
cmp dword [0x14025c2a0], 0xffffffff
jne 0x14019427f
mov rcx, rdi
call fcn.140191d50
lea rcx, [0x1401d9650]
call fcn.1401afd54
nop
lea rcx, [0x14025c2a0]
call fcn.1401b01c8
jmp 0x14019427f
call fcn.140006bf8
int3
call fcn.140006b74
nop
call fcn.1401b6b94
nop
call fcn.1401b6b94
nop
call fcn.1401b6b94
int3