Function at 0x14002a780
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 [0x140105028]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
movabs r13, 0x7fffffffffffffef
lea rax, [0x1400ead60]
mov qword [rcx], rax
mov eax, dword [rcx + 0x78]
test al, 0x10
je 0x14002ad16
mov rax, qword [rsi + 0x48]
mov rdi, qword [rsi + 0x70]
cmp rdi, rax
jae 0x14002a7db
mov qword [rsi + 0x70], rax
mov rdi, rax
mov rbx, qword [rsi + 0x40]
sub rdi, rbx
js 0x14002acea
cmp rdi, r13
ja 0x14002acd3
cmp rdi, 0x16
ja 0x14002aae5
lea rcx, [rsp + 0xa0]
mov byte [rcx + 0x17], dil
lea r14, [rcx + rdi]
cmp rcx, rbx
ja 0x14002a819
cmp r14, rbx
ja 0x14002ad50
test rdi, rdi
je 0x14002a829
mov rdx, rbx
mov r8, rdi
call fcn.140078ae0
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 0x14002a84e
mov rbx, qword [rsp + 0xa8]
jns 0x14002a85d
mov rcx, qword [rsp + 0xa0]
call fcn.140075cb0
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [rax + 4]
add rcx, r15
lea r14, [rsp + 0xa0]
mov rdx, r14
call fcn.14004ffa0
lea rdx, [0x14011c0b0]
mov rcx, r14
call fcn.140050ae0
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov dl, 0xa
mov rax, r8
call qword [0x140128008]
mov ebp, eax
mov rcx, r14
call fcn.140050100
mov rcx, r15
mov edx, ebp
call fcn.140019620
mov rcx, r15
call fcn.140018c10
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rdi
movaps xmm0, xmmword [0x1400eb990]
movaps xmmword [rsp + 0x70], xmm0
mov eax, dword [rsi + 0x78]
test al, 0x10
je 0x14002ad32
mov rax, qword [rsi + 0x48]
mov r15, qword [rsi + 0x70]
cmp r15, rax
jae 0x14002a8f5
mov qword [rsi + 0x70], rax
mov r15, rax
mov r12, qword [rsi + 0x40]
sub r15, r12
js 0x14002acea
cmp r15, r13
ja 0x14002ace0
cmp r15, 0x16
ja 0x14002aaaf
lea rcx, [rsp + 0x70]
mov byte [rcx + 0x17], r15b
lea r13, [rcx + r15]
cmp rcx, r12
ja 0x14002a930
cmp r13, r12
ja 0x14002ad50
test r15, r15
je 0x14002a940
mov rdx, r12
mov r8, r15
call fcn.140078ae0
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.140027a50
mov eax, dword [rsi + 0x128]
mov rcx, qword [rsi + 0x120]
mov dword [rsp + 0x9c], eax
mov qword [rsp + 0x90], rcx
test byte [0x1401135b0], 0x19
jne 0x14002ab90
cmp byte [rsp + 0x6f], 0
jns 0x14002a9a7
mov rcx, qword [rsp + 0x58]
call fcn.140075cb0
cmp dword [rsi + 8], 3
je 0x14002ac16
mov rax, qword [0x14011ce98]
test rax, rax
je 0x14002a9e4
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 [0x140128008]
test al, al
jne 0x14002aa1b
mov eax, dword [0x140113038]
test al, 2
jne 0x14002ab6d
test al, 4
jne 0x14002ab1e
cmp eax, 1
ja 0x14002aa09
cmp dword [rsi + 8], 2
jge 0x14002ab1e
test al, 1
jne 0x14002abc4
cmp dword [rsi + 8], 3
je 0x14002ad7c
cmp byte [rsp + 0x87], 0
jns 0x14002aa2f
mov rcx, qword [rsp + 0x70]
call fcn.140075cb0
lea rcx, [rsi + 0x12c]
call fcn.140059580
mov rax, qword [rsi + 0x10]
movsxd rax, dword [rax + 4]
lea rcx, [0x1400eabd0]
mov qword [rsi + rax + 0x10], rcx
lea rax, str.pv_n_
mov qword [rsi + 0x18], rax
cmp byte [rsi + 0x6f], 0
jns 0x14002aa69
mov rcx, qword [rsi + 0x58]
call fcn.140075cb0
sub rsi, 0xffffffffffffff80
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call fcn.1400446b0
mov rcx, rdi
call fcn.140044710
mov rcx, rsi
call fcn.1400446a0
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.140077050
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.140075c74
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 0x14002a91e
mov r14, rdi
or r14, 0xf
inc r14
mov rcx, r14
call fcn.140075c74
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 0x14002a807
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 0x14002aa09
xor r12d, r12d
mov r8d, r15d
sub r8d, r12d
lea rdx, [r14 + r12]
mov ecx, 2
call fcn.14008c688
test eax, eax
jns 0x14002ac6e
mov eax, dword [0x140113038]
jmp 0x14002aa09
cmp byte [rsp + 0x87], 0
jns 0x14002ab7c
mov r15, qword [rsp + 0x70]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x140113038]
jmp 0x14002a9f2
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.1400ca050
jmp 0x14002a996
call fcn.1400c9900
test al, al
je 0x14002aa11
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 [0x14011ceb0]
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14002aa11
cmp byte [0x14011cee4], 0
jne 0x14002a9b1
mov byte [0x14011cee4], 1
mov eax, dword [0x14011cef0]
mov ecx, dword [0x140114710]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002aec7
mov rcx, rsi
mov rdx, r14
call fcn.1400c9c70
movzx r8d, byte [rsp + 0xb7]
test r8b, r8b
js 0x14002ac81
and r8d, 0x7f
jmp 0x14002ac91
mov eax, eax
add r12, rax
cmp r12, r15
jb 0x14002ab46
jmp 0x14002ab62
mov r8, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xa0]
lea r12, [rsp + 0x58]
mov rcx, r12
mov rdx, r14
call fcn.140045050
mov rcx, qword [0x14011cee8]
mov rdx, r12
call fcn.140033ab0
cmp byte [rsp + 0xb7], 0
jns 0x14002acc7
mov rcx, qword [rsp + 0xa0]
call fcn.140075cb0
mov byte [0x14011cee4], 0
jmp 0x14002a9b1
lea rcx, [rsp + 0xa0]
call fcn.1400a6ed0
lea rcx, [rsp + 0x70]
call fcn.1400a6ed0
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.1400a77c0
xor ebx, ebx
mov edi, 0
test al, 8
je 0x14002a7fb
mov rbx, qword [rsi + 0x28]
mov rdi, qword [rsi + 0x38]
jmp 0x14002a7df
xor r15d, r15d
mov r12d, 0
test al, 8
je 0x14002a915
mov r12, qword [rsi + 0x28]
mov r15, qword [rsi + 0x38]
jmp 0x14002a8f9
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.1400a77c0
lea r14, [rsp + 0xa0]
mov r8d, 0x400
mov rcx, r14
mov dl, 0xaa
call fcn.140079190
cmp byte [rsp + 0x87], 0
jns 0x14002ada5
mov rdx, qword [rsp + 0x70]
jmp 0x14002adaa
lea rdx, [rsp + 0x70]
mov r8d, 0x400
mov rcx, r14
call fcn.140058e80
mov rcx, r14
call fcn.140044710
call fcn.1400c9b80
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 0x18]
je 0x14002af09
mov qword [rsp + 0x58], rdi
call fcn.1400c9b80
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x18]
test rdx, rdx
cmove rdx, rcx
dec rdx
cmp rcx, rdx
jb 0x14002aec4
shl rdx, 3
add rdx, qword [rax]
lea r14, [rsp + 0x58]
mov rcx, r14
call fcn.140059e60
cmp qword [r14], 0
jne 0x14002ae21
lea rcx, [rsp + 0x58]
call fcn.140059e90
jmp 0x14002aa1b
cmp byte [rsp + 0x87], 0
jns 0x14002ae32
mov r14, qword [rsp + 0x70]
jmp 0x14002ae37
lea r14, [rsp + 0x70]
mov rcx, r14
add rcx, rbx
mov qword [rsp + 0x48], rcx
je 0x14002ae98
call fcn.14008fc00
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.140045050
mov r8d, dword [rsi + 0x128]
mov rdx, qword [rsi + 0x120]
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0x58]
mov r9, r15
call fcn.1400c9bf0
jmp 0x14002ae12
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.1400a77c0
int3
lea rcx, [0x14011cef0]
call fcn.140075dd0
cmp dword [0x14011cef0], 0xffffffff
jne 0x14002ac4f
lea rcx, str.LOG_FATAL
mov edx, 0x400
call fcn.140033a80
mov qword [0x14011cee8], rax
lea rcx, [0x14011cef0]
call fcn.140075e68
jmp 0x14002ac4f
int3