Function at 0x140002540
Capabilities:
Allocate or change rwx memory
Connect socket
Create thread
Initialize winsock library
Inject thread
Log keystrokes via polling
Spawn thread to rwx shellcode

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x130]
sub rsp, 0x230
mov ecx, 0x202
lea rdx, [rbp - 0x70]
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x14000290d
xor r8d, r8d
lea edx, [rax + 1]
mov r14d, 2
mov ecx, r14d
call qword [sym.imp.WS2_32.dll_socket]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1400025d1
mov word [rsp + 0x40], r14w
mov ecx, 0x1f96
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x42], ax
lea rcx, str.185.195.27.78
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rsp + 0x44], eax
lea r8d, [r14 + 0xe]
lea rdx, [rsp + 0x40]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_connect]
mov rcx, rbx
test eax, eax
je 0x1400025e7
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
xor eax, eax
add rsp, 0x230
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
xor edi, edi
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x140001ab0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x140002190]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x140001980]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x70], rdi
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], dil
lea r8d, [rdi + 0xe]
lea rdx, str.stalcraftw.exe
lea rcx, [rsp + 0x70]
call fcn.140002ae0
nop
nop dword [rax + rax]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], socket
mov r8d, 0xe
lea rdx, str.stalcraftw.exe
lea rcx, [rsp + 0x50]
call fcn.140002ae0
lea rcx, [rsp + 0x50]
call fcn.140001290
test eax, eax
sete bl
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x1400026f6
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400026f1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000289b
call fcn.140002df4
test bl, bl
je 0x140002790
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], socket
mov r8d, 0xd
lea rdx, str.stalcraft.exe
lea rcx, [rsp + 0x50]
call fcn.140002ae0
lea rcx, [rsp + 0x50]
call fcn.140001290
mov ebx, eax
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x140002771
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000276c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000289b
call fcn.140002df4
test ebx, ebx
je 0x140002680
mov r8d, 0xd
lea rdx, str.stalcraft.exe
lea rcx, [rsp + 0x70]
call fcn.140002ae0
lea rcx, [rsp + 0x70]
call fcn.140001290
mov edi, eax
test eax, eax
je 0x1400028ce
mov r8d, edi
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
test rax, rax
je 0x1400028ce
mov word [rbp + 0x160], 0x48eb
mov dword [rsp + 0x30], 0x207b9
mov dword [rsp + 0x34], 0xebd98b00
mov byte [rsp + 0x38], 0xaf
mov dword [rsp + 0x40], 0x201b9
mov dword [rsp + 0x44], 0xebd98b00
mov byte [rsp + 0x48], 0xaf
mov dword [rsp + 0x20], 0x40
xor edx, edx
mov r9d, 0x3000
lea r8d, [rdx + 9]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rsi, rax
test rax, rax
je 0x140002833
lea rcx, str.YES___n
call fcn.140001070
mov rdx, rsi
lea rcx, str.pTargetBase__p
call fcn.140001070
mov rcx, rdi
call fcn.1400024a0
test rax, rax
jne 0x14000284d
mov rcx, rdi
call fcn.1400024a0
test rax, rax
je 0x140002840
lea rdi, [rax + 0x27710]
lea rdx, [rax + 0x276c6]
mov r9, r14
lea r8, [rbp + 0x160]
mov rcx, rbx
lea rax, [rbp + 0x168]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov ecx, 0x58
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400028a2
cmp byte [0x1400071cd], 0
sete al
mov byte [0x1400071cd], al
jmp 0x1400028a9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
movzx eax, byte [0x1400071cd]
mov r9d, 9
mov rdx, rdi
mov rcx, rbx
test al, al
je 0x1400028c0
lea r8, [rsp + 0x30]
jmp 0x140002868
lea rax, [rbp + 0x170]
lea r8, [rsp + 0x40]
jmp 0x14000286f
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x14000290d
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002908
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002908
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140002df4
xor eax, eax
add rsp, 0x230
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret