joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140004c10
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
push rbp
lea rbp, [rsp - 0x4f0]
sub rsp, 0x5f0
mov rax, qword [0x140008438]
xor rax, rsp
mov qword [rbp + 0x4e0], rax
mov ecx, 0x17
call qword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
test eax, eax
je 0x140004c4c
mov ecx, 5
int 0x29
mov ecx, 2
call fcn.1400038d0
xorps xmm0, xmm0
lea rcx, [rbp + 0x10]
xor eax, eax
xor edx, edx
mov r8d, 0x4d0
mov qword [rbp], rax
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
call sub.msvcrt.dll_memset
lea rax, [rsp + 0x70]
mov qword [rsp + 0x48], rax
lea rcx, [rbp + 0x10]
lea rax, [rbp + 0x10]
mov qword [rsp + 0x50], rax
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
mov rbx, qword [rbp + 0x108]
lea rdx, [rsp + 0x40]
mov rcx, rbx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_RtlLookupFunctionEntry]
test rax, rax
je 0x140004d08
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x38], 0
mov r9, rax
mov qword [rsp + 0x30], rcx
mov r8, rbx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0x10]
mov qword [rsp + 0x20], rcx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_RtlVirtualUnwind]
mov rax, qword [rbp + 0x4f8]
mov qword [rbp + 0x108], rax
lea rax, [rbp + 0x4f8]
add rax, 8
mov dword [rsp + 0x70], 0xc0000417
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0x4f8]
mov qword [rbp - 0x80], rax
mov dword [rsp + 0x74], 1
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
xor ecx, ecx
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
test eax, eax
jne 0x140004d6e
test ebx, ebx
jne 0x140004d6e
lea ecx, [rax + 2]
call fcn.1400038d0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xc0000417
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, qword [rbp + 0x4e0]
xor rcx, rsp
call fcn.1400030e0
mov rbx, qword [rsp + 0x600]
add rsp, 0x5f0
pop rbp
ret
Function at 0x140817791
Capabilities:
Encrypt data using rc4 prga

Disassembly:
pop r10
not ebx
call fcn.1407dccc4
lea rsp, [rsp + 0x30]
jne 0x14081777b
jmp 0x1407fe0bd
jmp 0x1407e0bf1
jmp 0x140805a3b
inc word [rsp + 9]
push 0x51b178aa
mov qword [rsp + 8], 0x6d05238a
shr ebx, 8
shr word [rsp + 0xc], 0xae
jae 0x14081668f
dec rdi
jmp 0x1407f455a
mov byte [r10], al
push 0xffffffffa5972217
jmp 0x140824d0a
ja 0x1407f4639
xor ebx, r11d
inc rcx
push 0xffffffffcd3ce72e
xor ebx, 0x3482fb88
ror byte [rsp + 0x1e], 0x42
push 0x7e8b8708
jae 0x140805083
xor r8b, r10b
lea r10, [rsp + r10 + 0x30]
jmp 0x140801003
mov r11d, 0x34ee80
bts r11d, r11d
sbb r11, r11
adc r11b, byte [rcx + r11*2]
call fcn.140803c8c
mov eax, dword [r10]
mov edx, 0xe0910581
movzx ecx, dl
and rdx, rcx
mov ecx, dword [r10 + rdx*4 - 0x200]
lea rbx, [rdx*2 + 0x632ecb04]
add rbx, 0xffffffffdc1860ac
cpuid
sbb r10, 7
mov dword [r10 + 0xc], eax
push 0x6c080fbb
mov dword [r10 + 8], ebx
mov dword [r10 + 4], ecx
push 0xffffffff872c4808
mov dword [r10], edx
push 0xffffffffd58a5803
push 0x3786e5a5
lea rsp, [rsp + 0x20]
jmp fcn.1407f055b
call fcn.1407ec6c7
lea rsp, [rsp + 0x40]
jmp fcn.1407e9404
xor cl, r10b
push 0x49176282
sal word [rsp + 0x11], 0xc3
je 0x140801e10
not cl
dec cl
call fcn.1407e296d
Function at 0x140001b58
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140001ba2
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140001ba2
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140001ba2
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140001ba2
cmp dword [rcx + 0x84], 0xe
jbe 0x140001ba2
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140001ba4
xor al, al
add rsp, 0x28
ret

Function at 0x140e89058
Capabilities:
Decompress data using aplib

Disassembly:
call 0x140e891df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x140e89089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140e8906f
add dl, dl
jne 0x140e89096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140e890f6
xor eax, eax
add dl, dl
jne 0x140e890a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140e891ad
add dl, dl
jne 0x140e890b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140e890c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140e890d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140e890dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x140e890ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x140e8907e
mov eax, 1
add dl, dl
jne 0x140e89106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140e89113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140e890fb
sub eax, ebx
mov ebx, 1
jne 0x140e8914c
mov ecx, 1
add dl, dl
jne 0x140e8912e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x140e8913b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140e89123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140e8907e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x140e89168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x140e89175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140e8915d
cmp eax, 0x7d00
jae 0x140e8919b
cmp eax, 0x500
jb 0x140e89196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140e8907e
cmp eax, 0x7f
ja 0x140e8919e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140e8907e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x140e891d2
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x140e8907e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x140001000
Capabilities:
Enumerate processes
Execute command

Disassembly:
push rbx
sub rsp, 0x160
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x150], rax
xor edx, edx
lea rcx, [rsp + 0x24]
mov r8d, 0x12c
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov dword [rsp + 0x20], 0x130
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x140001093
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Error_creating_snapshot:
mov ebx, eax
call fcn.140001260
mov rcx, rax
mov edx, ebx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, [0x140001430]
call qword [sym.imp.MSVCP140.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]
lea rcx, str.PAUSE
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov eax, 0xffffffff
jmp 0x1400010e2
lea rdx, [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x1400010d7
nop word [rax + rax]
lea rdx, [rsp + 0x4c]
lea rcx, str.League_of_Legends.exe
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
mov rcx, rbx
test eax, eax
je 0x1400010fb
lea rdx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x1400010b0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.140001480
add rsp, 0x160
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x28]
jmp 0x1400010e2
Function at 0x140001110
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x28
call section..text
test eax, eax
jne 0x140001160
mov qword [rsp + 0x20], rbx
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Waiting_for_League_of_Legends...
call fcn.140001260
mov rcx, rax
lea rdx, [0x140001430]
call qword [sym.imp.MSVCP140.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]
call section..text
mov ecx, 0x1388
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_Sleep]
test ebx, ebx
je 0x140001122
mov rbx, qword [rsp + 0x20]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.14.10_League_Version_found__
call fcn.140001260
mov rcx, rax
lea rdx, [0x140001430]
call qword [sym.imp.MSVCP140.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 [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Injecting_into_League_of_Legends...
call fcn.140001260
mov rcx, rax
lea rdx, [0x140001430]
call qword [sym.imp.MSVCP140.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 ecx, 0x2710
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.GadzoSense_Succesfully_injected_into_14.10
call fcn.140001260
mov rcx, rax
lea rdx, [0x140001430]
call qword [sym.imp.MSVCP140.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 ecx, 0xbb8
call qword [sym.imp.KERNEL32.dll_Sleep]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
Function at 0x140001d48
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140001d92
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140001d92
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140001d92
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140001d92
cmp dword [rcx + 0x84], 0xe
jbe 0x140001d92
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140001d94
xor al, al
add rsp, 0x28
ret
Function at 0x140002850
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x168]
sub rsp, 0x250
mov rax, qword [0x140011010]
xor rax, rsp
mov qword [rbp + 0x140], rax
xor r15d, r15d
lea rax, [rsp + 0x30]
mov qword [r8], r15
lea rdx, [rsp + 0x30]
sub rcx, rax
mov r14, r8
mov r9d, 0x104
lea rax, [r9 + 0x7ffffefa]
test rax, rax
je 0x1400028c1
movzx eax, word [rcx + rdx]
test ax, ax
je 0x1400028c1
mov word [rdx], ax
add rdx, 2
sub r9, 1
jne 0x14000289f
test r9, r9
lea rax, [rdx - 2]
lea r8, [0x14000dad0]
cmovne rax, rdx
lea rcx, [rsp + 0x30]
mov word [rax], r15w
call fcn.140005644
mov ebx, 0x1f0003
lea r8, [rsp + 0x30]
mov ecx, ebx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_OpenSemaphoreW]
mov rdi, rax
test rax, rax
jne 0x140002929
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x14000290d
mov esi, r15d
jmp 0x140002964
mov rcx, qword [rbp + 0x168]
lea r8, [0x14000dc94]
mov edx, 0xc9
call fcn.140005628
mov esi, eax
jmp 0x140002964
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], r15d
mov rcx, rdi
mov dword [rsp + 0x24], r15d
call fcn.1400026e8
mov esi, eax
test eax, eax
jns 0x14000299b
lfence
mov rcx, qword [rbp + 0x168]
lea r8, [0x14000dc94]
mov r9d, eax
mov edx, 0xcf
call fcn.1400059d8
test rdi, rdi
jne 0x140002a43
mov eax, esi
mov rcx, qword [rbp + 0x140]
xor rcx, rsp
call fcn.140006320
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
lea r8, [0x14000dad8]
lea rcx, [rsp + 0x30]
call fcn.140005644
lea r8, [rsp + 0x30]
xor edx, edx
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_OpenSemaphoreW]
mov rbx, rax
test rax, rax
jne 0x1400029df
mov rcx, qword [rbp + 0x168]
lea r8, [0x14000dc94]
mov edx, 0xd5
call fcn.140005628
mov esi, eax
jmp 0x140002a43
lea rdx, [rsp + 0x24]
mov rcx, rbx
call fcn.1400026e8
mov esi, eax
lfence
test eax, eax
jns 0x140002a1f
mov rcx, qword [rbp + 0x168]
lea r8, [0x14000dc94]
mov r9d, eax
mov edx, 0xd7
call fcn.1400059d8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x140002a67
jmp 0x140002a43
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x140002a55
movsxd rcx, dword [rsp + 0x24]
mov esi, r15d
movsxd rax, dword [rsp + 0x20]
shl rcx, 0x1f
or rcx, rax
mov qword [r14], rcx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x140002a79
jmp 0x14000296d
mov rcx, qword [rbp + 0x168]
mov edx, 0x93e
call fcn.1400062f8
int3
mov rcx, qword [rbp + 0x168]
mov edx, 0x93e
call fcn.1400062f8
int3
mov rcx, qword [rbp + 0x168]
mov edx, 0x93e
call fcn.1400062f8
int3
Function at 0x140006d54
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140006d9e
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140006d9e
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140006d9e
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140006d9e
cmp dword [rcx + 0x84], 0xe
jbe 0x140006d9e
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140006da0
xor al, al
add rsp, 0x28
ret

Function at 0x14000b010
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x14000b038
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x14000b038
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret
Function at 0x14002d868
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x14010fe60]
test rax, rax
je 0x14002d88a
call rax
mov al, 1
jmp 0x14002d9e6
xor r9d, r9d
mov dword [rbp - 0x30], 0xf458b276
mov cl, 0x76
mov dword [rbp - 0x2c], 0x1f55ca58
mov dword [rbp - 0x28], 0xd526da
movabs rbx, 0x8080808080808081
lea r10d, [r9 + 0xa]
movsx eax, cl
inc eax
movsxd r8, eax
lea rax, [r9 + 0xa]
imul r8, rax
mov rax, rbx
mul r8
shr rdx, 7
imul rax, rdx, 0xff
movsx rdx, cl
sub r8, rax
mov al, r9b
and al, 7
shl al, 3
mov cl, al
mov rax, rbx
sar rdx, cl
mov rcx, r10
xor r8b, dl
mul r10
add r10, 0xa
shr rdx, 7
imul rax, rdx, 0xff
sub rcx, rax
xor r8b, cl
xor byte [rbp + r9 - 0x2f], r8b
inc r9
cmp r10, 0x6e
jae 0x14002d91b
mov cl, byte [rbp - 0x30]
jmp 0x14002d8b2
lea rcx, [rbp - 0x2f]
mov byte [rbp - 0x25], 0
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov r9, rax
test rax, rax
je 0x14002d9e4
movdqa xmm0, xmmword [0x1400f91c0]
xor eax, eax
movdqu xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x10], 0xae5d0138
xor r10d, r10d
mov word [rbp - 0xc], 0x56be
lea r11d, [rax + 0x15]
mov byte [rbp - 0xa], al
movsx eax, byte [rbp - 0x20]
mov cl, r10b
inc eax
and cl, 7
movsxd r8, eax
lea rax, [r10 + 0x15]
imul r8, rax
shl cl, 3
mov rax, rbx
mul r8
shr rdx, 7
imul rax, rdx, 0xff
movsx rdx, byte [rbp - 0x20]
sub r8, rax
sar rdx, cl
xor r8b, dl
mov rcx, r11
mov rax, rbx
mul r11
add r11, 0x15
shr rdx, 7
imul rax, rdx, 0xff
sub rcx, rax
xor r8b, cl
xor byte [rbp + r10 - 0x1f], r8b
inc r10
cmp r11, 0x1ce
jb 0x14002d95b
lea rdx, [rbp - 0x1f]
mov byte [rbp - 0xa], 0
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14010fe60], rax
test rax, rax
jne 0x14002d881
xor al, al
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret

Function at 0x14002d9f4
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x160
mov rax, qword [0x140103700]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov esi, ecx
xor ebx, ebx
xor edx, edx
lea ecx, [rbx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14002da6f
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x130
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Process32First]
jmp 0x14002da5c
cmp dword [rsp + 0x28], esi
je 0x14002da62
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x14002da48
jmp 0x14002da66
mov ebx, dword [rsp + 0x40]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.1400a76a0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
Function at 0x14002db04
Capabilities:
Create process on windows
Enumerate gui resources

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0xf0
mov rax, qword [0x140103700]
xor rax, rsp
mov qword [rsp + 0xe0], rax
xor edx, edx
mov rbx, rcx
lea rcx, [rsp + 0x74]
lea r8d, [rdx + 0x64]
call fcn.1400cf570
xor eax, eax
mov dword [rsp + 0x70], WSAGetLastError
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
lea rax, [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x48], rax
xor r8d, r8d
lea rax, [rsp + 0x70]
xor edx, edx
mov qword [rsp + 0x40], rax
mov rcx, rbx
and qword [rsp + 0x38], 0
and qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x8000000
and dword [rsp + 0x20], 0
movups xmmword [rsp + 0x50], xmm0
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x14002dbe0
mov edi, dword [rsp + 0x60]
xor ebx, ebx
mov rdx, rdi
lea rcx, [0x14002da98]
call qword [sym.imp.USER32.dll_EnumWindows]
cmp byte [0x14010fe58], 0
jne 0x14002dbc8
mov ecx, 5
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
cmp ebx, 0x3a98
jl 0x14002db9a
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.1400a76a0
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret

Function at 0x14002dc08
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x140103700]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rbx, rcx
mov qword [rbp - 0x30], rcx
and dword [rbp - 0x60], 0
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
and qword [rcx + 0x10], 0
and qword [rcx + 0x10], 0
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rcx], 0
mov dword [rbp - 0x60], 1
mov rcx, qword gs:[0x60]
mov qword [rbp - 0x58], rcx
movabs rax, 0x8080808080808081
mul rcx
mov rdi, rdx
shr rdi, 7
add dil, cl
xor esi, esi
lea r14, [rbp - 0x58]
mov r15d, dword [rbp - 0x60]
xor dil, byte [r14]
movzx eax, dil
mov dil, al
mov r8d, eax
lea r9, [rbp - 0x13]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14002dca0
lea r8, [rbp - 0x13]
mov rdx, r9
lea rcx, [rbp - 0x50]
call fcn.14004a020
or r15d, 6
mov dword [rbp - 0x60], r15d
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
mov rcx, rbx
call fcn.1400492c8
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x14002dd33
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002dd2e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002dd6d
call fcn.1400a76c0
inc esi
inc r14
cmp esi, 8
jb 0x14002dc8f
mov rax, rbx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1400a76a0
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.1400afe10
int3
Function at 0x140049130
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rdi
mov r9, rcx
mov r10d, 0x270
mov ecx, dword [rcx]
cmp ecx, r10d
jne 0x140049194
lea r8, [r9 + 8]
mov r11d, 0x7fffffff
mov edx, dword [r8 - 4]
xor edx, dword [r8]
lea r8, [r8 + 4]
and edx, r11d
xor edx, dword [r8 - 8]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x62c]
xor ecx, edx
mov dword [r8 + 0x9b8], ecx
sub r10, 1
jne 0x140049154
mov ecx, dword [r9]
jmp 0x140049271
cmp ecx, 0x4e0
jb 0x140049271
lea r10, [r9 + 0x9c4]
mov esi, 0xe3
mov edi, dword [r10]
mov r11d, 0x7fffffff
mov eax, edi
mov r8, r10
add r10, 4
mov edi, dword [r10]
mov edx, edi
xor edx, eax
and edx, r11d
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x634]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rsi, 1
jne 0x1400491b5
lea r10, [r9 + 0xd50]
mov esi, 0x18c
mov edi, dword [r10]
mov eax, edi
mov r8, r10
mov edx, eax
add r10, 4
mov edi, dword [r10]
xor edx, edi
and edx, r11d
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 - 0xd4c]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rsi, 1
jne 0x1400491ff
mov eax, dword [r9 + 0x1380]
mov edx, eax
xor edx, dword [r9 + 4]
and edx, r11d
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r9 + 0x634]
xor ecx, edx
mov dword [r9 + 0x9c0], ecx
xor ecx, ecx
mov dword [r9], ecx
mov rsi, qword [rsp + 8]
mov rdi, qword [rsp + 0x10]
mov eax, ecx
mov edx, dword [r9 + rax*4 + 4]
lea eax, [rcx + 1]
mov dword [r9], eax
mov ecx, edx
mov eax, dword [r9 + 0x1384]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
xor eax, edx
ret

Function at 0x140049718
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov dword [rcx + 4], edx
lea r9, [rcx + 8]
mov r8d, 1
mov r10d, 0x270
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, r8d
inc r8
mov dword [r9], edx
lea r9, [r9 + 4]
cmp r8, r10
jb 0x14004972b
mov dword [rcx], r10d
ret