Function at 0x180023e90
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov ebx, dword [rsp + 0xe8]
mov r12, rcx
lea ecx, [r9 - 2]
mov ebp, r9d
mov dword [rsp + 0x58], ecx
mov rsi, r8
mov r15, rdx
cmp r9d, ecx
jbe 0x180024377
xor r8d, r8d
mov eax, ebp
sub eax, 0x93
je 0x180023eea
cmp eax, 2
je 0x18002435f
jmp 0x18002436d
mov edi, 0xa3
nop
mov eax, edi
sub eax, 0xa1
je 0x180024377
sub eax, 1
je 0x18002433e
cmp eax, 1
jne 0x18002434d
cmp dword [r12], 8
jb 0x1800242e1
mov eax, 0xa8
mov dword [rsp + 0xe8], eax
nop word [rax + rax]
sub eax, 0xa8
je 0x1800241b4
cmp eax, 0x58
jne 0x180024293
mov rax, qword [r15 + 8]
lea rdx, [rsi + 0x10]
mov dword [rsp + 0x30], 0x55
xor r9d, r9d
mov rcx, qword [rax + 0x70]
mov qword [rsp + 0x28], rcx
xor ecx, ecx
mov qword [rsp + 0x20], r8
xor r8d, r8d
call fcn.18004e8f0
test eax, eax
je 0x1800243c8
mov eax, dword [rsi + 0x10]
cmp eax, 0x186a0
ja 0x1800243c1
test eax, eax
je 0x180024290
xor r9d, r9d
mov qword [rsp + 0x68], 0x10
lea r8, [rsp + 0x60]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x68]
mov ecx, 0x121
call fcn.18000f590
mov qword [rsi + 0x18], rax
test rax, rax
je 0x1800243ad
xor r8d, r8d
mov r13d, r8d
cmp dword [rsi + 0x10], r8d
jbe 0x180024293
nop
mov r14d, 0xd0
nop word [rax + rax]
mov eax, r14d
sub eax, 0xcd
je 0x180024075
sub eax, 1
je 0x180024036
sub eax, 1
je 0x18002401d
cmp eax, 1
jne 0x18002418c
mov rax, qword [rsi + 0x18]
mov ecx, r13d
add rcx, rcx
mov dword [rax + rcx*8], r8d
mov rax, qword [rsi + 0x18]
mov qword [rax + rcx*8 + 8], r8
jmp 0x18002418c
mov eax, dword [r12]
cmp eax, 4
jb 0x1800242d4
add eax, 0xfffffffc
mov dword [r12], eax
jmp 0x18002418c
mov rax, qword [r15 + 8]
xor r9d, r9d
mov dword [rsp + 0x30], 0x55
mov edx, r13d
shl rdx, 4
mov rcx, qword [rax + 0x70]
add rdx, qword [rsi + 0x18]
mov qword [rsp + 0x28], rcx
xor ecx, ecx
mov qword [rsp + 0x20], r8
xor r8d, r8d
call fcn.18004e8f0
test eax, eax
je 0x1800243a5
jmp 0x18002418c
mov rcx, qword [rsi + 0x18]
mov edi, r13d
add rdi, rdi
mov r15d, r13d
cmp dword [rcx + rdi*8], 0
jbe 0x18002417f
mov ebp, 0x52
mov eax, ebp
sub eax, 0x52
je 0x1800240ed
cmp eax, 1
jne 0x180024172
mov rcx, qword [rsi + 0x18]
lea r9, [rsp + 0x40]
mov edx, 0x13
mov eax, dword [rcx + rdi*8]
mov r8, qword [rcx + rdi*8 + 8]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x70]
call fcn.18000a2a0
test eax, eax
je 0x1800242b7
mov rax, qword [rsi + 0x18]
mov ecx, dword [rax + rdi*8]
mov rax, qword [rax + rdi*8 + 8]
mov byte [rcx + rax], 0
jmp 0x18002416f
mov rax, qword [rsi + 0x18]
mov ecx, dword [r12]
mov edx, dword [rax + rdi*8]
cmp ecx, edx
jb 0x1800242d4
sub ecx, edx
mov qword [rsp + 0x70], 1
mov dword [r12], ecx
xor r9d, r9d
mov rax, qword [rsi + 0x18]
xor edx, edx
mov ecx, dword [rax + rdi*8]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x78], rcx
lea rcx, [rsp + 0x78]
mov dword [rsp + 0x28], 0x5a
mov qword [rsp + 0x20], r8
xor r8d, r8d
call fcn.1800386d0
mov rcx, qword [rsi + 0x18]
mov qword [rcx + rdi*8 + 8], rax
test rax, rax
je 0x180024394
mov rax, qword [rsi + 0x18]
xor edx, edx
mov r8d, dword [rax + rdi*8]
mov rcx, qword [rax + rdi*8 + 8]
call fcn.180055c00
xor r8d, r8d
inc ebp
cmp ebp, 0x54
jb 0x180024091
jmp 0x180024184
mov qword [rcx + rdi*8 + 8], r8
mov r15, qword [rsp + 0xd8]
dec r14d
mov r8d, 0
cmp r14d, 0xcc
ja 0x180023fe0
inc r13d
cmp r13d, dword [rsi + 0x10]
jb 0x180023fd0
jmp 0x180024293
add dword [r12], 0xfffffff8
xor r9d, r9d
mov rax, qword [r15 + 8]
mov rdx, rsi
mov dword [rsp + 0x30], 0x55
mov rcx, qword [rax + 0x70]
mov qword [rsp + 0x28], rcx
xor ecx, ecx
mov qword [rsp + 0x20], r8
xor r8d, r8d
call fcn.18004e8f0
test eax, eax
je 0x1800243c8
mov eax, dword [rsi]
xor r8d, r8d
test eax, eax
je 0x1800242b1
mov ecx, dword [r12]
cmp ecx, eax
jb 0x1800242da
sub ecx, eax
mov qword [rsp + 0x80], 1
mov dword [r12], ecx
xor r9d, r9d
mov eax, dword [rsi]
lea rcx, [rsp + 0x88]
mov qword [rsp + 0x88], rax
xor edx, edx
lea rax, [rsp + 0x80]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r8
mov dword [rsp + 0x28], 0x5a
mov qword [rsp + 0x20], r8
call fcn.1800386d0
mov qword [rsi + 8], rax
test rax, rax
je 0x1800243b4
mov ecx, dword [rsi]
lea r9, [rsp + 0x48]
mov dword [rsp + 0x48], ecx
mov r8, rax
mov rcx, qword [r15 + 8]
mov edx, 0x13
mov rcx, qword [rcx + 0x70]
call fcn.18000a2a0
test eax, eax
je 0x1800243c8
mov ecx, dword [rsi]
mov rax, qword [rsi + 8]
mov byte [rcx + rax], 0
xor r8d, r8d
mov eax, dword [rsp + 0xe8]
add eax, 0x58
mov dword [rsp + 0xe8], eax
cmp eax, 0x158
jb 0x180023f30
jmp 0x1800242e1
mov qword [rsi + 8], r8
jmp 0x180024293
mov rcx, qword [rsi + 0x18]
add r15, r15
mov rcx, qword [rcx + r15*8 + 8]
call fcn.18005932c
mov rax, qword [rsi + 0x18]
xor r8d, r8d
mov qword [rax + r15*8 + 8], r8
mov dword [rsi + 0x10], r13d
jmp 0x1800242e1
mov dword [rsi], r8d
mov qword [rsi + 8], r8
mov eax, dword [r12]
mov edi, 0xa3
lea ebp, [rdi - 0x10]
test eax, eax
je 0x180024345
cmp dword [rsi + 0x10], 1
jae 0x18002430c
mov rcx, qword [rsi + 0x18]
call fcn.18005932c
mov qword [rsi + 0x18], 0
mov eax, dword [r12]
mov r15, qword [rsp + 0xd8]
lea r8, [rsp + 0x50]
mov dword [rsp + 0x50], eax
xor r9d, r9d
mov rax, qword [r15 + 8]
lea ecx, [r9 + 0x27]
mov rdx, qword [rax + 0x70]
call fcn.18004c070
test eax, eax
je 0x1800243c8
xor r8d, r8d
jmp 0x18002434d
mov ebx, 1
jmp 0x18002434d
mov r15, qword [rsp + 0xd8]
dec edi
cmp edi, 0xa0
ja 0x180023ef0
mov ecx, dword [rsp + 0x58]
movzx eax, byte [r15 + 0xc]
cmp al, 2
jne 0x18002436d
mov byte [r15 + 0xc], 1
dec ebp
cmp ebp, ecx
ja 0x180023ed3
mov eax, ebx
mov rbx, qword [rsp + 0xd0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax]
mov dword [rax], 8
mov dword [rsi + 0x10], r13d
xor eax, eax
jmp 0x180024379
mov dword [rsi + 0x10], 0
mov rax, qword [r15]
mov dword [rax], 8
xor eax, eax
jmp 0x180024379
mov dword [rsi + 0x10], 0
xor eax, eax
jmp 0x180024379