Function at 0x14002f710
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.140120770
sub rsp, rax
movaps xmmword [rsp + 0x1080], xmm6
mov rsi, rcx
mov rax, qword [0x14019e638]
xor rax, rsp
mov qword [rsp + 0x1078], rax
lea r15, [rcx + 8]
mov rax, qword [rcx + 8]
movsxd rax, dword [rax + 4]
test byte [rcx + rax + 0x28], 5
je 0x14002f779
movaps xmm0, xmmword [0x140153470]
movaps xmmword [rsp + 0xb0], xmm0
mov r12, 0xffffffffffffffff
cmp dword [rsi], 3
je 0x14002f7ae
jmp 0x14002f95b
mov rcx, qword [r15 + 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 r12, qword [rsp + 0xb8]
cmp dword [rsi], 3
jne 0x14002f95b
call fcn.140058770
test al, al
jne 0x14002f95b
lea r14, [rsp + 0x8a0]
mov r8d, 0x7d8
mov rcx, r14
mov dl, 0xaa
call fcn.1401236f0
mov rcx, r14
call fcn.14002c400
mov rax, qword [r15]
movsxd rcx, dword [rax + 4]
add rcx, r15
lea rdi, [rsp + 0xb0]
mov rdx, rdi
call fcn.14000a886
lea rdx, [0x1401a0148]
mov rcx, rdi
call fcn.14000e5a4
mov rbp, qword [rax]
mov rcx, rax
mov dl, 0xa
call qword [rbp + 0x38]
mov ebx, eax
mov rcx, rdi
call fcn.14000e4f6
mov rcx, r15
mov edx, ebx
call fcn.14000bdcc
mov rcx, r15
call fcn.14000aec6
mov rcx, r14
mov rdx, r15
call fcn.14002c470
lea rdi, [rsp + 0xb0]
mov r8d, 0x7e8
mov rcx, rdi
mov dl, 0xaa
call fcn.1401236f0
mov rcx, rdi
call fcn.1400587b0
mov rcx, rdi
call fcn.1400588b0
test al, al
jne 0x14002f872
lea rcx, [rsp + 0xb0]
mov rdx, r15
call fcn.1400588c0
call fcn.14003b170
test rax, rax
je 0x14002f95b
mov rbx, rax
cmp dword [rax + 0x58], 0
je 0x14002f95b
lea rdx, str.IPC_message_handler_context:
mov r8d, 0x1d
mov rcx, r15
call fcn.140001c63
mov rdi, rax
mov r8d, dword [rbx + 0x58]
lea rdx, str.0x_08X
lea rcx, [rsp + 0x90]
call fcn.14003a030
movzx r8d, byte [rsp + 0x90]
test r8b, 1
je 0x14002f8de
mov r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
jmp 0x14002f8e9
shr r8, 1
lea rdx, [rsp + 0x91]
mov rcx, rdi
call fcn.140001c63
mov rdi, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rdi
lea r14, [rsp + 0x80]
mov rdx, r14
call fcn.14000a886
lea rdx, [0x1401a0148]
mov rcx, r14
call fcn.14000e5a4
mov rbp, qword [rax]
mov rcx, rax
mov dl, 0xa
call qword [rbp + 0x38]
mov ebx, eax
mov rcx, r14
call fcn.14000e4f6
mov rcx, rdi
mov edx, ebx
call fcn.14000bdcc
mov rcx, rdi
call fcn.14000aec6
test byte [rsp + 0x90], 1
je 0x14002f95b
mov rcx, qword [rsp + 0xa0]
call fcn.1401203c4
mov rax, qword [rsi + 8]
movsxd rcx, dword [rax + 4]
add rcx, r15
lea rdi, [rsp + 0xb0]
mov rdx, rdi
call fcn.14000a886
lea rdx, [0x1401a0148]
mov rcx, rdi
call fcn.14000e5a4
mov rbp, qword [rax]
mov rcx, rax
mov dl, 0xa
call qword [rbp + 0x38]
mov ebx, eax
mov rcx, rdi
call fcn.14000e4f6
mov rcx, r15
mov edx, ebx
call fcn.14000bdcc
mov rcx, r15
call fcn.14000aec6
lea r14, [rsi + 0x10]
movabs r13, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa0], r13
movaps xmm6, xmmword [section..rdata]
movaps xmmword [rsp + 0x90], xmm6
lea rbx, [rsp + 0x90]
mov rcx, r14
mov rdx, rbx
call fcn.140003db6
test byte [0x14019d780], 0x19
jne 0x14002fdfb
mov rax, qword [0x1401a0ec0]
test rax, rax
je 0x14002fa23
mov r9, qword [rsi + 0x110]
mov r8d, dword [rsi + 0x120]
mov rdx, qword [rsi + 0x118]
mov ecx, dword [rsi]
mov qword [rsp + 0x20], rbx
call rax
test al, al
jne 0x14002fc12
mov eax, dword [0x14019d308]
test al, 2
je 0x14002fa55
test byte [rsp + 0x90], 1
je 0x14002fa41
mov rcx, qword [rsp + 0xa0]
jmp 0x14002fa49
lea rcx, [rsp + 0x91]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x14019d308]
test al, 4
jne 0x14002fa63
cmp eax, 1
ja 0x14002fabd
cmp dword [rsi], 2
jl 0x14002fabd
mov ecx, 2
call fcn.140124618
movzx edx, byte [rsp + 0x90]
test dl, 1
je 0x14002fa8c
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
jmp 0x14002fa97
shr rdx, 1
lea rcx, [rsp + 0x91]
mov r8d, 1
mov r9, rax
call fcn.14013b2a4
mov ecx, 2
call fcn.140124618
mov rcx, rax
call fcn.14013a858
mov eax, dword [0x14019d308]
test al, 1
je 0x14002fb1f
call fcn.140030000
test al, al
je 0x14002fb1f
mov dword [rsp + 0xb0], 0xaaaaaaaa
movzx r8d, byte [rsp + 0x90]
test r8b, 1
je 0x14002faf6
mov r8d, dword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
jmp 0x14002fb01
shr r8d, 1
lea rdx, [rsp + 0x91]
mov rcx, qword [0x1401a0ed8]
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [rsi], 3
jne 0x14002fc12
mov rcx, qword [0x1401a16d0]
test rcx, rcx
je 0x14002fb72
movzx eax, byte [rsp + 0x90]
mov rdx, rax
shr rdx, 1
test al, 1
lea rax, [rsp + 0x91]
cmovne rax, qword [rsp + 0xa0]
mov qword [rsp + 0x70], rax
cmovne rdx, qword [rsp + 0x98]
mov qword [rsp + 0x78], rdx
lea rdx, [rsp + 0x70]
call fcn.14005a5f0
lea rdi, [rsp + 0xb4]
mov r8d, 0x400
mov rcx, rdi
mov dl, 0xaa
call fcn.1401236f0
mov dword [rsp + 0xb0], 0xbedead01
mov dword [rsp + 0x4b4], 0x5050dead
add rbx, 1
test byte [rsp + 0x90], 1
mov rdx, rbx
je 0x14002fbb9
mov rdx, qword [rsp + 0xa0]
mov r8d, 0x400
mov rcx, rdi
call fcn.140039c90
lea rcx, [rsp + 0xb0]
call fcn.140002c80
mov eax, dword [0x1401a0f00]
mov ecx, dword [0x1401a1580]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002ff7c
mov rax, qword [0x1401a0ef0]
cmp rax, qword [0x1401a0ef8]
jne 0x14002fcab
call fcn.140058790
test byte [rsp + 0x90], 1
je 0x14002fc29
mov rcx, qword [rsp + 0xa0]
call fcn.1401203c4
lea rcx, [rsi + 0x130]
call fcn.140058750
mov rax, qword [rsi + 8]
movsxd rax, dword [rax + 4]
lea rcx, [0x140153540]
mov qword [rsi + rax + 8], rcx
lea rax, [0x140153550]
mov qword [rsi + 0x10], rax
test byte [rsi + 0x50], 1
lea rsi, [rsi + 0x78]
je 0x14002fc67
mov rcx, qword [r15 + 0x58]
call fcn.1401203c4
mov rcx, r14
call fcn.14000ae1e
mov rcx, r14
call fcn.140002c80
mov rcx, rsi
call fcn.14000ae18
mov rcx, qword [rsp + 0x1078]
xor rcx, rsp
call fcn.1401207e0
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 + 0xa8], r13
mov eax, dword [0x1401a0f00]
mov ecx, dword [0x1401a1580]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002ffb7
mov rax, qword [0x1401a0ef8]
test rax, rax
mov rcx, qword [0x1401a0ee8]
cmove rax, rcx
add rax, 0xffffffffffffffff
mov qword [rsp + 0x80], rax
cmp rax, rcx
jbe 0x14002fd46
lea rdx, [0x1401a0ee8]
lea r8, str.i___capacity_
lea rcx, [rsp + 0x80]
call fcn.14000401c
test rax, rax
je 0x14002fd46
lea rdx, str..._.._base_containers_vector_buffer.h
lea rdi, [rsp + 0x8a0]
mov rcx, rdi
mov r8d, 0x55
mov r9, rax
call fcn.140030840
mov rcx, rdi
call fcn.14002f710
mov rdx, qword [rsp + 0x80]
shl rdx, 3
add rdx, qword [0x1401a0ee0]
lea rcx, [rsp + 0xa8]
call fcn.140028a00
mov rdi, qword [rsp + 0xa8]
test rdi, rdi
je 0x14002fddb
test byte [rsp + 0x90], 1
je 0x14002fd85
mov rbx, qword [rsp + 0xa0]
lea rcx, [rbx + r12]
mov qword [rsp + 0x60], rcx
test rbx, rbx
je 0x14002fd9a
call fcn.140140690
jmp 0x14002fd9c
xor eax, eax
mov qword [rsp + 0x68], rax
mov rax, qword [rsi + 0x110]
sub r12, rax
add rbx, rax
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], r12
mov r8d, dword [rsi + 0x120]
mov rdx, qword [rsi + 0x118]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
mov rcx, rdi
call qword [rdi + 8]
lea rcx, [rsp + 0xa8]
call fcn.1400289e0
test byte [rsp + 0x90], 1
jne 0x14002fc1c
jmp 0x14002fc29
movzx eax, byte [rsp + 0x90]
mov rcx, rax
shr rcx, 1
test al, 1
lea rax, [rsp + 0x91]
cmovne rax, qword [rsp + 0xa0]
cmovne rcx, qword [rsp + 0x98]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rcx
mov r8, qword [rsi + 0x110]
lea rcx, [rsp + 0x8a0]
lea rdx, [rsp + 0x80]
mov r9, 0xffffffffffffffff
call fcn.140038160
mov ecx, 0x30
call fcn.140120368
mov rdi, rax
mov r9d, dword [rsi + 0x120]
movups xmm0, xmmword [rsp + 0x8a0]
movaps xmmword [rsp + 0xb0], xmm0
mov rdx, qword [rsi + 0x118]
lea r8, [rsp + 0xb0]
mov rcx, rax
call fcn.14005af10
call sub.KERNEL32.dll_GetCurrentThreadId
mov ebp, eax
mov qword [rsp + 0xa8], r13
lea rcx, [rsp + 0xa8]
call fcn.14004bb00
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xc0], xmm6
mov qword [rsp + 0xd0], r13
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, [0x14019d780]
lea r8, str.LogMessage
mov cl, 0x49
xor r9d, r9d
call fcn.14003fb60
mov al, byte [rsp + 0xb0]
test al, al
je 0x14002f9f1
xor edi, edi
jmp 0x14002ff51
add rdi, 1
movzx ecx, al
cmp rdi, rcx
jae 0x14002f9f1
cmp byte [rsp + rdi + 0xb1], 8
jne 0x14002ff41
mov rcx, qword [rsp + rdi*8 + 0xc8]
test rcx, rcx
je 0x14002ff41
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
movzx eax, byte [rsp + 0xb0]
jmp 0x14002ff41
lea rcx, [0x1401a0f00]
call fcn.140120570
cmp dword [0x1401a0f00], 0xffffffff
jne 0x14002fbf9
xorps xmm0, xmm0
movups xmmword [0x1401a0ef0], xmm0
movups xmmword [0x1401a0ee0], xmm0
lea rcx, [0x1401a0f00]
call fcn.140120608
jmp 0x14002fbf9
lea rcx, [0x1401a0f00]
call fcn.140120570
cmp dword [0x1401a0f00], 0xffffffff
jne 0x14002fcd8
xorps xmm0, xmm0
movups xmmword [0x1401a0ef0], xmm0
movups xmmword [0x1401a0ee0], xmm0
lea rcx, [0x1401a0f00]
call fcn.140120608
jmp 0x14002fcd8