Function at 0x1400a1fe0
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
lea rax, [0x14015e710]
mov qword [rcx], rax
lea r14, [rcx + 0x10]
lea rdi, [rcx + 0x18]
lea rbx, [rsp + 0xa0]
mov rcx, rdi
mov rdx, rbx
call fcn.14002240c
movzx r13d, byte [rbx + 0x17]
test r13b, r13b
jns 0x1400a203f
mov r13, qword [rsp + 0xa8]
jns 0x1400a204e
mov rcx, qword [rsp + 0xa0]
call fcn.1400a27ec
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [rax + 4]
add rcx, r14
lea rbx, [rsp + 0xa0]
mov rdx, rbx
call fcn.140029f14
lea rdx, [0x140199db8]
mov rcx, rbx
call fcn.14002d32c
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov dl, 0xa
mov rax, r8
call qword [0x1401b0008]
mov ebp, eax
mov rcx, rbx
call fcn.14002a056
mov rcx, r14
mov edx, ebp
call fcn.14002227e
mov rcx, r14
call fcn.140021ce8
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r14, [rsp + 0x70]
mov qword [r14 + 0x10], rax
movaps xmm0, xmmword [0x14015cb80]
movaps xmmword [r14], xmm0
mov rcx, rdi
mov rdx, r14
call fcn.14002240c
movzx eax, byte [r14 + 0x17]
test al, al
js 0x1400a2121
mov r15d, eax
and r15d, 0x7f
jmp 0x1400a2126
mov qword [rsp + 0x30], rdi
mov rdi, r13
mov r13, r15
or r13, 0xf
inc r13
mov rcx, r13
call fcn.1400a27b0
mov r12, rax
mov qword [rsp + 0x58], rax
add rbp, 0x11
or rbp, r13
mov r13, rdi
mov rdi, qword [rsp + 0x30]
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x60], r15
jmp 0x1400a217d
mov r15, qword [rsp + 0x78]
mov rcx, qword [rsi + 0x118]
cmp r15, rcx
jb 0x1400a25e5
test al, al
jns 0x1400a213f
mov r14, qword [rsp + 0x70]
add r14, rcx
sub r15, rcx
js 0x1400a25e8
je 0x1400a2156
test r14, r14
je 0x1400a25f5
movabs rbp, 0x7fffffffffffffef
cmp r15, rbp
ja 0x1400a25eb
cmp r15, 0x16
ja 0x1400a20e4
lea r12, [rsp + 0x58]
mov byte [r12 + 0x17], r15b
cmp r12, r14
ja 0x1400a218f
lea rax, [r12 + r15]
cmp rax, r14
ja 0x1400a2621
mov rcx, r12
mov rdx, r14
mov r8, r15
call fcn.1400a5710
mov byte [r12 + r15], 0
mov eax, dword [rsi + 0x128]
mov rcx, qword [rsi + 0x120]
mov dword [rsp + 0x9c], eax
mov qword [rsp + 0x90], rcx
test byte [0x1401967f0], 0x19
jne 0x1400a2564
cmp byte [rsp + 0x6f], 0
jns 0x1400a21dc
mov rcx, qword [rsp + 0x58]
call fcn.1400a27ec
cmp dword [rsi + 8], 3
jne 0x1400a21ef
cmp byte [0x14019abf4], 0
je 0x1400a2457
mov rax, qword [0x14019aba8]
test rax, rax
je 0x1400a222b
mov r9, qword [rsi + 0x118]
mov r8d, dword [rsi + 0x128]
mov rdx, qword [rsi + 0x120]
mov ecx, dword [rsi + 8]
lea r10, [rsp + 0x70]
mov qword [rsp + 0x20], r10
call qword [0x1401b0008]
test al, al
jne 0x1400a22c3
mov eax, dword [0x14018a038]
test al, 2
je 0x1400a2257
cmp byte [rsp + 0x87], 0
js 0x1400a2246
lea rcx, [rsp + 0x70]
jmp 0x1400a224b
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x14018a038]
test al, 4
jne 0x1400a2266
cmp dword [rsi + 8], 2
jl 0x1400a22b1
cmp eax, 1
ja 0x1400a22b1
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 0x1400a22b1
xor r15d, r15d
mov r8d, r14d
sub r8d, r15d
lea rdx, [rbx + r15]
mov ecx, 2
call fcn.1400bfde4
test eax, eax
js 0x1400a22ab
mov eax, eax
add r15, rax
cmp r14, r15
ja 0x1400a2289
mov eax, dword [0x14018a038]
test al, 1
jne 0x1400a2352
cmp dword [rsi + 8], 3
je 0x1400a23a4
cmp byte [rsp + 0x87], 0
jns 0x1400a22d7
mov rcx, qword [rsp + 0x70]
call fcn.1400a27ec
lea rcx, [rsi + 0x12c]
call fcn.140041a90
mov rax, qword [rsi + 0x10]
movsxd rax, dword [rax + 4]
lea rcx, [0x14015e3e8]
mov qword [rsi + rax + 0x10], rcx
lea rax, [0x14015e3f0]
mov qword [rsi + 0x18], rax
cmp byte [rsi + 0x6f], 0
jns 0x1400a2311
mov rcx, qword [rsi + 0x58]
call fcn.1400a27ec
sub rsi, 0xffffffffffffff80
mov rcx, rdi
call fcn.14002158e
mov rcx, rdi
call fcn.1400215b0
mov rcx, rsi
call fcn.140021588
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.1400a3c70
nop
add rsp, 0x4a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400d9e40
test al, al
je 0x1400a22b9
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 [0x14019abc0]
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x1400a22b9
lea rbx, [rsp + 0xa0]
mov r8d, 0x400
mov rcx, rbx
mov dl, 0xaa
call fcn.1400a5dc0
cmp byte [rsp + 0x87], 0
jns 0x1400a23cd
mov rdx, qword [rsp + 0x70]
jmp 0x1400a23d2
lea rdx, [rsp + 0x70]
mov r8d, 0x400
mov rcx, rbx
call fcn.1400323a0
mov rcx, rbx
call fcn.1400215b0
call fcn.140064eb0
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 0x18]
je 0x1400a264d
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x58], rax
call fcn.140064eb0
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x18]
test rdx, rdx
cmove rdx, rcx
dec rdx
cmp rcx, rdx
jb 0x1400a25df
shl rdx, 3
add rdx, qword [rax]
lea rbx, [rsp + 0x58]
mov rcx, rbx
call fcn.14001e530
cmp qword [rbx], 0
jne 0x1400a24ea
lea rcx, [rsp + 0x58]
call fcn.140034250
jmp 0x1400a22c3
mov byte [0x14019abf4], 1
mov eax, dword [0x14019ac00]
mov ecx, dword [0x140197db4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400a259d
mov rcx, rsi
mov rdx, rbx
call fcn.140105600
movzx eax, byte [rsp + 0xb7]
mov ecx, eax
and ecx, 0x7f
test al, al
cmovs rbx, qword [rsp + 0xa0]
cmovs rcx, qword [rsp + 0xa8]
lea rdx, [rsp + 0x58]
mov qword [rdx], rbx
mov qword [rdx + 8], rcx
mov rcx, qword [0x14019abf8]
call fcn.14006bcb0
cmp byte [rsp + 0xb7], 0
jns 0x1400a24de
mov rcx, qword [rsp + 0xa0]
call fcn.1400a27ec
mov byte [0x14019abf4], 0
jmp 0x1400a21ef
cmp byte [rsp + 0x87], 0
js 0x1400a24fb
lea rbx, [rsp + 0x70]
jmp 0x1400a2500
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
add rcx, r13
mov qword [rsp + 0x48], rcx
je 0x1400a2514
call fcn.1400c56b0
jmp 0x1400a2516
xor eax, eax
mov qword [rsp + 0x50], rax
mov rax, qword [rsi + 0x118]
add rbx, rax
mov qword [rsp + 0x38], rbx
sub r13, rax
mov qword [rsp + 0x40], r13
js 0x1400a25e2
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.1400da110
jmp 0x1400a2448
lea rax, [rsp + 0x90]
lea rdx, [rsp + 0xa0]
mov qword [rdx], rax
lea rax, [rsp + 0x9c]
mov qword [rdx + 8], rax
lea rax, [rsp + 0x58]
mov qword [rdx + 0x10], rax
lea rcx, str.LogMessage
call fcn.140065070
jmp 0x1400a21cb
lea rcx, [0x14019ac00]
call fcn.1400a2910
cmp dword [0x14019ac00], 0xffffffff
jne 0x1400a2483
lea rcx, str.LOG_FATAL
mov edx, 0x400
call fcn.14006bc80
mov qword [0x14019abf8], rax
lea rcx, [0x14019ac00]
call fcn.1400a29a8
jmp 0x1400a2483
int3
int3
int3
int3
lea rcx, [rsp + 0x58]
call fcn.1400e15c0
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
lea rdx, str....._buildtools_third_partylibc_trunkinclude_string_view
lea r9, str.__len__0____s___nullptr
mov r8d, 0x136
call fcn.1400e3515
lea rax, str.char_traits::copy_overlapped_range
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude__stringchar_traits.h
lea r9, str.__s2_____s1____s2_____s1__n
mov r8d, 0xf1
call fcn.1400e3515
int3