joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14002a8f0
Capabilities:
Delete service
Query service status

Disassembly:
push rbx
sub rsp, 0x50
mov rax, qword [0x1401ef010]
xor rax, rsp
mov qword [rsp + 0x40], rax
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 1]
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov rbx, rax
test rax, rax
jne 0x14002a948
lea r9d, [rax + 0x10]
lea r8, [0x1401c7268]
lea rdx, str.Failed_to_open_service_control_manager
call fcn.140020f00
lea eax, [rbx + 1]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140132620
add rsp, 0x50
pop rbx
ret
mov r8d, 0x10004
mov qword [rsp + 0x60], rdi
lea rdx, [0x1401efc50]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov rdi, rax
test rax, rax
jne 0x14002a9d5
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x14002a99e
lea r9d, [rdi + 0x10]
lea r8, [0x1401c7268]
lea rdx, str.Failed:_Permission_denied
call fcn.140020f00
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
lea eax, [rdi + 1]
jmp 0x14002aa70
cmp eax, 0x424
je 0x14002aa4c
mov r9d, reloc.WS2_32.dll_recv
lea r8, [0x1401c7268]
lea rdx, str.Failed_to_open_the_service
call fcn.140020f00
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov eax, 1
jmp 0x14002aa70
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
jne 0x14002a9f0
lea rdx, str.Failed_to_query_service_status
jmp 0x14002aa31
cmp dword [rsp + 0x24], 1
mov rcx, rdi
je 0x14002aa20
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov ecx, 0x9c4
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.14002a8f0
mov eax, 1
jmp 0x14002aa70
call qword [sym.imp.ADVAPI32.dll_DeleteService]
test eax, eax
jne 0x14002aa5c
lea rdx, str.Failed_to_delete_the_service
lea r8, [0x1401c7268]
mov r9d, reloc.WS2_32.dll_recv
call fcn.140020f00
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov eax, 1
jmp 0x14002aa70
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor eax, eax
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140132620
add rsp, 0x50
pop rbx
ret

Function at 0x14002aa90
Capabilities:
Create process on windows

Disassembly:
push rbx
sub rsp, 0x1b0
mov rax, qword [0x1401ef010]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov r8d, 0x104
lea rdx, [rsp + 0x90]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov qword [rsp + 0x20], WSACleanup
xor ebx, ebx
call qword [sym.imp.USER32.dll_GetForegroundWindow]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x28], rax
lea rax, str.runas
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x38], rax
lea rax, str._rebootforce
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x50], ebx
mov qword [rsp + 0x58], rbx
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.140132620
add rsp, 0x1b0
pop rbx
ret
Function at 0x14002aea0
Capabilities:
Create process on windows

Disassembly:
push rbx
sub rsp, 0x1b0
mov rax, qword [0x1401ef010]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov r8d, 0x104
lea rdx, [rsp + 0x90]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov qword [rsp + 0x20], WSACleanup
xor ebx, ebx
call qword [sym.imp.USER32.dll_GetForegroundWindow]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x28], rax
lea rax, str.runas
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x38], rax
lea rax, str._rebootsafemode
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x50], ebx
mov qword [rsp + 0x58], rbx
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.140132620
add rsp, 0x1b0
pop rbx
ret

Function at 0x14002b0f0
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x410
mov rax, qword [0x1401ef010]
xor rax, rsp
mov qword [rsp + 0x400], rax
movzx ebx, cl
mov dword [rsp + 0x140], __WSAFDIsSet
lea rcx, [rsp + 0x140]
movzx edi, dl
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
mov r8d, 0x104
lea rdx, [rsp + 0x1e0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea r8, [rsp + 0x1e0]
mov edx, 0x104
lea rcx, [0x1401f2db0]
call fcn.14013b330
test bl, bl
je 0x14002b17e
lea r8, str.__preconnect
mov edx, 0x104
lea rcx, [0x1401f2db0]
call fcn.14013b390
test dil, dil
lea rsi, str.__service_run
lea r8, str.__service_rdp_run
mov edx, 0x104
cmove r8, rsi
lea rcx, [0x1401f2db0]
call fcn.14013b390
lea rcx, [rsp + 0x30]
call fcn.140022050
mov r8d, dword [0x1401f2b58]
lea r9, [rsp + 0x30]
lea rdx, str.kickrdp
lea rcx, str.admin
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov r8d, dword [0x1401f2b5c]
lea r9, [rsp + 0x30]
lea rdx, str.clearconsole
mov dword [0x1401f2b58], eax
lea rcx, str.admin
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x1401f2b5c], eax
lea r9, [rsp + 0x2f0]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea r8, [0x14019528c]
lea rdx, str.service_commandline
mov dword [rsp + 0x20], 0x100
lea rcx, str.admin
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea rcx, [rsp + 0x2f0]
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x14002b240
test rax, rax
je 0x14002b2d8
lea r8, [rsp + 0x1e0]
mov edx, 0x104
lea rcx, [0x1401f2db0]
call fcn.14013b330
test bl, bl
je 0x14002b287
lea r8, str.__preconnect
mov edx, 0x104
lea rcx, [0x1401f2db0]
call fcn.14013b390
lea r8, [0x1401c78b8]
mov edx, 0x104
lea rcx, [0x1401f2db0]
call fcn.14013b390
lea r8, [rsp + 0x2f0]
mov edx, 0x104
lea rcx, [0x1401f2db0]
call fcn.14013b390
lea rcx, [0x1401f2db0]
mov edx, 0x104
lea r8, str.__service_rdp_run
test dil, dil
jne 0x14002b2d3
mov r8, rsi
call fcn.14013b390
xor eax, eax
mov rcx, qword [rsp + 0x400]
xor rcx, rsp
call fcn.140132620
lea r11, [rsp + 0x410]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
Function at 0x14002cb40
Capabilities:
Create thread
Resume thread

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x30
mov rbx, rcx
movsxd rax, edx
mov rcx, qword [rcx + 8]
mov r8d, 8
sub r8d, edx
lea rdx, [rsp + 0x40]
add rdx, rax
mov rcx, qword [rcx + 0x3b0]
call fcn.140088930
mov edx, dword [rsp + 0x44]
mov edi, edx
and edi, 0xff0000
mov eax, edx
shr eax, 0x10
or edi, eax
mov eax, edx
and eax, 0xff00
shl edx, 0x10
or eax, edx
shr edi, 8
shl eax, 8
or edi, eax
cmp edi, 0xffffffff
jne 0x14002cbee
cmp byte [rbx + 0x20], 0
jne 0x14002ccc0
lea rax, [rsp + 0x48]
mov r9, rbx
mov qword [rsp + 0x28], rax
lea r8, [0x14002d240]
xor edx, edx
mov dword [rsp + 0x20], 0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx + 0x68], rax
test rax, rax
je 0x14002ccc0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
cmp edi, 0xfffffffe
jne 0x14002cc1e
cmp byte [rbx + 0x20], 0
je 0x14002ccc0
mov rcx, qword [rbx + 0x18]
lea r8d, [rdi + 3]
xor r9d, r9d
mov edx, 0x111
call qword [sym.imp.USER32.dll_PostMessageA]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
cmp edi, 0xfffffffd
je 0x14002ccc0
cmp edi, 0x4000
jg 0x14002ccc0
test edi, edi
jne 0x14002cc69
mov rcx, qword [rbx + 0x18]
lea r8, [0x14019528c]
mov edx, 0x475
call qword [sym.imp.USER32.dll_SetDlgItemTextA]
mov rcx, qword [rbx + 0x38]
xor edx, edx
mov r8d, 0x4000
call fcn.140135010
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov rcx, qword [rbx + 0x38]
xor edx, edx
mov r8d, 0x4000
call fcn.140135010
mov rcx, qword [rbx + 8]
mov r8d, edi
mov rdx, qword [rbx + 0x38]
mov rcx, qword [rcx + 0x3b0]
call fcn.140088930
mov rcx, qword [rbx + 0x18]
mov edx, 9
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SetForegroundWindow]
mov r8, qword [rbx + 0x40]
mov r9d, 0xff
mov rdx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.14002cd80
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x14002fb50
Capabilities:
Create process on windows

Disassembly:
sub rsp, 0x1b8
mov rax, qword [0x1401ef010]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov r8d, 0x104
lea rdx, [rsp + 0x90]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x14002fba1
mov edx, 0x5c
lea rcx, [rsp + 0x90]
call fcn.140134588
test rax, rax
je 0x14002fc74
mov byte [rax], 0
lea r8, str.uvnckeyboardhelper.exe
mov edx, 0x104
lea rcx, [rsp + 0x90]
call fcn.14013b390
lea rdx, [0x1401c8158]
lea rcx, [rsp + 0x90]
call fcn.140145c84
test rax, rax
je 0x14002fc74
mov rcx, rax
call fcn.140145db0
xorps xmm0, xmm0
lea rax, str.runas
xor ecx, ecx
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x90]
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x38], rax
lea rax, [0x14019528c]
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x28], rcx
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x50], ecx
mov qword [rsp + 0x58], rcx
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x40], rax
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x20], WSACleanup
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
test eax, eax
je 0x14002fc74
mov al, 1
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.140132620
add rsp, 0x1b8
ret
xor al, al
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.140132620
add rsp, 0x1b8
ret
Function at 0x14002fc90
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], r9
push rdi
push r14
push r15
sub rsp, 0x20
mov edi, r8d
movzx esi, dl
movzx ebp, cl
mov rax, qword [0x1401fb448]
test rax, rax
jne 0x14002fcdf
lea ecx, [rax + 0x30]
call fcn.140132648
mov qword [rsp + 0x58], rax
mov rcx, rax
call fcn.14007c970
nop
mov qword [0x1401fb448], rax
cmp byte [rax + 0xa], 0
je 0x14002fe7c
cmp dword [0x1401f2eb4], 0
jne 0x14002fe7c
cmp dword [0x1401f2eb8], 0
je 0x14002fe7c
mov dword [0x1401f2ebc], 0
mov dword [0x1401f2eb4], 2
mov ecx, 0xa4
call qword [sym.imp.USER32.dll_GetKeyState]
movzx r14d, ax
shr r14, 8
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetKeyState]
movzx r15d, ax
shr r15, 8
mov ecx, 0x5b
call qword [sym.imp.USER32.dll_GetKeyState]
shr rax, 8
mov rbx, qword [0x1401f2ec8]
test rbx, rbx
je 0x14002fe5c
test r14b, r14b
jne 0x14002fd6e
test r15b, r15b
jne 0x14002fd6e
test al, al
je 0x14002fe5c
mov byte [rsp + 0x58], bpl
mov byte [rsp + 0x59], sil
mov dword [rsp + 0x5c], edi
cmp byte [rbx + 0x23c], 0
je 0x14002fe70
lea rcx, [rbx + 0x48]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
movsxd r8, dword [rbx + 0x230]
lea rdx, [rsp + 0x58]
mov rcx, qword [rbx + 0x38]
call fcn.140134960
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14002fdb7
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x14002fdc6
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14002fdd5
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov edx, 0x3e8
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x14002fe03
inc dword [rbx + 0x238]
cmp dword [rbx + 0x238], 3
jle 0x14002fe0d
mov byte [rbx + 0x23c], 0
jmp 0x14002fe37
mov dword [rbx + 0x238], 0
cmp byte [rbx + 0x23c], 0
je 0x14002fe37
mov edx, 0x3e8
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
movsxd r8, dword [rbx + 0x234]
mov rdx, qword [rbx + 0x40]
xor ecx, ecx
call fcn.140134960
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x14002fe46
call qword [sym.imp.KERNEL32.dll_SetEvent]
lea rcx, [rbx + 0x48]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [0x1401f2eb4], 0
jmp 0x14002fe90
xor r9d, r9d
mov r8d, edi
movzx edx, sil
movzx ecx, bpl
call qword [sym.imp.USER32.dll_keybd_event]
mov dword [0x1401f2eb4], 0
jmp 0x14002fe90
xor r9d, r9d
mov r8d, edi
movzx edx, sil
movzx ecx, bpl
call qword [sym.imp.USER32.dll_keybd_event]
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
Function at 0x140030ce0
Capabilities:
Get file size
Read file via mapping

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x60
xor esi, esi
mov r15, rcx
mov qword [rsp + 0x30], rsi
lea rcx, str.c:_video0.dat
mov dword [rsp + 0x28], esi
xor r9d, r9d
mov edx, 0xc0000000
mov dword [rsp + 0x20], 3
lea r8d, [rsi + 3]
mov ebp, esi
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0x30], rsi
lea r8d, [rsi + 3]
mov dword [rsp + 0x28], esi
lea rcx, str.c:_video1.dat
xor r9d, r9d
mov dword [rsp + 0x20], 3
mov edx, 0xc0000000
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
lea rax, [rdi - 1]
cmp rax, 0xfffffffffffffffd
ja 0x140030d6a
lea rax, [rbx + 1]
test rax, 0xfffffffffffffffe
jne 0x140030d6f
mov rbp, rdi
test rbx, rbx
je 0x140030d84
cmp rbx, 0xffffffffffffffff
je 0x140030d84
lea rax, [rdi + 1]
test rax, 0xfffffffffffffffe
jne 0x140030d8d
mov rbp, rbx
test rdi, rdi
je 0x140030e2d
cmp rdi, 0xffffffffffffffff
je 0x140030e2d
lea rax, [rbx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x140030e2d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
xor edx, edx
mov rcx, rbx
mov r14d, eax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, dword [r15 + 0x30]
cmp r14d, ecx
cmove rbp, rdi
cmp eax, ecx
jne 0x140030e2d
cmp r14d, ecx
jne 0x140030e3b
lea r9, [rsp + 0xa0]
mov rcx, rdi
lea r8, [rsp + 0xa8]
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileTime]
lea r9, [rsp + 0x98]
mov rcx, rdi
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileTime]
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 1
cmova rdi, rbx
mov rbx, rdi
jmp 0x140030e3b
mov rbx, rbp
test rbp, rbp
je 0x140030e91
cmp rbx, 0xffffffffffffffff
je 0x140030e91
xor r9d, r9d
mov qword [rsp + 0x28], rsi
xor edx, edx
mov dword [rsp + 0x20], esi
mov rcx, rbx
lea r8d, [r9 + 4]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov rdi, rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x140030e86
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 4]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rcx, rdi
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140030ea6
lea r8, str.VideoDriver::videoMemory_GetSharedMemory_:_Error_video.dat__n
xor edx, edx
lea rcx, vtable.VNCLog.0
call fcn.140018c00
mov rbx, qword [rsp + 0x90]
mov rax, rsi
add rsp, 0x60
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x140035050
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov ebx, edx
mov rdi, rcx
mov edx, 1
mov rcx, r8
mov r14, r8
call fcn.140017490
lea ecx, [rbx - 8]
test ecx, ecx
jle 0x1400350fa
mov qword [rsp + 0x30], rbp
lea ebp, [rcx - 1]
mov qword [rsp + 0x38], rsi
movsxd rsi, ecx
add rsi, rdi
shr ebp, 3
inc ebp
lea rbx, [rsi + 1]
nop dword [rax + rax]
mov rdx, rsi
mov rcx, rsi
call fcn.140018200
movzx eax, byte [rbx - 9]
sub rsi, 8
xor byte [rbx - 1], al
movzx eax, byte [rbx - 8]
xor byte [rbx], al
movzx eax, byte [rbx - 7]
xor byte [rbx + 1], al
movzx eax, byte [rbx - 6]
xor byte [rbx + 2], al
movzx eax, byte [rbx - 5]
xor byte [rbx + 3], al
movzx eax, byte [rbx - 4]
xor byte [rbx + 4], al
movzx eax, byte [rbx - 3]
xor byte [rbx + 5], al
movzx eax, byte [rbx - 2]
xor byte [rbx + 6], al
lea rbx, [rbx - 8]
sub rbp, 1
jne 0x1400350a0
mov rsi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x30]
mov rdx, rdi
mov rcx, rdi
call fcn.140018200
movzx eax, byte [r14]
xor byte [rdi], al
movzx eax, byte [r14 + 1]
xor byte [rdi + 1], al
movzx eax, byte [r14 + 2]
xor byte [rdi + 2], al
movzx eax, byte [r14 + 3]
xor byte [rdi + 3], al
movzx eax, byte [r14 + 4]
xor byte [rdi + 4], al
movzx eax, byte [r14 + 5]
xor byte [rdi + 5], al
movzx eax, byte [r14 + 6]
xor byte [rdi + 6], al
movzx eax, byte [r14 + 7]
xor byte [rdi + 7], al
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
Function at 0x140039260
Capabilities:
Delete file

Disassembly:
push rbx
sub rsp, 0x180
mov rax, qword [0x1401ef010]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov rbx, rcx
xor edx, edx
lea rcx, [rsp + 0x60]
mov r8d, 0x105
call fcn.140135010
mov r9d, 0x104
lea rcx, [rsp + 0x60]
mov r8, rbx
lea edx, [r9 + 1]
call fcn.14014717c
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rbx + rax], 0
jne 0x1400392b0
inc rax
cmp rax, 0x105
jae 0x140039327
mov byte [rsp + rax + 0x60], 0
lea rcx, [rsp + 0x20]
xor eax, eax
xorps xmm0, xmm0
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x60]
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x30], rax
mov eax, 0x614
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x28], 3
movups xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x40], ax
call qword [sym.imp.SHELL32.dll_SHFileOperationA]
test eax, eax
sete al
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.140132620
add rsp, 0x180
pop rbx
ret
call fcn.1401327c8
int3
Function at 0x14003b0b0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x180
mov rax, qword [0x1401ef010]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov rbp, rcx
lea r15, str._unavailable_
xor r12d, r12d
cmp dword [rcx + 0x2c0], r12d
je 0x14003b0f6
mov ebx, r12d
jmp 0x14003b147
mov rcx, qword [rcx + 0x2a8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov dword [rsp + 0x30], reloc.WS2_32.dll_recv
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.WS2_32.dll_getpeername]
mov ecx, dword [rsp + 0x3c]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov rdx, r15
test rax, rax
cmovne rdx, rax
mov rcx, qword [rbp + 0x2b0]
mov rax, qword [rcx]
call qword [rax + 0x1d8]
mov ebx, eax
lea rcx, [rsp + 0x60]
call fcn.140021880
test eax, eax
je 0x14003b2e2
cmp byte [rsp + 0x60], r12b
jne 0x14003b170
mov rcx, qword [0x1401fdf80]
cmp dword [rcx + 0x748], r12d
je 0x14003b1be
cmp ebx, 1
jne 0x14003b1be
call fcn.1400219e0
test eax, eax
je 0x14003b1d1
mov rax, qword [0x1401fdf80]
cmp dword [rax + 0x748], r12d
jne 0x14003b1d1
mov rcx, qword [rbp + 0x2b0]
mov rax, qword [rcx]
call qword [rax + 0x200]
test eax, eax
je 0x14003b1c7
mov rcx, qword [rbp + 0x2b0]
mov rax, qword [rcx]
call qword [rax + 0x1f0]
mov ebx, 2
cmp eax, 1
cmove ebx, r12d
cmp ebx, 2
je 0x14003b2e2
mov eax, 1
jmp 0x14003b2e4
mov ecx, 0x40
call fcn.140132648
mov r14, rax
mov qword [rsp + 0x38], rax
mov rcx, qword [rbp + 0x2a8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov dword [rsp + 0x30], reloc.WS2_32.dll_recv
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x48]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.WS2_32.dll_getpeername]
mov ecx, dword [rsp + 0x4c]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
test rax, rax
cmovne r15, rax
mov rax, qword [0x1401fdf80]
cmp dword [rax + 0xa44], 0
setne sil
mov rdi, qword [rbp + 0x2b8]
add rdi, 0x268
mov rcx, qword [rbp + 0x2b0]
mov rax, qword [rcx]
call qword [rax + 0x1f0]
mov ebx, r12d
cmp eax, 1
sete bl
mov rax, qword [0x1401fdf80]
mov edx, dword [rax + 0x750]
lea rax, vtable.vncAcceptDialog.0
mov qword [r14], rax
mov dword [r14 + 0xc], edx
mov rcx, r15
call fcn.140145b50
mov qword [r14 + 0x20], rax
mov dword [r14 + 0x14], r12d
mov dword [r14 + 8], ebx
mov qword [r14 + 0x28], r12
mov qword [r14 + 0x30], rdi
mov byte [r14 + 0x38], sil
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
mov r9, r14
lea r8, [0x140034a20]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [r14 + 0x28], rax
mov edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rdx, [rsp + 0x30]
mov rcx, qword [r14 + 0x28]
call qword [sym.imp.KERNEL32.dll_GetExitCodeThread]
cmp dword [rsp + 0x30], 1
je 0x14003b1c7
xor eax, eax
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.140132620
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
Function at 0x14003df00
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x130
mov rax, qword [0x1401ef010]
xor rax, rsp
mov qword [rsp + 0x120], rax
movzx ebx, cl
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x100
call fcn.140135010
lea rcx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_GetKeyboardState]
test byte [rsp + rbx + 0x20], 1
je 0x14003df5e
xor edx, edx
movzx ecx, bl
lea r8d, [rdx + 1]
call fcn.14002fc90
xor edx, edx
movzx ecx, bl
lea r8d, [rdx + 3]
call fcn.14002fc90
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.140132620
add rsp, 0x130
pop rbx
ret

Function at 0x14003df80
Capabilities:
Get hostname
Resolve dns

Disassembly:
push rbx
sub rsp, 0x160
mov rax, qword [0x1401ef010]
xor rax, rsp
mov qword [rsp + 0x130], rax
mov rbx, rcx
mov edx, 0x100
lea rcx, [rsp + 0x30]
call qword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
je 0x14003dfcf
mov r9d, 0x100
lea r8, str.Host_name_unavailable
mov edx, r9d
mov rcx, rbx
call fcn.1401456fc
jmp 0x14003e151
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x180], rsi
call qword [sym.imp.WS2_32.dll_gethostbyname]
mov rsi, rax
test rax, rax
jne 0x14003e007
mov r9d, 0x100
lea r8, str.IP_address_unavailable
mov edx, r9d
mov rcx, rbx
call fcn.1401456fc
jmp 0x14003e149
mov byte [rbx], 0
mov rax, qword [rax + 0x18]
cmp qword [rax], 0
je 0x14003e149
mov qword [rsp + 0x178], rbp
mov qword [rsp + 0x158], rdi
mov qword [rsp + 0x150], r12
xor r12d, r12d
mov qword [rsp + 0x148], r14
mov r14d, r12d
mov qword [rsp + 0x140], r15
mov r15d, r12d
nop dword [rax]
mov ebp, r12d
mov rdi, r12
cmp r12w, word [rsi + 0x12]
jge 0x14003e0b6
nop dword [rax]
mov rax, qword [rsi + 0x18]
lea rdx, [0x1401c98d8]
mov rcx, qword [rax + r14]
movzx r8d, byte [rcx + rdi]
lea rcx, [rsp + 0x20]
call fcn.140049270
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r12b
jne 0x14003e085
mov r9d, 0xff
lea r8, [rsp + 0x20]
sub r9, rax
mov edx, 0x100
mov rcx, rbx
call fcn.140138cf8
movsx eax, word [rsi + 0x12]
inc ebp
inc rdi
cmp ebp, eax
jl 0x14003e060
mov rax, 0xffffffffffffffff
nop dword [rax]
cmp byte [rbx + rax + 1], r12b
lea rax, [rax + 1]
jne 0x14003e0c0
mov byte [rax + rbx - 1], r12b
mov rax, qword [rsi + 0x18]
cmp qword [rax + r14 + 8], r12
je 0x14003e10c
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r12b
jne 0x14003e0e2
mov r9d, 0xff
lea r8, [0x1401c98dc]
sub r9, rax
mov edx, 0x100
mov rcx, rbx
call fcn.140138cf8
mov rax, qword [rsi + 0x18]
inc r15
lea r14, [r15*8]
cmp qword [r14 + rax], r12
jne 0x14003e050
mov r15, qword [rsp + 0x140]
mov r14, qword [rsp + 0x148]
mov r12, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x158]
mov rbp, qword [rsp + 0x178]
mov rsi, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.140132620
add rsp, 0x160
pop rbx
ret