joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400d8780
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 0x1400d8877
cmp dword [rbx + 0x68], esi
je 0x1400d880e
mov rdx, qword [rbx + 0x50]
mov rcx, rbx
mov dword [rbx + 0x68], esi
call fcn.1400d7af0
test eax, eax
je 0x1400d87cb
mov rcx, qword [rbx + 0x50]
call fcn.1400be6d0
mov qword [rbx + 0x50], rsi
mov qword [rbx + 0x58], rsi
jmp 0x1400d8877
lea rcx, [rbx + 0xa8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp qword [rbx + 0x48], rsi
jne 0x1400d88e1
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 0x1400d8877
cmp qword [rbx + 0x58], rsi
je 0x1400d8868
mov eax, dword [rbx + 0x64]
cmp eax, 8
jb 0x1400d8932
cmp eax, 0x800000
ja 0x1400d8932
mov rcx, qword [rbx + 0x50]
test rcx, rcx
je 0x1400d8839
call fcn.1400be6d0
mov ecx, dword [rbx + 0x64]
call fcn.1400be650
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 0x1400d8877
lea rax, [rbx + 0x64]
mov dword [rbx + 0x6c], 4
mov qword [rbx + 0x58], rax
cmp dword [rbx + 0x60], esi
je 0x1400d88a8
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 0x1400d8901
mov ecx, dword [rsp + 0x40]
add qword [rbx + 0x58], rcx
sub dword [rbx + 0x6c], ecx
jmp 0x1400d8794
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 0x1400d8925
mov ecx, dword [rsp + 0x40]
add qword [rbx + 0x58], rcx
sub dword [rbx + 0x6c], ecx
jmp 0x1400d8794
mov rcx, qword [rbx + 0x50]
call fcn.1400be6d0
lea rcx, [rbx + 0xa8]
mov qword [rbx + 0x50], rsi
mov qword [rbx + 0x58], rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400d8932
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e4
jne 0x1400d8932
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 0x1400d890e
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 0x1400da390
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r13
push r14
sub rsp, 0x390
mov rax, qword [0x1401f22c8]
xor rax, rsp
mov qword [rsp + 0x380], rax
xor r14d, r14d
mov esi, r8d
mov r12, rdx
mov rdi, r14
mov r13, rcx
call fcn.1400ca260
test eax, eax
jne 0x1400da5f6
lea rcx, [rsp + 0x160]
mov qword [rsp + 0x3b0], rbx
mov qword [rsp + 0x3b8], rbp
call fcn.1401617b0
mov rdx, qword [0x1401f35f8]
cmp byte [rdx], dil
je 0x1400da40d
lea rcx, [rsp + 0x160]
call fcn.140167a80
jmp 0x1400da467
lea rcx, [rsp + 0x40]
call fcn.1401617b0
lea rdx, str..PIPEEverything_Service
lea rcx, [rsp + 0x40]
call fcn.1401624e0
call fcn.1400bd380
test rax, rax
je 0x1400da44b
call fcn.1400bd380
lea rdx, str.___s_
lea rcx, [rsp + 0x40]
mov r8, rax
call fcn.140163070
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x160]
call fcn.140167a80
lea rcx, [rsp + 0x40]
call fcn.140001150
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x30], r14
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
mov dword [rsp + 0x28], 0x40000000
mov ebp, eax
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
mov rbx, rax
jne 0x1400da524
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Open_pipe_failed__d_n
mov edx, eax
call fcn.1400b1c70
call fcn.1400d7c20
test eax, eax
je 0x1400da5d9
test esi, esi
je 0x1400da5d9
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, ebp
cmp eax, 0xea60
ja 0x1400da5d9
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x30], r14
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 rbx, rax
je 0x1400da4a6
mov ecx, 0x138
call fcn.1400be650
xor edx, edx
mov r8d, 0x138
mov rcx, rax
mov rdi, rax
call fcn.140193570
lea rcx, [rdi + 0xa8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rdi + 0xd0]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rdi + 0xf8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov qword [rdi], rbx
call fcn.1400c7a00
mov qword [rdi + 0x20], rax
call fcn.1400c7a00
mov qword [rdi + 0x98], r13
mov qword [rdi + 0x40], rax
mov qword [rdi + 0xa0], r12
call fcn.1400c7a00
mov qword [rdi + 0x80], rax
call fcn.1400c7a00
mov qword [rdi + 0x88], rax
call fcn.1400c7a00
lea rcx, [0x1400d97f0]
mov rdx, rdi
mov qword [rdi + 0x90], rax
call fcn.1400ceb20
mov rcx, rdi
mov qword [rdi + 0x78], rax
call fcn.1400da240
test eax, eax
jne 0x1400da5d9
mov rcx, rdi
call fcn.1400d7f50
mov rdi, r14
lea rcx, [rsp + 0x160]
call fcn.140001150
mov rbp, qword [rsp + 0x3b8]
mov rbx, qword [rsp + 0x3b0]
mov rax, rdi
mov rcx, qword [rsp + 0x380]
xor rcx, rsp
call fcn.1401931f0
lea r11, [rsp + 0x390]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop r12
ret
Function at 0x1400dae40
Capabilities:
Stop service
Terminate process

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
sub rsp, 0x3c0
mov rax, qword [0x1401f22c8]
xor rax, rsp
mov qword [rsp + 0x3b0], rax
mov ebx, ecx
xor edx, edx
mov r8d, 0xf003f
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test rax, rax
mov rsi, rax
je 0x1400db03c
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x3d0], rdi
call fcn.1401617b0
lea rdx, [0x14019e570]
lea rcx, [rsp + 0x80]
call fcn.1401624e0
call fcn.1400bd380
test rax, rax
je 0x1400daecc
call fcn.1400bd380
lea rdx, str.___s_
lea rcx, [rsp + 0x80]
mov r8, rax
call fcn.140163070
mov r8, qword [rsp + 0x88]
cmp byte [r8], 0
je 0x1400daf02
nop
nop
movzx eax, byte [r8]
cmp al, 0x5c
je 0x1400daeec
cmp al, 0x2f
jne 0x1400daef0
mov byte [r8], 0x20
add r8, 1
cmp byte [r8], 0
jne 0x1400daee0
mov r8, qword [rsp + 0x88]
lea rcx, [rsp + 0x1a0]
mov edx, 0x101
call fcn.140166980
lea rcx, [rsp + 0x80]
call fcn.140001150
lea rdx, [rsp + 0x1a0]
mov r8d, 0x24
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
test rax, rax
mov rdi, rax
jne 0x1400daf8f
lea r8d, [rax + 4]
lea rdx, [rsp + 0x1a0]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
test rax, rax
mov rdi, rax
jne 0x1400daf8f
test ebx, ebx
je 0x1400db029
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8, qword [0x1401e5d78]
lea edx, [rdi + 0x10]
mov r9, qword [r8 + 0x2078]
mov r8, qword [r8]
xor ecx, ecx
mov dword [rsp + 0x20], eax
call fcn.1400c4aa0
jmp 0x1400db029
lea rax, [rsp + 0x30]
xor ebx, ebx
lea r8, [rsp + 0x38]
lea r9d, [rbx + 0x24]
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rax
call qword [0x1401e91c0]
test eax, eax
je 0x1400dafe2
mov r8d, dword [rsp + 0x54]
xor edx, edx
mov ecx, 0x100001
call qword [sym.imp.KERNEL32.dll_OpenProcess]
test rax, rax
mov rbx, rax
jne 0x1400dafe2
mov r8d, dword [rsp + 0x54]
xor edx, edx
mov ecx, 0x100000
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
lea r8, [rsp + 0x60]
mov edx, 1
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_ControlService]
test rbx, rbx
je 0x1400db020
mov edx, 0xea60
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x1400db017
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rdi, qword [rsp + 0x3d0]
jmp 0x1400db067
test ebx, ebx
je 0x1400db067
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8, qword [0x1401e5d78]
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.1400c4aa0
mov rcx, qword [rsp + 0x3b0]
xor rcx, rsp
call fcn.1401931f0
mov rbx, qword [rsp + 0x3d8]
add rsp, 0x3c0
pop rsi
ret
Function at 0x1400dbfc0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x50
mov rbx, qword [rcx + 0x80]
mov rdi, rcx
test rbx, rbx
je 0x1400dc124
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x70], rsi
xor ebp, ebp
nop
nop
cmp dword [rbx + 0x18], ebp
mov rsi, qword [rbx]
je 0x1400dc06f
cmp dword [rdi + 0x90], ebp
je 0x1400dc031
mov rcx, qword [rdi + 0x50]
lea rdx, [rdi + 0x30]
lea r8, [rsp + 0x60]
xor r9d, r9d
mov dword [rdi + 0x90], ebp
call qword [sym.imp.KERNEL32.dll_GetOverlappedResult]
test eax, eax
je 0x1400dc106
mov ecx, dword [rsp + 0x60]
add qword [rbx + 0x10], rcx
sub dword [rbx + 0x18], ecx
jmp 0x1400dc06a
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 + 0x60]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x1400dc12f
mov ecx, dword [rsp + 0x60]
add qword [rbx + 0x10], rcx
sub dword [rbx + 0x18], ecx
cmp dword [rbx + 0x18], ebp
jne 0x1400dbff8
cmp dword [rdi + 0x108], ebp
je 0x1400dc0d4
mov rcx, qword [0x1401f39e8]
test rcx, rcx
je 0x1400dc0ba
lea rdx, [rsp + 0x30]
mov dword [rsp + gethostbyname], 0x30
mov dword [rsp + 0x34], 3
mov dword [rsp + 0x3c], ebp
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x44], ebp
mov dword [rsp + 0x48], 0xbb8
mov dword [rsp + 0x38], 1
call qword [sym.imp.ADVAPI32.dll_SetServiceStatus]
mov rcx, qword [0x1401f39e0]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [0x1401f39d8]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [rbx + 8]
call fcn.1400be6d0
mov rcx, rbx
call fcn.1400be6d0
test rsi, rsi
mov qword [rdi + 0x80], rsi
jne 0x1400dc0f8
mov qword [rdi + 0x88], rbp
test rsi, rsi
mov rbx, rsi
jne 0x1400dbff0
jmp 0x1400dc11a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e4
je 0x1400dc148
mov dword [rdi + 0x5c], 1
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x1400dc113
lea rcx, str.write_pending..._n
call fcn.1400b1c70
mov dword [rdi + 0x90], 1
jmp 0x1400dc11a
Function at 0x1400dc160
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.1400b1c70
mov ecx, 0x20
call fcn.1400be650
lea r10d, [rdi + 8]
mov ecx, r10d
mov rbp, rax
mov dword [rax + 0x18], r10d
call fcn.1400be650
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.140193220
cmp qword [r12 + 0x80], 0
je 0x1400dc1e8
mov rax, qword [r12 + 0x88]
mov qword [rax], rbp
jmp 0x1400dc1f0
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.1400dbfc0

Function at 0x1400dc230
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.1400b1c70
mov edx, 5
lea rcx, str.write_reply__d__u_n
lea r8d, [rdx - 1]
call fcn.1400b1c70
mov ecx, 0x20
call fcn.1400be650
mov ecx, recv
mov dword [rax + 0x18], recv
mov rdi, rax
call fcn.1400be650
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 0x1400dc2b8
mov rax, qword [rsi + 0x88]
mov qword [rax], rdi
jmp 0x1400dc2bf
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.1400dbfc0

Function at 0x1400dc470
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rdx
mov edx, dword [rdx + 0x84]
mov rsi, rcx
lea rcx, str.data_available_on_ntfs_monitor__d_n
call fcn.1400b1c70
mov dword [rbx + 0x80], 3
mov dword [rbx + 0x50], 0x3e8
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, 1
lea rcx, str.write_reply__d__u_n
lea r8d, [rdx + 3]
mov dword [rbx + 0x54], eax
call fcn.1400b1c70
mov ecx, 0x20
call fcn.1400be650
mov ecx, recv
mov dword [rax + 0x18], recv
mov rdi, rax
call fcn.1400be650
mov ecx, dword [rdi + 0x18]
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov dword [rax], ecx
mov dword [rax + 4], 1
mov ecx, dword [rbx + 0x84]
mov dword [rax + 8], ecx
cmp qword [rsi + 0x80], 0
je 0x1400dc517
mov rax, qword [rsi + 0x88]
mov qword [rax], rdi
jmp 0x1400dc51e
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.1400dbfc0
Function at 0x1400dde60
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 0x1400ddf10
nop
nop
cmp dword [rbx + 0x7c], edi
mov rcx, qword [rbx + 0x50]
je 0x1400ddeb3
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 0x1400ddf52
mov ecx, dword [rsp + 0x40]
add qword [rbx + 0x68], rcx
sub dword [rbx + 0x60], ecx
jmp 0x1400ddf07
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 0x1400ddf71
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.1400b1c70
mov r11d, dword [rsp + 0x40]
add qword [rbx + 0x68], r11
sub dword [rbx + 0x60], r11d
cmp dword [rbx + 0x60], edi
jne 0x1400dde80
cmp dword [rbx + 0x78], edi
je 0x1400ddf90
mov rcx, rbx
call fcn.1400dcdb0
mov rcx, qword [rbx + 0x70]
test rcx, rcx
je 0x1400ddf2b
call fcn.1400be6d0
mov ecx, 4
call fcn.1400be650
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 0x1400ddfd7
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 0x1400ddfd7
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 0x1400ddfd7
call fcn.1400be6d0
mov rcx, rdi
call fcn.1400be650
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 0x1400e3380
Capabilities:
Log keystrokes

Disassembly:
push rbx
sub rsp, 0x20
cmp ecx, 0x9c47
jg 0x1400e3401
je 0x1400e3437
sub ecx, 0x9c41
je 0x1400e3441
sub ecx, 3
je 0x1400e33f5
sub ecx, 1
je 0x1400e33e2
cmp ecx, 1
jne 0x1400e3470
call fcn.140115930
test eax, eax
je 0x1400e3470
call fcn.1400e2200
test eax, eax
je 0x1400e3470
xor ecx, ecx
mov byte [0x1401f35be], 1
add rsp, 0x20
pop rbx
jmp qword [sym.imp.USER32.dll_PostQuitMessage]
movsx edx, byte [0x1401f3452]
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp fcn.140147e70
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp fcn.14010e540
sub ecx, 0x9c48
je 0x1400e342e
sub ecx, 0x69c
je 0x1400e3422
cmp ecx, 1
jne 0x1400e3470
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp fcn.1400f6a40
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp fcn.140119f40
call fcn.1400f21c0
test eax, eax
jne 0x1400e3470
call fcn.1400f2150
test rax, rax
jne 0x1400e3470
mov rcx, qword [0x1401f34a0]
mov r8d, 1
xor edx, edx
call fcn.140006630
mov r8d, 1
xor ecx, ecx
mov rdx, rax
mov rbx, rax
call fcn.1400f4b60
mov rcx, rbx
call fcn.140005c80
add rsp, 0x20
pop rbx
ret
Function at 0x1400e5dc0
Capabilities:
Open clipboard

Disassembly:
push rbx
sub rsp, 0x40
mov rbx, rcx
call fcn.14011f790
test eax, eax
jne 0x1400e5de4
cmp qword [rbx + 0x440], 0
je 0x1400e5def
mov rcx, rbx
call fcn.14011ef10
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.1400c8040
test eax, eax
je 0x1400e5e16
call qword [sym.imp.USER32.dll_ReleaseCapture]
mov eax, 1
add rsp, 0x40
pop rbx
ret
cmp dword [rbx + 0x3bc], 0
je 0x1400e5e4e
mov rcx, qword [rbx + 0x78]
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1400e5e39
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.14014aa00
test eax, eax
jne 0x1400e5de4
cmp dword [rbx + 0x3b4], eax
je 0x1400e5f6e
mov rcx, qword [rbx + 0x78]
mov qword [rsp + 0x50], rbp
mov ebp, dword [rbx + 0x3b0]
mov qword [rsp + 0x58], rsi
call fcn.1400c8ad0
mov rcx, qword [rbx + 0x78]
mov edx, 1
call qword [sym.imp.USER32.dll_ShowWindow]
xor eax, eax
cmp dword [rbx + 0x3b4], eax
je 0x1400e5f0e
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.1400c77d0
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 0x1400e5f0e
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 0x1400e5f37
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 0x1400e5f54
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 0x1400e6580
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x28
test ecx, ecx
js 0x1400e65ac
cmp ecx, 1
jle 0x1400e65a5
cmp ecx, 3
jne 0x1400e65ac
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 0x1400ef9c0
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 [0x1401f22c8]
xor rax, rsp
mov qword [rsp + 0x240], rax
cmp byte [0x1401f37d0], 0
mov esi, edx
mov rbx, rcx
jne 0x1400efad2
cmp dword [0x1401f37d4], 5
jae 0x1400efad2
lea rcx, [rsp + 0x20]
call fcn.1401617b0
mov r8d, esi
xor edx, edx
mov rcx, rbx
call fcn.1400e6ff0
lea rcx, [rsp + 0x20]
lea edx, [rax + 1]
mov dword [rsp + 0x20], eax
call fcn.1401677d0
mov rdx, qword [rsp + 0x28]
mov r8d, esi
mov rcx, rbx
call fcn.1400e6ff0
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 0x1400efac6
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.1400010c0
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 0x1400efabd
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.140001150
jmp 0x1400efb4b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
lea rcx, [rsp + 0x20]
call fcn.140001150
jmp 0x1400efb4b
mov r8d, edx
xor edx, edx
call fcn.1400e6ff0
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 0x1400efb4b
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r8d, esi
mov rcx, rbx
mov rdx, rax
call fcn.1400e6ff0
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 0x1400efb42
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rdx, rdi
mov ecx, recv
call qword [sym.imp.USER32.dll_SetClipboardData]
call qword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x1400efb4b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, qword [rbx + 0x228]
call fcn.1400d71e0
mov rcx, rbx
call fcn.1400ef4b0
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.1401931f0
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret