Function at 0x14004bab0
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 [0x1401b1028]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
movabs r13, 0x7fffffffffffffef
lea rax, [0x140186288]
mov qword [rcx], rax
mov eax, dword [rcx + 0x78]
test al, 0x10
je 0x14004c046
mov rax, qword [rsi + 0x48]
mov rdi, qword [rsi + 0x70]
cmp rdi, rax
jae 0x14004bb0b
mov qword [rsi + 0x70], rax
mov rdi, rax
mov rbx, qword [rsi + 0x40]
sub rdi, rbx
js 0x14004c01a
cmp rdi, r13
ja 0x14004c003
cmp rdi, 0x16
ja 0x14004be15
lea rcx, [rsp + 0xa0]
mov byte [rcx + 0x17], dil
lea r14, [rcx + rdi]
cmp rcx, rbx
ja 0x14004bb49
cmp r14, rbx
ja 0x14004c080
test rdi, rdi
je 0x14004bb59
mov rdx, rbx
mov r8, rdi
call fcn.1400da4b0
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 0x14004bb7e
mov rbx, qword [rsp + 0xa8]
jns 0x14004bb8d
mov rcx, qword [rsp + 0xa0]
call fcn.1400d7534
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [rax + 4]
add rcx, r15
lea r14, [rsp + 0xa0]
mov rdx, r14
call fcn.1400a6700
lea rdx, [0x1401cbdc0]
mov rcx, r14
call fcn.1400a7240
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov dl, 0xa
mov rax, r8
call qword [0x1401dd008]
mov ebp, eax
mov rcx, r14
call fcn.1400a6860
mov rcx, r15
mov edx, ebp
call fcn.140025bc0
mov rcx, r15
call fcn.140024f70
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rdi
movaps xmm0, xmmword [0x1401849f0]
movaps xmmword [rsp + 0x70], xmm0
mov eax, dword [rsi + 0x78]
test al, 0x10
je 0x14004c062
mov rax, qword [rsi + 0x48]
mov r15, qword [rsi + 0x70]
cmp r15, rax
jae 0x14004bc25
mov qword [rsi + 0x70], rax
mov r15, rax
mov r12, qword [rsi + 0x40]
sub r15, r12
js 0x14004c01a
cmp r15, r13
ja 0x14004c010
cmp r15, 0x16
ja 0x14004bddf
lea rcx, [rsp + 0x70]
mov byte [rcx + 0x17], r15b
lea r13, [rcx + r15]
cmp rcx, r12
ja 0x14004bc60
cmp r13, r12
ja 0x14004c080
test r15, r15
je 0x14004bc70
mov rdx, r12
mov r8, r15
call fcn.1400da4b0
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.14003ca20
mov eax, dword [rsi + 0x128]
mov rcx, qword [rsi + 0x120]
mov dword [rsp + 0x9c], eax
mov qword [rsp + 0x90], rcx
test byte [0x1401bf5f0], 0x19
jne 0x14004bec0
cmp byte [rsp + 0x6f], 0
jns 0x14004bcd7
mov rcx, qword [rsp + 0x58]
call fcn.1400d7534
cmp dword [rsi + 8], 3
je 0x14004bf46
mov rax, qword [0x1401cd0c8]
test rax, rax
je 0x14004bd14
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 [0x1401dd008]
test al, al
jne 0x14004bd4b
mov eax, dword [0x1401c06e0]
test al, 2
jne 0x14004be9d
test al, 4
jne 0x14004be4e
cmp eax, 1
ja 0x14004bd39
cmp dword [rsi + 8], 2
jge 0x14004be4e
test al, 1
jne 0x14004bef4
cmp dword [rsi + 8], 3
je 0x14004c0ac
cmp byte [rsp + 0x87], 0
jns 0x14004bd5f
mov rcx, qword [rsp + 0x70]
call fcn.1400d7534
lea rcx, [rsi + 0x12c]
call fcn.1400c1bc0
mov rax, qword [rsi + 0x10]
movsxd rax, dword [rax + 4]
lea rcx, [0x140185e18]
mov qword [rsi + rax + 0x10], rcx
lea rax, [0x140185e20]
mov qword [rsi + 0x18], rax
cmp byte [rsi + 0x6f], 0
jns 0x14004bd99
mov rcx, qword [rsi + 0x58]
call fcn.1400d7534
sub rsi, 0xffffffffffffff80
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call fcn.140097fb0
mov rcx, rdi
call fcn.140098010
mov rcx, rsi
call fcn.140097fa0
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.1400d8a20
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.1400d74f8
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 0x14004bc4e
mov r14, rdi
or r14, 0xf
inc r14
mov rcx, r14
call fcn.1400d74f8
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 0x14004bb37
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 0x14004bd39
xor r12d, r12d
mov r8d, r15d
sub r8d, r12d
lea rdx, [r14 + r12]
mov ecx, 2
call fcn.1400f1648
test eax, eax
jns 0x14004bf9e
mov eax, dword [0x1401c06e0]
jmp 0x14004bd39
cmp byte [rsp + 0x87], 0
jns 0x14004beac
mov r15, qword [rsp + 0x70]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1401c06e0]
jmp 0x14004bd22
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.140137ee0
jmp 0x14004bcc6
call fcn.140137790
test al, al
je 0x14004bd41
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 [0x1401cd0e0]
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14004bd41
cmp byte [0x1401cd114], 0
jne 0x14004bce1
mov byte [0x1401cd114], 1
mov eax, dword [0x1401cd120]
mov ecx, dword [0x1401c1138]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14004c1f7
mov rcx, rsi
mov rdx, r14
call fcn.140137b00
movzx r8d, byte [rsp + 0xb7]
test r8b, r8b
js 0x14004bfb1
and r8d, 0x7f
jmp 0x14004bfc1
mov eax, eax
add r12, rax
cmp r12, r15
jb 0x14004be76
jmp 0x14004be92
mov r8, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xa0]
lea r12, [rsp + 0x58]
mov rcx, r12
mov rdx, r14
call fcn.140098e60
mov rcx, qword [0x1401cd118]
mov rdx, r12
call fcn.14005b1b0
cmp byte [rsp + 0xb7], 0
jns 0x14004bff7
mov rcx, qword [rsp + 0xa0]
call fcn.1400d7534
mov byte [0x1401cd114], 0
jmp 0x14004bce1
lea rcx, [rsp + 0xa0]
call fcn.14010f4e0
lea rcx, [rsp + 0x70]
call fcn.14010f4e0
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.1401104b0
xor ebx, ebx
mov edi, 0
test al, 8
je 0x14004bb2b
mov rbx, qword [rsi + 0x28]
mov rdi, qword [rsi + 0x38]
jmp 0x14004bb0f
xor r15d, r15d
mov r12d, 0
test al, 8
je 0x14004bc45
mov r12, qword [rsi + 0x28]
mov r15, qword [rsi + 0x38]
jmp 0x14004bc29
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.1401104b0
lea r14, [rsp + 0xa0]
mov r8d, 0x400
mov rcx, r14
mov dl, 0xaa
call fcn.1400dab60
cmp byte [rsp + 0x87], 0
jns 0x14004c0d5
mov rdx, qword [rsp + 0x70]
jmp 0x14004c0da
lea rdx, [rsp + 0x70]
mov r8d, 0x400
mov rcx, r14
call fcn.1400b09d0
mov rcx, r14
call fcn.140098010
call fcn.140137a10
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 0x18]
je 0x14004c239
mov qword [rsp + 0x58], rdi
call fcn.140137a10
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x18]
test rdx, rdx
cmove rdx, rcx
dec rdx
cmp rcx, rdx
jb 0x14004c1f4
shl rdx, 3
add rdx, qword [rax]
lea r14, [rsp + 0x58]
mov rcx, r14
call fcn.1400b7df0
cmp qword [r14], 0
jne 0x14004c151
lea rcx, [rsp + 0x58]
call fcn.1400b7e20
jmp 0x14004bd4b
cmp byte [rsp + 0x87], 0
jns 0x14004c162
mov r14, qword [rsp + 0x70]
jmp 0x14004c167
lea r14, [rsp + 0x70]
mov rcx, r14
add rcx, rbx
mov qword [rsp + 0x48], rcx
je 0x14004c1c8
call fcn.1400f6360
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.140098e60
mov r8d, dword [rsi + 0x128]
mov rdx, qword [rsi + 0x120]
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0x58]
mov r9, r15
call fcn.140137a80
jmp 0x14004c142
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.1401104b0
int3
lea rcx, [0x1401cd120]
call fcn.1400d7650
cmp dword [0x1401cd120], 0xffffffff
jne 0x14004bf7f
lea rcx, str.LOG_FATAL
mov edx, 0x400
call fcn.14005b180
mov qword [0x1401cd118], rax
lea rcx, [0x1401cd120]
call fcn.1400d76e8
jmp 0x14004bf7f
int3