Function at 0x180031380
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov rax, qword [0x1800c2008]
xor rax, rsp
mov qword [rbp + 0x27], rax
xor eax, eax
mov word [rbp + 7], 0x15ff
xor r13b, r13b
mov dword [rbp + 9], 2
xor sil, sil
mov word [rbp + 0xd], 0x8eb
mov byte [rbp - 0x49], sil
mov r14, rcx
mov qword [rbp + 0xf], rax
mov r15d, eax
mov word [rbp - 0x19], 0x25ff
mov r12d, eax
mov dword [rbp - 0x17], eax
mov qword [rbp - 0x13], rax
mov qword [rbp - 9], 0x25ff0e70
mov qword [rbp - 1], rax
mov qword [rcx + 0x20], rax
nop dword [rax + rax]
mov rdi, qword [r14]
lea rdx, [rbp - 0x41]
movzx ebx, r13b
add rbx, rdi
mov rcx, rbx
call fcn.180035850
mov r9d, dword [rbp - 0x20]
mov r8d, eax
bt r9d, 0xc
jb 0x180031728
movzx r11d, byte [rbp - 0x41]
mov r10, rbx
cmp r13b, 5
jb 0x18003144d
mov r8d, 0xe
mov qword [rbp - 0x13], rbx
lea r10, [rbp - 0x19]
lea r12d, [r8 - 0xd]
jmp 0x1800315d6
movzx eax, byte [rbp - 0x34]
and al, 0xc7
cmp al, 5
jne 0x1800314aa
mov rcx, r8
movzx eax, r11b
lea rdi, [rbp + 0x17]
mov rsi, rbx
rep movsb byte [rdi], byte [rsi]
movzx esi, byte [rbp - 0x49]
lea r10, [rbp + 0x17]
mov ecx, r9d
mov edx, ebx
sub edx, dword [r14 + 0x10]
shr rcx, 2
sub edx, esi
add edx, dword [rbp - 0x24]
and ecx, 0xf
sub rax, rcx
cmp byte [rbp - 0x36], 0xff
mov dword [rbp + rax + 0x13], edx
jne 0x1800315d6
cmp byte [rbp - 0x32], 4
jne 0x1800315d6
mov r12d, 1
jmp 0x1800315d6
movzx ecx, byte [rbp - 0x36]
cmp cl, 0xe8
jne 0x1800314ce
movsxd rax, dword [rbp - 0x2c]
lea r10, [rbp + 7]
add rax, rbx
movzx ecx, r11b
add rcx, rax
mov qword [rbp + 0xf], rcx
jmp 0x1800315d0
movzx eax, cl
and al, 0xfd
cmp al, 0xe9
jne 0x18003152a
movsx rax, byte [rbp - 0x2c]
movzx edx, r11b
add rdx, rbx
cmp cl, 0xeb
je 0x1800314ec
movsxd rax, dword [rbp - 0x2c]
lea rcx, [rdx + rax]
cmp rdi, rcx
ja 0x18003150d
lea rax, [rdi + 5]
cmp rcx, rax
jae 0x18003150d
cmp r15, rcx
cmovae rcx, r15
mov r15, rcx
jmp 0x1800315d6
xor r12d, r12d
mov qword [rbp - 0x13], rcx
cmp rbx, r15
lea r10, [rbp - 0x19]
mov r8d, 0xe
setae r12b
jmp 0x1800315d6
movzx esi, byte [rbp - 0x35]
movzx edx, cl
and dl, 0xf0
cmp dl, 0x70
je 0x180031564
movzx eax, cl
and al, 0xfc
cmp al, 0xe0
je 0x180031564
movzx eax, sil
and al, 0xf0
cmp al, 0x80
je 0x180031564
movzx esi, byte [rbp - 0x49]
and cl, 0xfe
cmp cl, 0xc2
jne 0x1800315d6
xor r12d, r12d
cmp rbx, r15
setae r12b
jmp 0x1800315d6
movzx r9d, r11b
add r9, rbx
cmp dl, 0x70
je 0x18003157d
movzx eax, cl
and al, 0xfc
cmp al, 0xe0
movsxd rax, dword [rbp - 0x2c]
jne 0x180031582
movsx rax, byte [rbp - 0x2c]
lea rdx, [r9 + rax]
cmp rdi, rdx
ja 0x1800315a4
lea rax, [rdi + 5]
cmp rdx, rax
jae 0x1800315a4
movzx esi, byte [rbp - 0x49]
cmp r15, rdx
cmovae rdx, r15
mov r15, rdx
jmp 0x1800315d6
movzx eax, cl
and al, 0xfc
cmp al, 0xe0
je 0x180031728
movzx eax, cl
cmp cl, 0xf
jne 0x1800315bd
movzx eax, sil
movzx esi, byte [rbp - 0x49]
lea r10, [rbp - 9]
and al, 0xf
mov qword [rbp - 1], rdx
xor al, 0x71
mov byte [rbp - 9], al
mov r8d, 0x10
cmp rbx, r15
jae 0x1800315e8
movzx eax, r11b
cmp r8d, eax
jne 0x180031728
movzx eax, sil
add eax, r8d
cmp eax, 0x32
ja 0x180031728
mov eax, dword [r14 + 0x24]
cmp eax, 8
jae 0x180031728
mov byte [rax + r14 + 0x28], r13b
add r13b, r11b
mov eax, dword [r14 + 0x24]
movzx edi, sil
mov ecx, r8d
mov byte [rax + r14 + 0x30], sil
mov rsi, r10
add rdi, qword [r14 + 0x10]
inc dword [r14 + 0x24]
rep movsb byte [rdi], byte [rsi]
movzx esi, byte [rbp - 0x49]
add sil, r8b
mov byte [rbp - 0x49], sil
test r12d, r12d
je 0x180031400
cmp r13b, 5
jae 0x1800316f6
mov r10, qword [r14]
movzx eax, r13b
lea rdi, [rax + r10]
movzx eax, byte [rax + r10]
test al, al
je 0x180031664
cmp al, 0x90
je 0x180031664
cmp al, 0xcc
jne 0x180031690
movzx eax, r13b
mov edx, 5
sub edx, eax
mov ecx, 1
cmp edx, ecx
jbe 0x1800316f6
movzx esi, byte [rdi]
nop dword [rax + rax]
mov eax, ecx
cmp byte [rax + rdi], sil
jne 0x180031690
inc ecx
cmp ecx, edx
jb 0x180031680
jmp 0x1800316f6
cmp r13b, 2
jae 0x1800316ad
movzx eax, r13b
mov edx, 2
sub edx, eax
mov rcx, rdi
call fcn.180031340
test eax, eax
je 0x180031728
lea rcx, [r10 - 5]
call fcn.180031ab0
test eax, eax
je 0x180031728
mov rdi, qword [r14]
movzx eax, byte [rdi - 5]
test al, al
je 0x1800316cd
cmp al, 0x90
je 0x1800316cd
cmp al, 0xcc
jne 0x180031728
movzx edx, byte [rdi - 5]
lea rax, [rdi - 4]
mov ecx, 1
nop word [rax + rax]
cmp byte [rax], dl
jne 0x180031728
inc ecx
inc rax
cmp ecx, 5
jb 0x1800316e0
mov dword [r14 + 0x20], 1
mov rcx, qword [r14 + 8]
mov eax, 1
movzx edx, byte [rbp - 0x49]
add rdx, qword [r14 + 0x10]
mov qword [rbp - 0x13], rcx
mov ecx, dword [rbp - 0x11]
movsd xmm0, qword [rbp - 0x19]
mov qword [r14 + 0x18], rdx
movsd qword [rdx], xmm0
mov dword [rdx + 8], ecx
movzx ecx, word [rbp - 0xd]
mov word [rdx + 0xc], cx
jmp 0x18003172a
xor eax, eax
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.18005ef70
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret