Function at 0x14003c630
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 [0x1400f5798]
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.1400279c0
mov r9d, 0x2710
mov r8d, ebx
lea rdx, [rbp - 9]
mov rcx, rdi
call fcn.14003c300
test al, al
je 0x14003cb7b
mov rcx, rdi
call fcn.14005ef50
lea rdx, [0x1400f7f40]
lea rcx, [0x1400f7b60]
call fcn.14003cc90
lea rcx, [rbp + 0x17]
call fcn.14004c640
mov rbx, rax
lea rcx, [0x1400f7e80]
cmp rcx, rax
je 0x14003c710
call fcn.140027110
movups xmm0, xmmword [rbx]
movups xmmword [0x1400f7e80], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [0x1400f7e90], 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 0x14003c750
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x17]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c74b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003cbb3
call fcn.140085850
lea r15, [0x1400f8060]
mov qword [rbp + 0x17], r15
mov rcx, r15
call fcn.1400838ac
test eax, eax
jne 0x14003cbb9
lea edx, [rax + 0xa]
mov rcx, rdi
call fcn.140047ea0
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 [0x1400b8c58]
mov word [rbp - 0x21], ax
mov byte [rbp - 0x1f], 0
lea rdx, [rbp - 0x29]
mov rcx, rdi
call fcn.140043850
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 0x14003c7f6
lea rdx, [0x1400f7f60]
lea rcx, [rbp - 0x29]
call fcn.140007ff0
mov rdx, rax
mov rcx, rdi
call fcn.140043850
nop
mov rcx, r15
call fcn.1400838b4
mov rcx, rdi
call fcn.140041e90
mov esi, dword [0x1400f7fe8]
test esi, esi
je 0x14003c88a
mov ebx, dword [0x1400f7fec]
test ebx, ebx
je 0x14003c88a
mov qword [rbp + 0x17], r15
mov rcx, r15
call fcn.1400838ac
test eax, eax
jne 0x14003cbc1
lea edx, [rax + 9]
mov rcx, rdi
call fcn.140047ea0
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.1400838b4
mov rcx, rdi
call fcn.14003edc0
lea rbx, [rdi + 0x658]
mov r8, rbx
lea rdx, str.Cover
mov ecx, 0x75
call fcn.140047d50
mov rax, qword [rbx + 8]
cmp rax, qword [rbx]
je 0x14003c931
mov qword [rbp + 0x17], r15
mov rcx, r15
call fcn.1400838ac
test eax, eax
jne 0x14003cbc9
lea edx, [rax + 3]
mov rcx, rdi
call fcn.140047ea0
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.1400838b4
mov qword [rbp + 0x17], r15
mov rcx, r15
call fcn.1400838ac
test eax, eax
jne 0x14003cbd1
lea edx, [rax + 5]
mov rcx, rdi
call fcn.140047ea0
lea rax, [0x14003e840]
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.1400838b4
lea rcx, [rdi + 0x10]
lea r8, [rdi + 0x558]
lea rdx, [rdi + 0x538]
call fcn.140055be0
mov qword [rbp + 0x17], r15
mov rcx, r15
call fcn.1400838ac
test eax, eax
jne 0x14003cbd9
lea edx, [rax + 4]
mov rcx, rdi
call fcn.140047ea0
lea rdx, [rdi + 0x538]
lea rcx, [rbp - 0x29]
call fcn.140008230
mov rdx, rax
mov rcx, rdi
call fcn.140043920
lea rdx, [rdi + 0x558]
lea rcx, [rbp - 0x29]
call fcn.140008230
mov rdx, rax
mov rcx, rdi
call fcn.140043920
nop
mov rcx, r15
call fcn.1400838b4
mov ecx, 8
call fcn.140085814
test rax, rax
je 0x14003ca0e
mov qword [rax], rdi
jmp 0x14003ca11
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, [0x140037a60]
xor edx, edx
xor ecx, ecx
call fcn.14009551c
mov qword [rbp - 0x29], rax
test rax, rax
je 0x14003cba4
cmp dword [rbp - 0x21], 0
je 0x14003cbe1
movaps xmm0, xmmword [rbp - 0x29]
movdqa xmmword [rbp + 0x17], xmm0
lea rcx, [rbp + 0x17]
call fcn.14008466c
test eax, eax
jne 0x14003cbec
lea ecx, [rax + 8]
call fcn.140085814
test rax, rax
je 0x14003ca79
mov qword [rax], rdi
jmp 0x14003ca7c
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, [0x140037930]
xor edx, edx
xor ecx, ecx
call fcn.14009551c
mov qword [rbp - 0x29], rax
test rax, rax
je 0x14003cc2f
cmp dword [rbp - 0x21], 0
je 0x14003cbf4
movaps xmm0, xmmword [rbp - 0x29]
movdqa xmmword [rbp + 0x17], xmm0
lea rcx, [rbp + 0x17]
call fcn.14008466c
test eax, eax
jne 0x14003cbff
call fcn.14003f1e0
mov ecx, 8
call fcn.140085814
test rax, rax
je 0x14003caeb
mov qword [rax], rdi
jmp 0x14003caee
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, [0x140037a90]
xor edx, edx
xor ecx, ecx
call fcn.14009551c
mov qword [rbp - 9], rax
test rax, rax
je 0x14003cc20
cmp dword [rbp - 1], 0
je 0x14003cc07
movaps xmm0, xmmword [rbp - 9]
movdqa xmmword [rbp + 0x17], xmm0
lea rcx, [rbp + 0x17]
call fcn.14008466c
test eax, eax
jne 0x14003cc12
xorps xmm0, xmm0
movdqa xmmword [rbp - 9], xmm0
cmp byte [rdi + 0x599], al
jne 0x14003cb71
mov ecx, dword [0x1400f53c4]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, rdi
call fcn.14003c0d0
cmp byte [rdi + 0x599], 0
je 0x14003cb54
cmp dword [rbp - 1], 0
jne 0x14003cc1a
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.140085e50
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.1400839fc
nop
call fcn.14008c06c
int3
mov ecx, eax
call fcn.1400839c0
int3
mov ecx, eax
call fcn.1400839c0
int3
mov ecx, eax
call fcn.1400839c0
int3
mov ecx, eax
call fcn.1400839c0
int3
mov ecx, eax
call fcn.1400839c0
nop
mov ecx, 1
call fcn.1400839fc
int3
mov ecx, eax
call fcn.1400839c0
nop
mov ecx, 1
call fcn.1400839fc
int3
mov ecx, eax
call fcn.1400839c0
nop
mov ecx, 1
call fcn.1400839fc
int3
mov ecx, eax
call fcn.1400839c0
nop
call fcn.1400953d0
nop
mov dword [rbp - 1], r14d
mov ecx, 6
call fcn.1400839fc
nop
mov dword [rbp - 0x21], r14d
mov ecx, 6
call fcn.1400839fc
int3