joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14004b250
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x88
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rax + 0x48]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x14004b2cb
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax + 8]
call fcn.1400392a0
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + 0x20]
call fcn.14004a5d0
mov rcx, qword [rsp + 0xa0]
add rcx, 0x6c
mov rdx, rax
call fcn.14002a9b0
mov rax, qword [rsp + 0xa0]
add rax, 0x60
lea rdx, [0x14022dc98]
mov rcx, rax
call fcn.14002a9b0
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rax + 0x4c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x14004b3de
mov rax, qword [rsp + 0xa0]
movzx eax, byte [rax + 0x36]
test eax, eax
je 0x14004b3ba
mov rax, qword [rsp + 0xa0]
movzx eax, byte [rax + 0x27]
test eax, eax
je 0x14004b3b8
mov rax, qword [rsp + 0xa0]
add rax, 0x60
mov qword [rsp + 0x28], rax
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x6c]
call fcn.140028c40
mov rdx, rax
mov rcx, qword [rsp + 0x28]
call fcn.14003b790
movzx eax, al
test eax, eax
je 0x14004b3b8
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xa0]
movss xmm2, dword [rax + 0x70]
mov rax, qword [rsp + 0xa0]
movss xmm1, dword [rax + 0x6c]
mov rcx, qword [rsp + 0x30]
call fcn.140039470
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x50]
mov rcx, qword [rsp + 0xa0]
mov rdi, rax
lea rsi, [rcx + 0x60]
mov ecx, reloc.WS2_32.dll_inet_ntoa
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
call fcn.1400423f0
jmp 0x14004b3de
mov rax, qword [rsp + 0xa0]
add rax, 0x60
mov qword [rsp + 0x40], rax
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm1, xmm1
mov rcx, qword [rsp + 0x40]
call fcn.14003ff00
add rsp, 0x88
pop rdi
pop rsi
ret

Function at 0x14004b510
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0x50]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x14004b58e
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x34]
test eax, eax
je 0x14004b58e
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x22]
test eax, eax
jne 0x14004b58e
mov rax, qword [rsp + 0x40]
cmp qword [rax + 8], 0
je 0x14004b58e
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x27]
test eax, eax
je 0x14004b58e
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x35]
test eax, eax
jne 0x14004b579
mov dword [rsp + 0x20], 1
jmp 0x14004b581
mov dword [rsp + 0x20], 0
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rsp + 0x20]
mov byte [rax + 0x35], cl
add rsp, 0x38
ret
Function at 0x140082340
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x170
mov rax, qword [0x1401ed028]
xor rax, rsp
mov qword [rsp + 0x168], rax
lea rdx, [0x1401cc89f]
lea rcx, [rsp + 0x128]
call fcn.1400259b0
nop
lea rax, [rsp + 0x20]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x20]
call fcn.1400825d0
mov rcx, rax
call fcn.140082bf0
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400259b0
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
call fcn.140027020
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov rdx, rax
lea rcx, [rsp + 0x128]
call fcn.140032200
nop
lea rcx, [rsp + 0x90]
call fcn.140025900
lea rax, [rsp + 0x21]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x21]
call fcn.1400825f0
mov rcx, rax
call fcn.140082bf0
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.1400259b0
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x40]
call fcn.140027020
mov rdx, rax
lea rcx, [rsp + 0x128]
call fcn.140032200
nop
lea rcx, [rsp + 0xb0]
call fcn.140025900
lea rax, [rsp + 0x22]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x22]
call fcn.140082610
mov rcx, rax
call fcn.14002d460
mov rdx, rax
lea rcx, [rsp + 0xd0]
call fcn.1400259b0
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.140027020
mov rdx, rax
lea rcx, [rsp + 0x128]
call fcn.140032200
nop
lea rcx, [rsp + 0xd0]
call fcn.140025900
lea rcx, [rsp + 0x128]
call fcn.140027020
mov qword [rsp + 0x58], rax
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x148]
call fcn.1400848b0
nop
lea rcx, [rsp + 0x148]
call fcn.14004f110
movzx eax, al
test eax, eax
jne 0x14008252f
lea rcx, [rsp + 0x148]
call fcn.14004e820
nop
lea rcx, [rsp + 0x128]
call fcn.140025900
jmp 0x1400825b2
lea rcx, [0x1402253d0]
call fcn.1400273c0
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x108]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x128]
mov rcx, qword [rsp + 0x60]
call fcn.140025a10
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
call fcn.140031a90
xor edx, edx
mov rcx, qword [rsp + 0x180]
call fcn.1400810a0
mov rax, qword [rsp + 0x180]
mov byte [rax], 1
lea rcx, [rsp + 0x148]
call fcn.14004e820
nop
lea rcx, [rsp + 0x128]
call fcn.140025900
mov rcx, qword [rsp + 0x168]
xor rcx, rsp
call fcn.1400d63a0
add rsp, 0x170
pop rdi
ret
Function at 0x14008a220
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x68
mov rax, qword [0x1401ed028]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov edx, 8
lea rcx, [rsp + 0x50]
call fcn.140027d90
mov rcx, qword [rsp + 0x80]
call fcn.1400262d0
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x78]
call fcn.1400262d0
mov qword [rsp + 0x38], rax
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x50]
call fcn.14008a880
nop
lea rax, [0x14008a920]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x70]
add rax, 8
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x50]
call fcn.1400273c0
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rsp + 0x48]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov rcx, qword [rsp + 0x70]
mov qword [rcx], rax
mov rax, qword [rsp + 0x70]
cmp qword [rax], 0
je 0x14008a2ee
lea rcx, [rsp + 0x50]
call fcn.140034980
jmp 0x14008a306
mov rax, qword [rsp + 0x70]
mov dword [rax + 8], 0
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea rcx, [rsp + 0x50]
call fcn.14008a7d0
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400d63a0
add rsp, 0x68
ret

Function at 0x14008b440
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x298
mov rax, qword [0x1401ed028]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov dword [rsp + 0x20], 0
mov edx, 0x100
lea rcx, [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x38]
call fcn.140028cc0
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
lea r8, str.SoftwareDistributionDownload_
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.1400a77e0
nop
lea rcx, [rsp + 0x38]
call fcn.140028c90
lea rdx, [rsp + 0x58]
mov rcx, qword [rsp + 0x2a0]
call fcn.140083100
mov eax, dword [rsp + 0x20]
or eax, 1
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x58]
call fcn.140028c90
mov rax, qword [rsp + 0x2a0]
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.1400d63a0
add rsp, 0x298
ret
Function at 0x14008b660
Capabilities:
Acquire debug privileges

Disassembly:
sub rsp, 0x98
mov rax, qword [0x1401ed028]
xor rax, rsp
mov qword [rsp + 0x80], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r8, [rsp + 0x60]
mov edx, 0x28
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x14008b69d
xor al, al
jmp 0x14008b78e
lea rdx, str.SeDebugPrivilege
lea rcx, [rsp + 0x48]
call fcn.1400a1240
mov rcx, rax
call fcn.1400a11d0
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400a14b0
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x38]
call fcn.1400273c0
lea r8, [rsp + 0x68]
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
jne 0x14008b6f0
mov dword [rsp + 0x34], 1
jmp 0x14008b6f8
mov dword [rsp + 0x34], 0
movzx eax, byte [rsp + 0x34]
mov byte [rsp + 0x30], al
lea rcx, [rsp + 0x40]
call fcn.140036310
movzx eax, byte [rsp + 0x30]
test eax, eax
je 0x14008b723
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x14008b78e
mov dword [rsp + 0x70], 1
mov eax, reloc.WS2_32.dll_inet_ntoa
imul rax, rax, 0
mov rcx, qword [rsp + 0x68]
mov qword [rsp + rax + 0x74], rcx
mov eax, reloc.WS2_32.dll_inet_ntoa
imul rax, rax, 0
mov dword [rsp + rax + 0x7c], 2
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0x10
lea r8, [rsp + 0x70]
xor edx, edx
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
jne 0x14008b781
xor al, al
jmp 0x14008b78e
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1400d63a0
add rsp, 0x98
ret

Function at 0x14008b8b0
Capabilities:
Create process on windows

Disassembly:
mov byte [rsp + 0x18], r8b
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov rcx, qword [rsp + 0x58]
call fcn.140082f10
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x50]
call fcn.140082f10
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
lea rdx, str.runas
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
mov rcx, qword [rsp + 0x50]
call fcn.140028c90
mov rcx, qword [rsp + 0x58]
call fcn.140028c90
add rsp, 0x48
ret
Function at 0x14008b930
Capabilities:
Terminate process
Write file on windows

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0xe8
mov rax, qword [0x1401ed028]
xor rax, rsp
mov qword [rsp + 0xd8], rax
mov byte [rsp + 0x40], 0
mov dword [rsp + 0xd0], 0
mov rcx, qword [rsp + 0xf0]
call fcn.140082f10
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
mov edx, 0x10000000
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x48], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
jne 0x14008b9c4
mov byte [rsp + 0x41], 1
mov rcx, qword [rsp + 0xf0]
call fcn.140028c90
movzx eax, byte [rsp + 0x41]
jmp 0x14008bb47
cmp qword [rsp + 0x48], 0xffffffffffffffff
jne 0x14008ba5f
lea rdx, str.Error
lea rcx, [rsp + 0x80]
call fcn.1400a10f0
mov rcx, rax
call fcn.1400a1080
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x90]
call fcn.14008b7b0
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.140027020
mov qword [rsp + 0x60], rax
mov r9d, 0x40010
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
lea rcx, [rsp + 0x90]
call fcn.140025900
mov ecx, 0xffffffff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
nop
mov byte [rsp + 0x42], 0
mov rcx, qword [rsp + 0xf0]
call fcn.140028c90
movzx eax, byte [rsp + 0x42]
jmp 0x14008bb47
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xd0]
mov r8d, 0x21200
lea rdx, [0x1401f0da0]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov byte [rsp + 0x40], al
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movzx eax, byte [rsp + 0x40]
test eax, eax
jne 0x14008bb30
lea rdx, str.Error
lea rcx, [rsp + 0x88]
call fcn.1400a10f0
mov rcx, rax
call fcn.1400a1080
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0xb0]
call fcn.14008b7b0
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x68]
call fcn.140027020
mov qword [rsp + 0x78], rax
mov r9d, 0x40010
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
lea rcx, [rsp + 0xb0]
call fcn.140025900
mov ecx, 0xffffffff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
nop
mov byte [rsp + 0x43], 0
mov rcx, qword [rsp + 0xf0]
call fcn.140028c90
movzx eax, byte [rsp + 0x43]
jmp 0x14008bb47
mov byte [rsp + 0x44], 1
mov rcx, qword [rsp + 0xf0]
call fcn.140028c90
movzx eax, byte [rsp + 0x44]
mov rcx, qword [rsp + 0xd8]
xor rcx, rsp
call fcn.1400d63a0
add rsp, 0xe8
ret
Function at 0x14008bb60
Capabilities:
Terminate process
Write file on windows

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x128
mov rax, qword [0x1401ed028]
xor rax, rsp
mov qword [rsp + 0x118], rax
mov byte [rsp + 0x40], 0
mov dword [rsp + 0x110], 0
mov rcx, qword [rsp + 0x130]
call fcn.140082f10
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
mov edx, 0x10000000
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x48], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
jne 0x14008bc6b
lea rdx, str.Error
lea rcx, [rsp + 0x98]
call fcn.1400a10f0
mov rcx, rax
call fcn.1400a1080
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0xb0]
call fcn.14008b7b0
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.140027020
mov qword [rsp + 0x60], rax
mov r9d, 0x40010
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
lea rcx, [rsp + 0xb0]
call fcn.140025900
mov ecx, 0xffffffff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
nop
mov byte [rsp + 0x41], 1
mov rcx, qword [rsp + 0x130]
call fcn.140028c90
movzx eax, byte [rsp + 0x41]
jmp 0x14008be00
cmp qword [rsp + 0x48], 0xffffffffffffffff
jne 0x14008bd06
lea rdx, str.Error
lea rcx, [rsp + 0xa0]
call fcn.1400a10f0
mov rcx, rax
call fcn.1400a1080
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0xd0]
call fcn.14008b7b0
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x68]
call fcn.140027020
mov qword [rsp + 0x78], rax
mov r9d, 0x40010
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
lea rcx, [rsp + 0xd0]
call fcn.140025900
mov ecx, 0xffffffff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
nop
mov byte [rsp + 0x42], 0
mov rcx, qword [rsp + 0x130]
call fcn.140028c90
movzx eax, byte [rsp + 0x42]
jmp 0x14008be00
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x110]
mov r8d, 0x3b18
lea rdx, [0x1401ed280]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov byte [rsp + 0x40], al
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movzx eax, byte [rsp + 0x40]
test eax, eax
jne 0x14008bde9
lea rdx, str.Error
lea rcx, [rsp + 0xa8]
call fcn.1400a10f0
mov rcx, rax
call fcn.1400a1080
mov qword [rsp + 0x88], rax
lea rcx, [rsp + 0xf0]
call fcn.14008b7b0
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x80]
call fcn.140027020
mov qword [rsp + 0x90], rax
mov r9d, 0x40010
mov r8, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
lea rcx, [rsp + 0xf0]
call fcn.140025900
mov ecx, 0xffffffff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
nop
mov byte [rsp + 0x43], 0
mov rcx, qword [rsp + 0x130]
call fcn.140028c90
movzx eax, byte [rsp + 0x43]
jmp 0x14008be00
mov byte [rsp + 0x44], 1
mov rcx, qword [rsp + 0x130]
call fcn.140028c90
movzx eax, byte [rsp + 0x44]
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
call fcn.1400d63a0
add rsp, 0x128
ret
Function at 0x14008be20
Capabilities:
Delete file

Disassembly:
sub rsp, 0x28
lea rcx, [0x14022dc40]
call fcn.140082f10
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [0x14022dc60]
call fcn.140082f10
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
add rsp, 0x28
ret

Function at 0x14008c6f0
Capabilities:
Hash data using fnv

Disassembly:
mov byte [rsp + 0x10], dl
mov dword [rsp + 8], ecx
sub rsp, 0x18
xor eax, eax
test eax, eax
je 0x14008c70f
movsx eax, byte [rsp + 0x28]
or eax, 0x20
mov dword [rsp], eax
jmp 0x14008c717
movsx eax, byte [rsp + 0x28]
mov dword [rsp], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0x20]
xor ecx, eax
mov eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
add rsp, 0x18
ret

Function at 0x14008c810
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0xd0
lea rax, [rsp + 0x20]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x20]
call fcn.14008c980
mov rcx, rax
call fcn.14002c560
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.1400259b0
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
call fcn.140027020
mov qword [rsp + 0x38], rax
mov rdx, qword [rsp + 0x38]
mov rcx, qword [0x14022db10]
call fcn.14008c7e0
nop
lea rcx, [rsp + 0x58]
call fcn.140025900
mov rcx, qword [0x140222f48]
call fcn.14008c5e0
mov rcx, qword [0x140222f48]
call fcn.1400280b0
movzx eax, al
test eax, eax
jne 0x14008c96a
mov rcx, qword [0x140222f48]
call fcn.14008c730
mov rcx, qword [0x140222f48]
call fcn.14008c5e0
mov rcx, qword [0x140222f48]
call fcn.1400280b0
movzx eax, al
test eax, eax
jne 0x14008c96a
lea rax, [rsp + 0x21]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x21]
call fcn.14008c9b0
mov rcx, rax
call fcn.1400a09e0
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.1400259b0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x48]
call fcn.140027020
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x50]
mov rcx, qword [0x14022db10]
call fcn.14008c7e0
nop
lea rcx, [rsp + 0x78]
call fcn.140025900
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0xffffffff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
nop
mov rcx, qword [rsp + 0xe0]
call fcn.140025900
add rsp, 0xd0
pop rdi
ret
Function at 0x14008e880
Capabilities:
Get hostname
Initialize winsock library
Resolve dns

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x318
mov rax, qword [0x1401ed028]
xor rax, rsp
mov qword [rsp + 0x300], rax
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x30], 0
lea rdx, [0x1401cc8b3]
lea rcx, [rsp + 0x38]
call fcn.1400259b0
nop
lea rdx, [rsp + 0x60]
mov cx, 0x202
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x14008e93c
mov edx, 0xff
lea rcx, [rsp + 0x200]
call qword [sym.imp.WS2_32.dll_gethostname]
cmp eax, 0xffffffff
je 0x14008e93c
lea rcx, [rsp + 0x200]
call qword [sym.imp.WS2_32.dll_gethostbyname]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
je 0x14008e93c
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rax + rcx]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140032290
call qword [sym.imp.WS2_32.dll_WSACleanup]
lea rdx, [rsp + 0x38]
mov rcx, qword [rsp + 0x320]
call fcn.140025930
mov eax, dword [rsp + 0x20]
or eax, 1
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x38]
call fcn.140025900
mov rax, qword [rsp + 0x320]
mov rcx, qword [rsp + 0x300]
xor rcx, rsp
call fcn.1400d63a0
add rsp, 0x318
ret

Function at 0x140091e50
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x28
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x1a2]
test eax, eax
jne 0x140091e7b
mov rax, qword [rsp + 0x30]
add rax, 0x68
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
add rsp, 0x28
ret
Function at 0x140092950
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x58
movzx eax, byte [0x14022db28]
test eax, eax
jne 0x1400929af
mov byte [0x14022db28], 1
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x28]
lea rdx, [0x14008f0b0]
lea rcx, [rsp + 0x40]
call fcn.140089c90
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x38]
call fcn.140085ed0
nop
lea rcx, [rsp + 0x40]
call fcn.140085e70
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 0x1a3]
test eax, eax
je 0x1400929c9
mov dword [rsp + 0x20], 0
jmp 0x1400929d1
mov dword [rsp + 0x20], 0x8000
mov eax, dword [rsp + 0x20]
mov dword [0x1401ed250], eax
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x140092a16
movzx eax, byte [0x14022dac8]
test eax, eax
jne 0x140092a03
mov dword [rsp + 0x24], 1
jmp 0x140092a0b
mov dword [rsp + 0x24], 0
movzx eax, byte [rsp + 0x24]
mov byte [0x14022dac8], al
call fcn.1400305d0
mov rcx, qword [rsp + 0x60]
call fcn.140092a30
add rsp, 0x58
ret
Function at 0x1400b0370
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x58
mov rax, qword [0x1401ed028]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov edx, 8
lea rcx, [rsp + 0x40]
call fcn.140027d90
mov rcx, qword [rsp + 0x68]
call fcn.1400262d0
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400b9c60
nop
lea rax, [0x1400b9ce0]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x60]
add rax, 8
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x40]
call fcn.1400273c0
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rsp + 0x38]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
mov rax, qword [rsp + 0x60]
cmp qword [rax], 0
je 0x1400b041b
lea rcx, [rsp + 0x40]
call fcn.140034980
jmp 0x1400b0433
mov rax, qword [rsp + 0x60]
mov dword [rax + 8], 0
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea rcx, [rsp + 0x40]
call fcn.1400b5070
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1400d63a0
add rsp, 0x58
ret

Function at 0x1400b0450
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x58
mov rax, qword [0x1401ed028]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov edx, 8
lea rcx, [rsp + 0x40]
call fcn.1400b4d30
mov rcx, qword [rsp + 0x68]
call fcn.1400262d0
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400b9d70
nop
lea rax, [0x1400b9df0]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x60]
add rax, 8
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x40]
call fcn.1400273c0
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rsp + 0x38]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
mov rax, qword [rsp + 0x60]
cmp qword [rax], 0
je 0x1400b04fb
lea rcx, [rsp + 0x40]
call fcn.1400b4ff0
jmp 0x1400b0513
mov rax, qword [rsp + 0x60]
mov dword [rax + 8], 0
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea rcx, [rsp + 0x40]
call fcn.1400b5020
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1400d63a0
add rsp, 0x58
ret
Function at 0x1400b0530
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x58
mov rax, qword [0x1401ed028]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov edx, 8
lea rcx, [rsp + 0x40]
call fcn.1400b4d30
mov rcx, qword [rsp + 0x68]
call fcn.1400262d0
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400b9d70
nop
lea rax, [0x1400b9e80]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x60]
add rax, 8
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x40]
call fcn.1400273c0
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rsp + 0x38]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
mov rax, qword [rsp + 0x60]
cmp qword [rax], 0
je 0x1400b05db
lea rcx, [rsp + 0x40]
call fcn.1400b4ff0
jmp 0x1400b05f3
mov rax, qword [rsp + 0x60]
mov dword [rax + 8], 0
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea rcx, [rsp + 0x40]
call fcn.1400b5020
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1400d63a0
add rsp, 0x58
ret