Function at 0x1400a0710
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 [0x140188028]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
movabs r13, 0x7fffffffffffffef
lea rax, [0x14015a6d8]
mov qword [rcx], rax
mov eax, dword [rcx + 0x78]
test al, 0x10
je 0x1400a0e2a
mov rax, qword [rsi + 0x48]
mov rdi, qword [rsi + 0x70]
cmp rdi, rax
jae 0x1400a076b
mov qword [rsi + 0x70], rax
mov rdi, rax
mov rbx, qword [rsi + 0x40]
sub rdi, rbx
js 0x1400a0dfe
cmp rdi, r13
ja 0x1400a0de7
cmp rdi, 0x16
ja 0x1400a0ad7
lea rcx, [rsp + 0xa0]
mov byte [rcx + 0x17], dil
lea r15, [rcx + rdi]
cmp rcx, rbx
ja 0x1400a07a9
cmp r15, rbx
ja 0x1400a0e64
test rdi, rdi
je 0x1400a07b9
mov rdx, rbx
mov r8, rdi
call fcn.1400a4150
lea r14, [rsi + 0x10]
lea rdi, [rsi + 0x18]
mov byte [r15], 0
movzx eax, byte [rsp + 0xb7]
test al, al
jns 0x1400a07d9
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x30], rax
jns 0x1400a07ed
mov rcx, qword [rsp + 0xa0]
call fcn.1400a122c
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [rax + 4]
add rcx, r14
lea rbx, [rsp + 0xa0]
mov rdx, rbx
call fcn.1400317a2
lea rdx, [0x14019f8f0]
mov rcx, rbx
call fcn.14003d8b0
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov dl, 0xa
mov rax, r8
call qword [0x1401b1008]
mov ebp, eax
mov rcx, rbx
call fcn.14003255e
mov rcx, r14
mov edx, ebp
call fcn.140026d12
mov rcx, r14
call fcn.14002665a
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rbp
movaps xmm0, xmmword [0x140158be0]
movaps xmmword [rsp + 0x70], xmm0
mov eax, dword [rsi + 0x78]
test al, 0x10
je 0x1400a0e46
mov rax, qword [rsi + 0x48]
mov r14, qword [rsi + 0x70]
cmp r14, rax
jae 0x1400a0885
mov qword [rsi + 0x70], rax
mov r14, rax
mov r15, qword [rsi + 0x40]
sub r14, r15
js 0x1400a0dfe
cmp r14, r13
ja 0x1400a0df4
cmp r14, 0x16
ja 0x1400a0aa4
lea rcx, [rsp + 0x70]
mov byte [rcx + 0x17], r14b
lea r12, [rcx + r14]
cmp rcx, r15
ja 0x1400a08c0
cmp r12, r15
ja 0x1400a0e64
test r14, r14
je 0x1400a08d0
mov rdx, r15
mov r8, r14
call fcn.1400a4150
mov byte [r12], 0
mov r8, qword [rsi + 0x118]
mov qword [rsp + 0x20], rbx
lea r15, [rsp + 0x58]
lea r14, [rsp + 0x70]
mov rcx, r15
mov rdx, r14
mov r9, 0xffffffffffffffff
call fcn.14003e890
mov eax, dword [rsi + 0x128]
mov rcx, qword [rsi + 0x120]
mov dword [rsp + 0x9c], eax
mov qword [rsp + 0x90], rcx
test byte [0x140196780], 0x19
jne 0x1400a0d42
cmp byte [rsp + 0x6f], 0
jns 0x1400a0937
mov rcx, qword [rsp + 0x58]
call fcn.1400a122c
cmp dword [rsi + 8], 3
jne 0x1400a094a
cmp byte [0x1401a074c], 0
je 0x1400a0c0b
mov rax, qword [0x1401a0700]
test rax, rax
je 0x1400a0981
mov r9, qword [rsi + 0x118]
mov r8d, dword [rsi + 0x128]
mov rdx, qword [rsi + 0x120]
mov ecx, dword [rsi + 8]
mov qword [rsp + 0x20], r14
call qword [0x1401b1008]
test al, al
jne 0x1400a0a15
mov eax, dword [0x140196078]
test al, 2
je 0x1400a09a9
cmp byte [rsp + 0x87], 0
jns 0x1400a099a
mov r14, qword [rsp + 0x70]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x140196078]
test al, 4
jne 0x1400a09b8
cmp eax, 1
ja 0x1400a0a03
cmp dword [rsi + 8], 2
jl 0x1400a0a03
lea rbx, [rsp + 0x70]
movzx ecx, byte [rbx + 0x17]
mov r14d, ecx
and r14d, 0x7f
test cl, cl
cmovs r14, qword [rbx + 8]
cmovs rbx, qword [rbx]
test r14, r14
je 0x1400a0a03
xor r15d, r15d
mov r8d, r14d
sub r8d, r15d
lea rdx, [rbx + r15]
mov ecx, 2
call fcn.1400ba804
test eax, eax
js 0x1400a09fd
mov eax, eax
add r15, rax
cmp r15, r14
jb 0x1400a09db
mov eax, dword [0x140196078]
test al, 1
jne 0x1400a0b10
cmp dword [rsi + 8], 3
je 0x1400a0b62
cmp byte [rsp + 0x87], 0
jns 0x1400a0a29
mov rcx, qword [rsp + 0x70]
call fcn.1400a122c
lea rcx, [rsi + 0x12c]
call fcn.14004de60
mov rax, qword [rsi + 0x10]
movsxd rax, dword [rax + 4]
lea rcx, [0x14015a3e0]
mov qword [rsi + rax + 0x10], rcx
lea rax, [0x14015a3f0]
mov qword [rsi + 0x18], rax
cmp byte [rsi + 0x6f], 0
jns 0x1400a0a63
mov rcx, qword [rsi + 0x58]
call fcn.1400a122c
sub rsi, 0xffffffffffffff80
mov rcx, rdi
call fcn.140026166
mov rcx, rdi
call fcn.140026180
mov rcx, rsi
call fcn.140026160
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.1400a26b0
nop
add rsp, 0x4a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r12, r14
or r12, 0xf
inc r12
mov rcx, r12
call fcn.1400a11f0
mov rcx, rax
mov qword [rsp + 0x70], rax
add r13, 0x11
or r13, r12
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x78], r14
jmp 0x1400a08ae
mov r14, rdi
or r14, 0xf
inc r14
mov rcx, r14
call fcn.1400a11f0
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 0x1400a0797
call fcn.1400da140
test al, al
je 0x1400a0a0b
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 [0x1401a0718]
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x1400a0a0b
lea rbx, [rsp + 0xa0]
mov r8d, 0x400
mov rcx, rbx
mov dl, 0xaa
call fcn.1400a4800
cmp byte [rsp + 0x87], 0
js 0x1400a0b8b
lea rdx, [rsp + 0x70]
jmp 0x1400a0b90
mov rdx, qword [rsp + 0x70]
mov r8d, 0x400
mov rcx, rbx
call fcn.140041e60
mov rcx, rbx
call fcn.140026180
call fcn.140068a50
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 0x18]
je 0x1400a0e90
mov qword [rsp + 0x58], rbp
call fcn.140068a50
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x18]
test rdx, rdx
cmove rdx, rcx
dec rdx
cmp rcx, rdx
jb 0x1400a0de4
shl rdx, 3
add rdx, qword [rax]
lea rbx, [rsp + 0x58]
mov rcx, rbx
call fcn.1400246e0
cmp qword [rbx], 0
jne 0x1400a0cb8
lea rcx, [rsp + 0x58]
call fcn.140044290
jmp 0x1400a0a15
mov byte [0x1401a074c], 1
mov eax, dword [0x1401a0758]
mov ecx, dword [0x140197c60]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400a0da2
mov rcx, rsi
mov rdx, rbx
call fcn.14010a5e0
movzx eax, byte [rsp + 0xb7]
test al, al
js 0x1400a0c53
and eax, 0x7f
jmp 0x1400a0c63
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xa0]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rax
test rax, rax
js 0x1400a0e93
test rbx, rbx
jne 0x1400a0c84
test rax, rax
jne 0x1400a0ebf
mov rcx, qword [0x1401a0750]
lea rdx, [rsp + 0x58]
call fcn.14007b5b0
cmp byte [rsp + 0xb7], 0
jns 0x1400a0cac
mov rcx, qword [rsp + 0xa0]
call fcn.1400a122c
mov byte [0x1401a074c], 0
jmp 0x1400a094a
cmp byte [rsp + 0x87], 0
jns 0x1400a0cc9
mov rbx, qword [rsp + 0x70]
jmp 0x1400a0cce
lea rbx, [rsp + 0x70]
mov r14, qword [rsp + 0x30]
mov rcx, rbx
add rcx, r14
mov qword [rsp + 0x48], rcx
je 0x1400a0d76
call fcn.1400be180
mov qword [rsp + 0x50], rax
mov rax, qword [rsi + 0x118]
add rbx, rax
mov qword [rsp + 0x38], rbx
sub r14, rax
mov qword [rsp + 0x40], r14
js 0x1400a0e93
je 0x1400a0d16
test rbx, rbx
je 0x1400a0ebf
mov r8d, dword [rsi + 0x128]
mov rdx, qword [rsi + 0x120]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x58]
lea r9, [rsp + 0x38]
call fcn.1400da440
jmp 0x1400a0bfc
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], r15
lea rcx, str.LogMessage
call fcn.1400692d0
jmp 0x1400a0926
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.1400e25e5
lea rcx, [0x1401a0758]
call fcn.1400a1350
cmp dword [0x1401a0758], 0xffffffff
jne 0x1400a0c37
lea rcx, str.LOG_FATAL
mov edx, 0x400
call fcn.14007b580
mov qword [0x1401a0750], rax
lea rcx, [0x1401a0758]
call fcn.1400a13e8
jmp 0x1400a0c37
int3
lea rcx, [rsp + 0xa0]
call fcn.1400e06f0
lea rcx, [rsp + 0x70]
call fcn.1400e06f0
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.1400e25e5
xor ebx, ebx
mov edi, 0
test al, 8
je 0x1400a078b
mov rbx, qword [rsi + 0x28]
mov rdi, qword [rsi + 0x38]
jmp 0x1400a076f
xor r14d, r14d
mov r15d, 0
test al, 8
je 0x1400a08a5
mov r15, qword [rsi + 0x28]
mov r14, qword [rsi + 0x38]
jmp 0x1400a0889
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.1400e25e5
int3
lea rax, str.string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type
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.__len___static_cast_size_type__numeric_limits_difference_type_::max___
mov r8d, 0x13a
call fcn.1400e25e5
lea rax, str.string_view::string_view__CharT___size_t_:_received_nullptr
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.__len__0____s___nullptr
mov r8d, 0x13c
call fcn.1400e25e5
int3