Function at 0x140043f40
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, 0x1068
call fcn.14009f950
sub rsp, rax
movaps xmmword [rsp + 0x1050], xmm6
mov rsi, rcx
mov rax, qword [0x14010d6b8]
xor rax, rsp
mov qword [rsp + 0x1048], rax
lea rax, [0x1400dcfd8]
mov qword [rcx], rax
lea rdi, [rcx + 0x18]
lea rdx, [rsp + 0x80]
mov rcx, rdi
call fcn.140022c40
movzx r12d, byte [rsp + 0x97]
test r12b, r12b
jns 0x140043fb7
mov rcx, qword [rsp + 0x80]
mov r12, qword [rsp + 0x88]
call fcn.14009f64c
lea rbx, [rsi + 0x10]
cmp dword [rsi + 8], 3
jne 0x140044171
call fcn.14005c6e0
test al, al
jne 0x140044171
lea r14, [rsp + 0x870]
mov r8d, 0x7d8
mov rcx, r14
mov dl, 0xaa
call fcn.1400a2bc0
mov rcx, r14
call fcn.14005c700
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
add rcx, rbx
lea r15, [rsp + 0x80]
mov rdx, r15
call fcn.1400211d6
lea rdx, [0x140118240]
mov rcx, r15
call fcn.140038736
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov dl, 0xa
mov rax, r8
call qword [0x140125008]
mov ebp, eax
mov rcx, r15
call fcn.14002519a
mov rcx, rbx
mov edx, ebp
call fcn.140022698
mov rcx, rbx
call fcn.1400216cc
mov rcx, r14
mov rdx, rbx
call fcn.14005c770
lea r14, [rsp + 0x80]
mov r8d, 0x7f0
mov rcx, r14
mov dl, 0xaa
call fcn.1400a2bc0
mov rcx, r14
call fcn.14005c7a0
mov rcx, r14
call fcn.14005c890
test al, al
jne 0x140044093
lea rcx, [rsp + 0x80]
mov rdx, rbx
call fcn.14005c8a0
call fcn.14005c9f0
test rax, rax
je 0x140044169
mov r15, rax
cmp dword [rax + 0x68], 0
je 0x140044169
lea rdx, str.IPC_message_handler_context:
mov r8d, 0x1d
mov rcx, rbx
call fcn.1400019b0
mov r14, rax
mov r8d, dword [r15 + 0x68]
lea rdx, str.0x_08X
lea r15, [rsp + 0x50]
mov rcx, r15
call fcn.14005ca10
movzx r8d, byte [rsp + 0x67]
test r8b, r8b
jns 0x1400440f3
mov r8, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov rcx, r14
mov rdx, r15
call fcn.1400019b0
mov r14, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, r14
lea r15, [rsp + 0x70]
mov rdx, r15
call fcn.1400211d6
lea rdx, [0x140118240]
mov rcx, r15
call fcn.140038736
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov dl, 0xa
mov rax, r8
call qword [0x140125008]
mov ebp, eax
mov rcx, r15
call fcn.14002519a
mov rcx, r14
mov edx, ebp
call fcn.140022698
mov rcx, r14
call fcn.1400216cc
cmp byte [rsp + 0x67], 0
jns 0x140044169
mov rcx, qword [rsp + 0x50]
call fcn.14009f64c
mov rcx, rbx
call fcn.14005d170
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [rax + 4]
add rcx, rbx
lea r14, [rsp + 0x80]
mov rdx, r14
call fcn.1400211d6
lea rdx, [0x140118240]
mov rcx, r14
call fcn.140038736
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov dl, 0xa
mov rax, r8
call qword [0x140125008]
mov ebp, eax
mov rcx, r14
call fcn.14002519a
mov rcx, rbx
mov edx, ebp
call fcn.140022698
mov rcx, rbx
call fcn.1400216cc
movabs r13, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x60], r13
movaps xmm6, xmmword [section..rdata]
movaps xmmword [rsp + 0x50], xmm6
lea rbx, [rsp + 0x50]
mov rcx, rdi
mov rdx, rbx
call fcn.140022c40
mov r8, qword [rsi + 0x118]
mov qword [rsp + 0x20], r14
lea r15, [rsp + 0x870]
mov rcx, r15
mov rdx, rbx
mov r9, 0xffffffffffffffff
call fcn.14003e9b0
mov eax, dword [rsi + 0x128]
mov rcx, qword [rsi + 0x120]
mov dword [rsp + 0x6c], eax
mov qword [rsp + 0x70], rcx
test byte [0x14010dc20], 0x19
jne 0x140044251
cmp byte [rsp + 0x887], 0
js 0x140044291
cmp dword [rsi + 8], 3
je 0x1400442a8
jmp 0x140044417
lea rax, [rsp + 0x70]
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x6c]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], r15
lea rcx, str.LogMessage
lea rdx, [rsp + 0x80]
call fcn.140044db0
cmp byte [rsp + 0x887], 0
jns 0x140044246
mov rcx, qword [rsp + 0x870]
call fcn.14009f64c
cmp dword [rsi + 8], 3
jne 0x140044417
cmp byte [0x140119074], 0
jne 0x140044417
movaps xmmword [rsp + 0x70], xmm6
lea rax, [0x140119074]
mov qword [rsp + 0x70], rax
movzx eax, byte [0x140119074]
mov byte [0x140119074], 1
mov byte [rsp + 0x78], al
mov eax, dword [0x140119080]
mov ecx, dword [0x1401190f8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x30]
jg 0x1400448b6
mov rcx, rdi
mov rdx, r14
call fcn.140022c40
cmp byte [rsp + 0x97], 0
jns 0x14004431a
mov r14, qword [rsp + 0x80]
add r14, qword [rsi + 0x118]
mov ebp, dword [rsi + 0x128]
mov r15, qword [rsi + 0x120]
test r15, r15
je 0x14004434d
mov rcx, r15
mov edx, 0x5c
call fcn.1400a2fc8
lea r8, [rax + 1]
test rax, rax
cmove r8, r15
jmp 0x140044350
xor r8d, r8d
mov qword [rsp + 0x20], r14
lea rdx, str._s:_d:__s
lea r14, [rsp + 0x870]
mov rcx, r14
mov r9d, ebp
call fcn.14005ca10
cmp byte [rsp + 0x97], 0
jns 0x140044386
mov rcx, qword [rsp + 0x80]
call fcn.14009f64c
movzx eax, byte [rsp + 0x887]
test al, al
js 0x1400443a4
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x88], rax
jmp 0x1400443d8
mov rax, qword [rsp + 0x870]
mov rcx, qword [rsp + 0x878]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rcx
test rcx, rcx
js 0x14004479e
je 0x1400443d8
test rax, rax
je 0x1400447ca
mov rcx, qword [0x140119078]
lea rdx, [rsp + 0x80]
call fcn.14005d110
cmp byte [rsp + 0x887], 0
jns 0x140044403
mov rcx, qword [rsp + 0x870]
call fcn.14009f64c
cmp qword [rsp + 0x70], 0
je 0x140044417
movzx eax, byte [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
mov byte [rcx], al
mov rax, qword [0x140119028]
test rax, rax
je 0x14004444e
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 [0x140125008]
test al, al
jne 0x14004470b
mov eax, dword [0x14010d698]
test al, 2
je 0x140044473
cmp byte [rsp + 0x67], 0
jns 0x140044464
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x14010d698]
test al, 4
jne 0x140044482
cmp eax, 1
ja 0x1400444d8
cmp dword [rsi + 8], 2
jl 0x1400444d8
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 0x1400444d8
xor r15d, r15d
nop word cs:[rax + rax]
mov r8d, ebx
sub r8d, r15d
lea rdx, [r14 + r15]
mov ecx, 2
call fcn.1400ba460
test eax, eax
js 0x1400444d2
mov eax, eax
add r15, rax
cmp r15, rbx
jb 0x1400444b0
mov eax, dword [0x14010d698]
test al, 1
je 0x140044528
call fcn.1400435e0
test al, al
je 0x140044528
mov dword [rsp + 0x80], 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 [0x140119040]
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [rsi + 8], 3
jne 0x14004470b
lea rbx, [rsp + 0x80]
mov r8d, 0x400
mov rcx, rbx
mov dl, 0xaa
call fcn.1400a2bc0
cmp byte [rsp + 0x67], 0
jns 0x140044558
mov rdx, qword [rsp + 0x50]
jmp 0x14004455d
lea rdx, [rsp + 0x50]
mov r8d, 0x400
mov rcx, rbx
call fcn.140058770
mov rcx, rbx
call fcn.1400016e0
mov eax, dword [0x140119070]
mov ecx, dword [0x1401190f8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x30]
jg 0x140044822
mov rax, qword [0x140119060]
cmp rax, qword [0x140119068]
je 0x1400448f8
mov qword [rsp + 0x70], r13
mov eax, dword [0x140119070]
mov ecx, dword [0x1401190f8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x30]
jg 0x14004486c
mov rdx, qword [0x140119068]
lea rax, [0x140119050]
mov qword [rsp + 0x870], rax
mov qword [rsp + 0x878], rdx
test rdx, rdx
jne 0x140044605
mov rax, qword [rsp + 0x870]
mov rdx, qword [rax + 8]
dec rdx
mov qword [rsp + 0x878], rdx
mov rcx, qword [rsp + 0x870]
call fcn.140046ea0
lea rcx, [rsp + 0x70]
mov rdx, rax
call fcn.14005c650
cmp qword [rsp + 0x70], 0
je 0x140044701
cmp byte [rsp + 0x67], 0
jns 0x140044644
mov rbx, qword [rsp + 0x50]
jmp 0x140044649
lea rbx, [rsp + 0x50]
mov rcx, rbx
add rcx, r12
mov qword [rsp + 0x40], rcx
je 0x1400447f6
call fcn.1400c0120
mov qword [rsp + 0x48], rax
mov rax, qword [rsi + 0x118]
add rbx, rax
mov qword [rsp + 0x30], rbx
sub r12, rax
mov qword [rsp + 0x38], r12
js 0x14004479e
je 0x14004468c
test rbx, rbx
je 0x1400447ca
mov ebx, dword [rsi + 0x128]
mov r14, qword [rsi + 0x120]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x870], rax
test rax, rax
je 0x1400446b8
mov rcx, qword [rsp + 0x870]
call fcn.140046f60
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0x870]
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x30]
mov rdx, r14
mov r8d, ebx
call qword [0x140125008]
cmp qword [rsp + 0x870], 0
je 0x140044701
mov rcx, qword [rsp + 0x870]
lock dec dword [rcx]
jne 0x140044701
call fcn.14005c510
lea rcx, [rsp + 0x70]
call fcn.14005c680
cmp byte [rsp + 0x67], 0
jns 0x14004471c
mov rcx, qword [rsp + 0x50]
call fcn.14009f64c
lea rcx, [rsi + 0x12c]
call fcn.140007fc0
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 0x140044756
mov rcx, qword [rsi + 0x58]
call fcn.14009f64c
sub rsi, 0xffffffffffffff80
mov rcx, rdi
call fcn.140021406
mov rcx, rdi
call fcn.1400016e0
mov rcx, rsi
call fcn.140021400
mov rcx, qword [rsp + 0x1048]
xor rcx, rsp
call fcn.14009fa30
movaps xmm6, xmmword [rsp + 0x1050]
add rsp, 0x1068
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, 0x13a
call fcn.140005a9c
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.140005a9c
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.140005a9c
lea rcx, [0x140119070]
call fcn.14009f770
cmp dword [0x140119070], 0xffffffff
jne 0x140044598
mov qword [0x140119050], 0
xorps xmm0, xmm0
movups xmmword [0x140119058], xmm0
mov qword [0x140119068], 0
lea rcx, [0x140119070]
call fcn.14009f808
jmp 0x140044598
lea rcx, [0x140119070]
call fcn.14009f770
cmp dword [0x140119070], 0xffffffff
jne 0x1400445d6
mov qword [0x140119050], 0
xorps xmm0, xmm0
movups xmmword [0x140119058], xmm0
mov qword [0x140119068], 0
lea rcx, [0x140119070]
call fcn.14009f808
jmp 0x1400445d6
lea rcx, [0x140119080]
call fcn.14009f770
cmp dword [0x140119080], 0xffffffff
jne 0x1400442fd
lea rcx, str.LOG_FATAL
mov edx, 0x400
call fcn.14005d0e0
mov qword [0x140119078], rax
lea rcx, [0x140119080]
call fcn.14009f808
jmp 0x1400442fd
int3