Function at 0x180023dc0
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov eax, dword [rsp + 0xc0]
mov r10, rdx
mov edx, dword [rsp + 0xc0]
mov r11, rcx
lea edi, [rdx + 0x47a]
mov dword [rsp + 0x40], edi
cmp edx, edi
jae 0x1800240a8
mov r15, qword [rsp + 0xe0]
mov ebp, dword [rsp + 0xc0]
mov rbx, qword [rsp + 0xd8]
cmp edx, 0x1af
ja 0x18002407d
je 0x180024060
mov ecx, edx
sub ecx, 0x70
je 0x180024051
sub ecx, 0x80
je 0x180024040
cmp ecx, 0x3f
jne 0x18002408b
mov r12d, 1
cmp dword [r8], r12d
jle 0x18002402c
movsxd rax, ebp
lea r14, [rax + r11]
lea rdi, [rax*8]
lea r13, [rax*4]
mov rax, qword [rsp + 0xc8]
sub rax, r11
mov qword [rsp + 0x48], rax
nop dword [rax]
test ebp, ebp
jle 0x180024019
mov rcx, qword [r15]
test rcx, rcx
je 0x180024030
cmp qword [r9], 0
je 0x180024030
cmp qword [r10], 0
je 0x180024030
mov rcx, qword [rdi + rcx]
test rcx, rcx
je 0x180024030
mov edx, 0x3d
call sub.VCRUNTIME140.dll_strchr
mov rsi, rax
test rax, rax
je 0x180023fce
mov eax, dword [rbx]
mov r9d, 0x12a
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0xb8]
mov dword [rsp + 0x20], 0x64
movsxd r8, ebp
mov rax, qword [rax]
movsxd rcx, dword [rax + r13]
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
movsxd rdx, dword [rax + r13]
mov rax, qword [rsp + 0xc8]
sub rdx, rcx
add rdx, r8
lea rcx, [rsp + 0x28]
inc rax
lea r8, [rsp + 0x20]
add rdx, rax
call fcn.180022c80
mov rbx, rax
lea rdx, [rsi + 1]
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax]
mov dword [rsp + 0x38], eax
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rdx + rax], 0
jne 0x180023f50
mov r9d, 0x12a
mov dword [rsp + 0x30], eax
lea r8, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.180022c80
mov r8, qword [rsp + 0xb0]
lea ecx, [rax + rbx]
cmp ecx, dword [r8]
jge 0x180024036
mov ebx, 0xce
nop dword [rax + rax]
mov eax, ebx
sub eax, 0xcd
je 0x180023fb8
cmp eax, 1
jne 0x180023fbc
mov rcx, qword [r15]
mov rcx, qword [rdi + rcx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [r15]
mov qword [rdi + rax], 0
jmp 0x180023fbc
mov byte [r14], 0x30
dec ebx
cmp ebx, 0xcc
ja 0x180023f90
mov rbx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x48]
mov r9, qword [rsp + 0xb8]
mov r10, qword [rsp + 0xa8]
cmp dword [rbx], 0
je 0x180023ffb
movzx eax, byte [rax + r14]
and al, 0xc0
cmp al, 0xc0
je 0x180023ffe
inc r12d
mov rax, qword [rsp + 0x48]
dec ebp
sub r13, 4
sub rdi, 8
dec r14
cmp r12d, dword [r8]
jl 0x180023e90
mov edx, dword [rsp + 0xc0]
mov r11, qword [rsp + 0xa0]
mov edi, dword [rsp + 0x40]
xor eax, eax
jmp 0x18002408b
mov byte [r14], 0x30
jmp 0x180023feb
mov rbx, qword [rsp + 0xd8]
jmp 0x180023fd6
mov r9d, dword [rbx]
and r9d, 0xffffff
mov dword [rsp + 0x44], r9d
jmp 0x18002408b
mov rcx, qword [rsp + 0xd0]
mov ebp, dword [rcx]
sub ebp, 2
jmp 0x18002408b
mov r9d, dword [rsp + 0x44]
mov ecx, r9d
or ecx, 0xff000000
mov eax, r9d
cmp r9d, 0x800000
cmovge eax, ecx
jmp 0x18002408b
lea ecx, [rdx - 0x1ee]
test ecx, 0xffffff7f
je 0x1800240a8
mov r9, qword [rsp + 0xb8]
add edx, 0xbf
mov dword [rsp + 0xc0], edx
cmp edx, edi
jb 0x180023e21
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret