joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400076c0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r15
sub rsp, 0x60
mov rax, qword [0x140101d00]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rbx, rdx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x20], xmm0
lea r12, [rsp + 0x88]
movabs r15, 0xff00ff00ff00ff00
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], r12
mov rdi, qword [r12]
xor rdi, r15
mov qword [rsp + 0x20], rdi
mov qword [r12], rax
xor edx, edx
lea r8d, [rax + 1]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov qword [rsp + 0x50], rax
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
sub rbx, qword [rsp + 0x50]
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
lea rax, [rsp + 0x88]
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], rax
mov rcx, qword [rax]
xor rcx, r15
mov qword [rsp + 0x38], rcx
mov qword [rax], 0
xor ecx, ecx
lea rbp, [0x140002b40]
lea rsi, [0x140000000]
mov rax, qword [0x1401039f0]
test rax, rax
je 0x1400077b0
xor edx, edx
cmp rax, rbp
je 0x14000779f
inc ecx
mov edx, ecx
mov rax, qword [rsi + rcx*8 + 0x1039f0]
test rax, rax
jne 0x140007787
jmp 0x1400077b0
mov r8, qword [rsi + rdx*8 + 0x103d10]
test r8, r8
jne 0x14000788f
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
je 0x14000786e
mov rcx, rbp
mov edx, 3
nop dword [rax + rax]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax - 0x10], xmm1
lea rcx, [rcx + 0x80]
sub rdx, 1
jne 0x1400077e0
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
mov ecx, dword [rcx + 0x70]
mov dword [rax + 0x70], ecx
mov rax, qword [0x1401039e0]
mov qword [rsi + rax*8 + 0x1039f0], rbp
mov qword [rsi + rax*8 + 0x103d10], r8
inc rax
mov qword [0x1401039e0], rax
lea rdx, [rsp + 0x50]
mov rcx, qword [sym.imp.KERNEL32.dll_FreeLibrary]
call r8
nop
xor rdi, r15
mov qword [r12], rdi
mov rax, rbx
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400a4480
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400078d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
mov dword [rsp + 0x10], edx
mov qword [r11 + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rsi, r9
mov r12, r8
mov ebx, edx
mov r14, rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
lea rax, [rsp + 0x78]
movabs r13, 0xff00ff00ff00ff00
mov qword [r11 - 0x50], r13
mov qword [r11 - 0x48], rax
mov rbp, qword [rax]
xor rbp, r13
mov qword [r11 + 0x20], rbp
mov qword [r11 - 0x58], rbp
xor edi, edi
mov qword [rax], rdi
mov ecx, dword [r9 + 0x90]
mov rdx, r9
call fcn.140007ad0
cmp dword [rsi + 0x90], edi
je 0x1400079a6
cmp dword [rsi + 0x94], edi
je 0x1400079a6
lea r15, [rax + 0x10]
lea r11, [rsp + 0x78]
mov r8d, dword [r15 - 4]
mov r10, qword [r11]
mov qword [r11], rdi
movzx edx, word [rsi + 0x14]
add rdx, 0x18
add rdx, rsi
movzx eax, word [rsi + 6]
lea rcx, [rax + rax*4]
lea r9, [rdx + rcx*8]
cmp rdx, r9
jae 0x14000799b
nop dword [rax]
mov ecx, dword [rdx + 0xc]
cmp r8, rcx
jb 0x140007992
mov eax, dword [rdx + 8]
add eax, ecx
cmp r8, rax
jb 0x1400079d0
add rdx, 0x28
cmp rdx, r9
jb 0x140007980
mov qword [r11], r10
mov rbp, qword [rsp + 0x98]
mov edi, 1
xor r13, rbp
lea rax, [rsp + 0x78]
mov qword [rax], r13
mov eax, edi
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ebp, dword [rdx + 0x14]
sub rbp, rcx
add rbp, r8
mov qword [r11], r10
add rbp, r12
je 0x14000799e
mov r8, rbp
mov edx, ebx
mov rcx, r14
call fcn.140005770
mov r14, rax
test rax, rax
je 0x140007ab6
mov ecx, dword [r15]
mov r8, r12
mov rdx, rsi
call fcn.140007ad0
mov rbx, rax
mov r8, qword [rax]
test r8, r8
je 0x140007a90
lea r13, [rsp + 0x78]
jns 0x140007a20
movzx edx, r8w
jmp 0x140007a6c
mov r10, qword [r13]
mov qword [r13], rdi
movzx eax, word [rsi + 0x14]
add rax, 0x18
add rax, rsi
movzx ecx, word [rsi + 6]
lea rdx, [rcx + rcx*4]
lea r9, [rax + rdx*8]
cmp rax, r9
jae 0x140007a5f
mov edx, dword [rax + 0xc]
cmp r8, rdx
jb 0x140007a56
mov ecx, dword [rax + 8]
add ecx, edx
cmp r8, rcx
jb 0x140007aa8
add rax, 0x28
cmp rax, r9
jb 0x140007a44
mov rcx, rdi
mov rax, r13
mov qword [rax], r10
lea rdx, [rcx + 2]
mov rcx, rbp
call fcn.1400076c0
add rax, r14
mov qword [rbx], rax
add rbx, 8
mov r8, qword [rbx]
test r8, r8
jne 0x140007a18
movabs r13, 0xff00ff00ff00ff00
add r15, 0x14
mov ebx, dword [rsp + 0x88]
mov r14, qword [rsp + 0x80]
jmp 0x14000794e
mov ecx, dword [rax + 0x14]
sub rcx, rdx
add rcx, r8
add rcx, r12
jmp 0x140007a62
mov rbp, qword [rsp + 0x98]
jmp 0x1400079ab
Function at 0x140007ad0
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
lea rdi, [rsp]
mov r10, rcx
mov rbx, qword [rdi]
mov qword [rdi], 0
movzx eax, word [rdx + 0x14]
add rax, 0x18
add rax, rdx
movzx edx, word [rdx + 6]
lea r9, [rdx + rdx*4]
lea r11, [rax + r9*8]
cmp rax, r11
jae 0x140007b22
mov edx, dword [rax + 0xc]
cmp r10, rdx
jb 0x140007b19
mov ecx, dword [rax + 8]
add ecx, edx
cmp r10, rcx
jb 0x140007b32
add rax, 0x28
cmp rax, r11
jb 0x140007b07
xor eax, eax
mov qword [rdi], rbx
mov rbx, qword [rsp + 8]
mov rdi, qword [rsp + 0x10]
ret
mov eax, dword [rax + 0x14]
sub rax, rdx
mov qword [rdi], rbx
mov rbx, qword [rsp + 8]
add rax, r10
mov rdi, qword [rsp + 0x10]
add rax, r8
ret
Function at 0x140008820
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd8
mov rax, qword [0x140101d00]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov r14, r9
mov r13, r8
mov r12, rdx
mov r15, rcx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x28], xmm0
lea rcx, [rsp + 0x118]
movabs rbx, 0xff00ff00ff00ff00
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rcx
mov rsi, qword [rcx]
xor rsi, rbx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], rsi
mov qword [rcx], rax
movzx edi, word [r9 + 0x14]
add rdi, 0x2c
movzx ebp, ax
cmp ax, word [r9 + 6]
jae 0x140008951
lea rsi, [rsp + 0x118]
add rdi, r9
nop dword [rax]
call fcn.140005ec0
mov r9, rax
mov r8d, dword [rdi - 4]
mov edx, dword [rdi]
add rdx, r13
mov ecx, dword [rdi - 8]
add rcx, r12
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rsi
mov rbx, qword [rsi]
mov rax, rbx
movabs r10, 0xff00ff00ff00ff00
xor rax, r10
mov qword [rsp + 0x40], rax
mov qword [rsi], 0
mov dword [rsp + 0x60], 1
mov dword [rsp + 0x80], r15d
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x78], r8
lea rdx, [rsp + 0x60]
mov rcx, r9
call fcn.140007e50
nop
mov qword [rsi], rbx
inc bp
lea rdi, [rdi + 0x28]
cmp bp, word [r14 + 6]
movabs rbx, 0xff00ff00ff00ff00
jb 0x1400088b0
mov rsi, qword [rsp + 0x20]
lea rcx, [rsp + 0x118]
xor rsi, rbx
mov qword [rcx], rsi
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1400a4480
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x140026150
Capabilities:
Read file via mapping

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x2d8
mov rax, qword [0x140101d00]
xor rax, rsp
mov qword [rsp + 0x2c0], rax
mov dword [rsp + 0xa8], 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r9, [rsp + 0xa8]
lea r8, [rsp + 0xb0]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_QueryFullProcessImageNameW]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 1
mov edx, 0x80000000
lea rcx, [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0xa0], rax
cmp qword [rsp + 0xa0], 0
je 0x1400261f7
cmp qword [rsp + 0xa0], 0xffffffffffffffff
jne 0x14002624e
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x50], 0
mov rax, qword [rsp + 0x2e8]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
mov rax, qword [rsp + 0x2e8]
add rax, 8
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov qword [rax], rcx
mov rax, qword [rsp + 0x2e8]
jmp 0x140026366
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 2
xor edx, edx
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
jne 0x1400262ed
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x70], 0
mov rax, qword [rsp + 0x2e8]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov qword [rax], rcx
mov rax, qword [rsp + 0x2e8]
add rax, 8
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
mov qword [rax], rcx
mov rax, qword [rsp + 0x2e8]
jmp 0x140026366
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, 4
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x2e8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa0]
mov qword [rax], rcx
mov rax, qword [rsp + 0x2e8]
add rax, 8
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x98]
mov qword [rax], rcx
mov rax, qword [rsp + 0x2e8]
mov rcx, qword [rsp + 0x2c0]
xor rcx, rsp
call fcn.1400a4480
add rsp, 0x2d8
ret
Function at 0x140027140
Capabilities:
Enumerate gui resources
Terminate process

Disassembly:
sub rsp, 0x38
xor edx, edx
lea rcx, [0x140028200]
call qword [sym.imp.USER32.dll_EnumWindows]
call fcn.140027710
call fcn.140027730
call fcn.140027eb0
call fcn.14004b5a0
call fcn.1400361e0
call fcn.140027810
call fcn.140027300
xor eax, eax
add rax, 0x7b
mov ecx, 1
imul rcx, rcx, 0
lea rdx, [0x1400ac5dc]
movsx rcx, byte [rdx + rcx]
xor rcx, rax
mov rax, rcx
mov byte [rsp + 0x20], al
mov eax, 1
add rax, 0x7b
mov ecx, 1
imul rcx, rcx, 1
lea rdx, [0x1400ac5dc]
movsx rcx, byte [rdx + rcx]
xor rcx, rax
mov rax, rcx
mov byte [rsp + 0x21], al
mov eax, 2
add rax, 0x7b
mov ecx, 1
imul rcx, rcx, 2
lea rdx, [0x1400ac5dc]
movsx rcx, byte [rdx + rcx]
xor rcx, rax
mov rax, rcx
mov byte [rsp + 0x22], al
mov eax, 3
add rax, 0x7b
mov ecx, 1
imul rcx, rcx, 3
lea rdx, [0x1400ac5dc]
movsx rcx, byte [rdx + rcx]
xor rcx, rax
mov rax, rcx
mov byte [rsp + 0x23], al
mov eax, 4
add rax, 0x7b
mov ecx, 1
imul rcx, rcx, 4
lea rdx, [0x1400ac5dc]
movsx rcx, byte [rdx + rcx]
xor rcx, rax
mov rax, rcx
mov byte [rsp + 0x24], al
mov byte [rsp + 0x25], 0
mov byte [rsp + 0x26], 1
lea rcx, [rsp + 0x20]
call fcn.140036730
lea rax, [rsp + 0x20]
xor edx, edx
mov rcx, rax
call fcn.140031cd0
movzx eax, al
test eax, eax
je 0x14002727c
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov dword [0], 0x1565
xor ecx, ecx
int 0x29
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x14002729d
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov dword [0], 0x1565
xor ecx, ecx
int 0x29
call fcn.140027be0
test eax, eax
je 0x1400272bd
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov dword [0], 0x1565
xor ecx, ecx
int 0x29
call fcn.140027ce0
test eax, eax
je 0x1400272dd
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov dword [0], 0x1565
xor ecx, ecx
int 0x29
call fcn.140027710
add rsp, 0x38
ret
Function at 0x140027320
Capabilities:
Accept command line arguments
Create process on windows

Disassembly:
push rdi
sub rsp, 0x1a0
mov rax, qword [0x140101d00]
xor rax, rsp
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x50], 0
lea rax, [rsp + 0x58]
mov rdi, rax
xor eax, eax
mov ecx, Ordinal_26
rep stosb byte [rdi], al
lea rax, [rsp + 0x70]
mov rdi, rax
xor eax, eax
mov ecx, 0x68
rep stosb byte [rdi], al
lea rax, [rsp + 0xe0]
mov rdi, rax
xor eax, eax
mov ecx, 0xb0
rep stosb byte [rdi], al
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_GetStartupInfoW]
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
mov r8d, 0x10002
mov edx, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_ContinueDebugEvent]
mov edx, 0xffffffff
lea rcx, [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_WaitForDebugEvent]
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.1400a4480
add rsp, 0x1a0
pop rdi
ret

Function at 0x140027730
Capabilities:
Terminate process

Disassembly:
push rdi
sub rsp, 0x510
mov rax, qword [0x140101d00]
xor rax, rsp
mov qword [rsp + 0x500], rax
mov dword [rsp + 0x20], 0
lea rax, [rsp + 0x30]
mov rdi, rax
xor eax, eax
mov ecx, 0x4d0
rep stosb byte [rdi], al
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x60], 0x100010
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
je 0x1400277d2
cmp qword [rsp + 0x78], 0
jne 0x1400277ca
cmp qword [rsp + 0x80], 0
jne 0x1400277ca
cmp qword [rsp + 0x88], 0
jne 0x1400277ca
cmp qword [rsp + 0x90], 0
jne 0x1400277ca
cmp qword [rsp + 0x98], 0
jne 0x1400277ca
cmp qword [rsp + 0xa0], 0
je 0x1400277d2
mov dword [rsp + 0x20], 1
cmp dword [rsp + 0x20], 0
je 0x1400277f0
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov dword [0], 0x1565
xor ecx, ecx
int 0x29
mov rcx, qword [rsp + 0x500]
xor rcx, rsp
call fcn.1400a4480
add rsp, 0x510
pop rdi
ret
Function at 0x140027810
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x58
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
je 0x14002799d
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 0x14]
mov rcx, qword [rsp + 0x40]
lea rax, [rcx + rax + 0x18]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], 0
jmp 0x14002788a
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x30]
add rax, 0x28
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 6]
cmp dword [rsp + 0x20], eax
jge 0x14002799d
xor eax, eax
add rax, 0x7b
mov ecx, 1
imul rcx, rcx, 0
lea rdx, str..SCY
movsx rcx, byte [rdx + rcx]
xor rcx, rax
mov rax, rcx
mov byte [rsp + 0x24], al
mov eax, 1
add rax, 0x7b
mov ecx, 1
imul rcx, rcx, 1
lea rdx, str..SCY
movsx rcx, byte [rdx + rcx]
xor rcx, rax
mov rax, rcx
mov byte [rsp + 0x25], al
mov eax, 2
add rax, 0x7b
mov ecx, 1
imul rcx, rcx, 2
lea rdx, str..SCY
movsx rcx, byte [rdx + rcx]
xor rcx, rax
mov rax, rcx
mov byte [rsp + 0x26], al
mov eax, 3
add rax, 0x7b
mov ecx, 1
imul rcx, rcx, 3
lea rdx, str..SCY
movsx rcx, byte [rdx + rcx]
xor rcx, rax
mov rax, rcx
mov byte [rsp + 0x27], al
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x29], 1
lea rcx, [rsp + 0x24]
call fcn.1400366b0
lea rax, [rsp + 0x24]
mov rax, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
lea rcx, [rsp + 0x24]
sub rcx, rax
movzx edx, byte [rax]
cmp dl, byte [rax + rcx]
jne 0x140027978
inc rax
test dl, dl
jne 0x140027965
xor eax, eax
jmp 0x14002797d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140027998
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov dword [0], 0x1565
xor ecx, ecx
int 0x29
jmp 0x140027872
add rsp, 0x58
ret
Function at 0x140027be0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Get system information on windows

Disassembly:
push rdi
sub rsp, 0x80
mov rax, qword [0x140101d00]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x40]
mov rdi, rax
xor eax, eax
mov ecx, Ordinal_50
rep stosb byte [rdi], al
mov dword [rsp + 0x70], 0
mov qword [rsp + 0x20], 0
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x44]
mov r9d, 0x40
mov r8d, 0x3000
mov edx, eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140027c59
xor eax, eax
jmp 0x140027cc3
mov rdi, qword [rsp + 0x20]
mov eax, 0xc3
mov ecx, 1
rep stosb byte [rdi], al
mov eax, dword [rsp + 0x44]
lea r9, [rsp + 0x70]
mov r8d, 0x140
mov edx, eax
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x140027c8e
xor eax, eax
jmp 0x140027cc3
call qword [rsp + reloc.WLDAP32.dll_Ordinal_32]
jmp 0x140027cab
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, 1
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1400a4480
add rsp, 0x80
pop rdi
ret
Function at 0x140028f50
Capabilities:
Terminate process

Disassembly:
mov dword [rsp + 8], ecx
sub rsp, 0x38
mov r8d, dword [rsp + 0x40]
xor edx, edx
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140028f7b
xor al, al
jmp 0x140028faa
xor edx, edx
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
test eax, eax
je 0x140028f9d
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
jmp 0x140028faa
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
add rsp, 0x38
ret
Function at 0x1400361e0
Capabilities:
Allocate or change rwx memory

Disassembly:
push rdi
sub rsp, 0x70
mov rax, qword [0x140101d00]
xor rax, rsp
mov qword [rsp + 0x60], rax
lea rcx, [0x1400ae640]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
jne 0x140036216
xor eax, eax
jmp 0x14003631b
lea rdx, str.DbgUiRemoteBreakin
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x14003623c
xor eax, eax
jmp 0x14003631b
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jne 0x14003625d
xor eax, eax
jmp 0x14003631b
lea rdx, [0x1400ae678]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
jne 0x140036283
xor eax, eax
jmp 0x14003631b
lea rax, [rsp + 0x48]
mov rdi, rax
xor eax, eax
mov ecx, reloc.WS2_32.dll_sendto
rep stosb byte [rdi], al
mov eax, 0x6a
mov word [rsp + 0x48], ax
mov byte [rsp + 0x4a], 0x68
mov dword [rsp + 0x4c], 0xffffffff
mov byte [rsp + 0x50], 0xb8
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x54], eax
mov eax, 0xd0ff
mov word [rsp + 0x58], ax
lea r9, [rsp + 0x40]
mov r8d, 4
mov edx, reloc.WS2_32.dll_sendto
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1400362e5
xor eax, eax
jmp 0x14003631b
mov r9d, reloc.WS2_32.dll_sendto
lea r8, [rsp + 0x48]
mov edx, reloc.WS2_32.dll_sendto
mov rcx, qword [rsp + 0x20]
call fcn.140053540
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + 0x40]
mov edx, reloc.WS2_32.dll_sendto
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400a4480
add rsp, 0x70
pop rdi
ret
Function at 0x14004b510
Capabilities:
Access peb ldr_data

Disassembly:
sub rsp, 0x28
mov rax, qword gs:[0x60]
mov qword [rsp + 8], rax
mov rax, qword [rsp + 8]
mov rax, qword [rax + 0x18]
mov ecx, 8
imul rcx, rcx, 1
mov rax, qword [rax + rcx + 8]
mov qword [rsp + 0x10], rax
xor eax, eax
mov ecx, 8
imul rcx, rcx, 0
add rax, rcx
mov rcx, qword [rsp + 0x10]
sub rcx, rax
mov rax, rcx
mov qword [rsp], rax
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rsp]
lea rax, [rcx + rax + 0x38]
mov qword [rsp + 0x18], rax
mov rax, qword [rsp]
mov rax, qword [rax + 0x30]
movabs rcx, 0x100000000
add rax, rcx
mov rcx, qword [rsp + 0x18]
mov dword [rcx], eax
xor eax, eax
add rsp, 0x28
ret

Function at 0x14004b5a0
Capabilities:
Allocate or change rwx memory

Disassembly:
push rdi
sub rsp, 0x60
mov rax, qword [0x140101d00]
xor rax, rsp
mov qword [rsp + 0x58], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jne 0x14004b5cf
jmp 0x14004b735
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x40], rax
mov ecx, 8
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 0x14]
mov rcx, qword [rsp + 0x40]
lea rax, [rcx + rax + 0x18]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0
jmp 0x14004b63c
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x20]
add rax, 0x28
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 6]
cmp dword [rsp + 0x28], eax
jae 0x14004b6db
lea r9, [rsp + 0x50]
mov r8d, 0x40
mov edx, Ordinal_41
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0xff
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x20]
mov byte [rdx + rcx], al
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x20]
mov byte [rcx + rax], 0
mov rax, qword [rsp + 0x20]
mov dword [rax + 0xc], 0
mov rax, qword [rsp + 0x20]
mov dword [rax + 8], 0
mov rax, qword [rsp + 0x20]
mov dword [rax + 8], 0
lea r9, [rsp + 0x50]
mov r8d, dword [rsp + 0x50]
mov edx, Ordinal_41
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
jmp 0x14004b624
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x48]
mov rdi, rax
xor eax, eax
mov ecx, 8
rep stosb byte [rdi], al
lea r9, [rsp + 0x54]
mov r8d, 0x40
mov edx, 8
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
lea r9, [rsp + 0x54]
mov r8d, dword [rsp + 0x54]
mov edx, 8
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400a4480
add rsp, 0x60
pop rdi
ret