Function at 0x1400a40d0
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, 0x498
mov rsi, rcx
mov rax, qword [0x140190028]
xor rax, rsp
mov qword [rsp + 0x490], rax
lea rax, [0x1401659e0]
mov qword [rcx], rax
lea rbx, [rcx + 0x10]
lea rdi, [rcx + 0x18]
lea r14, [rsp + 0x90]
mov rcx, rdi
mov rdx, r14
call fcn.140020c64
movzx r12d, byte [r14 + 0x17]
test r12b, r12b
jns 0x1400a412f
mov r12, qword [rsp + 0x98]
jns 0x1400a413e
mov rcx, qword [rsp + 0x90]
call fcn.1400a484c
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [rax + 4]
add rcx, rbx
lea r14, [rsp + 0x90]
mov rdx, r14
call fcn.14003140a
lea rdx, [0x1401a9c78]
mov rcx, r14
call fcn.1400341c8
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov dl, 0xa
mov rax, r8
call qword [0x1401bc008]
mov ebp, eax
mov rcx, r14
call fcn.14003154c
mov rcx, rbx
mov edx, ebp
call fcn.140020b46
mov rcx, rbx
call fcn.140020620
movabs r13, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x60]
mov qword [rbx + 0x10], r13
movaps xmm0, xmmword [0x140163e40]
movaps xmmword [rbx], xmm0
mov rcx, rdi
mov rdx, rbx
call fcn.140020c64
mov r8, qword [rsi + 0x118]
mov qword [rsp + 0x20], r14
lea r15, [rsp + 0x48]
mov rcx, r15
mov rdx, rbx
mov r9, 0xffffffffffffffff
call fcn.140035182
mov eax, dword [rsi + 0x128]
mov rcx, qword [rsi + 0x120]
mov dword [rsp + 0x8c], eax
mov qword [rsp + 0x80], rcx
test byte [0x14019e790], 0x19
jne 0x1400a45ac
cmp byte [rsp + 0x5f], 0
jns 0x1400a421e
mov rcx, qword [rsp + 0x48]
call fcn.1400a484c
cmp dword [rsi + 8], 3
jne 0x1400a4231
cmp byte [0x1401aaaac], 0
je 0x1400a447d
mov rax, qword [0x1401aaa60]
test rax, rax
je 0x1400a4268
mov r9, qword [rsi + 0x118]
mov r8d, dword [rsi + 0x128]
mov rdx, qword [rsi + 0x120]
mov ecx, dword [rsi + 8]
mov qword [rsp + 0x20], rbx
call qword [0x1401bc008]
test al, al
jne 0x1400a42f9
mov eax, dword [0x14019e098]
test al, 2
je 0x1400a428d
cmp byte [rsp + 0x77], 0
jns 0x1400a427e
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x14019e098]
test al, 4
jne 0x1400a429c
cmp eax, 1
ja 0x1400a42e7
cmp dword [rsi + 8], 2
jl 0x1400a42e7
lea rbx, [rsp + 0x60]
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 0x1400a42e7
xor r15d, r15d
mov r8d, r14d
sub r8d, r15d
lea rdx, [rbx + r15]
mov ecx, 2
call fcn.1400c21ac
test eax, eax
js 0x1400a42e1
mov eax, eax
add r15, rax
cmp r15, r14
jb 0x1400a42bf
mov eax, dword [0x14019e098]
test al, 1
jne 0x1400a4385
cmp dword [rsi + 8], 3
je 0x1400a43d7
cmp byte [rsp + 0x77], 0
jns 0x1400a430a
mov rcx, qword [rsp + 0x60]
call fcn.1400a484c
lea rcx, [rsi + 0x12c]
call fcn.140043b40
mov rax, qword [rsi + 0x10]
movsxd rax, dword [rax + 4]
lea rcx, [0x1401656a0]
mov qword [rsi + rax + 0x10], rcx
lea rax, [0x1401656b0]
mov qword [rsi + 0x18], rax
cmp byte [rsi + 0x6f], 0
jns 0x1400a4344
mov rcx, qword [rsi + 0x58]
call fcn.1400a484c
sub rsi, 0xffffffffffffff80
mov rcx, rdi
call fcn.14001fec6
mov rcx, rdi
call fcn.14001fee0
mov rcx, rsi
call fcn.14001fec0
mov rcx, qword [rsp + 0x490]
xor rcx, rsp
call fcn.1400a5d70
nop
add rsp, 0x498
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400ddbd0
test al, al
je 0x1400a42ef
lea r9, [rsp + 0x90]
mov dword [r9], 0xaaaaaaaa
lea rdx, [rsp + 0x60]
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 [0x1401aaa78]
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x1400a42ef
lea rbx, [rsp + 0x90]
mov r8d, 0x400
mov rcx, rbx
mov dl, 0xaa
call fcn.1400a7ec0
cmp byte [rsp + 0x77], 0
js 0x1400a43fd
lea rdx, [rsp + 0x60]
jmp 0x1400a4402
mov rdx, qword [rsp + 0x60]
mov r8d, 0x400
mov rcx, rbx
call fcn.140038e60
mov rcx, rbx
call fcn.14001fee0
call fcn.140068ba0
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 0x18]
je 0x1400a4651
mov qword [rsp + 0x48], r13
call fcn.140068ba0
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x18]
test rdx, rdx
cmove rdx, rcx
dec rdx
cmp rcx, rdx
jb 0x1400a464e
shl rdx, 3
add rdx, qword [rax]
lea rbx, [rsp + 0x48]
mov rcx, rbx
call fcn.14001e6d0
cmp qword [rbx], 0
jne 0x1400a452a
lea rcx, [rsp + 0x48]
call fcn.14003b010
jmp 0x1400a42f9
mov byte [0x1401aaaac], 1
mov eax, dword [0x1401aaab8]
mov ecx, dword [0x14019fc60]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400a460c
mov rcx, rsi
mov rdx, r14
call fcn.1401138d0
movzx eax, byte [rsp + 0xa7]
test al, al
js 0x1400a44c5
and eax, 0x7f
jmp 0x1400a44d5
mov rax, qword [rsp + 0x98]
mov r14, qword [rsp + 0x90]
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rax
test rax, rax
js 0x1400a4654
test r14, r14
jne 0x1400a44f6
test rax, rax
jne 0x1400a4680
mov rcx, qword [0x1401aaab0]
lea rdx, [rsp + 0x48]
call fcn.1400700b0
cmp byte [rsp + 0xa7], 0
jns 0x1400a451e
mov rcx, qword [rsp + 0x90]
call fcn.1400a484c
mov byte [0x1401aaaac], 0
jmp 0x1400a4231
cmp byte [rsp + 0x77], 0
js 0x1400a4538
lea rbx, [rsp + 0x60]
jmp 0x1400a453d
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
add rcx, r12
mov qword [rsp + 0x38], rcx
je 0x1400a45e0
call fcn.1400c8100
mov qword [rsp + 0x40], rax
mov rax, qword [rsi + 0x118]
add rbx, rax
mov qword [rsp + 0x28], rbx
sub r12, rax
mov qword [rsp + 0x30], r12
js 0x1400a4654
je 0x1400a4580
test rbx, rbx
je 0x1400a4680
mov r8d, dword [rsi + 0x128]
mov rdx, qword [rsi + 0x120]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x48]
lea r9, [rsp + 0x28]
call fcn.1400ddea0
jmp 0x1400a446e
lea rax, [rsp + 0x80]
lea rdx, [rsp + 0x90]
mov qword [rdx], rax
lea rax, [rsp + 0x8c]
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], r15
lea rcx, str.LogMessage
call fcn.140069160
jmp 0x1400a420d
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.1400e7b8d
lea rcx, [0x1401aaab8]
call fcn.1400a4970
cmp dword [0x1401aaab8], 0xffffffff
jne 0x1400a44a9
lea rcx, str.LOG_FATAL
mov edx, 0x400
call fcn.140070080
mov qword [0x1401aaab0], rax
lea rcx, [0x1401aaab8]
call fcn.1400a4a08
jmp 0x1400a44a9
int3
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.1400e7b8d
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.1400e7b8d
int3