Function at 0x14003e510
Capabilities:
Create thread
Read file on windows
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xb0
mov rax, qword [0x1400f2688]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rdi, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ebx, eax
xor r14d, r14d
mov qword [rbp - 9], r14
mov qword [rbp + 7], r14
mov qword [rbp + 0xf], 7
lea r8d, [r14 + 0x16]
lea rdx, str.FLiNGTrainerNamedPipe_
lea rcx, [rbp - 9]
call fcn.140029620
mov r9d, 0x2710
mov r8d, ebx
lea rdx, [rbp - 9]
mov rcx, rdi
call fcn.14003e1e0
test al, al
je 0x14003ea5b
mov rcx, rdi
call fcn.1400623d0
lea rdx, [0x1400f4f40]
lea rcx, [0x1400f4b60]
call fcn.14003eb70
lea rcx, [rbp + 0x17]
call fcn.14004ea90
mov rbx, rax
lea rcx, [0x1400f4e80]
cmp rcx, rax
je 0x14003e5f0
call fcn.140028d70
movups xmm0, xmmword [rbx]
movups xmmword [0x1400f4e80], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [0x1400f4e90], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
nop word [rax + rax]
mov rdx, qword [rbp + 0x2f]
cmp rdx, 8
jb 0x14003e630
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x17]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003e62b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003ea93
call fcn.140087c4c
lea r15, [0x1400f5060]
mov qword [rbp + 0x17], r15
mov rcx, r15
call fcn.1400857fc
test eax, eax
jne 0x14003ea99
lea edx, [rax + 0xa]
mov rcx, rdi
call fcn.14004a2f0
nop
mov qword [rbp - 0x11], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rbp - 0x19], 0xa
movsd xmm0, qword [str.TRAINER_ID]
movsd qword [rbp - 0x29], xmm0
movzx eax, word [0x1400bad68]
mov word [rbp - 0x21], ax
mov byte [rbp - 0x1f], 0
lea rdx, [rbp - 0x29]
mov rcx, rdi
call fcn.140045ca0
mov dword [rbp - 0x39], r14d
mov dword [rbp - 0x29], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp - 0x29]
mov r8d, 4
lea rdx, [rbp - 0x39]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [rbp - 0x39], 1
jne 0x14003e6d6
lea rdx, [0x1400f4f60]
lea rcx, [rbp - 0x29]
call fcn.140007c50
mov rdx, rax
mov rcx, rdi
call fcn.140045ca0
nop
mov rcx, r15
call fcn.140085804
mov rcx, rdi
call fcn.1400442d0
mov esi, dword [0x1400f4fdc]
test esi, esi
je 0x14003e76a
mov ebx, dword [0x1400f4fe0]
test ebx, ebx
je 0x14003e76a
mov qword [rbp + 0x17], r15
mov rcx, r15
call fcn.1400857fc
test eax, eax
jne 0x14003eaa1
lea edx, [rax + 9]
mov rcx, rdi
call fcn.14004a2f0
mov dword [rbp - 0x39], esi
mov dword [rbp - 0x29], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp - 0x29]
mov r8d, 4
lea rdx, [rbp - 0x39]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [rbp - 0x39], ebx
mov dword [rbp - 0x29], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp - 0x29]
mov r8d, 4
lea rdx, [rbp - 0x39]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
nop
mov rcx, r15
call fcn.140085804
mov rcx, rdi
call fcn.140040ca0
lea rbx, [rdi + 0x658]
mov r8, rbx
lea rdx, str.Cover
mov ecx, 0x75
call fcn.14004a1a0
mov rax, qword [rbx + 8]
cmp rax, qword [rbx]
je 0x14003e811
mov qword [rbp + 0x17], r15
mov rcx, r15
call fcn.1400857fc
test eax, eax
jne 0x14003eaa9
lea edx, [rax + 3]
mov rcx, rdi
call fcn.14004a2f0
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbp - 0x39], eax
mov dword [rbp - 0x29], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp - 0x29]
mov r8d, 4
lea rdx, [rbp - 0x39]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rax, qword [rbx]
mov qword [rbp - 0x39], rax
mov dword [rbp - 0x29], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp - 0x29]
mov r8d, 8
lea rdx, [rbp - 0x39]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
nop
mov rcx, r15
call fcn.140085804
mov qword [rbp + 0x17], r15
mov rcx, r15
call fcn.1400857fc
test eax, eax
jne 0x14003eab1
lea edx, [rax + 5]
mov rcx, rdi
call fcn.14004a2f0
lea rax, [0x140040720]
mov qword [rbp - 0x39], rax
mov dword [rbp - 0x29], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp - 0x29]
mov r8d, 8
lea rdx, [rbp - 0x39]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
nop
mov rcx, r15
call fcn.140085804
lea rcx, [rdi + 0x10]
lea r8, [rdi + 0x558]
lea rdx, [rdi + 0x538]
call fcn.1400581c0
mov qword [rbp + 0x17], r15
mov rcx, r15
call fcn.1400857fc
test eax, eax
jne 0x14003eab9
lea edx, [rax + 4]
mov rcx, rdi
call fcn.14004a2f0
lea rdx, [rdi + 0x538]
lea rcx, [rbp - 0x29]
call fcn.140008040
mov rdx, rax
mov rcx, rdi
call fcn.140045d70
lea rdx, [rdi + 0x558]
lea rcx, [rbp - 0x29]
call fcn.140008040
mov rdx, rax
mov rcx, rdi
call fcn.140045d70
nop
mov rcx, r15
call fcn.140085804
mov ecx, 8
call fcn.140087c10
test rax, rax
je 0x14003e8ee
mov qword [rax], rdi
jmp 0x14003e8f1
mov rax, r14
mov qword [rbp + 0x17], rax
lea rcx, [rbp - 0x21]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
mov r9, rax
lea r8, [0x140039b00]
xor edx, edx
xor ecx, ecx
call fcn.14009791c
mov qword [rbp - 0x29], rax
test rax, rax
je 0x14003ea84
cmp dword [rbp - 0x21], 0
je 0x14003eac1
movaps xmm0, xmmword [rbp - 0x29]
movdqa xmmword [rbp + 0x17], xmm0
lea rcx, [rbp + 0x17]
call fcn.140086a68
test eax, eax
jne 0x14003eacc
lea ecx, [rax + 8]
call fcn.140087c10
test rax, rax
je 0x14003e959
mov qword [rax], rdi
jmp 0x14003e95c
mov rax, r14
mov qword [rbp + 0x17], rax
lea rcx, [rbp - 0x21]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
mov r9, rax
lea r8, [0x1400399d0]
xor edx, edx
xor ecx, ecx
call fcn.14009791c
mov qword [rbp - 0x29], rax
test rax, rax
je 0x14003eb0f
cmp dword [rbp - 0x21], 0
je 0x14003ead4
movaps xmm0, xmmword [rbp - 0x29]
movdqa xmmword [rbp + 0x17], xmm0
lea rcx, [rbp + 0x17]
call fcn.140086a68
test eax, eax
jne 0x14003eadf
call fcn.1400410c0
mov ecx, 8
call fcn.140087c10
test rax, rax
je 0x14003e9cb
mov qword [rax], rdi
jmp 0x14003e9ce
mov rax, r14
mov qword [rbp + 0x17], rax
lea rcx, [rbp - 1]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
mov r9, rax
lea r8, [0x140039b30]
xor edx, edx
xor ecx, ecx
call fcn.14009791c
mov qword [rbp - 9], rax
test rax, rax
je 0x14003eb00
cmp dword [rbp - 1], 0
je 0x14003eae7
movaps xmm0, xmmword [rbp - 9]
movdqa xmmword [rbp + 0x17], xmm0
lea rcx, [rbp + 0x17]
call fcn.140086a68
test eax, eax
jne 0x14003eaf2
xorps xmm0, xmm0
movdqa xmmword [rbp - 9], xmm0
cmp byte [0x1400f4fd9], al
jne 0x14003ea51
mov ecx, dword [0x1400f23e4]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, rdi
call fcn.14003dfb0
cmp byte [0x1400f4fd9], 0
je 0x14003ea34
cmp dword [rbp - 1], 0
jne 0x14003eafa
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.140088250
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov dword [rbp - 0x21], r14d
mov ecx, 6
call fcn.14008594c
nop
call fcn.14008e46c
int3
mov ecx, eax
call fcn.140085910
int3
mov ecx, eax
call fcn.140085910
int3
mov ecx, eax
call fcn.140085910
int3
mov ecx, eax
call fcn.140085910
int3
mov ecx, eax
call fcn.140085910
nop
mov ecx, 1
call fcn.14008594c
int3
mov ecx, eax
call fcn.140085910
nop
mov ecx, 1
call fcn.14008594c
int3
mov ecx, eax
call fcn.140085910
nop
mov ecx, 1
call fcn.14008594c
int3
mov ecx, eax
call fcn.140085910
nop
call fcn.1400977d0
nop
mov dword [rbp - 1], r14d
mov ecx, 6
call fcn.14008594c
nop
mov dword [rbp - 0x21], r14d
mov ecx, 6
call fcn.14008594c
int3