Function at 0x1800311c0
Capabilities:
Check for software breakpoints

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov qword [rbp], 0xfffffffffffffffe
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov r13d, 5
cmp r9, 4
ja 0x180031281
movzx eax, byte [rdi + r9]
test eax, eax
je 0x180031211
cmp eax, 0xcc
je 0x180031211
cmp eax, 0x90
jne 0x1800313ee
cmp r9, 4
je 0x180031281
movzx eax, byte [rdi + r9 + 1]
test eax, eax
je 0x180031233
cmp eax, 0xcc
je 0x180031233
cmp eax, 0x90
jne 0x1800313ee
cmp r9, 3
je 0x180031281
movzx eax, byte [rdi + r9 + 2]
test eax, eax
je 0x180031255
cmp eax, 0xcc
je 0x180031255
cmp eax, 0x90
jne 0x1800313ee
cmp r9, 2
je 0x180031281
movzx eax, byte [rdi + r9 + 3]
test eax, eax
je 0x180031277
cmp eax, 0xcc
je 0x180031277
cmp eax, 0x90
jne 0x1800313ee
cmp r9, 1
jne 0x1800313c7
xor r15d, r15d
mov qword [rbp - 0x20], 0
mov qword [rbp - 0x18], 8
mov qword [rbp - 0x10], 0
movzx eax, byte [0x180097ba1]
mov ecx, 0x10
mov edx, 8
call fcn.180003140
test rax, rax
je 0x180031544
mov r14, rax
mov qword [rax], rbx
mov byte [rax + 8], 1
mov qword [rbp - 0x40], rax
lea rbx, [0x180068d38]
mov qword [rbp - 0x38], rbx
movzx eax, byte [0x180097ba1]
mov ecx, 0x10
mov edx, 8
call fcn.180003140
test rax, rax
je 0x180031558
mov qword [rax], r14
mov qword [rbp - 8], rax
mov qword [rax + 8], rbx
lea rcx, [rbp - 0x20]
call fcn.18002f470
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 8]
mov qword [rax], rcx
lea rcx, fcn.18002f720
mov qword [rax + 8], rcx
mov qword [rbp - 0x10], 1
mov ebx, 1
test r15b, r15b
je 0x18003159f
movzx eax, byte [0x180097ba1]
mov ecx, 1
mov edx, 1
call fcn.180003140
test rax, rax
je 0x18003156c
mov rbx, rax
mov byte [rax], 0xfb
mov qword [rbp - 0x40], rax
lea r14, [0x180068db8]
mov qword [rbp - 0x38], r14
movzx eax, byte [0x180097ba1]
mov ecx, 0x10
mov edx, 8
call fcn.180003140
test rax, rax
je 0x180031580
mov qword [rax], rbx
mov qword [rbp - 8], rax
mov qword [rax + 8], r14
mov rbx, qword [rbp - 0x10]
cmp rbx, qword [rbp - 0x20]
jne 0x1800313a4
lea rcx, [rbp - 0x20]
call fcn.18002f470
mov rcx, qword [rbp - 0x18]
mov rdx, rbx
shl rdx, 4
lea rax, [rcx + rdx]
mov r8, qword [rbp - 8]
mov qword [rcx + rdx], r8
lea rcx, fcn.18002f720
jmp 0x180031594
movzx eax, byte [rdi + r9 + 4]
xor r15d, r15d
test eax, eax
je 0x180031284
cmp eax, 0x90
je 0x180031284
cmp eax, 0xcc
je 0x180031284
movabs r14, 0x8000000000000007
cmp r9, 1
ja 0x180031423
movzx eax, byte [rdi + r9]
test eax, eax
je 0x180031419
cmp eax, 0xcc
je 0x180031419
cmp eax, 0x90
jne 0x1800314fa
cmp r9, 1
jne 0x1800314d6
movzx eax, byte [rdi - 5]
test eax, eax
je 0x18003143d
cmp eax, 0xcc
je 0x18003143d
cmp eax, 0x90
jne 0x1800314fa
add rdi, 0xfffffffffffffffb
movzx eax, byte [rdi + 1]
test eax, eax
je 0x18003145b
cmp eax, 0xcc
je 0x18003145b
cmp eax, 0x90
jne 0x1800314fa
movzx eax, byte [rdi + 2]
test eax, eax
je 0x180031475
cmp eax, 0xcc
je 0x180031475
cmp eax, 0x90
jne 0x1800314fa
movzx eax, byte [rdi + 3]
test eax, eax
je 0x18003148b
cmp eax, 0xcc
je 0x18003148b
cmp eax, 0x90
jne 0x1800314fa
movzx eax, byte [rdi + 4]
test eax, eax
je 0x1800314a1
cmp eax, 0xcc
je 0x1800314a1
cmp eax, 0x90
jne 0x1800314fa
lea rcx, [rbp - 0x20]
mov rdx, rdi
call fcn.18002fec0
mov rdx, qword [rbp - 0x20]
movabs rcx, 0x800000000000000d
movzx eax, byte [rbp - 0x18]
cmp rdx, rcx
jne 0x180031518
test al, al
je 0x1800314fa
mov r13d, 7
mov r15b, 1
jmp 0x180031284
movzx eax, byte [rdi + r9 + 1]
test eax, eax
je 0x180031423
cmp eax, 0xcc
je 0x180031423
cmp eax, 0x90
je 0x180031423
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], rcx
movabs rax, 0x8000000000000000
mov qword [rsi], rax
jmp 0x18003170b
movzx ecx, al
movzx eax, byte [rbp - 0x11]
shl eax, 0x10
movzx r8d, word [rbp - 0x13]
or r8d, eax
mov eax, dword [rbp - 0x17]
shl r8, 0x28
shl rax, 8
or rax, r8
or rax, rcx
mov rcx, qword [rbp - 0x10]
mov r14, rdx
jmp 0x1800314fa
mov ecx, 8
mov edx, 0x10
call fcn.18005b290
jmp 0x180031752
mov ecx, 8
mov edx, 0x10
call fcn.18005b290
jmp 0x180031752
mov ecx, 1
mov edx, 1
call fcn.18005b290
jmp 0x180031752
mov ecx, 8
mov edx, 0x10
call fcn.18005b290
jmp 0x180031752
mov qword [rax + 8], rcx
inc rbx
mov qword [rbp - 0x10], rbx
test rbx, rbx
je 0x1800315d7
mov r15, qword [rbp - 0x18]
xor r14d, r14d
xor r12d, r12d
nop
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 0x1800315b0
cmp r14, r13
jae 0x180031668
movzx eax, byte [0x180097ba1]
mov ecx, 1
mov edx, 1
call fcn.180003140
test rax, rax
je 0x180031734
mov rbx, rax
mov byte [rax], 0x90
movzx eax, byte [0x180097ba1]
mov ecx, 0x18
mov edx, 8
call fcn.180003140
test rax, rax
je 0x18003171f
mov qword [rax], 1
mov qword [rax + 8], rbx
mov qword [rbp - 8], rax
mov qword [rax + 0x10], 1
mov rbx, qword [rbp - 0x10]
cmp rbx, qword [rbp - 0x20]
jne 0x180031645
lea rcx, [rbp - 0x20]
call fcn.18002f470
mov rcx, qword [rbp - 0x18]
mov rdx, rbx
shl rdx, 4
lea rax, [rcx + rdx]
mov r8, qword [rbp - 8]
mov qword [rcx + rdx], r8
lea rcx, [0x180068d90]
jmp 0x180031594
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x30], rax
movups xmm0, xmmword [rbp - 0x20]
movaps xmmword [rbp - 0x40], xmm0
movzx eax, byte [0x180097ba1]
mov edx, 1
mov rcx, r13
call fcn.180003140
test rax, rax
je 0x180031745
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.18002f160
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.18002db10
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x18003170b
mov rcx, qword [rbp - 0x38]
shl rdx, 4
mov r8d, 8
call fcn.180003150
mov rax, rsi
add rsp, 0x78
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.18005b290
jmp 0x180031752
mov ecx, 1
mov edx, 1
call fcn.18005b270
jmp 0x180031752
mov ecx, 1
mov rdx, r13
call fcn.18005b270
ud2