Function at 0x1400445e0
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, 0x1098
call fcn.140083bb0
sub rsp, rax
movaps xmmword [rsp + 0x1080], xmm6
mov rsi, rcx
mov rax, qword [0x1400d7618]
xor rax, rsp
mov qword [rsp + 0x1078], rax
lea rax, [0x1400b3c80]
mov qword [rcx], rax
lea r12, [rcx + 0x10]
mov rax, qword [rcx + 0x10]
movsxd rax, dword [rax + 4]
test byte [rcx + rax + 0x30], 5
je 0x140044654
movaps xmm0, xmmword [0x1400aebb0]
movaps xmmword [rsp + 0xb0], xmm0
mov r13, 0xffffffffffffffff
cmp dword [rsi + 8], 3
je 0x14004468a
jmp 0x140044838
mov rcx, qword [r12 + rax + 0x28]
mov rax, qword [rcx]
mov dword [rsp + 0x20], 0x10
lea rdx, [rsp + 0xb0]
xor r8d, r8d
mov r9d, 1
call qword [rax + 0x18]
mov r13, qword [rsp + 0xb8]
cmp dword [rsi + 8], 3
jne 0x140044838
call fcn.140059f80
test al, al
jne 0x140044838
lea r14, [rsp + 0x8a0]
mov r8d, 0x7d8
mov rcx, r14
mov dl, 0xaa
call fcn.140086a50
mov rcx, r14
call fcn.140059fc0
mov rax, qword [r12]
movsxd rcx, dword [rax + 4]
add rcx, r12
lea rdi, [rsp + 0xb0]
mov rdx, rdi
call fcn.140005896
lea rdx, [0x1400d9ff0]
mov rcx, rdi
call fcn.1400093da
mov rbp, qword [rax]
mov rcx, rax
mov dl, 0xa
call qword [rbp + 0x38]
mov ebx, eax
mov rcx, rdi
call fcn.14000932c
mov rcx, r12
mov edx, ebx
call fcn.140006bd6
mov rcx, r12
call fcn.140005ee6
mov rcx, r14
mov rdx, r12
call fcn.14005a030
lea rdi, [rsp + 0xb0]
mov r8d, 0x7e8
mov rcx, rdi
mov dl, 0xaa
call fcn.140086a50
mov rcx, rdi
call fcn.14005a060
mov rcx, rdi
call fcn.14005a150
test al, al
jne 0x14004474f
lea rcx, [rsp + 0xb0]
mov rdx, r12
call fcn.14005a160
call fcn.14005a2a0
test rax, rax
je 0x140044838
mov rdi, rax
cmp dword [rax + 0x58], 0
je 0x140044838
lea rdx, str.IPC_message_handler_context:
mov r8d, 0x1d
mov rcx, r12
call fcn.14000482c
mov rbx, rax
mov r8d, dword [rdi + 0x58]
lea rdx, str.0x_08X
lea rcx, [rsp + 0x90]
call fcn.14003cdf0
movzx r8d, byte [rsp + 0x90]
test r8b, 1
je 0x1400447bb
mov r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
jmp 0x1400447c6
shr r8, 1
lea rdx, [rsp + 0x91]
mov rcx, rbx
call fcn.14000482c
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
lea rdi, [rsp + 0x80]
mov rdx, rdi
call fcn.140005896
lea rdx, [0x1400d9ff0]
mov rcx, rdi
call fcn.1400093da
mov rbp, qword [rax]
mov rcx, rax
mov dl, 0xa
call qword [rbp + 0x38]
mov ebp, eax
mov rcx, rdi
call fcn.14000932c
mov rcx, rbx
mov edx, ebp
call fcn.140006bd6
mov rcx, rbx
call fcn.140005ee6
test byte [rsp + 0x90], 1
je 0x140044838
mov rcx, qword [rsp + 0xa0]
call fcn.140083808
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [rax + 4]
add rcx, r12
lea rdi, [rsp + 0xb0]
mov rdx, rdi
call fcn.140005896
lea rdx, [0x1400d9ff0]
mov rcx, rdi
call fcn.1400093da
mov rbp, qword [rax]
mov rcx, rax
mov dl, 0xa
call qword [rbp + 0x38]
mov ebx, eax
mov rcx, rdi
call fcn.14000932c
mov rcx, r12
mov edx, ebx
call fcn.140006bd6
mov rcx, r12
call fcn.140005ee6
lea r14, [rsi + 0x18]
movabs r15, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x8b0], r15
movaps xmm6, xmmword [section..rdata]
movaps xmmword [rsp + 0x8a0], xmm6
lea rbx, [rsp + 0x8a0]
mov rcx, r14
mov rdx, rbx
call fcn.1400046f4
test byte [0x1400d7b40], 0x19
jne 0x140044c85
mov rax, qword [0x1400db908]
test rax, rax
je 0x140044901
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 rax
test al, al
jne 0x140044af2
mov eax, dword [0x1400d7650]
test al, 2
je 0x140044933
test byte [rsp + 0x8a0], 1
je 0x14004491f
mov rcx, qword [rsp + 0x8b0]
jmp 0x140044927
lea rcx, [rsp + 0x8a1]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1400d7650]
test al, 4
jne 0x140044942
cmp eax, 1
ja 0x14004499c
cmp dword [rsi + 8], 2
jl 0x14004499c
mov ecx, 2
call fcn.140087978
movzx edx, byte [rsp + 0x8a0]
test dl, 1
je 0x14004496b
mov rdx, qword [rsp + 0x8a8]
mov rcx, qword [rsp + 0x8b0]
jmp 0x140044976
shr rdx, 1
lea rcx, [rsp + 0x8a1]
mov r8d, 1
mov r9, rax
call fcn.140099684
mov ecx, 2
call fcn.140087978
mov rcx, rax
call fcn.140099310
mov eax, dword [0x1400d7650]
test al, 1
je 0x1400449fe
call fcn.140043d80
test al, al
je 0x1400449fe
mov dword [rsp + 0xb0], 0xaaaaaaaa
movzx r8d, byte [rsp + 0x8a0]
test r8b, 1
je 0x1400449d5
mov r8d, dword [rsp + 0x8a8]
mov rdx, qword [rsp + 0x8b0]
jmp 0x1400449e0
shr r8d, 1
lea rdx, [rsp + 0x8a1]
mov rcx, qword [0x1400db920]
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [rsi + 8], 3
jne 0x140044af2
mov rcx, qword [0x1400db950]
test rcx, rcx
je 0x140044a52
movzx eax, byte [rsp + 0x8a0]
mov rdx, rax
shr rdx, 1
test al, 1
lea rax, [rsp + 0x8a1]
cmovne rax, qword [rsp + 0x8b0]
mov qword [rsp + 0x70], rax
cmovne rdx, qword [rsp + 0x8a8]
mov qword [rsp + 0x78], rdx
lea rdx, [rsp + 0x70]
call fcn.140046060
lea rdi, [rsp + 0xb4]
mov r8d, 0x400
mov rcx, rdi
mov dl, 0xaa
call fcn.140086a50
mov dword [rsp + 0xb0], 0xbedead01
mov dword [rsp + 0x4b4], 0x5050dead
add rbx, 1
test byte [rsp + 0x8a0], 1
mov rdx, rbx
je 0x140044a99
mov rdx, qword [rsp + 0x8b0]
mov r8d, 0x400
mov rcx, rdi
call fcn.1400357f0
lea rcx, [rsp + 0xb0]
call fcn.140004c40
mov eax, dword [0x1400db948]
mov ecx, dword [0x1400db698]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140044e06
mov rax, qword [0x1400db938]
cmp rax, qword [0x1400db940]
jne 0x140044b8f
call fcn.140059fa0
test byte [rsp + 0x8a0], 1
je 0x140044b09
mov rcx, qword [rsp + 0x8b0]
call fcn.140083808
lea rcx, [rsi + 0x138]
call fcn.140050900
mov rax, qword [rsi + 0x10]
movsxd rax, dword [rax + 4]
lea rcx, [0x1400ae578]
mov qword [rsi + rax + 0x10], rcx
lea rax, [0x1400ae510]
mov qword [rsi + 0x18], rax
test byte [rsi + 0x58], 1
lea rsi, [rsi + 0x80]
je 0x140044b4b
mov rcx, qword [r12 + 0x58]
call fcn.140083808
mov rcx, r14
call fcn.140005e3e
mov rcx, r14
call fcn.140004c40
mov rcx, rsi
call fcn.140005e38
mov rcx, qword [rsp + 0x1078]
xor rcx, rsp
call fcn.140083c20
movaps xmm6, xmmword [rsp + 0x1080]
add rsp, 0x1098
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x90], r15
mov eax, dword [0x1400db948]
mov ecx, dword [0x1400db698]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140044e41
lea rcx, [0x1400db928]
mov rdx, qword [0x1400db940]
test rdx, rdx
jne 0x140044bd6
mov rdx, qword [0x1400db930]
add rdx, 0xffffffffffffffff
call fcn.140022270
lea rcx, [rsp + 0x90]
mov rdx, rax
call fcn.140034090
mov r15, qword [rsp + 0x90]
test r15, r15
je 0x140044c65
test byte [rsp + 0x8a0], 1
je 0x140044c0e
mov rbx, qword [rsp + 0x8b0]
lea rcx, [rbx + r13]
mov qword [rsp + 0x60], rcx
test rbx, rbx
je 0x140044c23
call fcn.14009b420
jmp 0x140044c25
xor eax, eax
mov qword [rsp + 0x68], rax
mov rax, qword [rsi + 0x118]
sub r13, rax
add rbx, rax
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], r13
mov r8d, dword [rsi + 0x128]
mov rdx, qword [rsi + 0x120]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
mov rcx, r15
call qword [r15 + 8]
lea rcx, [rsp + 0x90]
call fcn.140034070
test byte [rsp + 0x8a0], 1
jne 0x140044afc
jmp 0x140044b09
movzx eax, byte [rsp + 0x8a0]
mov rcx, rax
shr rcx, 1
test al, 1
lea rax, [rsp + 0x8a1]
cmovne rax, qword [rsp + 0x8b0]
cmovne rcx, qword [rsp + 0x8a8]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rcx
mov r8, qword [rsi + 0x118]
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x80]
mov r9, 0xffffffffffffffff
call fcn.140036780
mov ecx, 0x30
call fcn.1400837ac
mov rdi, rax
mov r9d, dword [rsi + 0x128]
movups xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0xb0], xmm0
mov rdx, qword [rsi + 0x120]
lea r8, [rsp + 0xb0]
mov rcx, rax
call fcn.14005a340
call sub.KERNEL32.dll_GetCurrentThreadId
mov ebp, eax
mov qword [rsp + 0xa8], r15
lea rcx, [rsp + 0xa8]
call fcn.140041150
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xc0], xmm6
mov qword [rsp + 0xd0], r15
mov word [rsp + 0xb0], 0x801
lea rax, str.message
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc8], rdi
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], ebp
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0x8008
lea rdx, [0x1400d7b40]
lea r8, str.LogMessage
mov cl, 0x49
xor r9d, r9d
call fcn.140055d60
mov al, byte [rsp + 0xb0]
test al, al
je 0x1400448ce
xor edi, edi
jmp 0x140044ddb
add rdi, 1
movzx ecx, al
cmp rdi, rcx
jae 0x1400448ce
cmp byte [rsp + rdi + 0xb1], 8
jne 0x140044dcb
mov rcx, qword [rsp + rdi*8 + 0xc8]
test rcx, rcx
je 0x140044dcb
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
movzx eax, byte [rsp + 0xb0]
jmp 0x140044dcb
lea rcx, [0x1400db948]
call fcn.1400839b0
cmp dword [0x1400db948], 0xffffffff
jne 0x140044ad9
xorps xmm0, xmm0
movups xmmword [0x1400db938], xmm0
movups xmmword [0x1400db928], xmm0
lea rcx, [0x1400db948]
call fcn.140083a48
jmp 0x140044ad9
lea rcx, [0x1400db948]
call fcn.1400839b0
cmp dword [0x1400db948], 0xffffffff
jne 0x140044bbc
xorps xmm0, xmm0
movups xmmword [0x1400db938], xmm0
movups xmmword [0x1400db928], xmm0
lea rcx, [0x1400db948]
call fcn.140083a48
jmp 0x140044bbc