Function at 0x1400a0d50
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 [0x14018e028]
xor rax, rsp
mov qword [rsp + 0x490], rax
lea rax, [0x140163a10]
mov qword [rcx], rax
lea rbx, [rcx + 0x10]
lea rdi, [rcx + 0x18]
lea r14, [rsp + 0x90]
mov rcx, rdi
mov rdx, r14
call fcn.1400211fc
movzx r12d, byte [r14 + 0x17]
test r12b, r12b
jns 0x1400a0daf
mov r12, qword [rsp + 0x98]
jns 0x1400a0dbe
mov rcx, qword [rsp + 0x90]
call fcn.1400a14cc
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [rax + 4]
add rcx, rbx
lea r14, [rsp + 0x90]
mov rdx, r14
call fcn.14003004e
lea rdx, [0x1401a7c78]
mov rcx, r14
call fcn.140032ff8
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov dl, 0xa
mov rax, r8
call qword [0x1401ba008]
mov ebp, eax
mov rcx, r14
call fcn.140030190
mov rcx, rbx
mov edx, ebp
call fcn.1400210e0
mov rcx, rbx
call fcn.140020b3c
movabs r13, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x60]
mov qword [rbx + 0x10], r13
movaps xmm0, xmmword [0x140161e70]
movaps xmmword [rbx], xmm0
mov rcx, rdi
mov rdx, rbx
call fcn.1400211fc
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.140033fa6
mov eax, dword [rsi + 0x128]
mov rcx, qword [rsi + 0x120]
mov dword [rsp + 0x8c], eax
mov qword [rsp + 0x80], rcx
test byte [0x14019c7b0], 0x19
jne 0x1400a122c
cmp byte [rsp + 0x5f], 0
jns 0x1400a0e9e
mov rcx, qword [rsp + 0x48]
call fcn.1400a14cc
cmp dword [rsi + 8], 3
jne 0x1400a0eb1
cmp byte [0x1401a8acc], 0
je 0x1400a10fd
mov rax, qword [0x1401a8a80]
test rax, rax
je 0x1400a0ee8
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 [0x1401ba008]
test al, al
jne 0x1400a0f79
mov eax, dword [0x14019c0b8]
test al, 2
je 0x1400a0f0d
cmp byte [rsp + 0x77], 0
jns 0x1400a0efe
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x14019c0b8]
test al, 4
jne 0x1400a0f1c
cmp eax, 1
ja 0x1400a0f67
cmp dword [rsi + 8], 2
jl 0x1400a0f67
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 0x1400a0f67
xor r15d, r15d
mov r8d, r14d
sub r8d, r15d
lea rdx, [rbx + r15]
mov ecx, 2
call fcn.1400beefc
test eax, eax
js 0x1400a0f61
mov eax, eax
add r15, rax
cmp r15, r14
jb 0x1400a0f3f
mov eax, dword [0x14019c0b8]
test al, 1
jne 0x1400a1005
cmp dword [rsi + 8], 3
je 0x1400a1057
cmp byte [rsp + 0x77], 0
jns 0x1400a0f8a
mov rcx, qword [rsp + 0x60]
call fcn.1400a14cc
lea rcx, [rsi + 0x12c]
call fcn.140043900
mov rax, qword [rsi + 0x10]
movsxd rax, dword [rax + 4]
lea rcx, [0x1401636e0]
mov qword [rsi + rax + 0x10], rcx
lea rax, [0x1401636f0]
mov qword [rsi + 0x18], rax
cmp byte [rsi + 0x6f], 0
jns 0x1400a0fc4
mov rcx, qword [rsi + 0x58]
call fcn.1400a14cc
sub rsi, 0xffffffffffffff80
mov rcx, rdi
call fcn.1400203e6
mov rcx, rdi
call fcn.140020400
mov rcx, rsi
call fcn.1400203e0
mov rcx, qword [rsp + 0x490]
xor rcx, rsp
call fcn.1400a29f0
nop
add rsp, 0x498
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400dafc0
test al, al
je 0x1400a0f6f
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 [0x1401a8a98]
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x1400a0f6f
lea rbx, [rsp + 0x90]
mov r8d, 0x400
mov rcx, rbx
mov dl, 0xaa
call fcn.1400a4b40
cmp byte [rsp + 0x77], 0
js 0x1400a107d
lea rdx, [rsp + 0x60]
jmp 0x1400a1082
mov rdx, qword [rsp + 0x60]
mov r8d, 0x400
mov rcx, rbx
call fcn.140037bf0
mov rcx, rbx
call fcn.140020400
call fcn.140068110
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 0x18]
je 0x1400a12d1
mov qword [rsp + 0x48], r13
call fcn.140068110
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x18]
test rdx, rdx
cmove rdx, rcx
dec rdx
cmp rcx, rdx
jb 0x1400a12ce
shl rdx, 3
add rdx, qword [rax]
lea rbx, [rsp + 0x48]
mov rcx, rbx
call fcn.14001e9d0
cmp qword [rbx], 0
jne 0x1400a11aa
lea rcx, [rsp + 0x48]
call fcn.140039e00
jmp 0x1400a0f79
mov byte [0x1401a8acc], 1
mov eax, dword [0x1401a8ad8]
mov ecx, dword [0x14019dc80]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400a128c
mov rcx, rsi
mov rdx, r14
call fcn.14010fce0
movzx eax, byte [rsp + 0xa7]
test al, al
js 0x1400a1145
and eax, 0x7f
jmp 0x1400a1155
mov rax, qword [rsp + 0x98]
mov r14, qword [rsp + 0x90]
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rax
test rax, rax
js 0x1400a12d4
test r14, r14
jne 0x1400a1176
test rax, rax
jne 0x1400a1300
mov rcx, qword [0x1401a8ad0]
lea rdx, [rsp + 0x48]
call fcn.14007a530
cmp byte [rsp + 0xa7], 0
jns 0x1400a119e
mov rcx, qword [rsp + 0x90]
call fcn.1400a14cc
mov byte [0x1401a8acc], 0
jmp 0x1400a0eb1
cmp byte [rsp + 0x77], 0
js 0x1400a11b8
lea rbx, [rsp + 0x60]
jmp 0x1400a11bd
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
add rcx, r12
mov qword [rsp + 0x38], rcx
je 0x1400a1260
call fcn.1400c5480
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 0x1400a12d4
je 0x1400a1200
test rbx, rbx
je 0x1400a1300
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.1400db290
jmp 0x1400a10ee
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.1400686d0
jmp 0x1400a0e8d
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.1400e34ad
lea rcx, [0x1401a8ad8]
call fcn.1400a15f0
cmp dword [0x1401a8ad8], 0xffffffff
jne 0x1400a1129
lea rcx, str.LOG_FATAL
mov edx, 0x400
call fcn.14007a500
mov qword [0x1401a8ad0], rax
lea rcx, [0x1401a8ad8]
call fcn.1400a1688
jmp 0x1400a1129
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.1400e34ad
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.1400e34ad
int3