Function at 0x180158f10
Capabilities:
Check for software breakpoints

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], 0xfffffffffffffffe
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov r13d, 5
cmp r9, 4
ja 0x180158fd7
movzx eax, byte [rdi + r9]
test eax, eax
je 0x180158f67
cmp eax, 0xcc
je 0x180158f67
cmp eax, 0x90
jne 0x180159131
cmp r9, 4
je 0x180158fd7
movzx eax, byte [rdi + r9 + 1]
test eax, eax
je 0x180158f89
cmp eax, 0xcc
je 0x180158f89
cmp eax, 0x90
jne 0x180159131
cmp r9, 3
je 0x180158fd7
movzx eax, byte [rdi + r9 + 2]
test eax, eax
je 0x180158fab
cmp eax, 0xcc
je 0x180158fab
cmp eax, 0x90
jne 0x180159131
cmp r9, 2
je 0x180158fd7
movzx eax, byte [rdi + r9 + 3]
test eax, eax
je 0x180158fcd
cmp eax, 0xcc
je 0x180158fcd
cmp eax, 0x90
jne 0x180159131
cmp r9, 1
jne 0x18015910a
xor r15d, r15d
mov qword [rbp - 0x20], 0
mov qword [rbp - 0x18], 8
mov qword [rbp - 0x10], 0
movzx eax, byte [0x18028ecd1]
mov ecx, 0x10
mov edx, 8
call fcn.18006a570
test rax, rax
je 0x180159319
mov r14, rax
mov qword [rax], rbx
mov byte [rax + 8], 1
mov qword [rbp - 0x40], rax
lea rbx, [0x18022de68]
mov qword [rbp - 0x38], rbx
movzx eax, byte [0x18028ecd1]
mov ecx, 0x10
mov edx, 8
call fcn.18006a570
test rax, rax
je 0x18015932d
mov qword [rax], r14
mov qword [rbp + 8], rax
mov qword [rax + 8], rbx
lea rcx, [rbp - 0x20]
call fcn.1800938d0
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp + 8]
mov qword [rax], rcx
lea rcx, fcn.180061c00
mov qword [rax + 8], rcx
mov qword [rbp - 0x10], 1
mov ebx, 1
test r15b, r15b
je 0x180159388
movzx eax, byte [0x18028ecd1]
mov ecx, 1
mov edx, 1
call fcn.18006a570
test rax, rax
je 0x180159341
mov rbx, rax
mov byte [rax], 0xfb
mov qword [rbp - 0x40], rax
lea r14, [0x18022dee8]
mov qword [rbp - 0x38], r14
movzx eax, byte [0x18028ecd1]
mov ecx, 0x10
mov edx, 8
call fcn.18006a570
test rax, rax
je 0x180159355
mov qword [rax], rbx
mov qword [rax + 8], r14
mov rbx, qword [rbp - 0x10]
lea r14, fcn.180061c00
cmp rbx, qword [rbp - 0x20]
jne 0x18015936d
mov qword [rbp + 8], rax
lea rcx, [rbp - 0x20]
call fcn.1800938d0
jmp 0x180159369
movzx eax, byte [rdi + r9 + 4]
xor r15d, r15d
test eax, eax
je 0x180158fda
cmp eax, 0x90
je 0x180158fda
cmp eax, 0xcc
je 0x180158fda
movabs rcx, 0x8000000000000000
movabs r12, 0x8000000000000007
cmp r9, 1
ja 0x180159170
movzx eax, byte [rdi + r9]
test eax, eax
je 0x180159166
cmp eax, 0xcc
je 0x180159166
cmp eax, 0x90
jne 0x1801592a0
cmp r9, 1
jne 0x18015927c
movzx eax, byte [rdi - 5]
test eax, eax
je 0x18015918a
cmp eax, 0xcc
je 0x18015918a
cmp eax, 0x90
jne 0x1801592a0
add rdi, 0xfffffffffffffffb
movzx eax, byte [rdi + 1]
test eax, eax
je 0x1801591a8
cmp eax, 0xcc
je 0x1801591a8
cmp eax, 0x90
jne 0x1801592a0
movzx eax, byte [rdi + 2]
test eax, eax
je 0x1801591c2
cmp eax, 0xcc
je 0x1801591c2
cmp eax, 0x90
jne 0x1801592a0
movzx eax, byte [rdi + 3]
test eax, eax
je 0x1801591dc
cmp eax, 0xcc
je 0x1801591dc
cmp eax, 0x90
jne 0x1801592a0
movzx eax, byte [rdi + 4]
test eax, eax
je 0x1801591f6
cmp eax, 0xcc
je 0x1801591f6
cmp eax, 0x90
jne 0x1801592a0
lea rcx, [rbp - 0x20]
mov r8d, 1
mov rdx, rdi
call fcn.18015a640
mov rax, qword [rbp - 0x20]
mov r14, qword [rbp - 0x18]
movabs r15, 0x8000000000000005
mov r8, qword [rbp - 0x10]
cmp rax, r15
jne 0x1801592b4
lea rcx, [rbp - 0x60]
mov rdx, r14
call fcn.18015c530
mov rax, qword [rbp - 0x60]
mov r13, qword [rbp - 0x58]
cmp rax, r15
jne 0x1801592b9
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x40], 1
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], r14
lea rcx, [rbp - 0x20]
lea rdx, [rbp - 0x40]
call fcn.18015c910
movzx eax, byte [rbp + 2]
cmp al, 3
jne 0x1801592cc
movabs rcx, 0x8000000000000000
mov rax, rcx
jmp 0x1801592c7
movzx eax, byte [rdi + r9 + 1]
test eax, eax
je 0x180159170
cmp eax, 0xcc
je 0x180159170
cmp eax, 0x90
je 0x180159170
mov qword [rsi + 8], r12
mov qword [rsi + 0x10], r13
mov qword [rsi + 0x18], r8
mov qword [rsi], rcx
jmp 0x1801594e4
mov r13, r14
jmp 0x1801592bd
mov r8, qword [rbp - 0x50]
movabs rcx, 0x8000000000000000
mov r12, rax
jmp 0x1801592a0
mov r13, qword [rbp - 0x18]
cmp al, 2
jne 0x1801592f7
mov rax, qword [rbp - 0x20]
movabs rcx, 0x800000000000000d
cmp rax, rcx
movabs rcx, 0x8000000000000000
je 0x180159305
mov r8, qword [rbp - 0x10]
jmp 0x1801592c7
shr r13b, 2
movabs rcx, 0x8000000000000000
test r13b, 1
je 0x1801592a0
mov r13d, 7
mov r15b, 1
jmp 0x180158fda
mov ecx, 8
mov edx, 0x10
call fcn.18019decf
jmp 0x18015952e
mov ecx, 8
mov edx, 0x10
call fcn.18019decf
jmp 0x18015952e
mov ecx, 1
mov edx, 1
call fcn.18019decf
jmp 0x18015952e
mov ecx, 8
mov edx, 0x10
call fcn.18019decf
jmp 0x18015952e
mov rax, qword [rbp + 8]
mov rdx, qword [rbp - 0x18]
mov rcx, rbx
shl rcx, 4
mov qword [rdx + rcx], rax
mov qword [rdx + rcx + 8], r14
inc rbx
mov qword [rbp - 0x10], rbx
test rbx, rbx
je 0x1801593c3
mov r15, qword [rbp - 0x18]
xor r14d, r14d
xor r12d, r12d
nop word [rax + rax]
mov rax, r12
shl rax, 4
mov rcx, qword [r15 + rax]
mov rax, qword [r15 + rax + 8]
call qword [rax + 0x20]
add r14, rax
inc r12
cmp r12, rbx
jne 0x1801593a0
cmp r14, r13
jae 0x180159441
movzx eax, byte [0x18028ecd1]
mov ecx, 1
mov edx, 1
call fcn.18006a570
test rax, rax
je 0x180159510
mov rbx, rax
mov byte [rax], 0x90
movzx eax, byte [0x18028ecd1]
mov ecx, 0x18
mov edx, 8
call fcn.18006a570
test rax, rax
je 0x1801594fb
mov qword [rax], 1
mov qword [rax + 8], rbx
mov qword [rax + 0x10], 1
mov rbx, qword [rbp - 0x10]
lea r14, [0x18022dec0]
cmp rbx, qword [rbp - 0x20]
jne 0x18015936d
mov qword [rbp + 8], rax
lea rcx, [rbp - 0x20]
call fcn.1800938d0
jmp 0x180159369
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x30], rax
movups xmm0, xmmword [rbp - 0x20]
movaps xmmword [rbp - 0x40], xmm0
movzx eax, byte [0x18028ecd1]
mov edx, 1
mov rcx, r13
call fcn.18006a570
test rax, rax
je 0x180159521
mov qword [rbp + 8], rax
mov rcx, rax
mov rdx, rdi
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbp - 0x20]
lea rdx, [rbp - 0x40]
mov r8, rdi
mov qword [rbp - 0x48], r13
call fcn.1801589d0
mov rax, qword [rbp - 0x10]
mov qword [rsi + 0x28], rax
movups xmm0, xmmword [rbp - 0x20]
movups xmmword [rsi + 0x18], xmm0
mov rcx, qword [rbp - 0x48]
mov qword [rsi], rcx
mov rax, qword [rbp + 8]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rcx
mov qword [rsi + 0x30], rdi
mov qword [rsi + 0x38], rcx
lea rcx, [rbp - 0x40]
call fcn.18015ae40
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x1801594e4
mov rcx, qword [rbp - 0x38]
shl rdx, 4
mov r8d, 8
call fcn.18006a580
mov rax, rsi
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rbp + 8], rbx
mov ecx, 8
mov edx, 0x18
call fcn.18019decf
jmp 0x18015952e
mov ecx, 1
mov edx, 1
call fcn.18019deb5
jmp 0x18015952e
mov ecx, 1
mov rdx, r13
call fcn.18019deb5
ud2