Function at 0x14002cae0
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.14012d600
sub rsp, rax
movaps xmmword [rsp + 0x1080], xmm6
mov rsi, rcx
mov rax, qword [0x1401af6a8]
xor rax, rsp
mov qword [rsp + 0x1078], rax
lea rax, [0x140165db8]
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 0x14002cb54
movaps xmm0, xmmword [0x1401613a0]
movaps xmmword [rsp + 0xb0], xmm0
mov r13, 0xffffffffffffffff
cmp dword [rsi + 8], 3
je 0x14002cb8a
jmp 0x14002cd38
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 0x14002cd38
call fcn.140057960
test al, al
jne 0x14002cd38
lea r14, [rsp + 0x8a0]
mov r8d, 0x7d8
mov rcx, r14
mov dl, 0xaa
call fcn.140130ac0
mov rcx, r14
call fcn.1400290f0
mov rax, qword [r12]
movsxd rcx, dword [rax + 4]
add rcx, r12
lea rdi, [rsp + 0xb0]
mov rdx, rdi
call fcn.140007986
lea rdx, [0x1401b12d0]
mov rcx, rdi
call fcn.14000b6a6
mov rbp, qword [rax]
mov rcx, rax
mov dl, 0xa
call qword [rbp + 0x38]
mov ebx, eax
mov rcx, rdi
call fcn.14000b5f8
mov rcx, r12
mov edx, ebx
call fcn.140008ed4
mov rcx, r12
call fcn.140007fb6
mov rcx, r14
mov rdx, r12
call fcn.140029160
lea rdi, [rsp + 0xb0]
mov r8d, 0x7e8
mov rcx, rdi
mov dl, 0xaa
call fcn.140130ac0
mov rcx, rdi
call fcn.1400579a0
mov rcx, rdi
call fcn.140057a90
test al, al
jne 0x14002cc4f
lea rcx, [rsp + 0xb0]
mov rdx, r12
call fcn.140057aa0
call fcn.1400399b0
test rax, rax
je 0x14002cd38
mov rdi, rax
cmp dword [rax + 0x58], 0
je 0x14002cd38
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 + 0x90]
call fcn.140038b10
movzx r8d, byte [rsp + 0x90]
test r8b, 1
je 0x14002ccbb
mov r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
jmp 0x14002ccc6
shr r8, 1
lea rdx, [rsp + 0x91]
mov rcx, rbx
call fcn.140001e21
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
lea rdi, [rsp + 0x80]
mov rdx, rdi
call fcn.140007986
lea rdx, [0x1401b12d0]
mov rcx, rdi
call fcn.14000b6a6
mov rbp, qword [rax]
mov rcx, rax
mov dl, 0xa
call qword [rbp + 0x38]
mov ebp, eax
mov rcx, rdi
call fcn.14000b5f8
mov rcx, rbx
mov edx, ebp
call fcn.140008ed4
mov rcx, rbx
call fcn.140007fb6
test byte [rsp + 0x90], 1
je 0x14002cd38
mov rcx, qword [rsp + 0xa0]
call fcn.14012d304
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [rax + 4]
add rcx, r12
lea rdi, [rsp + 0xb0]
mov rdx, rdi
call fcn.140007986
lea rdx, [0x1401b12d0]
mov rcx, rdi
call fcn.14000b6a6
mov rbp, qword [rax]
mov rcx, rax
mov dl, 0xa
call qword [rbp + 0x38]
mov ebx, eax
mov rcx, rdi
call fcn.14000b5f8
mov rcx, r12
mov edx, ebx
call fcn.140008ed4
mov rcx, r12
call fcn.140007fb6
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.140004954
test byte [0x1401ae870], 0x19
jne 0x14002d185
mov rax, qword [0x1401b2050]
test rax, rax
je 0x14002ce01
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 0x14002cff2
mov eax, dword [0x1401ae358]
test al, 2
je 0x14002ce33
test byte [rsp + 0x8a0], 1
je 0x14002ce1f
mov rcx, qword [rsp + 0x8b0]
jmp 0x14002ce27
lea rcx, [rsp + 0x8a1]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x1401ae358]
test al, 4
jne 0x14002ce42
cmp eax, 1
ja 0x14002ce9c
cmp dword [rsi + 8], 2
jl 0x14002ce9c
mov ecx, 2
call fcn.1401319a8
movzx edx, byte [rsp + 0x8a0]
test dl, 1
je 0x14002ce6b
mov rdx, qword [rsp + 0x8a8]
mov rcx, qword [rsp + 0x8b0]
jmp 0x14002ce76
shr rdx, 1
lea rcx, [rsp + 0x8a1]
mov r8d, 1
mov r9, rax
call fcn.140146474
mov ecx, 2
call fcn.1401319a8
mov rcx, rax
call fcn.140145d90
mov eax, dword [0x1401ae358]
test al, 1
je 0x14002cefe
call fcn.14002c290
test al, al
je 0x14002cefe
mov dword [rsp + 0xb0], 0xaaaaaaaa
movzx r8d, byte [rsp + 0x8a0]
test r8b, 1
je 0x14002ced5
mov r8d, dword [rsp + 0x8a8]
mov rdx, qword [rsp + 0x8b0]
jmp 0x14002cee0
shr r8d, 1
lea rdx, [rsp + 0x8a1]
mov rcx, qword [0x1401b2068]
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [rsi + 8], 3
jne 0x14002cff2
mov rcx, qword [0x1401b2798]
test rcx, rcx
je 0x14002cf52
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.1400599e0
lea rdi, [rsp + 0xb4]
mov r8d, 0x400
mov rcx, rdi
mov dl, 0xaa
call fcn.140130ac0
mov dword [rsp + 0xb0], 0xbedead01
mov dword [rsp + 0x4b4], 0x5050dead
add rbx, 1
test byte [rsp + 0x8a0], 1
mov rdx, rbx
je 0x14002cf99
mov rdx, qword [rsp + 0x8b0]
mov r8d, 0x400
mov rcx, rdi
call fcn.1400389a0
lea rcx, [rsp + 0xb0]
call fcn.1400027b0
mov eax, dword [0x1401b2090]
mov ecx, dword [0x1401b2730]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002d306
mov rax, qword [0x1401b2080]
cmp rax, qword [0x1401b2088]
jne 0x14002d08f
call fcn.140057980
test byte [rsp + 0x8a0], 1
je 0x14002d009
mov rcx, qword [rsp + 0x8b0]
call fcn.14012d304
lea rcx, [rsi + 0x138]
call fcn.140057900
mov rax, qword [rsi + 0x10]
movsxd rax, dword [rax + 4]
lea rcx, [0x140161598]
mov qword [rsi + rax + 0x10], rcx
lea rax, [0x140161530]
mov qword [rsi + 0x18], rax
test byte [rsi + 0x58], 1
lea rsi, [rsi + 0x80]
je 0x14002d04b
mov rcx, qword [r12 + 0x58]
call fcn.14012d304
mov rcx, r14
call fcn.140007f0e
mov rcx, r14
call fcn.1400027b0
mov rcx, rsi
call fcn.140007f08
mov rcx, qword [rsp + 0x1078]
xor rcx, rsp
call fcn.14012d670
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 [0x1401b2090]
mov ecx, dword [0x1401b2730]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002d341
lea rcx, [0x1401b2070]
mov rdx, qword [0x1401b2088]
test rdx, rdx
jne 0x14002d0d6
mov rdx, qword [0x1401b2078]
add rdx, 0xffffffffffffffff
call fcn.140024a70
lea rcx, [rsp + 0x90]
mov rdx, rax
call fcn.140024d20
mov r15, qword [rsp + 0x90]
test r15, r15
je 0x14002d165
test byte [rsp + 0x8a0], 1
je 0x14002d10e
mov rbx, qword [rsp + 0x8b0]
lea rcx, [rbx + r13]
mov qword [rsp + 0x60], rcx
test rbx, rbx
je 0x14002d123
call fcn.14014ba90
jmp 0x14002d125
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.140024d00
test byte [rsp + 0x8a0], 1
jne 0x14002cffc
jmp 0x14002d009
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.140036e30
mov ecx, 0x30
call fcn.14012d2c8
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.14005a490
call sub.KERNEL32.dll_GetCurrentThreadId
mov ebp, eax
mov qword [rsp + 0xa8], r15
lea rcx, [rsp + 0xa8]
call fcn.140043210
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, [0x1401ae870]
lea r8, str.LogMessage
mov cl, 0x49
xor r9d, r9d
call fcn.140047fc0
mov al, byte [rsp + 0xb0]
test al, al
je 0x14002cdce
xor edi, edi
jmp 0x14002d2db
add rdi, 1
movzx ecx, al
cmp rdi, rcx
jae 0x14002cdce
cmp byte [rsp + rdi + 0xb1], 8
jne 0x14002d2cb
mov rcx, qword [rsp + rdi*8 + 0xc8]
test rcx, rcx
je 0x14002d2cb
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
movzx eax, byte [rsp + 0xb0]
jmp 0x14002d2cb
lea rcx, [0x1401b2090]
call fcn.14012d420
cmp dword [0x1401b2090], 0xffffffff
jne 0x14002cfd9
xorps xmm0, xmm0
movups xmmword [0x1401b2080], xmm0
movups xmmword [0x1401b2070], xmm0
lea rcx, [0x1401b2090]
call fcn.14012d4b8
jmp 0x14002cfd9
lea rcx, [0x1401b2090]
call fcn.14012d420
cmp dword [0x1401b2090], 0xffffffff
jne 0x14002d0bc
xorps xmm0, xmm0
movups xmmword [0x1401b2080], xmm0
movups xmmword [0x1401b2070], xmm0
lea rcx, [0x1401b2090]
call fcn.14012d4b8
jmp 0x14002d0bc