joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400e9920
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
sub rsp, 0x30
mov rbx, rcx
xor esi, esi
mov qword [rsp + 0x48], rdi
cmp dword [rbx + 0x6c], esi
jne 0x1400e9a17
cmp dword [rbx + 0x68], esi
je 0x1400e99ae
mov rdx, qword [rbx + 0x50]
mov rcx, rbx
mov dword [rbx + 0x68], esi
call fcn.1400e8c90
test eax, eax
je 0x1400e996b
mov rcx, qword [rbx + 0x50]
call fcn.1400cf470
mov qword [rbx + 0x50], rsi
mov qword [rbx + 0x58], rsi
jmp 0x1400e9a17
lea rcx, [rbx + 0xa8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp qword [rbx + 0x48], rsi
jne 0x1400e9a81
mov rax, qword [rbx + 0x50]
lea rcx, [rbx + 0xa8]
mov qword [rbx + 0x58], rsi
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x50], rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rbx + 0x90]
call qword [sym.imp.KERNEL32.dll_SetEvent]
jmp 0x1400e9a17
cmp qword [rbx + 0x58], rsi
je 0x1400e9a08
mov eax, dword [rbx + 0x64]
cmp eax, 8
jb 0x1400e9ad2
cmp eax, 0x800000
ja 0x1400e9ad2
mov rcx, qword [rbx + 0x50]
test rcx, rcx
je 0x1400e99d9
call fcn.1400cf470
mov ecx, dword [rbx + 0x64]
call fcn.1400cf3f0
mov ecx, dword [rbx + 0x64]
mov qword [rbx + 0x50], rax
mov dword [rax], ecx
mov rax, qword [rbx + 0x50]
add rax, 4
mov dword [rbx + 0x68], 1
mov qword [rbx + 0x58], rax
mov eax, dword [rbx + 0x64]
sub eax, 4
mov dword [rbx + 0x6c], eax
jmp 0x1400e9a17
lea rax, [rbx + 0x64]
mov dword [rbx + 0x6c], 4
mov qword [rbx + 0x58], rax
cmp dword [rbx + 0x60], esi
je 0x1400e9a48
mov rcx, qword [rbx]
lea rdx, [rbx + 0x28]
lea r8, [rsp + 0x40]
xor r9d, r9d
mov dword [rbx + 0x60], esi
call qword [sym.imp.KERNEL32.dll_GetOverlappedResult]
test eax, eax
je 0x1400e9aa1
mov ecx, dword [rsp + 0x40]
add qword [rbx + 0x58], rcx
sub dword [rbx + 0x6c], ecx
jmp 0x1400e9934
mov r8d, dword [rbx + 0x6c]
mov rdx, qword [rbx + 0x58]
mov rcx, qword [rbx]
lea rax, [rbx + 0x28]
lea r9, [rsp + 0x40]
mov dword [rbx + 0x38], esi
mov qword [rsp + 0x20], rax
mov dword [rbx + 0x3c], esi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400e9ac5
mov ecx, dword [rsp + 0x40]
add qword [rbx + 0x58], rcx
sub dword [rbx + 0x6c], ecx
jmp 0x1400e9934
mov rcx, qword [rbx + 0x50]
call fcn.1400cf470
lea rcx, [rbx + 0xa8]
mov qword [rbx + 0x50], rsi
mov qword [rbx + 0x58], rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400e9ad2
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e4
jne 0x1400e9ad2
mov dword [rbx + 0x60], 1
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rsi
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x1400e9aae
mov rcx, qword [rbx + 0xa0]
xor r8d, r8d
lea edx, [r8 + 3]
call qword [rbx + 0x98]
mov rcx, qword [rbx + 0x80]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rsi
ret
Function at 0x1400eb500
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push r12
push r13
sub rsp, 0x390
mov rax, qword [0x14020cc08]
xor rax, rsp
mov qword [rsp + 0x380], rax
xor r13d, r13d
mov rbp, rdx
mov r12, rcx
mov rbx, r13
call fcn.1400db600
test eax, eax
jne 0x1400eb739
lea rcx, [rsp + 0x160]
mov qword [rsp + 0x3b0], rsi
call fcn.1400012c0
mov rdx, qword [0x14020dfa8]
cmp byte [rdx], bl
je 0x1400eb56b
lea rcx, [rsp + 0x160]
call fcn.14017d970
jmp 0x1400eb5c5
lea rcx, [rsp + 0x40]
call fcn.1400012c0
lea rdx, str..PIPEEverything_Service
lea rcx, [rsp + 0x40]
call fcn.140178250
call fcn.1400ce2b0
test rax, rax
je 0x1400eb5a9
call fcn.1400ce2b0
lea rdx, str.___s_
lea rcx, [rsp + 0x40]
mov r8, rax
call fcn.140178e90
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x160]
call fcn.14017d970
lea rcx, [rsp + 0x40]
call fcn.140177510
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, esi
cmp eax, 0xea60
ja 0x1400eb724
mov qword [rsp + 0x3b8], rdi
nop
nop
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x30], r13
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
mov dword [rsp + 0x28], 0x40000000
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
mov rdi, rax
jne 0x1400eb667
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Open_pipe_failed__d_n
mov edx, eax
call fcn.1400b3e90
call fcn.1400e8dc0
test eax, eax
je 0x1400eb71c
mov ecx, reloc.sewatcher64.dll_Ordinal_1000
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, esi
cmp eax, 0xea60
jbe 0x1400eb5f0
jmp 0x1400eb71c
mov ecx, 0x138
call fcn.1400cf3f0
xor edx, edx
mov r8d, 0x138
mov rcx, rax
mov rbx, rax
call fcn.1401a9350
lea rcx, [rbx + 0xa8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rbx + 0xd0]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rbx + 0xf8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov qword [rbx], rdi
call fcn.1400d8d50
mov qword [rbx + 0x20], rax
call fcn.1400d8d50
mov qword [rbx + 0x98], r12
mov qword [rbx + 0x40], rax
mov qword [rbx + 0xa0], rbp
call fcn.1400d8d50
mov qword [rbx + 0x80], rax
call fcn.1400d8d50
mov qword [rbx + 0x88], rax
call fcn.1400d8d50
lea rcx, [0x1400ea990]
mov rdx, rbx
mov qword [rbx + 0x90], rax
call fcn.1400dfe40
mov rcx, rbx
mov qword [rbx + 0x78], rax
call fcn.1400eb3e0
test eax, eax
jne 0x1400eb71c
mov rcx, rbx
call fcn.1400e90f0
mov rbx, r13
mov rdi, qword [rsp + 0x3b8]
lea rcx, [rsp + 0x160]
call fcn.140177510
mov rsi, qword [rsp + 0x3b0]
mov rax, rbx
mov rcx, qword [rsp + 0x380]
xor rcx, rsp
call fcn.1401a8fd0
mov rbx, qword [rsp + 0x3c0]
add rsp, 0x390
pop r13
pop r12
pop rbp
ret
Function at 0x1400eba00
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x60
mov rdi, rcx
lea rcx, str.terminate_service..._n
mov rbx, rdx
xor esi, esi
call fcn.1400b3e90
lea r8d, [rsi + 4]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
test rax, rax
mov rdi, rax
je 0x1400ebaaa
lea rax, [rsp + 0x80]
lea r9d, [rsi + 0x24]
lea r8, [rsp + 0x30]
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rax
call qword [0x140203b00]
test eax, eax
je 0x1400ebaa1
mov r8d, dword [rsp + 0x4c]
lea ecx, [rsi + 1]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_OpenProcess]
test rax, rax
mov rbx, rax
je 0x1400ebaa1
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
test eax, eax
je 0x1400eba98
lea rcx, str.Service_terminated_n
call fcn.1400b3e90
mov esi, 1
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rbx, qword [rsp + 0x70]
mov eax, esi
mov rsi, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret

Function at 0x1400ebac0
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
sub rsp, 0x60
mov rdi, rcx
mov rbx, rdx
lea rcx, str.wait_for_service_state__u..._n
mov edx, r9d
mov esi, r9d
mov r12d, r8d
xor ebp, ebp
call fcn.1400b3e90
lea r8d, [rbp + 4]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
test rax, rax
mov rdi, rax
je 0x1400ebb89
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, ebx
cmp eax, r12d
jae 0x1400ebb72
nop
nop
nop
lea rax, [rsp + 0x30]
lea r8, [rsp + 0x38]
mov r9d, 0x24
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rax
call qword [0x140203b00]
test eax, eax
je 0x1400ebb80
cmp dword [rsp + 0x3c], esi
je 0x1400ebba6
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, ebx
cmp eax, r12d
jb 0x1400ebb30
lea rcx, str.wait_for_service_state__u_timeout_n
mov edx, esi
call fcn.1400b3e90
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
lea r11, [rsp + 0x60]
mov eax, ebp
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r12
ret
mov ebp, 1
jmp 0x1400ebb80
Function at 0x1400ebe50
Capabilities:
Stop service

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x390
mov rax, qword [0x14020cc08]
xor rax, rsp
mov qword [rsp + 0x380], rax
mov ebx, ecx
xor edx, edx
mov r8d, 0xf003f
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test rax, rax
mov rdi, rax
je 0x1400ec033
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x3a0], rsi
call fcn.1400012c0
lea rdx, [0x1401b4900]
lea rcx, [rsp + 0x50]
call fcn.140178250
call fcn.1400ce2b0
test rax, rax
je 0x1400ebed3
call fcn.1400ce2b0
lea rdx, str.___s_
lea rcx, [rsp + 0x50]
mov r8, rax
call fcn.140178e90
mov r8, qword [rsp + 0x58]
cmp byte [r8], 0
je 0x1400ebeff
nop
movzx eax, byte [r8]
cmp al, 0x5c
je 0x1400ebeec
cmp al, 0x2f
jne 0x1400ebef0
mov byte [r8], 0x20
add r8, 1
cmp byte [r8], 0
jne 0x1400ebee0
mov r8, qword [rsp + 0x58]
lea rcx, [rsp + 0x170]
mov edx, 0x101
call fcn.14017c8b0
lea rcx, [rsp + 0x50]
call fcn.140177510
lea rdx, [rsp + 0x170]
mov r8d, 0x20
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
test rax, rax
mov rsi, rax
je 0x1400ebff5
lea r8, [rsp + 0x30]
mov edx, 1
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
je 0x1400ebfbf
lea rdx, [rsp + 0x170]
mov r9d, 1
mov r8d, 0xea60
mov rcx, rdi
call fcn.1400ebac0
test eax, eax
jne 0x1400ebfea
lea rdx, [rsp + 0x170]
mov rcx, rdi
call fcn.1400eba00
test eax, eax
jne 0x1400ebfea
test ebx, ebx
je 0x1400ebfea
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8, qword [0x1402006b8]
mov edx, reloc.WS2_32.dll_recv
mov r9, qword [r8 + 0x2098]
mov r8, qword [r8]
xor ecx, ecx
mov dword [rsp + 0x20], eax
call fcn.1400d5ce0
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x1400ec020
test ebx, ebx
je 0x1400ebfea
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8, qword [0x1402006b8]
mov edx, reloc.WS2_32.dll_recv
mov r9, qword [r8 + 0x2098]
mov r8, qword [r8]
xor ecx, ecx
mov dword [rsp + 0x20], eax
call fcn.1400d5ce0
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x1400ec020
test ebx, ebx
je 0x1400ec020
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8, qword [0x1402006b8]
mov edx, reloc.WS2_32.dll_recv
mov r9, qword [r8 + 0x2078]
mov r8, qword [r8]
xor ecx, ecx
mov dword [rsp + 0x20], eax
call fcn.1400d5ce0
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rsi, qword [rsp + 0x3a0]
jmp 0x1400ec05e
test ebx, ebx
je 0x1400ec05e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8, qword [0x1402006b8]
mov edx, reloc.WS2_32.dll_recv
mov r9, qword [r8 + 0x2088]
mov r8, qword [r8]
xor ecx, ecx
mov dword [rsp + 0x20], eax
call fcn.1400d5ce0
mov rcx, qword [rsp + 0x380]
xor rcx, rsp
call fcn.1401a8fd0
mov rbx, qword [rsp + 0x3a8]
add rsp, 0x390
pop rdi
ret
Function at 0x1400ed2c0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x30
mov rbx, qword [rcx + 0x80]
mov rdi, rcx
test rbx, rbx
je 0x1400ed3b7
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], rsi
xor ebp, ebp
nop
nop
cmp dword [rbx + 0x18], ebp
mov rsi, qword [rbx]
je 0x1400ed367
cmp dword [rdi + 0x90], ebp
je 0x1400ed32d
mov rcx, qword [rdi + 0x50]
lea rdx, [rdi + 0x30]
lea r8, [rsp + 0x40]
xor r9d, r9d
mov dword [rdi + 0x90], ebp
call qword [sym.imp.KERNEL32.dll_GetOverlappedResult]
test eax, eax
je 0x1400ed399
mov ecx, dword [rsp + 0x40]
add qword [rbx + 0x10], rcx
sub dword [rbx + 0x18], ecx
jmp 0x1400ed362
mov rcx, qword [rdi + 0x50]
mov dword [rdi + 0x40], ebp
mov dword [rdi + 0x44], ebp
mov r8d, dword [rbx + 0x18]
mov rdx, qword [rbx + 0x10]
lea rax, [rdi + 0x30]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x1400ed3c2
mov edx, dword [rsp + 0x40]
add qword [rbx + 0x10], rdx
sub dword [rbx + 0x18], edx
cmp dword [rbx + 0x18], ebp
jne 0x1400ed2f8
mov rcx, qword [rbx + 8]
call fcn.1400cf470
mov rcx, rbx
call fcn.1400cf470
test rsi, rsi
mov qword [rdi + 0x80], rsi
jne 0x1400ed38b
mov qword [rdi + 0x88], rbp
test rsi, rsi
mov rbx, rsi
jne 0x1400ed2f0
jmp 0x1400ed3ad
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e4
je 0x1400ed3db
mov dword [rdi + 0x5c], 1
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x1400ed3a6
lea rcx, str.write_pending..._n
call fcn.1400b3e90
mov dword [rdi + 0x90], 1
jmp 0x1400ed3ad

Function at 0x1400ed3f0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
sub rsp, 0x20
movsxd rdi, r9d
mov r12, rcx
mov rsi, r8
lea rcx, str.write_reply__d__u_n
mov r8d, edi
mov ebx, edx
call fcn.1400b3e90
mov ecx, 0x20
call fcn.1400cf3f0
lea r10d, [rdi + 8]
mov ecx, r10d
mov rbp, rax
mov dword [rax + 0x18], r10d
call fcn.1400cf3f0
mov ecx, dword [rbp + 0x18]
mov r8, rdi
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rax
mov dword [rax], ecx
lea rcx, [rax + 8]
mov rdx, rsi
mov dword [rax + 4], ebx
call fcn.1401a9000
cmp qword [r12 + 0x80], 0
je 0x1400ed478
mov rax, qword [r12 + 0x88]
mov qword [rax], rbp
jmp 0x1400ed480
mov qword [r12 + 0x80], rbp
mov qword [rbp], 0
mov rcx, r12
mov qword [r12 + 0x88], rbp
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r12
jmp fcn.1400ed2c0
Function at 0x1400ed4c0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.last_error__u_n
mov edx, eax
mov ebx, eax
call fcn.1400b3e90
mov edx, 5
lea rcx, str.write_reply__d__u_n
lea r8d, [rdx - 1]
call fcn.1400b3e90
mov ecx, 0x20
call fcn.1400cf3f0
mov ecx, ntohs
mov dword [rax + 0x18], ntohs
mov rdi, rax
call fcn.1400cf3f0
mov ecx, dword [rdi + 0x18]
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov dword [rax], ecx
mov dword [rax + 4], 5
mov dword [rax + 8], ebx
cmp qword [rsi + 0x80], 0
je 0x1400ed548
mov rax, qword [rsi + 0x88]
mov qword [rax], rdi
jmp 0x1400ed54f
mov qword [rsi + 0x80], rdi
mov qword [rdi], 0
mov rcx, rsi
mov qword [rsi + 0x88], rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.1400ed2c0
Function at 0x1400ef100
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x30
xor edi, edi
mov rbx, rcx
cmp dword [rcx + 0x60], edi
je 0x1400ef1b0
nop
nop
cmp dword [rbx + 0x7c], edi
mov rcx, qword [rbx + 0x50]
je 0x1400ef153
lea rdx, [rbx + 0x10]
lea r8, [rsp + 0x40]
xor r9d, r9d
mov dword [rbx + 0x7c], edi
call qword [sym.imp.KERNEL32.dll_GetOverlappedResult]
test eax, eax
je 0x1400ef1f2
mov ecx, dword [rsp + 0x40]
add qword [rbx + 0x68], rcx
sub dword [rbx + 0x60], ecx
jmp 0x1400ef1a7
mov r8d, dword [rbx + 0x60]
mov rdx, qword [rbx + 0x68]
lea rax, [rbx + 0x10]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov dword [rbx + 0x20], edi
mov dword [rbx + 0x24], edi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400ef211
mov rdx, qword [rbx + 0x68]
mov r9d, dword [rsp + 0x40]
mov r8d, dword [rbx + 0x60]
sub rdx, qword [rbx + 0x70]
lea rcx, str.read_total:_p__remaining:__u__numread:__u_n
call fcn.1400b3e90
mov r11d, dword [rsp + 0x40]
add qword [rbx + 0x68], r11
sub dword [rbx + 0x60], r11d
cmp dword [rbx + 0x60], edi
jne 0x1400ef120
cmp dword [rbx + 0x78], edi
je 0x1400ef230
mov rcx, rbx
call fcn.1400ee040
mov rcx, qword [rbx + 0x70]
test rcx, rcx
je 0x1400ef1cb
call fcn.1400cf470
mov ecx, 4
call fcn.1400cf3f0
mov dword [rbx + 0x60], 4
mov dword [rbx + 0x78], edi
mov qword [rbx + 0x70], rax
mov qword [rbx + 0x68], rax
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e4
jne 0x1400ef277
mov dword [rbx + 0x7c], 1
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x1400ef277
mov dword [rbx + 0x7c], 1
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov rcx, qword [rbx + 0x70]
mov edi, dword [rcx]
lea eax, [rdi - 8]
cmp eax, 0x7ffff8
ja 0x1400ef277
call fcn.1400cf470
mov rcx, rdi
call fcn.1400cf3f0
mov qword [rbx + 0x70], rax
mov dword [rax], edi
mov rax, qword [rbx + 0x70]
mov dword [rbx + 0x78], 1
add rax, 4
mov qword [rbx + 0x68], rax
lea eax, [rdi - 4]
mov dword [rbx + 0x60], eax
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov dword [rbx + 0x5c], 1
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
Function at 0x1400f48f0
Capabilities:
Log keystrokes

Disassembly:
push rbx
sub rsp, 0x20
cmp ecx, 0x9c47
jg 0x1400f4971
je 0x1400f49a7
sub ecx, 0x9c41
je 0x1400f49b1
sub ecx, 3
je 0x1400f4965
sub ecx, 1
je 0x1400f4952
cmp ecx, 1
jne 0x1400f49e0
call fcn.1401278d0
test eax, eax
je 0x1400f49e0
call fcn.1400f3770
test eax, eax
je 0x1400f49e0
xor ecx, ecx
mov byte [0x14020dfb0], 1
add rsp, 0x20
pop rbx
jmp qword [sym.imp.USER32.dll_PostQuitMessage]
movsx edx, byte [0x14020dd92]
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp fcn.14015d4f0
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp fcn.1401204e0
sub ecx, 0x9c48
je 0x1400f499e
sub ecx, 0x69c
je 0x1400f4992
cmp ecx, 1
jne 0x1400f49e0
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp fcn.1401089c0
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp fcn.14012bee0
call fcn.140102e00
test eax, eax
jne 0x1400f49e0
call fcn.140104740
test rax, rax
jne 0x1400f49e0
mov rcx, qword [0x14020dde0]
mov r8d, 1
xor edx, edx
call fcn.140006790
mov r8d, 1
xor ecx, ecx
mov rdx, rax
mov rbx, rax
call fcn.140106ae0
mov rcx, rbx
call fcn.140005de0
add rsp, 0x20
pop rbx
ret
Function at 0x1400f7960
Capabilities:
Open clipboard

Disassembly:
push rbx
sub rsp, 0x40
mov rbx, rcx
call fcn.140131990
test eax, eax
jne 0x1400f7984
cmp qword [rbx + 0x440], 0
je 0x1400f798f
mov rcx, rbx
call fcn.140131110
mov eax, 1
add rsp, 0x40
pop rbx
ret
call qword [sym.imp.USER32.dll_GetCapture]
mov rcx, qword [rbx + 0x78]
mov rdx, rax
call fcn.1400d9390
test eax, eax
je 0x1400f79b6
call qword [sym.imp.USER32.dll_ReleaseCapture]
mov eax, 1
add rsp, 0x40
pop rbx
ret
cmp dword [rbx + 0x3bc], 0
je 0x1400f79ee
mov rcx, qword [rbx + 0x78]
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1400f79d9
call qword [sym.imp.USER32.dll_EmptyClipboard]
call qword [sym.imp.USER32.dll_CloseClipboard]
mov dword [rbx + 0x3bc], 0
mov eax, 1
add rsp, 0x40
pop rbx
ret
mov rcx, rbx
call fcn.140160080
test eax, eax
jne 0x1400f7984
cmp dword [rbx + 0x3b4], eax
je 0x1400f7b0e
mov rcx, qword [rbx + 0x78]
mov qword [rsp + 0x50], rbp
mov ebp, dword [rbx + 0x3b0]
mov qword [rsp + 0x58], rsi
call fcn.1400d9e20
mov rcx, qword [rbx + 0x78]
mov edx, 1
call qword [sym.imp.USER32.dll_ShowWindow]
xor eax, eax
cmp dword [rbx + 0x3b4], eax
je 0x1400f7aae
mov rdx, qword [rbx + 0x68]
mov rcx, qword [rbx + 0x78]
lea rsi, [rbx + 0x3a0]
mov dword [rbx + 0x3b4], eax
call qword [sym.imp.USER32.dll_SetMenu]
mov rcx, qword [rbx + 0x78]
call fcn.1400d8b20
mov rcx, qword [rbx + 0x78]
mov edx, 0xfffffff0
or eax, 0xc40000
mov r8d, eax
call qword [sym.imp.USER32.dll_SetWindowLongW]
test rsi, rsi
mov eax, 0x20
je 0x1400f7aae
mov ecx, dword [rsi + 0xc]
mov r9d, dword [rsi + 4]
mov r8d, dword [rsi]
mov eax, dword [rsi + 8]
sub ecx, r9d
mov dword [rsp + 0x30], reloc.WS2_32.dll_gethostbyname
mov dword [rsp + 0x28], ecx
mov rcx, qword [rbx + 0x78]
sub eax, r8d
xor edx, edx
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x1400f7ad7
mov rcx, qword [rbx + 0x78]
or eax, 0x17
xor r9d, r9d
mov dword [rsp + 0x30], eax
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
call qword [sym.imp.USER32.dll_SetWindowPos]
mov rsi, qword [rsp + 0x58]
test ebp, ebp
mov rbp, qword [rsp + 0x50]
je 0x1400f7af4
mov rcx, qword [rbx + 0x78]
mov edx, 3
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [rbx + 0x78]
mov edx, 5
call qword [sym.imp.USER32.dll_ShowWindow]
mov eax, 1
add rsp, 0x40
pop rbx
ret
xor eax, eax
add rsp, 0x40
pop rbx
ret

Function at 0x1400f8120
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x28
test ecx, ecx
js 0x1400f814c
cmp ecx, 1
jle 0x1400f8145
cmp ecx, 3
jne 0x1400f814c
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor ecx, ecx
test ax, ax
sets cl
mov eax, ecx
add rsp, 0x28
ret
mov eax, edx
add rsp, 0x28
ret
Function at 0x1401011d0
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x250
mov rax, qword [0x14020cc08]
xor rax, rsp
mov qword [rsp + 0x240], rax
cmp byte [0x14020e1c8], 0
mov esi, edx
mov rbx, rcx
jne 0x1401012e2
cmp dword [0x14020e1cc], 5
jae 0x1401012e2
lea rcx, [rsp + 0x20]
call fcn.1400012c0
mov r8d, esi
xor edx, edx
mov rcx, rbx
call fcn.1400f8b90
lea rcx, [rsp + 0x20]
lea edx, [rax + 1]
mov dword [rsp + 0x20], eax
call fcn.14017d6c0
mov rdx, qword [rsp + 0x28]
mov r8d, esi
mov rcx, rbx
call fcn.1400f8b90
mov edx, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
call fcn.140001000
mov ecx, 2
add eax, 1
movsxd rdx, eax
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
test rax, rax
mov rdi, rax
je 0x1401012d6
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r8d, dword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov rcx, rax
call fcn.140001150
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, qword [rbx + 0x78]
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1401012cd
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rdx, rdi
mov ecx, 1
call qword [sym.imp.USER32.dll_SetClipboardData]
call qword [sym.imp.USER32.dll_CloseClipboard]
lea rcx, [rsp + 0x20]
call fcn.140177510
jmp 0x14010135b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
lea rcx, [rsp + 0x20]
call fcn.140177510
jmp 0x14010135b
mov r8d, edx
xor edx, edx
call fcn.1400f8b90
mov ecx, 2
add eax, 1
movsxd rdx, eax
add rdx, rdx
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
test rax, rax
mov rdi, rax
je 0x14010135b
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r8d, esi
mov rcx, rbx
mov rdx, rax
call fcn.1400f8b90
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, qword [rbx + 0x78]
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x140101352
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rdx, rdi
mov ecx, reloc.WS2_32.dll_listen
call qword [sym.imp.USER32.dll_SetClipboardData]
call qword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x14010135b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, qword [rbx + 0x228]
call fcn.1400e8380
mov rcx, rbx
call fcn.140100cc0
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.1401a8fd0
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret