Function at 0x14002d300
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
mov eax, 0x1078
call fcn.14008e060
sub rsp, rax
movaps xmmword [rsp + 0x1060], xmm6
mov rsi, rcx
mov rax, qword [0x1400ea658]
xor rax, rsp
mov qword [rsp + 0x1058], rax
lea rax, [0x1400c2eb8]
mov qword [rcx], rax
lea rdi, [rcx + 0x18]
lea rdx, [rsp + 0x90]
lea rbx, [rsp + 0x880]
mov rcx, rdi
mov r8, rbx
call fcn.140030630
movzx r13d, byte [rsp + 0xa7]
test r13b, r13b
jns 0x14002d382
mov rcx, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
call fcn.14008dd5c
lea r14, [rsi + 0x10]
cmp dword [rsi + 8], 3
jne 0x14002d540
call fcn.1400400e0
test al, al
jne 0x14002d540
lea r15, [rsp + 0x880]
mov r8d, 0x7d8
mov rcx, r15
mov dl, 0xaa
call fcn.140091240
mov rcx, r15
call fcn.140040100
mov rax, qword [r14]
movsxd rcx, dword [rax + 4]
add rcx, r14
lea r12, [rsp + 0x90]
mov rdx, r12
call fcn.14000abb6
lea rdx, [0x1400f8648]
mov rcx, r12
call fcn.140020eba
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov dl, 0xa
mov rax, r8
call qword [0x140109008]
mov ebp, eax
mov rcx, r12
call fcn.14000e4da
mov rcx, r14
mov edx, ebp
call fcn.14000c074
mov rcx, r14
call fcn.14000b0a8
mov rcx, r15
mov rdx, r14
call fcn.140040170
lea r15, [rsp + 0x90]
mov r8d, 0x7e8
mov rcx, r15
mov dl, 0xaa
call fcn.140091240
mov rcx, r15
call fcn.1400401a0
mov rcx, r15
call fcn.1400402d0
test al, al
jne 0x14002d45e
lea rcx, [rsp + 0x90]
mov rdx, r14
call fcn.1400402e0
call fcn.140040440
test rax, rax
je 0x14002d538
mov r12, rax
cmp dword [rax + 0x60], 0
je 0x14002d538
lea rdx, str.IPC_message_handler_context:
mov r8d, 0x1d
mov rcx, r14
call fcn.1400018d8
mov r15, rax
mov r8d, dword [r12 + 0x60]
lea rdx, str.0x_08X
lea r12, [rsp + 0x50]
mov rcx, r12
call fcn.140040460
movzx r8d, byte [rsp + 0x67]
test r8b, r8b
jns 0x14002d4bf
mov r8, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
mov rcx, r15
mov rdx, r12
call fcn.1400018d8
mov r15, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, r15
lea r12, [rsp + 0x80]
mov rdx, r12
call fcn.14000abb6
lea rdx, [0x1400f8648]
mov rcx, r12
call fcn.140020eba
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov dl, 0xa
mov rax, r8
call qword [0x140109008]
mov ebp, eax
mov rcx, r12
call fcn.14000e4da
mov rcx, r15
mov edx, ebp
call fcn.14000c074
mov rcx, r15
call fcn.14000b0a8
cmp byte [rsp + 0x67], 0
jns 0x14002d538
mov rcx, qword [rsp + 0x50]
call fcn.14008dd5c
mov rcx, r14
call fcn.1400408a0
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [rax + 4]
add rcx, r14
lea r15, [rsp + 0x90]
mov rdx, r15
call fcn.14000abb6
lea rdx, [0x1400f8648]
mov rcx, r15
call fcn.140020eba
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov dl, 0xa
mov rax, r8
call qword [0x140109008]
mov ebp, eax
mov rcx, r15
call fcn.14000e4da
mov rcx, r14
mov edx, ebp
call fcn.14000c074
mov rcx, r14
call fcn.14000b0a8
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x60], rbp
movaps xmm6, xmmword [section..rdata]
movaps xmmword [rsp + 0x50], xmm6
lea r14, [rsp + 0x50]
lea r15, [rsp + 0x90]
mov rcx, rdi
mov rdx, r14
mov r8, r15
call fcn.140030630
mov r8, qword [rsi + 0x118]
mov qword [rsp + 0x20], r15
mov rcx, rbx
mov rdx, r14
mov r9, 0xffffffffffffffff
call fcn.140026830
mov eax, dword [rsi + 0x128]
mov rcx, qword [rsi + 0x120]
mov dword [rsp + 0x7c], eax
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], 0x56
lea rax, [rsp + 0x70]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rbx
lea rax, [rsp + 0x68]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x80], r15
mov rax, qword [0x1400c8460]
movzx eax, byte [rax + 0x56]
test al, al
jne 0x14002d669
cmp byte [rsp + 0x897], 0
js 0x14002d683
cmp dword [rsi + 8], 3
je 0x14002d69a
jmp 0x14002d823
movzx edx, al
lea rcx, [rsp + 0x80]
call fcn.14002e270
cmp byte [rsp + 0x897], 0
jns 0x14002d65e
mov rcx, qword [rsp + 0x880]
call fcn.14008dd5c
cmp dword [rsi + 8], 3
jne 0x14002d823
cmp byte [0x1400f927c], 0
jne 0x14002d823
movaps xmmword [rsp + 0x80], xmm6
lea rax, [0x1400f927c]
mov qword [rsp + 0x80], rax
movzx eax, byte [0x1400f927c]
mov byte [0x1400f927c], 1
mov byte [rsp + 0x88], al
mov eax, dword [0x1400f9288]
mov ecx, dword [0x1400f9318]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x10]
jg 0x14002dc77
lea r8, [rsp + 0x880]
mov rcx, rdi
mov rdx, r15
call fcn.140030630
cmp byte [rsp + 0xa7], 0
jns 0x14002d71d
mov r15, qword [rsp + 0x90]
add r15, qword [rsi + 0x118]
mov ebx, dword [rsi + 0x128]
mov r12, qword [rsi + 0x120]
test r12, r12
je 0x14002d750
mov rcx, r12
mov edx, 0x5c
call fcn.140091648
lea r8, [rax + 1]
test rax, rax
cmove r8, r12
jmp 0x14002d753
xor r8d, r8d
mov qword [rsp + 0x20], r15
lea rdx, str._s:_d:__s
lea r15, [rsp + 0x880]
mov rcx, r15
mov r9d, ebx
call fcn.140040460
cmp byte [rsp + 0xa7], 0
jns 0x14002d789
mov rcx, qword [rsp + 0x90]
call fcn.14008dd5c
movzx eax, byte [rsp + 0x897]
test al, al
js 0x14002d7a7
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x98], rax
jmp 0x14002d7db
mov rax, qword [rsp + 0x880]
mov rcx, qword [rsp + 0x888]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rcx
test rcx, rcx
js 0x14002db5f
je 0x14002d7db
test rax, rax
je 0x14002db8b
mov rcx, qword [0x1400f9280]
lea rdx, [rsp + 0x90]
call fcn.140040840
cmp byte [rsp + 0x897], 0
jns 0x14002d806
mov rcx, qword [rsp + 0x880]
call fcn.14008dd5c
cmp qword [rsp + 0x80], 0
je 0x14002d823
movzx eax, byte [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
mov byte [rcx], al
mov rax, qword [0x1400f9230]
test rax, rax
je 0x14002d85a
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 [0x140109008]
test al, al
jne 0x14002dacc
mov eax, dword [0x1400ea630]
test al, 2
je 0x14002d87f
cmp byte [rsp + 0x67], 0
jns 0x14002d870
mov r14, qword [rsp + 0x50]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1400ea630]
test al, 4
jne 0x14002d890
test eax, 0xfffffffa
jne 0x14002d8d8
cmp dword [rsi + 8], 2
jl 0x14002d8d8
movzx ebx, byte [rsp + 0x67]
test bl, bl
cmovs rbx, qword [rsp + 0x58]
lea r14, [rsp + 0x50]
cmovs r14, qword [rsp + 0x50]
test rbx, rbx
je 0x14002d8d8
xor r15d, r15d
mov r8d, ebx
sub r8d, r15d
lea rdx, [r14 + r15]
mov ecx, 2
call fcn.1400a424c
test eax, eax
js 0x14002d8d2
mov eax, eax
add r15, rax
cmp r15, rbx
jb 0x14002d8b0
mov eax, dword [0x1400ea630]
test al, 1
je 0x14002d928
call fcn.14002c900
test al, al
je 0x14002d928
mov dword [rsp + 0x90], 0xaaaaaaaa
movzx r8d, byte [rsp + 0x67]
test r8b, r8b
cmovs r8d, dword [rsp + 0x58]
lea rdx, [rsp + 0x50]
cmovs rdx, qword [rsp + 0x50]
mov rcx, qword [0x1400f9248]
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [rsi + 8], 3
jne 0x14002dacc
lea rbx, [rsp + 0x90]
mov r8d, 0x400
mov rcx, rbx
mov dl, 0xaa
call fcn.140091240
cmp byte [rsp + 0x67], 0
jns 0x14002d958
mov rdx, qword [rsp + 0x50]
jmp 0x14002d95d
lea rdx, [rsp + 0x50]
mov r8d, 0x400
mov rcx, rbx
call fcn.14003ad50
mov rcx, rbx
call fcn.140001700
mov eax, dword [0x1400f9278]
mov ecx, dword [0x1400f9318]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x10]
jg 0x14002dbe3
mov rax, qword [0x1400f9268]
cmp rax, qword [0x1400f9270]
je 0x14002dcb9
mov qword [rsp + 0x80], rbp
mov eax, dword [0x1400f9278]
mov ecx, dword [0x1400f9318]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x10]
jg 0x14002dc2d
mov rdx, qword [0x1400f9270]
lea rax, [0x1400f9258]
mov qword [rsp + 0x880], rax
mov qword [rsp + 0x888], rdx
test rdx, rdx
jne 0x14002da08
mov rax, qword [rsp + 0x880]
mov rdx, qword [rax + 8]
dec rdx
mov qword [rsp + 0x888], rdx
mov rcx, qword [rsp + 0x880]
call fcn.140030770
lea rcx, [rsp + 0x80]
mov rdx, rax
call fcn.14003fb80
cmp qword [rsp + 0x80], 0
je 0x14002dabf
cmp byte [rsp + 0x67], 0
jns 0x14002da4d
mov rbx, qword [rsp + 0x50]
jmp 0x14002da52
lea rbx, [rsp + 0x50]
mov rcx, rbx
add rcx, r13
mov qword [rsp + 0x40], rcx
je 0x14002dbb7
call fcn.1400a9d50
mov qword [rsp + 0x48], rax
mov rax, qword [rsi + 0x118]
add rbx, rax
mov qword [rsp + 0x30], rbx
sub r13, rax
mov qword [rsp + 0x38], r13
js 0x14002db5f
je 0x14002da95
test rbx, rbx
je 0x14002db8b
mov r8d, dword [rsi + 0x128]
mov rdx, qword [rsi + 0x120]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x80]
lea r9, [rsp + 0x30]
call fcn.14002dcc0
lea rcx, [rsp + 0x80]
call fcn.14003fbb0
cmp byte [rsp + 0x67], 0
jns 0x14002dadd
mov rcx, qword [rsp + 0x50]
call fcn.14008dd5c
lea rcx, [rsi + 0x12c]
call fcn.14003fc70
mov rax, qword [rsi + 0x10]
movsxd rax, dword [rax + 4]
lea rcx, vtable.std::__Cr::basic_ostringstream_char__struct_std::__Cr::char_traits_char___class_std::__Cr::allocator_char__.0
mov qword [rsi + rax + 0x10], rcx
lea rax, vtable.std::__Cr::basic_stringbuf_char__struct_std::__Cr::char_traits_char___class_std::__Cr::allocator_char__.0
mov qword [rsi + 0x18], rax
cmp byte [rsi + 0x6f], 0
jns 0x14002db17
mov rcx, qword [rsi + 0x58]
call fcn.14008dd5c
sub rsi, 0xffffffffffffff80
mov rcx, rdi
call fcn.14000adb6
mov rcx, rdi
call fcn.140001700
mov rcx, rsi
call fcn.14000adb0
mov rcx, qword [rsp + 0x1058]
xor rcx, rsp
call fcn.14008e0c0
movaps xmm6, xmmword [rsp + 0x1060]
add rsp, 0x1078
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
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, 0x137
call fcn.140003cfc
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, 0x139
call fcn.140003cfc
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, 0x10b
call fcn.140003cfc
lea rcx, [0x1400f9278]
call fcn.14008de80
cmp dword [0x1400f9278], 0xffffffff
jne 0x14002d998
mov qword [0x1400f9258], 0
xorps xmm0, xmm0
movups xmmword [0x1400f9260], xmm0
mov qword [0x1400f9270], 0
lea rcx, [0x1400f9278]
call fcn.14008df18
jmp 0x14002d998
lea rcx, [0x1400f9278]
call fcn.14008de80
cmp dword [0x1400f9278], 0xffffffff
jne 0x14002d9d9
mov qword [0x1400f9258], 0
xorps xmm0, xmm0
movups xmmword [0x1400f9260], xmm0
mov qword [0x1400f9270], 0
lea rcx, [0x1400f9278]
call fcn.14008df18
jmp 0x14002d9d9
lea rcx, [0x1400f9288]
call fcn.14008de80
cmp dword [0x1400f9288], 0xffffffff
jne 0x14002d6f8
lea rcx, str.LOG_FATAL
mov edx, 0x400
call fcn.140040810
mov qword [0x1400f9280], rax
lea rcx, [0x1400f9288]
call fcn.14008df18
jmp 0x14002d6f8
int3