Function at 0x14001a160
Capabilities:
Create thread
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rbx, rcx
xor r14d, r14d
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], r14
lea r8d, [r14 + 0x16]
lea rdx, str.FLiNGTrainerNamedPipe_
lea rcx, [rbp - 0x20]
call fcn.140007fc0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov r8d, eax
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.140015fc0
test al, al
je 0x14001a5b2
mov rcx, rbx
call fcn.14001ed60
call fcn.1400195c0
mov rcx, rbx
call fcn.140019780
lea r15, [0x140080920]
mov esi, dword [0x1400803ac]
test esi, esi
je 0x14001a284
mov edi, dword [0x1400803a8]
test edi, edi
je 0x14001a284
mov rcx, r15
call fcn.140039178
test eax, eax
jne 0x14001a5c6
mov eax, dword [0x14008096c]
cmp eax, 0x7fffffff
je 0x14001a5d1
mov dword [rbp + 0x40], 9
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
lea r8d, [r14 + 4]
lea rdx, [rbp + 0x40]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [rbp + 0x40], esi
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
lea r8d, [r14 + 4]
lea rdx, [rbp + 0x40]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [rbp + 0x40], edi
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
lea r8d, [r14 + 4]
lea rdx, [rbp + 0x40]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, r15
call fcn.140039180
mov rcx, rbx
call fcn.14001a640
lea rdi, [rbx + 0x4f8]
mov r8, rdi
lea rdx, str.Cover
mov ecx, 0x75
call fcn.14001d280
mov rax, qword [rdi + 8]
cmp rax, qword [rdi]
je 0x14001a358
mov rcx, r15
call fcn.140039178
test eax, eax
jne 0x14001a5c6
mov eax, dword [0x14008096c]
cmp eax, 0x7fffffff
je 0x14001a5d1
mov dword [rbp + 0x40], 3
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
mov r8d, 4
lea rdx, [rbp + 0x40]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rax, qword [rdi + 8]
sub rax, qword [rdi]
mov dword [rbp + 0x40], eax
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
mov r8d, 4
lea rdx, [rbp + 0x40]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rax, qword [rdi]
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
mov r8d, 8
lea rdx, [rbp + 0x40]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, r15
call fcn.140039180
mov rcx, r15
call fcn.140039178
test eax, eax
jne 0x14001a5c6
mov eax, dword [0x14008096c]
cmp eax, 0x7fffffff
je 0x14001a5d1
mov dword [rbp + 0x40], 5
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
mov r8d, 4
lea rdx, [rbp + 0x40]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea rax, [0x140019320]
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
mov r8d, 8
lea rdx, [rbp + 0x40]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, r15
call fcn.140039180
mov qword [rbp + 0x48], r15
mov rcx, r15
call fcn.140039178
test eax, eax
jne 0x14001a5c6
mov eax, dword [0x14008096c]
cmp eax, 0x7fffffff
je 0x14001a5d1
mov dword [rbp + 0x40], 4
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
mov r8d, 4
lea rdx, [rbp + 0x40]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea rdx, [rbx + 0x5a8]
lea rcx, [rbp - 0x20]
call fcn.14001ca40
mov rdx, rax
mov rcx, rbx
call fcn.140016350
lea rdx, [rbx + 0x5c8]
lea rcx, [rbp - 0x20]
call fcn.14001ca40
mov rdx, rax
mov rcx, rbx
call fcn.140016350
nop
mov rcx, r15
call fcn.140039180
mov ecx, 8
call fcn.140039934
mov qword [rax], rbx
mov qword [rbp + 0x38], rax
lea rcx, [rbp - 0x28]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
mov r9, rax
lea r8, [0x14001d1d0]
xor edx, edx
xor ecx, ecx
call fcn.140044898
mov qword [rbp - 0x30], rax
test rax, rax
je 0x14001a629
cmp dword [rbp - 0x28], 0
je 0x14001a61e
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
call fcn.140038edc
test eax, eax
jne 0x14001a61e
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x30], xmm0
lea ecx, [rax + 8]
call fcn.140039934
mov qword [rax], rbx
mov qword [rbp + 0x38], rax
lea rcx, [rbp - 0x28]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
mov r9, rax
lea r8, [0x14001d200]
xor edx, edx
xor ecx, ecx
call fcn.140044898
mov qword [rbp - 0x30], rax
test rax, rax
je 0x14001a60f
cmp dword [rbp - 0x28], 0
je 0x14001a604
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
call fcn.140038edc
test eax, eax
jne 0x14001a604
lea ecx, [rax + 8]
call fcn.140039934
mov qword [rax], rbx
mov qword [rbp + 0x38], rax
lea rcx, [rbp - 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
mov r9, rax
lea r8, [0x14001d050]
xor edx, edx
xor ecx, ecx
call fcn.140044898
mov qword [rbp - 0x40], rax
test rax, rax
je 0x14001a5f5
cmp dword [rbp - 0x38], 0
je 0x14001a5ea
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
call fcn.140038edc
test eax, eax
jne 0x14001a5ea
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x40], xmm0
cmp byte [rbx + 0x10], al
jne 0x14001a5ac
mov rcx, rbx
call fcn.140018f80
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [rbx + 0x10], 0
je 0x14001a593
cmp dword [rbp - 0x38], 0
jne 0x14001a5e4
mov rbx, qword [rsp + 0xa0]
add rsp, 0x70
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov ecx, 5
call fcn.140038e40
int3
dec eax
mov dword [0x14008096c], eax
mov ecx, 6
call fcn.140038e40
int3
call fcn.140043940
nop
mov ecx, 1
call fcn.140038e40
nop
mov dword [rbp - 0x38], r14d
mov ecx, 6
call fcn.140038e40
nop
mov ecx, 1
call fcn.140038e40
nop
mov dword [rbp - 0x28], r14d
mov ecx, 6
call fcn.140038e40
nop
mov ecx, 1
call fcn.140038e40
nop
mov dword [rbp - 0x28], r14d
mov ecx, 6
call fcn.140038e40
int3