Function at 0x14001a130
Capabilities:
Check for software breakpoints

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x68], 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
test r8b, r8b
jne 0x14001a177
mov eax, dword [rbx + 0xc0]
cmp eax, 0xcc
je 0x14001a177
cmp eax, 0x130
jne 0x14001a1fe
mov eax, dword [rbx + 0xc0]
mov rcx, qword [rbx + 0x10]
lea rsi, [rsp + 0x90]
mov qword [rsi + 0x10], rcx
movups xmm0, xmmword [rbx]
movaps xmmword [rsi], xmm0
movups xmm0, xmmword [rbx + 0x18]
movups xmm1, xmmword [rbx + 0x28]
movups xmm2, xmmword [rbx + 0x38]
movups xmmword [rsi + 0x18], xmm0
movups xmmword [rsi + 0x28], xmm1
movups xmmword [rsi + 0x38], xmm2
mov rcx, qword [rsp + 0x68]
mov qword [rsi + 0x48], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rsi + 0x50], rcx
mov rcx, qword [rsp + 0x78]
mov qword [rsi + 0x58], rcx
mov rdx, rdi
add rdi, 8
mov ecx, 0xc
rep movsq qword [rdi], qword [rsi]
mov dword [rdx + 0x68], eax
mov qword [rdx], 0
add rbx, 0x48
mov rcx, rbx
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140017a82
lea rax, [rbx + 0xa8]
mov qword [rsp + 0x118], rax
lea rax, [rbx + 0x48]
mov qword [rsp + 0x48], rax
lea rax, [rbx + 0x18]
mov qword [rsp + 0x88], rax
lea rsi, [rsp + 0x90]
mov qword [rsp + 0x30], rax
movzx eax, byte [rbx + 0x98]
test rax, rax
je 0x14001a295
cmp eax, 1
jne 0x14001a2e0
mov rbp, qword [rbx + 0xa0]
test rbp, rbp
je 0x14001a177
lea rsi, [rbp - 1]
mov qword [rbx + 0xa0], rsi
lea rcx, [rsp + 0x90]
mov rdx, qword [rsp + 0x48]
call fcn.1400188e4
mov al, byte [rsp + 0x90]
cmp al, 2
je 0x14001a177
test al, al
je 0x14001a3e7
mov rbp, qword [rsp + 0x98]
jmp 0x14001a348
mov rcx, rsi
mov rdx, qword [rsp + 0x48]
call fcn.1400188e4
mov al, byte [rsp + 0x90]
mov r14d, 2
cmp al, 2
je 0x14001a8f8
test al, al
je 0x14001a4a1
mov rbp, qword [rsp + 0x98]
mov r14d, 1
mov al, 1
mov qword [rsp + 0x30], rax
xor eax, eax
mov qword [rsp + 0x38], rax
jmp 0x14001a8f8
mov r15, qword [rbx + 0xa0]
mov r13, qword [rbx + 0xb0]
mov r12, qword [rbx + 0xb8]
cmp byte [rbx + 0x99], 0
jne 0x14001a307
test r15, r15
je 0x14001a177
test r15, r15
je 0x14001a361
lea rsi, [r15 - 1]
mov qword [rbx + 0xa0], rsi
lea rcx, [rsp + 0xf0]
mov rdx, qword [rsp + 0x48]
call fcn.1400188e4
mov al, byte [rsp + 0xf0]
cmp al, 2
je 0x14001a177
test al, al
je 0x14001a408
mov rbp, qword [rsp + 0xf8]
mov r14d, 1
mov al, 1
mov qword [rsp + 0x30], rax
xor eax, eax
mov qword [rsp + 0x38], rax
jmp 0x14001a902
mov qword [rsp + 0x50], 2
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r8d, 1
mov r9d, 0x400
lea rsi, [rsp + 0x90]
mov rcx, rsi
mov rdx, qword [rsp + 0x48]
call fcn.140017db4
cmp qword [rsp + 0x90], 0
je 0x14001a4ba
mov rdx, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xa0]
mov rcx, rdx
shr rcx, 8
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x80], rax
mov rax, rcx
mov qword [rsp + 0x38], rcx
shl rcx, 8
mov qword [rsp + 0x30], rdx
movzx eax, dl
or rax, rcx
jmp 0x14001a920
mov al, byte [rsp + 0x91]
mov qword [rsp + 0x30], rax
cmp rsi, 0x4000
mov eax, 0x4001
cmovae rbp, rax
jmp 0x14001a57d
mov al, byte [rsp + 0xf1]
mov qword [rsp + 0x30], rax
test rsi, rsi
jne 0x14001a56a
mov r12, rdi
mov qword [rsp + 0x50], 3
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r8d, 1
mov r9d, 2
lea rdi, [rsp + 0x90]
mov rcx, rdi
mov rdx, qword [rsp + 0x48]
call fcn.140017db4
cmp dword [rsp + 0x90], 1
jne 0x14001a55f
mov rax, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xa0]
mov rcx, rax
mov qword [rsp + 0x30], rax
shr rax, 8
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x80], rax
mov r14d, 1
mov rdi, r12
jmp 0x14001a902
mov ebp, 1
mov al, byte [rsp + 0x91]
mov qword [rsp + 0x30], rax
xor r14d, r14d
jmp 0x14001a8f8
mov r14, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x40], rax
mov rsi, qword [rsp + 0xa8]
test rsi, rsi
mov qword [rsp + 0x110], r14
je 0x14001a67c
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], rsi
movabs rax, 0x3b0000003b
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xb0], 1
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x90]
call fcn.140017ad1
cmp qword [rsp + 0x50], 0
je 0x14001a585
mov r9, qword [rsp + 0x58]
test r9, r9
je 0x14001a58a
cmp rsi, r9
jbe 0x14001a58f
cmp byte [r14 + r9], 0xbf
jg 0x14001a595
jmp 0x14001ab61
mov rcx, rdi
call fcn.14001ac28
mov rdi, r12
cmp rsi, 0x4000
mov eax, 0x4001
cmovae r15, rax
mov rbp, r15
xor r14d, r14d
jmp 0x14001a902
mov r9, rsi
jmp 0x14001a595
xor r9d, r9d
jmp 0x14001a595
jne 0x14001ab61
mov rcx, r14
mov rdx, r9
call fcn.14002277a
mov r14d, 1
test rdx, rdx
je 0x14001a619
mov rcx, rax
mov rsi, rdx
mov al, byte [rax]
cmp al, 0x2d
je 0x14001a5c5
cmp al, 0x2b
jne 0x14001a5cb
dec rsi
je 0x14001a619
inc rcx
jmp 0x14001a5cb
cmp rsi, 1
je 0x14001a619
xor r15d, r15d
test rsi, rsi
je 0x14001a642
mov r8, rdi
movzx eax, byte [rcx]
lea edi, [rax - 0x30]
cmp edi, 0xa
jb 0x14001a5f9
or eax, 0x20
add eax, 0xffffff9f
add eax, 0xa
mov edx, 0xffffffff
cmovb eax, edx
mov edi, eax
cmp eax, 0xf
ja 0x14001a62c
mov rax, r15
mov edx, 0x10
mul rdx
jo 0x14001a62c
mov r15, rax
inc rcx
mov eax, edi
dec rsi
add r15, rax
mov rdi, r8
jae 0x14001a5ce
xor eax, eax
mov qword [rsp + 0x38], rax
mov al, 2
mov qword [rsp + 0x30], rax
jmp 0x14001a8d8
xor eax, eax
mov qword [rsp + 0x38], rax
mov al, 2
mov qword [rsp + 0x30], rax
mov rdi, r8
jmp 0x14001a8d8
test r15, r15
mov r14, qword [rsp + 0x110]
je 0x14001a67c
mov rax, qword [rsp + 0x118]
add qword [rax], r15
cmp qword [rsp + 0x40], 0
je 0x14001a30c
mov rcx, qword [0x14005fc80]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
jmp 0x14001a30c
mov qword [rsp + 0x108], rdi
lea r14, [rsp + 0x90]
lea rdi, [rsp + 0x50]
mov qword [rsp + 0x50], 5
mov qword [rsp + 0x20], rdi
mov rcx, r14
mov rdx, qword [rsp + 0x48]
mov r8, r13
mov r9, r12
call fcn.140017db4
cmp qword [rsp + 0x90], 0
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
jne 0x14001a79f
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rsi
mov rcx, r14
mov rdx, rdi
call fcn.140018229
cmp qword [rsp + 0x90], 0
je 0x14001a7a9
mov rax, r12
sub rax, rsi
add rax, 0xfffffffffffffffe
test r13, r13
cmovne r12, rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0xf0], xmm0
lea rcx, [rsp + 0xa8]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x120]
mov rdx, qword [rsp + 0x88]
lea r8, [rsp + 0xf0]
mov r9, rdi
call fcn.140018426
mov r8, qword [rsp + 0x120]
test r8, r8
je 0x14001a68c
cmp qword [rsp + 0x128], 0
je 0x14001a68c
mov rcx, qword [0x14005fc80]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x14001a68c
cmp rcx, 0x14
jne 0x14001a8ae
mov byte [rbx + 0x99], 0
mov ecx, 0xe
call fcn.14001b13e
mov rsi, rax
mov r15, rdx
mov rax, qword [0x14004e51b]
mov qword [rsi], rax
mov rax, qword [0x14004e521]
mov qword [rsi + 6], rax
lea rcx, [rsp + 0xf0]
mov rdx, qword [rsp + 0x118]
call fcn.14001ac57
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], r15
lea rsi, [rsp + 0x90]
mov qword [rsp + 0x60], 0xe
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0xa0], rax
movups xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x120]
mov rdx, qword [rsp + 0x88]
lea r8, [rsp + 0x50]
mov r9, rsi
call fcn.140018426
mov r8, qword [rsp + 0x120]
test r8, r8
mov rdi, qword [rsp + 0x108]
je 0x14001a870
cmp qword [rsp + 0x128], 0
je 0x14001a870
mov rcx, qword [0x14005fc80]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rcx, rsi
mov rdx, qword [rsp + 0x88]
call fcn.1400195bf
mov r8, qword [rsp + 0x90]
test r8, r8
je 0x14001a8a6
cmp qword [rsp + 0x98], 0
je 0x14001a8a6
mov rcx, qword [0x14005fc80]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov r14d, 2
jmp 0x14001a8d8
mov rdx, rcx
shr rdx, 8
mov qword [rsp + 0x38], rdx
mov r14d, 1
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x80], rsi
mov rbp, rax
mov rdi, qword [rsp + 0x108]
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14001a8f8
mov rcx, qword [0x14005fc80]
xor edx, edx
mov r8, qword [rsp + 0x110]
call sub.kernel32.dll_HeapFree
cmp r14d, 2
je 0x14001a177
test r14, r14
je 0x14001a944
mov rcx, qword [rsp + 0x38]
shl rcx, 8
movzx eax, byte [rsp + 0x30]
or rax, rcx
lea rsi, [rsp + 0x90]
cmp rax, 1
jne case.default.0x14001a93d
mov eax, ebp
and eax, 3
lea rcx, [0x14001ab74]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov al, byte [rbp + 0x10]
jmp 0x14001a9a7
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov rcx, rax
sub rcx, rdx
cmp rcx, rbp
jb 0x14001a9ec
cmp rdx, rax
lea rsi, [rsp + 0x90]
jne 0x14001a97c
lea rcx, [rsp + 0x68]
mov rdx, rax
call fcn.14001b9e4
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x30]
mov byte [rax + rdx], cl
inc rdx
mov qword [rsp + 0x78], rdx
jmp 0x14001a22f
mov al, byte [rbp + 0xf]
jmp 0x14001a9a7
cmp al, 0xd
jne 0x14001ab0b
mov qword [rsp + 0x90], rbp
call qword [sym.imp.kernel32.dll_SwitchToThread]
mov rcx, rsi
call fcn.1400012b9
jmp 0x14001a22f
lea rcx, [rsp + 0x68]
mov r8, rbp
call fcn.140042e76
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
jmp 0x14001a95d
mov eax, 1
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rbp
mov rax, qword [rsp + 0x80]
mov qword [rdi + 0x18], rax
mov qword [rdi], 1
cmp qword [rsp + 0x70], 0
je 0x14001ab46
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x14005fc80]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rcx, rbx
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140013c29
mov rcx, r14
mov rdx, rsi
xor r8d, r8d
call fcn.140042550
ud2