Function at 0x1400974b0
Capabilities:
Print debug messages
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x4a8
mov rsi, rcx
mov rax, qword [0x1401e8038]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
movabs r13, 0x7fffffffffffffef
lea rax, [0x1401beb60]
mov qword [rcx], rax
mov eax, dword [rcx + 0x78]
test al, 0x10
je 0x140097a46
mov rax, qword [rsi + 0x48]
mov rdi, qword [rsi + 0x70]
cmp rdi, rax
jae 0x14009750b
mov qword [rsi + 0x70], rax
mov rdi, rax
mov rbx, qword [rsi + 0x40]
sub rdi, rbx
js 0x140097a1a
cmp rdi, r13
ja 0x140097a03
cmp rdi, 0x16
ja 0x140097815
lea rcx, [rsp + 0xa0]
mov byte [rcx + 0x17], dil
lea r14, [rcx + rdi]
cmp rcx, rbx
ja 0x140097549
cmp r14, rbx
ja 0x140097a80
test rdi, rdi
je 0x140097559
mov rdx, rbx
mov r8, rdi
call fcn.140129230
lea r15, [rsi + 0x10]
lea rax, [rsi + 0x18]
mov qword [rsp + 0x30], rax
mov byte [r14], 0
movzx ebx, byte [rsp + 0xb7]
test bl, bl
jns 0x14009757e
mov rbx, qword [rsp + 0xa8]
jns 0x14009758d
mov rcx, qword [rsp + 0xa0]
call fcn.140125ddc
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [rax + 4]
add rcx, r15
lea r14, [rsp + 0xa0]
mov rdx, r14
call fcn.1400d7d70
lea rdx, [0x140202ce0]
mov rcx, r14
call fcn.1400d88b0
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov dl, 0xa
mov rax, r8
call qword [0x140215008]
mov ebp, eax
mov rcx, r14
call fcn.1400d7ed0
mov rcx, r15
mov edx, ebp
call fcn.140025bc0
mov rcx, r15
call fcn.140024f70
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rdi
movaps xmm0, xmmword [0x1401bc9e0]
movaps xmmword [rsp + 0x70], xmm0
mov eax, dword [rsi + 0x78]
test al, 0x10
je 0x140097a62
mov rax, qword [rsi + 0x48]
mov r15, qword [rsi + 0x70]
cmp r15, rax
jae 0x140097625
mov qword [rsi + 0x70], rax
mov r15, rax
mov r12, qword [rsi + 0x40]
sub r15, r12
js 0x140097a1a
cmp r15, r13
ja 0x140097a10
cmp r15, 0x16
ja 0x1400977df
lea rcx, [rsp + 0x70]
mov byte [rcx + 0x17], r15b
lea r13, [rcx + r15]
cmp rcx, r12
ja 0x140097660
cmp r13, r12
ja 0x140097a80
test r15, r15
je 0x140097670
mov rdx, r12
mov r8, r15
call fcn.140129230
mov byte [r13], 0
mov r8, qword [rsi + 0x118]
mov qword [rsp + 0x20], r14
lea r12, [rsp + 0x58]
lea r15, [rsp + 0x70]
mov rcx, r12
mov rdx, r15
mov r9, 0xffffffffffffffff
call fcn.14007d6b0
mov eax, dword [rsi + 0x128]
mov rcx, qword [rsi + 0x120]
mov dword [rsp + 0x9c], eax
mov qword [rsp + 0x90], rcx
test byte [0x1401f6630], 0x19
jne 0x1400978c0
cmp byte [rsp + 0x6f], 0
jns 0x1400976d7
mov rcx, qword [rsp + 0x58]
call fcn.140125ddc
cmp dword [rsi + 8], 3
je 0x140097946
mov rax, qword [0x1402041a8]
test rax, rax
je 0x140097714
mov r9, qword [rsi + 0x118]
mov r8d, dword [rsi + 0x128]
mov rdx, qword [rsi + 0x120]
mov ecx, dword [rsi + 8]
mov qword [rsp + 0x20], r15
call qword [0x140215008]
test al, al
jne 0x14009774b
mov eax, dword [reloc.WS2_32.dll_accept]
test al, 2
jne 0x14009789d
test al, 4
jne 0x14009784e
cmp eax, 1
ja 0x140097739
cmp dword [rsi + 8], 2
jge 0x14009784e
test al, 1
jne 0x1400978f4
cmp dword [rsi + 8], 3
je 0x140097aac
cmp byte [rsp + 0x87], 0
jns 0x14009775f
mov rcx, qword [rsp + 0x70]
call fcn.140125ddc
lea rcx, [rsi + 0x12c]
call fcn.140101800
mov rax, qword [rsi + 0x10]
movsxd rax, dword [rax + 4]
lea rcx, [0x1401be8a8]
mov qword [rsi + rax + 0x10], rcx
lea rax, [0x1401be8b0]
mov qword [rsi + 0x18], rax
cmp byte [rsi + 0x6f], 0
jns 0x140097799
mov rcx, qword [rsi + 0x58]
call fcn.140125ddc
sub rsi, 0xffffffffffffff80
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call fcn.1400c9a10
mov rcx, rdi
call fcn.1400c9a70
mov rcx, rsi
call fcn.1400c9a00
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.140126950
nop
add rsp, 0x4a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbp, r13
mov r13, r15
or r13, 0xf
inc r13
mov rcx, r13
call fcn.140125da0
mov rcx, rax
mov qword [rsp + 0x70], rax
add rbp, 0x11
or rbp, r13
mov qword [rsp + 0x80], rbp
mov qword [rsp + 0x78], r15
jmp 0x14009764e
mov r14, rdi
or r14, 0xf
inc r14
mov rcx, r14
call fcn.140125da0
mov rcx, rax
mov qword [rsp + 0xa0], rax
lea rax, [r13 + 0x11]
or rax, r14
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xa8], rdi
jmp 0x140097537
lea r14, [rsp + 0x70]
movzx ecx, byte [r14 + 0x17]
mov r15d, ecx
and r15d, 0x7f
test cl, cl
cmovs r15, qword [r14 + 8]
cmovs r14, qword [r14]
test r15, r15
je 0x140097739
xor r12d, r12d
mov r8d, r15d
sub r8d, r12d
lea rdx, [r14 + r12]
mov ecx, 2
call fcn.140143a88
test eax, eax
jns 0x14009799e
mov eax, dword [reloc.WS2_32.dll_accept]
jmp 0x140097739
cmp byte [rsp + 0x87], 0
jns 0x1400978ac
mov r15, qword [rsp + 0x70]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [reloc.WS2_32.dll_accept]
jmp 0x140097722
lea rax, [rsp + 0x90]
lea rdx, [rsp + 0xa0]
mov qword [rdx], rax
lea rax, [rsp + 0x9c]
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], r12
lea rcx, str.LogMessage
call fcn.140191960
jmp 0x1400976c6
call fcn.140191210
test al, al
je 0x140097741
lea r9, [rsp + 0xa0]
mov dword [r9], 0xaaaaaaaa
lea rdx, [rsp + 0x70]
movzx eax, byte [rdx + 0x17]
mov r8d, eax
and r8d, 0x7f
test al, al
cmovs r8d, dword [rdx + 8]
cmovs rdx, qword [rdx]
mov rcx, qword [0x1402041c0]
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140097741
cmp byte [0x1402041f4], 0
jne 0x1400976e1
mov byte [0x1402041f4], 1
mov eax, dword [0x140204200]
mov ecx, dword [0x1401f78b8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140097bf7
mov rcx, rsi
mov rdx, r14
call fcn.140191580
movzx r8d, byte [rsp + 0xb7]
test r8b, r8b
js 0x1400979b1
and r8d, 0x7f
jmp 0x1400979c1
mov eax, eax
add r12, rax
cmp r12, r15
jb 0x140097876
jmp 0x140097892
mov r8, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xa0]
lea r12, [rsp + 0x58]
mov rcx, r12
mov rdx, r14
call fcn.1400cacb0
mov rcx, qword [0x1402041f8]
mov rdx, r12
call fcn.1400a3e90
cmp byte [rsp + 0xb7], 0
jns 0x1400979f7
mov rcx, qword [rsp + 0xa0]
call fcn.140125ddc
mov byte [0x1402041f4], 0
jmp 0x1400976e1
lea rcx, [rsp + 0xa0]
call fcn.140161650
lea rcx, [rsp + 0x70]
call fcn.140161650
lea rax, str.std::string_view::string_view_iterator__sentinel__received_invalid_range
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.___end_____begin____0
mov r8d, 0x147
call fcn.1401623d0
xor ebx, ebx
mov edi, 0
test al, 8
je 0x14009752b
mov rbx, qword [rsi + 0x28]
mov rdi, qword [rsi + 0x38]
jmp 0x14009750f
xor r15d, r15d
mov r12d, 0
test al, 8
je 0x140097645
mov r12, qword [rsi + 0x28]
mov r15, qword [rsi + 0x38]
jmp 0x140097629
lea rax, str.char_traits::copy_overlapped_range
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__stringchar_traits.h
lea r9, str.__s2_____s1____s2_____s1____n
mov r8d, 0xf3
call fcn.1401623d0
lea r14, [rsp + 0xa0]
mov r8d, 0x400
mov rcx, r14
mov dl, 0xaa
call fcn.1401298e0
cmp byte [rsp + 0x87], 0
jns 0x140097ad5
mov rdx, qword [rsp + 0x70]
jmp 0x140097ada
lea rdx, [rsp + 0x70]
mov r8d, 0x400
mov rcx, r14
call fcn.1400e98c0
mov rcx, r14
call fcn.1400c9a70
call fcn.140191490
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 0x18]
je 0x140097c39
mov qword [rsp + 0x58], rdi
call fcn.140191490
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x18]
test rdx, rdx
cmove rdx, rcx
dec rdx
cmp rcx, rdx
jb 0x140097bf4
shl rdx, 3
add rdx, qword [rax]
lea r14, [rsp + 0x58]
mov rcx, r14
call fcn.1400f2990
cmp qword [r14], 0
jne 0x140097b51
lea rcx, [rsp + 0x58]
call fcn.1400f29c0
jmp 0x14009774b
cmp byte [rsp + 0x87], 0
jns 0x140097b62
mov r14, qword [rsp + 0x70]
jmp 0x140097b67
lea r14, [rsp + 0x70]
mov rcx, r14
add rcx, rbx
mov qword [rsp + 0x48], rcx
je 0x140097bc8
call fcn.140148420
lea r12, [rsp + 0x48]
mov qword [r12 + 8], rax
mov rax, qword [rsi + 0x118]
sub rbx, rax
add r14, rax
lea r15, [rsp + 0x38]
mov rcx, r15
mov rdx, r14
mov r8, rbx
call fcn.1400cacb0
mov r8d, dword [rsi + 0x128]
mov rdx, qword [rsi + 0x120]
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0x58]
mov r9, r15
call fcn.140191500
jmp 0x140097b42
lea rax, str.null_pointer_passed_to_non_null_argument_of_char_traits_..._::length
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__s___nullptr
mov r8d, 0x109
call fcn.1401623d0
int3
lea rcx, [0x140204200]
call fcn.140125f00
cmp dword [0x140204200], 0xffffffff
jne 0x14009797f
lea rcx, str.LOG_FATAL
mov edx, 0x400
call fcn.1400a3e60
mov qword [0x1402041f8], rax
lea rcx, [0x140204200]
call fcn.140125f98
jmp 0x14009797f
int3