joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140002410
Capabilities:
Encode data using xor
Execute command

Disassembly:
sub rsp, 0x88
movups xmm1, xmmword [0x140090e28]
movups xmm0, xmmword [str.ES____T]
movups xmmword [rsp + 0x40], xmm1
psrldq xmm1, 0xf
movd eax, xmm1
movups xmmword [rsp + 0x30], xmm0
test al, al
je 0x14000260d
xor ecx, ecx
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x1400025d0
movdqa xmm0, xmmword [0x1400911f0]
lea rdx, [rsp + 0x34]
movdqa xmm5, xmmword [0x140091030]
mov eax, 4
movdqa xmm4, xmmword [0x1400912c0]
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm7
movdqa xmm7, xmmword [0x140091050]
movd xmm6, eax
mov eax, Ordinal_33
movdqa xmmword [rsp + 0x20], xmm0
mov r8d, dword [rsp + 0x20]
movaps xmmword [rsp + 0x50], xmm8
movd xmm8, eax
nop dword [rax]
nop word [rax + rax]
movd xmm2, ecx
lea eax, [rcx + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add ecx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1400910a0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rdx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400910a0]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rdx - 8]
xorps xmm2, xmm0
movd dword [rdx - 8], xmm2
cmp ecx, 0x20
jl 0x1400024b0
movaps xmm8, xmmword [rsp + 0x50]
lea rcx, [rsp + 0x30]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x70]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add rsp, 0x88
ret
lea r8, [rsp + 0x30]
nop word [rax + rax]
mov eax, 0x4d4873ed
lea r8, [r8 + 1]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x35
movzx eax, cl
inc ecx
sub al, dl
add al, 0x31
xor byte [r8 - 1], al
cmp ecx, 0x20
jl 0x1400025e0
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add rsp, 0x88
ret
Function at 0x140002620
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 0x18], rbp
push rsi
sub rsp, 0x160
mov rax, qword [0x14009d080]
xor rax, rsp
mov qword [rsp + 0x150], rax
xor edx, edx
mov dword [rsp + 0x20], 0x130
mov rsi, rcx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbp, rax
cmp rax, 0xffffffffffffffff
jne 0x140002665
xor eax, eax
jmp 0x140002756
mov qword [rsp + 0x170], rbx
lea rdx, [rsp + 0x20]
mov rcx, rbp
mov qword [rsp + 0x178], rdi
call qword [sym.imp.KERNEL32.dll_Process32First]
lea rax, [rsp + 0x4c]
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [rax + rbx], 0
jne 0x140002690
cmp qword [rsi + 0x18], 0x10
mov rcx, rsi
mov rdi, qword [rsi + 0x10]
jb 0x1400026aa
mov rcx, qword [rsi]
cmp rbx, rdi
lea rdx, [rsp + 0x4c]
mov r8, rdi
cmovb r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400026cd
cmp rdi, rbx
jb 0x1400026cd
jbe 0x140002777
lea rdx, [rsp + 0x20]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
je 0x14000273b
nop
lea rax, [rsp + 0x4c]
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400026f0
cmp qword [rsi + 0x18], 0x10
mov rcx, rsi
mov rdi, qword [rsi + 0x10]
jb 0x14000270a
mov rcx, qword [rsi]
cmp rbx, rdi
lea rdx, [rsp + 0x4c]
mov r8, rdi
cmovb r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140002729
cmp rdi, rbx
jb 0x140002729
jbe 0x140002777
lea rdx, [rsp + 0x20]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x1400026e0
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov rbx, qword [rsp + 0x170]
mov rdi, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.14007d530
mov rbp, qword [rsp + 0x180]
add rsp, 0x160
pop rsi
ret
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x28]
jmp 0x140002746

Function at 0x140003c50
Capabilities:
Print debug messages

Disassembly:
sub rsp, 0x28
lea rcx, str._s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x140003c63
add rsp, 0x28
ret
Function at 0x140007f40
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x20
cmp byte [rdx + 0x48], 0
mov rbx, rcx
je 0x140007f66
xor eax, eax
lea r8d, [rax + 0x50]
xor byte [rax + rdx], r8b
inc rax
cmp rax, 0x47
jb 0x140007f51
mov byte [rdx + 0x48], 0
call fcn.14001a6f0
mov rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x140009cb0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
mov rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov rdi, rcx
mov dword [rsp + 0x20], 0x3c202335
xor edx, edx
mov dword [rsp + 0x24], 0x776c7526
mov word [rsp + 0x28], 0x100
nop dword [rax]
lea eax, [rdx + 0x50]
xor byte [rsp + rdx + 0x20], al
inc rdx
cmp rdx, 8
jb 0x140009ce0
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x29], 0
mov rcx, rbx
call fcn.14001a6f0
mov rdx, rdi
mov rcx, rbx
call fcn.14001a6f0
lea rdx, [0x14001aaf0]
mov rcx, rax
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 rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140009da7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140009da7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140009da2
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x140009d80
cmp r8d, 0x2fa62ca8
je 0x140009dac
test r9d, r9d
jne 0x140009d60
mov rax, qword [rax]
jmp 0x140009d30
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov ecx, 0xbb8
add rax, r10
call rax
mov rbx, qword [rsp + 0x40]
mov qword [0], 1
add rsp, 0x30
pop rdi
ret
Function at 0x140009df0
Capabilities:
Access peb ldr_data
Encode data using xor
Get kernel32 base address
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push rdi
sub rsp, 0x40
mov eax, dword [0x14009e510]
xor edi, edi
mov dword [0x14009e4f8], eax
mov rax, qword [0x14009e450]
test rax, rax
jne 0x14000a004
mov rax, qword gs:[0x60]
mov r8d, edi
mov qword [rsp + 0x60], rbx
mov ebx, 0xf4d8b55
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x38], rsi
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
mov eax, dword [rsi + 0x58]
sub ax, 8
test r8d, r8d
je 0x140009e9d
mov rcx, qword [rsi + 0x60]
mov edx, 0x811c9dc5
movzx eax, ax
shr rax, 1
lea r9, [rcx + rax*2]
cmp rcx, r9
je 0x140009e94
nop word [rax + rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r9
jne 0x140009e80
cmp edx, r8d
jne 0x140009fc7
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
mov r11d, ecx
shr r15, 0x20
add r11, r10
cmp r11, r10
je 0x140009fc7
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x140009fc7
mov r14d, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov edx, 0x811c9dc5
lea rax, [r14 + r9*4]
mov ecx, dword [rax + r10]
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140009f17
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140009f00
cmp edx, ebx
je 0x140009f25
test r9d, r9d
jne 0x140009ee0
jmp 0x140009fc7
mov ecx, dword [r11 + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
cmp rax, r11
jbe 0x140009fdf
lea rcx, [r15 + r11]
cmp rax, rcx
jae 0x140009fdf
movzx ecx, byte [rax]
mov r8d, 0x811c9dc5
mov dword [rsp + 0x58], r8d
mov edx, r8d
mov dword [rsp + 0x5c], edx
cmp cl, 0x2e
je 0x140009f8d
nop
movsx ecx, cl
inc rax
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rax]
cmp cl, 0x2e
jne 0x140009f70
mov dword [rsp + 0x58], r8d
movzx ecx, byte [rax + 1]
inc rax
test cl, cl
je 0x140009fba
nop dword [rax + rax]
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax]
test cl, cl
jne 0x140009fa0
mov dword [rsp + 0x5c], edx
mov rbx, qword [rsp + 0x58]
mov rsi, qword [r12]
shr rbx, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140009fdc
cmp qword [rax + 0x30], rdi
jne 0x140009e51
mov rax, rdi
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov qword [0x14009e450], rax
call rax
mov ecx, dword [0x14009e4f8]
mov dword [0x14009e510], eax
test ecx, ecx
je 0x14000a05b
sub eax, ecx
cmp eax, 0x1770
jbe 0x14000a05b
mov dword [rsp + 0x50], 0x363f3804
mov word [rsp + 0x54], 0x100
nop
lea eax, [rdi + 0x50]
xor byte [rsp + rdi + 0x50], al
inc rdi
cmp rdi, 4
jb 0x14000a030
lea rcx, [rsp + 0x50]
mov byte [rsp + 0x55], 0
call fcn.140009cb0
mov qword [0], 1
xor eax, eax
add rsp, 0x40
pop rdi
ret
Function at 0x14000d130
Capabilities:
Access peb ldr_data
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x14009e4d0]
test rax, rax
jne 0x14000d358
xor r9d, r9d
mov dword [rsp + 0x28], r9d
mov eax, 0xfaba0065
mov dword [rsp + 0x24], eax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rdx, qword [rcx + 0x10]
mov r11, qword [rdx]
mov qword [rsp + 0x48], r11
mov r15, r11
mov qword [rsp + 0x50], r11
mov rcx, r11
nop dword [rax + rax]
movups xmm0, xmmword [rcx + 0x58]
movups xmmword [rsp + 0x58], xmm0
movd ecx, xmm0
sub cx, 8
mov word [rsp + 0x58], cx
test r9d, r9d
je 0x14000d1e6
mov rdx, qword [rsp + 0x60]
movzx ecx, cx
shr rcx, 1
lea r10, [rdx + rcx*2]
mov r8d, 0x811c9dc5
mov qword [rsp + 0x38], rdx
cmp rdx, r10
je 0x14000d1dd
movsx ecx, byte [rdx]
xor ecx, r8d
imul r8d, ecx, 0x1000193
add rdx, 2
jmp 0x14000d1c0
cmp r8d, r9d
jne 0x14000d331
mov rbx, qword [r11 + 0x30]
mov qword [rsp + 0x68], rbx
movsxd rcx, dword [rbx + 0x3c]
mov r14, qword [rcx + rbx + 0x88]
mov qword [rsp + 0xa8], r14
mov r10d, r14d
add r10, rbx
mov qword [rsp + 0x70], r10
shr r14, 0x20
mov dword [rsp + 0x78], r14d
cmp r10, rbx
je 0x14000d331
mov edi, dword [r10 + 0x18]
mov dword [rsp + 0x20], edi
nop dword [rax + rax]
mov ecx, edi
dec edi
mov dword [rsp + 0x20], edi
test ecx, ecx
je 0x14000d331
mov edx, dword [r10 + 0x20]
add rdx, rbx
mov r8d, dword [rdx + rdi*4]
add r8, rbx
mov qword [rsp + 0x40], r8
mov edx, 0x811c9dc5
nop dword [rax + rax]
movsx ecx, byte [r8]
inc r8
mov qword [rsp + 0x40], r8
test cl, cl
jne 0x14000d324
cmp edx, eax
jne 0x14000d31f
mov ecx, dword [r10 + 0x1c]
add rcx, rbx
mov eax, dword [r10 + 0x24]
add rax, rbx
movzx eax, word [rax + rdi*2]
mov edx, dword [rcx + rax*4]
add rdx, rbx
cmp rdx, r10
jbe 0x14000d34e
lea rax, [r10 + r14]
cmp rdx, rax
jae 0x14000d34e
mov r9d, 0x811c9dc5
mov dword [rsp + 0xa0], r9d
mov eax, r9d
mov dword [rsp + 0xa4], eax
mov r8d, eax
mov qword [rsp + 0x30], rdx
movsx ecx, byte [rdx]
cmp cl, 0x2e
je 0x14000d2ec
xor ecx, r8d
imul r9d, ecx, 0x1000193
mov r8d, r9d
mov dword [rsp + 0xa0], r9d
inc rdx
jmp 0x14000d2c5
inc rdx
mov qword [rsp + 0x30], rdx
movsx ecx, byte [rdx]
test cl, cl
je 0x14000d30c
xor ecx, eax
imul eax, ecx, 0x1000193
mov dword [rsp + 0xa4], eax
jmp 0x14000d2ec
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x28], r9d
mov r11, qword [r15]
mov qword [rsp + 0x48], r11
jmp 0x14000d331
jmp 0x14000d230
xor ecx, edx
imul edx, ecx, 0x1000193
jmp 0x14000d260
mov r11, qword [r11]
mov rcx, r11
mov qword [rsp + 0x48], r11
cmp r11, r15
je 0x14000d34c
cmp qword [r11 + 0x30], 0
jne 0x14000d190
xor edx, edx
mov qword [0x14009e4d0], rdx
mov rax, rdx
mov ecx, 0x13333337
call rax
jmp 0x14000d363
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
Function at 0x14000ed30
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x30
mov rax, qword [0x14009d080]
xor rax, rsp
mov qword [rsp + 0x28], rax
xor r14d, r14d
mov dword [rsp + 0x20], r14d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r11, rsi
nop dword [rax + rax]
mov r9, qword [r11 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000edf8
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000edf8
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov eax, dword [rax + r9]
add rax, r9
movzx ecx, byte [rax]
inc rax
test cl, cl
je 0x14000edf3
nop dword [rax]
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax - 1]
test cl, cl
jne 0x14000edd0
cmp edx, 0x4cfe97c1
je 0x14000eebb
test r8d, r8d
jne 0x14000edb0
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x14000ee0d
cmp qword [rax + 0x30], r14
jne 0x14000ed80
mov rbp, r14
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r11, rsi
nop word [rax + rax]
mov r9, qword [r11 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000eea4
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000eea4
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000ee9f
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x14000ee80
cmp edx, 0x6dd8a845
je 0x14000eed7
test r8d, r8d
jne 0x14000ee60
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x14000eeef
cmp qword [rax + 0x30], r14
jne 0x14000ee30
jmp 0x14000eeef
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov ebp, dword [rcx + rdx*4]
add rbp, r9
jmp 0x14000ee10
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov r14d, dword [rcx + rdx*4]
add r14, r9
call r14
lea rdx, [rsp + 0x20]
mov rcx, rax
call rbp
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.14007d530
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret
Function at 0x14000ef30
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x500
mov rax, qword [0x14009d080]
xor rax, rsp
mov qword [rsp + 0x4f0], rax
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x4d0
call sub.VCRUNTIME140.dll_memset
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r11, rsi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [r11 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000f008
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000f008
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov eax, dword [rax + r9]
add rax, r9
movzx ecx, byte [rax]
inc rax
test cl, cl
je 0x14000f003
nop dword [rax]
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax - 1]
test cl, cl
jne 0x14000efe0
cmp edx, 0x9bc5a608
je 0x14000f12e
test r8d, r8d
jne 0x14000efc0
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x14000f01e
cmp qword [rax + 0x30], 0
jne 0x14000ef90
xor eax, eax
call rax
mov dword [rsp + 0x50], 0x100010
mov rbp, rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rbx, rsi
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x14000f0c8
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x14000f0c8
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000f0c3
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x14000f0a0
cmp edx, 0x85cca27e
je 0x14000f14a
test r8d, r8d
jne 0x14000f080
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x14000f0de
cmp qword [rax + 0x30], 0
jne 0x14000f050
xor eax, eax
lea rdx, [rsp + 0x20]
mov rcx, rbp
call rax
test eax, eax
je 0x14000f168
cmp qword [rsp + 0x68], 0
jne 0x14000f127
cmp qword [rsp + 0x70], 0
jne 0x14000f127
cmp qword [rsp + 0x78], 0
jne 0x14000f127
cmp qword [rsp + 0x80], 0
jne 0x14000f127
cmp qword [rsp + 0x88], 0
jne 0x14000f127
cmp qword [rsp + 0x90], 0
je 0x14000f168
mov eax, 1
jmp 0x14000f16a
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x14000f020
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x14000f0e0
xor eax, eax
mov rcx, qword [rsp + 0x4f0]
xor rcx, rsp
call fcn.14007d530
lea r11, [rsp + 0x500]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x14000fc30
Capabilities:
Get token membership

Disassembly:
push rbx
sub rsp, 0x80
mov rax, qword [0x14009d080]
xor rax, rsp
mov qword [rsp + 0x78], rax
xor ebx, ebx
mov dword [rsp + 0x68], 0
lea rax, [rsp + 0x60]
mov word [rsp + 0x6c], 0x500
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x68]
mov dword [rsp + 0x48], ebx
mov r9d, 0x220
mov dword [rsp + 0x40], ebx
lea r8d, [rbx + 0x20]
mov dword [rsp + 0x38], ebx
mov dl, 2
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
call qword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
je 0x14000fcbf
mov rdx, qword [rsp + 0x60]
lea r8, [rsp + 0x70]
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
test eax, eax
jne 0x14000fcb0
mov dword [rsp + 0x70], ebx
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_FreeSid]
mov ebx, dword [rsp + 0x70]
test ebx, ebx
setne al
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14007d530
add rsp, 0x80
pop rbx
ret
Function at 0x140018cf0
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x30
xor eax, eax
mov rbx, rdx
cmp byte [rcx + 0xf], al
je 0x140018d13
lea edx, [rax + 0x50]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0xe
jb 0x140018d00
mov byte [rcx + 0xf], 0
lea r8, [rcx + 0xe]
mov rdx, rcx
mov rcx, rbx
lea r9, [rsp + 0x48]
call fcn.14001b100
mov rax, rbx
add rsp, 0x30
pop rbx
ret

Function at 0x140019120
Capabilities:
Write file on windows

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r15, rdx
mov rdi, rcx
je 0x140019148
add rsp, 0x20
pop r15
pop rdi
pop rbx
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov rsi, rbx
mov qword [rsp + 0x58], r14
mov r9, qword [rax]
test r9, r9
je 0x14001916e
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x140019170
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x1400191c9
test ecx, ecx
jle 0x1400191a9
cmp rbx, rbp
mov rcx, r9
cmovl rbp, rbx
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 0x58]
add r15, rbp
sub rbx, rbp
sub dword [rax], ebp
mov rcx, qword [rdi + 0x40]
movsxd rax, ebp
add qword [rcx], rax
test rbx, rbx
jle 0x1400191c9
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x1400191c9
mov r8, rbx
mov edx, 1
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub rbx, rax
mov r14, qword [rsp + 0x58]
sub rsi, rbx
mov rbp, qword [rsp + 0x40]
mov rax, rsi
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r15
pop rdi
pop rbx
ret
Function at 0x1400191f0
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x30
mov rbp, r8
mov r14, rdx
mov rsi, rcx
test r8, r8
jg 0x140019212
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je 0x140019228
add rsp, 0x30
pop r14
pop rsi
pop rbp
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x28], rbx
mov rbx, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x140019244
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x140019246
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x140019282
mov qword [rsp + 0x20], rdi
cmp rax, rbp
mov rdi, rbp
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsi + 0x50]
add r14, rdi
sub rbx, rdi
sub dword [rax], edi
mov rcx, qword [rsi + 0x38]
movsxd rax, edi
mov rdi, qword [rsp + 0x20]
add qword [rcx], rax
cmp qword [rsi + 0x80], 0
je 0x14001931e
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x1400192bd
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rsi + 0x38]
mov qword [rax], rcx
mov rax, qword [rsi + 0x50]
mov dword [rax], edx
cmp rbx, 0xfff
jbe 0x1400192fe
nop word [rax + rax]
mov r9, qword [rsi + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add r14, rax
sub rbx, rax
cmp rax, 0xfff
jne 0x14001931e
cmp rbx, rax
ja 0x1400192d0
test rbx, rbx
je 0x14001931e
mov r9, qword [rsi + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rbx, rax
sub rbp, rbx
mov rbx, qword [rsp + 0x28]
mov rax, rbp
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret