Function at 0x14002e260
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, 0x1088
call fcn.1401324e0
sub rsp, rax
movaps xmmword [rsp + 0x1070], xmm6
mov rsi, rcx
mov rax, qword [0x1401b46a8]
xor rax, rsp
mov qword [rsp + 0x1068], rax
lea rax, [0x14016adc0]
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 0x14002e2d4
movaps xmm0, xmmword [0x1401663a0]
movaps xmmword [rsp + 0xa0], xmm0
mov r13, 0xffffffffffffffff
cmp dword [rsi + 8], 3
je 0x14002e30a
jmp 0x14002e4b8
mov rcx, qword [r12 + rax + 0x28]
mov rax, qword [rcx]
mov dword [rsp + 0x20], 0x10
lea rdx, [rsp + 0xa0]
xor r8d, r8d
mov r9d, 1
call qword [rax + 0x18]
mov r13, qword [rsp + 0xa8]
cmp dword [rsi + 8], 3
jne 0x14002e4b8
call fcn.140058480
test al, al
jne 0x14002e4b8
lea r14, [rsp + 0x890]
mov r8d, 0x7d8
mov rcx, r14
mov dl, 0xaa
call fcn.140135a50
mov rcx, r14
call fcn.14002a580
mov rax, qword [r12]
movsxd rcx, dword [rax + 4]
add rcx, r12
lea rdi, [rsp + 0xa0]
mov rdx, rdi
call fcn.1400085d6
lea rdx, [0x1401b62d8]
mov rcx, rdi
call fcn.14000c2e6
mov rbp, qword [rax]
mov rcx, rax
mov dl, 0xa
call qword [rbp + 0x38]
mov ebx, eax
mov rcx, rdi
call fcn.14000c238
mov rcx, r12
mov edx, ebx
call fcn.140009b04
mov rcx, r12
call fcn.140008be6
mov rcx, r14
mov rdx, r12
call fcn.14002a5f0
lea rdi, [rsp + 0xa0]
mov r8d, 0x7e8
mov rcx, rdi
mov dl, 0xaa
call fcn.140135a50
mov rcx, rdi
call fcn.1400584c0
mov rcx, rdi
call fcn.1400585b0
test al, al
jne 0x14002e3cf
lea rcx, [rsp + 0xa0]
mov rdx, r12
call fcn.1400585c0
call fcn.14003a430
test rax, rax
je 0x14002e4b8
mov rdi, rax
cmp dword [rax + 0x58], 0
je 0x14002e4b8
lea rdx, str.IPC_message_handler_context:
mov r8d, 0x1d
mov rcx, r12
call fcn.140001e21
mov rbx, rax
mov r8d, dword [rdi + 0x58]
lea rdx, str.0x_08X
lea rcx, [rsp + 0x80]
call fcn.140039590
movzx r8d, byte [rsp + 0x80]
test r8b, 1
je 0x14002e43b
mov r8, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
jmp 0x14002e446
shr r8, 1
lea rdx, [rsp + 0x81]
mov rcx, rbx
call fcn.140001e21
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
lea rdi, [rsp + 0x98]
mov rdx, rdi
call fcn.1400085d6
lea rdx, [0x1401b62d8]
mov rcx, rdi
call fcn.14000c2e6
mov rbp, qword [rax]
mov rcx, rax
mov dl, 0xa
call qword [rbp + 0x38]
mov ebp, eax
mov rcx, rdi
call fcn.14000c238
mov rcx, rbx
mov edx, ebp
call fcn.140009b04
mov rcx, rbx
call fcn.140008be6
test byte [rsp + 0x80], 1
je 0x14002e4b8
mov rcx, qword [rsp + 0x90]
call fcn.1401321e4
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [rax + 4]
add rcx, r12
lea rdi, [rsp + 0xa0]
mov rdx, rdi
call fcn.1400085d6
lea rdx, [0x1401b62d8]
mov rcx, rdi
call fcn.14000c2e6
mov rbp, qword [rax]
mov rcx, rax
mov dl, 0xa
call qword [rbp + 0x38]
mov ebx, eax
mov rcx, rdi
call fcn.14000c238
mov rcx, r12
mov edx, ebx
call fcn.140009b04
mov rcx, r12
call fcn.140008be6
lea r14, [rsi + 0x18]
movabs r15, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x8a0], r15
movaps xmm6, xmmword [section..rdata]
movaps xmmword [rsp + 0x890], xmm6
lea rbx, [rsp + 0x890]
mov rcx, r14
mov rdx, rbx
call fcn.1400033d6
test byte [0x1401b3880], 0x19
jne 0x14002e905
mov rax, qword [0x1401b7050]
test rax, rax
je 0x14002e581
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 0x14002e772
mov eax, dword [0x1401b3358]
test al, 2
je 0x14002e5b3
test byte [rsp + 0x890], 1
je 0x14002e59f
mov rcx, qword [rsp + 0x8a0]
jmp 0x14002e5a7
lea rcx, [rsp + 0x891]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1401b3358]
test al, 4
jne 0x14002e5c2
cmp eax, 1
ja 0x14002e61c
cmp dword [rsi + 8], 2
jl 0x14002e61c
mov ecx, 2
call fcn.140136938
movzx edx, byte [rsp + 0x890]
test dl, 1
je 0x14002e5eb
mov rdx, qword [rsp + 0x898]
mov rcx, qword [rsp + 0x8a0]
jmp 0x14002e5f6
shr rdx, 1
lea rcx, [rsp + 0x891]
mov r8d, 1
mov r9, rax
call fcn.14014b694
mov ecx, 2
call fcn.140136938
mov rcx, rax
call fcn.14014afb8
mov eax, dword [0x1401b3358]
test al, 1
je 0x14002e67e
call fcn.14002da10
test al, al
je 0x14002e67e
mov dword [rsp + 0xa0], 0xaaaaaaaa
movzx r8d, byte [rsp + 0x890]
test r8b, 1
je 0x14002e655
mov r8d, dword [rsp + 0x898]
mov rdx, qword [rsp + 0x8a0]
jmp 0x14002e660
shr r8d, 1
lea rdx, [rsp + 0x891]
mov rcx, qword [0x1401b7068]
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [rsi + 8], 3
jne 0x14002e772
mov rcx, qword [0x1401b7798]
test rcx, rcx
je 0x14002e6d2
movzx eax, byte [rsp + 0x890]
mov rdx, rax
shr rdx, 1
test al, 1
lea rax, [rsp + 0x891]
cmovne rax, qword [rsp + 0x8a0]
mov qword [rsp + 0x70], rax
cmovne rdx, qword [rsp + 0x898]
mov qword [rsp + 0x78], rdx
lea rdx, [rsp + 0x70]
call fcn.14005a600
lea rdi, [rsp + 0xa4]
mov r8d, 0x400
mov rcx, rdi
mov dl, 0xaa
call fcn.140135a50
mov dword [rsp + 0xa0], 0xbedead01
mov dword [rsp + 0x4a4], 0x5050dead
add rbx, 1
test byte [rsp + 0x890], 1
mov rdx, rbx
je 0x14002e719
mov rdx, qword [rsp + 0x8a0]
mov r8d, 0x400
mov rcx, rdi
call fcn.140039410
lea rcx, [rsp + 0xa0]
call fcn.140002830
mov eax, dword [0x1401b7090]
mov ecx, dword [0x1401b7730]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002ea68
mov rax, qword [0x1401b7080]
cmp rax, qword [0x1401b7088]
jne 0x14002e80f
call fcn.1400584a0
test byte [rsp + 0x890], 1
je 0x14002e789
mov rcx, qword [rsp + 0x8a0]
call fcn.1401321e4
lea rcx, [rsi + 0x138]
call fcn.140058420
lea rbx, [rsi + 0x80]
mov rax, qword [rsi + 0x10]
movsxd rax, dword [rax + 4]
lea rcx, [0x1401664c0]
mov qword [rsi + rax + 0x10], rcx
lea rax, [0x1401664d0]
mov qword [rsi + 0x18], rax
test byte [rsi + 0x58], 1
je 0x14002e7cb
mov rcx, qword [r12 + 0x58]
call fcn.1401321e4
mov rcx, r14
call fcn.140008b3e
mov rcx, r14
call fcn.140002830
mov rcx, rbx
call fcn.140008b38
mov rcx, qword [rsp + 0x1068]
xor rcx, rsp
call fcn.140132550
movaps xmm6, xmmword [rsp + 0x1070]
add rsp, 0x1088
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x80], r15
mov eax, dword [0x1401b7090]
mov ecx, dword [0x1401b7730]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002eaa3
lea rcx, [0x1401b7070]
mov rdx, qword [0x1401b7088]
test rdx, rdx
jne 0x14002e856
mov rdx, qword [0x1401b7078]
add rdx, 0xffffffffffffffff
call fcn.140025590
lea rcx, [rsp + 0x80]
mov rdx, rax
call fcn.140025840
mov r15, qword [rsp + 0x80]
test r15, r15
je 0x14002e8e5
test byte [rsp + 0x890], 1
je 0x14002e88e
mov rbx, qword [rsp + 0x8a0]
lea rcx, [rbx + r13]
mov qword [rsp + 0x60], rcx
test rbx, rbx
je 0x14002e8a3
call fcn.140150a20
jmp 0x14002e8a5
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 + 0x80]
call fcn.140025820
test byte [rsp + 0x890], 1
jne 0x14002e77c
jmp 0x14002e789
movzx ebp, byte [rsp + 0x890]
test bpl, 1
je 0x14002e925
mov rdi, qword [rsp + 0x8a0]
mov rbp, qword [rsp + 0x898]
jmp 0x14002e930
shr rbp, 1
lea rdi, [rsp + 0x891]
mov rax, qword [rsi + 0x118]
cmp rbp, rax
cmovb rax, rbp
add rdi, rax
sub rbp, rax
mov ecx, 0x30
call fcn.1401321a8
mov r9d, dword [rsi + 0x128]
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0xa8], rbp
mov rdx, qword [rsi + 0x120]
lea r8, [rsp + 0xa0]
mov rcx, rax
mov rdi, rax
call fcn.14005b0b0
call sub.KERNEL32.dll_GetCurrentThreadId
mov ebp, eax
mov qword [rsp + 0x80], r15
lea rcx, [rsp + 0x80]
call fcn.1400442a0
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
mov qword [rsp + 0xc0], r15
mov word [rsp + 0xa0], 0x801
lea rax, str.message
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb8], rdi
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x80]
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, [0x1401b3880]
lea r8, str.LogMessage
mov cl, 0x49
xor r9d, r9d
call fcn.140049110
mov al, byte [rsp + 0xa0]
test al, al
je 0x14002e54e
xor edi, edi
jmp 0x14002ea3d
add rdi, 1
movzx ecx, al
cmp rdi, rcx
jae 0x14002e54e
cmp byte [rsp + rdi + 0xa1], 8
jne 0x14002ea2d
mov rcx, qword [rsp + rdi*8 + 0xb8]
test rcx, rcx
je 0x14002ea2d
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
movzx eax, byte [rsp + 0xa0]
jmp 0x14002ea2d
lea rcx, [0x1401b7090]
call fcn.140132300
cmp dword [0x1401b7090], 0xffffffff
jne 0x14002e759
xorps xmm0, xmm0
movups xmmword [0x1401b7080], xmm0
movups xmmword [0x1401b7070], xmm0
lea rcx, [0x1401b7090]
call fcn.140132398
jmp 0x14002e759
lea rcx, [0x1401b7090]
call fcn.140132300
cmp dword [0x1401b7090], 0xffffffff
jne 0x14002e83c
xorps xmm0, xmm0
movups xmmword [0x1401b7080], xmm0
movups xmmword [0x1401b7070], xmm0
lea rcx, [0x1401b7090]
call fcn.140132398
jmp 0x14002e83c