Function at 0x14009bbd0
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 [0x1401ee038]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
movabs r13, 0x7fffffffffffffef
lea rax, [0x1401c3c60]
mov qword [rcx], rax
mov eax, dword [rcx + 0x78]
test al, 0x10
je 0x14009c166
mov rax, qword [rsi + 0x48]
mov rdi, qword [rsi + 0x70]
cmp rdi, rax
jae 0x14009bc2b
mov qword [rsi + 0x70], rax
mov rdi, rax
mov rbx, qword [rsi + 0x40]
sub rdi, rbx
js 0x14009c13a
cmp rdi, r13
ja 0x14009c123
cmp rdi, 0x16
ja 0x14009bf35
lea rcx, [rsp + 0xa0]
mov byte [rcx + 0x17], dil
lea r14, [rcx + rdi]
cmp rcx, rbx
ja 0x14009bc69
cmp r14, rbx
ja 0x14009c1a0
test rdi, rdi
je 0x14009bc79
mov rdx, rbx
mov r8, rdi
call fcn.14012dd40
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 0x14009bc9e
mov rbx, qword [rsp + 0xa8]
jns 0x14009bcad
mov rcx, qword [rsp + 0xa0]
call fcn.14012a8ec
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [rax + 4]
add rcx, r15
lea r14, [rsp + 0xa0]
mov rdx, r14
call fcn.1400dc860
lea rdx, [0x140208ef0]
mov rcx, r14
call fcn.1400dd3a0
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov dl, 0xa
mov rax, r8
call qword [0x14021c008]
mov ebp, eax
mov rcx, r14
call fcn.1400dc9c0
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 [0x1401c1a60]
movaps xmmword [rsp + 0x70], xmm0
mov eax, dword [rsi + 0x78]
test al, 0x10
je 0x14009c182
mov rax, qword [rsi + 0x48]
mov r15, qword [rsi + 0x70]
cmp r15, rax
jae 0x14009bd45
mov qword [rsi + 0x70], rax
mov r15, rax
mov r12, qword [rsi + 0x40]
sub r15, r12
js 0x14009c13a
cmp r15, r13
ja 0x14009c130
cmp r15, 0x16
ja 0x14009beff
lea rcx, [rsp + 0x70]
mov byte [rcx + 0x17], r15b
lea r13, [rcx + r15]
cmp rcx, r12
ja 0x14009bd80
cmp r13, r12
ja 0x14009c1a0
test r15, r15
je 0x14009bd90
mov rdx, r12
mov r8, r15
call fcn.14012dd40
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.140081780
mov eax, dword [rsi + 0x128]
mov rcx, qword [rsi + 0x120]
mov dword [rsp + 0x9c], eax
mov qword [rsp + 0x90], rcx
test byte [0x1401fc740], 0x19
jne 0x14009bfe0
cmp byte [rsp + 0x6f], 0
jns 0x14009bdf7
mov rcx, qword [rsp + 0x58]
call fcn.14012a8ec
cmp dword [rsi + 8], 3
je 0x14009c066
mov rax, qword [0x14020a3d8]
test rax, rax
je 0x14009be34
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 [0x14021c008]
test al, al
jne 0x14009be6b
mov eax, dword [reloc.WS2_32.dll_accept]
test al, 2
jne 0x14009bfbd
test al, 4
jne 0x14009bf6e
cmp eax, 1
ja 0x14009be59
cmp dword [rsi + 8], 2
jge 0x14009bf6e
test al, 1
jne 0x14009c014
cmp dword [rsi + 8], 3
je 0x14009c1cc
cmp byte [rsp + 0x87], 0
jns 0x14009be7f
mov rcx, qword [rsp + 0x70]
call fcn.14012a8ec
lea rcx, [rsi + 0x12c]
call fcn.140106310
mov rax, qword [rsi + 0x10]
movsxd rax, dword [rax + 4]
lea rcx, [0x1401c39a8]
mov qword [rsi + rax + 0x10], rcx
lea rax, [0x1401c39b0]
mov qword [rsi + 0x18], rax
cmp byte [rsi + 0x6f], 0
jns 0x14009beb9
mov rcx, qword [rsi + 0x58]
call fcn.14012a8ec
sub rsi, 0xffffffffffffff80
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call fcn.1400ce210
mov rcx, rdi
call fcn.1400ce270
mov rcx, rsi
call fcn.1400ce200
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.14012b460
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.14012a8b0
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 0x14009bd6e
mov r14, rdi
or r14, 0xf
inc r14
mov rcx, r14
call fcn.14012a8b0
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 0x14009bc57
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 0x14009be59
xor r12d, r12d
mov r8d, r15d
sub r8d, r12d
lea rdx, [r14 + r12]
mov ecx, 2
call fcn.140148598
test eax, eax
jns 0x14009c0be
mov eax, dword [reloc.WS2_32.dll_accept]
jmp 0x14009be59
cmp byte [rsp + 0x87], 0
jns 0x14009bfcc
mov r15, qword [rsp + 0x70]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [reloc.WS2_32.dll_accept]
jmp 0x14009be42
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.140196520
jmp 0x14009bde6
call fcn.140195dd0
test al, al
je 0x14009be61
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 [0x14020a3f0]
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14009be61
cmp byte [0x14020a424], 0
jne 0x14009be01
mov byte [0x14020a424], 1
mov eax, dword [0x14020a430]
mov ecx, dword [0x1401fd9c8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14009c317
mov rcx, rsi
mov rdx, r14
call fcn.140196140
movzx r8d, byte [rsp + 0xb7]
test r8b, r8b
js 0x14009c0d1
and r8d, 0x7f
jmp 0x14009c0e1
mov eax, eax
add r12, rax
cmp r12, r15
jb 0x14009bf96
jmp 0x14009bfb2
mov r8, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xa0]
lea r12, [rsp + 0x58]
mov rcx, r12
mov rdx, r14
call fcn.1400cf630
mov rcx, qword [0x14020a428]
mov rdx, r12
call fcn.1400a8690
cmp byte [rsp + 0xb7], 0
jns 0x14009c117
mov rcx, qword [rsp + 0xa0]
call fcn.14012a8ec
mov byte [0x14020a424], 0
jmp 0x14009be01
lea rcx, [rsp + 0xa0]
call fcn.140166160
lea rcx, [rsp + 0x70]
call fcn.140166160
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.140166ee0
xor ebx, ebx
mov edi, 0
test al, 8
je 0x14009bc4b
mov rbx, qword [rsi + 0x28]
mov rdi, qword [rsi + 0x38]
jmp 0x14009bc2f
xor r15d, r15d
mov r12d, 0
test al, 8
je 0x14009bd65
mov r12, qword [rsi + 0x28]
mov r15, qword [rsi + 0x38]
jmp 0x14009bd49
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.140166ee0
lea r14, [rsp + 0xa0]
mov r8d, 0x400
mov rcx, r14
mov dl, 0xaa
call fcn.14012e3f0
cmp byte [rsp + 0x87], 0
jns 0x14009c1f5
mov rdx, qword [rsp + 0x70]
jmp 0x14009c1fa
lea rdx, [rsp + 0x70]
mov r8d, 0x400
mov rcx, r14
call fcn.1400ee3d0
mov rcx, r14
call fcn.1400ce270
call fcn.140196050
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 0x18]
je 0x14009c359
mov qword [rsp + 0x58], rdi
call fcn.140196050
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x18]
test rdx, rdx
cmove rdx, rcx
dec rdx
cmp rcx, rdx
jb 0x14009c314
shl rdx, 3
add rdx, qword [rax]
lea r14, [rsp + 0x58]
mov rcx, r14
call fcn.1400f74a0
cmp qword [r14], 0
jne 0x14009c271
lea rcx, [rsp + 0x58]
call fcn.1400f74d0
jmp 0x14009be6b
cmp byte [rsp + 0x87], 0
jns 0x14009c282
mov r14, qword [rsp + 0x70]
jmp 0x14009c287
lea r14, [rsp + 0x70]
mov rcx, r14
add rcx, rbx
mov qword [rsp + 0x48], rcx
je 0x14009c2e8
call fcn.14014cf30
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.1400cf630
mov r8d, dword [rsi + 0x128]
mov rdx, qword [rsi + 0x120]
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0x58]
mov r9, r15
call fcn.1401960c0
jmp 0x14009c262
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.140166ee0
int3
lea rcx, [0x14020a430]
call fcn.14012aa10
cmp dword [0x14020a430], 0xffffffff
jne 0x14009c09f
lea rcx, str.LOG_FATAL
mov edx, 0x400
call fcn.1400a8660
mov qword [0x14020a428], rax
lea rcx, [0x14020a430]
call fcn.14012aaa8
jmp 0x14009c09f
int3