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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r14
sub rsp, 0xd0
mov rax, qword [0x14013b1d0]
xor rax, rsp
mov qword [rsp + 0xc0], rax
inc dword [rcx + 0x1f4]
mov r14d, r8d
cmp dword [rcx + 0x1f4], 1
mov rdi, rdx
mov rsi, rcx
jne 0x1400e2d95
xor ecx, ecx
call fcn.1400f8b88
mov rbx, rax
call sub.KERNEL32.dll_GetCurrentProcessId
xor eax, ebx
mov ecx, eax
call fcn.1400f8ad8
mov r8d, 0x80
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.140089dcc
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400e2eec
xor ebp, ebp
mov r12d, 0xfffd
call fcn.1400f8aac
mov ebx, dword [rsi + 0x1f0]
mov rcx, rsi
sar eax, 7
and ebx, r12d
movzx edi, al
or ebx, 2
mov edx, edi
call fcn.1400e2f48
mov eax, ebx
xor eax, 1
imul eax, ebx
shr eax, 8
xor al, dil
mov byte [rsp + rbp + 0x30], al
inc rbp
cmp rbp, 0xa
jl 0x1400e2dbd
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400e2eec
xor ebp, ebp
mov edi, dword [rsi + 0x1f0]
mov rcx, rsi
movzx ebx, byte [rsp + rbp + 0x30]
and edi, r12d
mov edx, ebx
or edi, 2
call fcn.1400e2f48
mov eax, edi
xor eax, 1
imul eax, edi
shr eax, 8
xor al, bl
mov byte [rsp + rbp + 0x30], al
inc rbp
cmp rbp, 0xa
jl 0x1400e2e08
mov edx, 0x80
lea rcx, [rsp + 0x40]
call fcn.14008a03c
mov edi, dword [rsi + 0x1f0]
mov ebx, r14d
shr ebx, 0x10
and edi, r12d
movzx edx, bl
mov rcx, rsi
or edi, 2
call fcn.1400e2f48
mov eax, edi
shr r14d, 0x18
xor eax, 1
mov edx, r14d
imul eax, edi
mov rcx, rsi
shr eax, 8
xor al, bl
mov ebx, dword [rsi + 0x1f0]
and ebx, r12d
mov byte [rsp + 0x3a], al
or ebx, 2
call fcn.1400e2f48
and dword [rsp + 0x20], 0
lea rdx, [rsp + 0x30]
mov eax, ebx
mov r9d, 0xc
xor eax, 1
mov rcx, rsi
imul eax, ebx
lea r8d, [r9 - 0xb]
shr eax, 8
xor al, r14b
mov byte [rsp + 0x3b], al
call fcn.1400e1db4
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1400ec220
mov rbx, qword [rsp + 0x118]
add rsp, 0xd0
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret

Function at 0x1400e2f48
Capabilities:
Generate random numbers using the delphi lcg

Disassembly:
mov qword [rsp + 8], rbx
mov r9d, dword [rcx + 0x1e8]
lea rbx, [0x1401d7fb0]
mov r10, rcx
mov eax, edx
mov r11d, edx
mov r8d, r9d
xor r8, rax
shr r9d, 8
movzx eax, r8b
mov edx, dword [r10 + 0x1f0]
mov r8d, dword [rbx + rax*4]
xor r8d, r9d
mov dword [rcx + 0x1e8], r8d
movzx eax, r8b
add eax, dword [rcx + 0x1ec]
imul ecx, eax, 0x8088405
inc ecx
mov dword [r10 + 0x1ec], ecx
shr rcx, 0x18
xor rcx, rdx
shr edx, 8
movzx eax, cl
mov eax, dword [rbx + rax*4]
mov rbx, qword [rsp + 8]
xor eax, edx
mov dword [r10 + 0x1f0], eax
mov eax, r11d
ret
Function at 0x1400e2fc4
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x30
cmp byte [0x140153750], 0
mov rbp, r9
mov r14, r8
mov r15, rdx
mov rsi, rcx
je 0x1400e3053
cmp byte [rcx + 4], 0
je 0x1400e3010
mov edx, ebp
lea r8, [rcx + 8]
imul edx, r14d
mov rcx, r15
call fcn.1400b315c
jmp 0x1400e3053
mov rdi, r14
mov r12, r15
imul rdi, rbp
test rdi, rdi
je 0x1400e3053
mov ebx, dword [rsi + 0x1f0]
mov rcx, rsi
movsx edx, byte [r12]
and ebx, 0xfffd
or ebx, 2
call fcn.1400e2f48
mov eax, ebx
xor eax, 1
imul eax, ebx
shr eax, 8
xor byte [r12], al
inc r12
sub rdi, 1
jne 0x1400e301f
and dword [rsp + 0x20], 0
mov r9, rbp
mov r8, r14
mov rdx, r15
mov rcx, rsi
call fcn.1400e1db4
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r12
ret

Function at 0x1400eadc0
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbx, rdx
mov rcx, rdx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400eadf8
test al, 0x10
jne 0x1400eadf4
and eax, 0xffffffdf
mov rcx, rbx
mov edx, eax
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x1400eadf8
mov al, 1
jmp 0x1400eae0e
mov rdx, qword [rdi + 0x64b7d8]
mov r8, rbx
mov ecx, 0x10
call fcn.1400128c4
xor al, al
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x1400fdce0
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 8], rcx
push rbp
mov rbp, rsp
sub rsp, 0x20
test rcx, rcx
jne 0x1400fdb80
call fcn.1400f67c0
mov dword [rax], 0x16
call fcn.1400fa680
or eax, 0xffffffff
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop rbp
ret
mov eax, dword [rcx + 0x14]
shr eax, 0xd
test al, 1
je 0x1400fdb68
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
shr ecx, 0xc
test cl, 1
jne 0x1400fdb68
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
mov rax, qword [rbp + 0x10]
shr ecx, 1
test cl, 1
je 0x1400fdbb2
lock or dword [rax + 0x14], 0x10
jmp 0x1400fdb68
lock or dword [rax + 0x14], 1
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
test ecx, 0x4c0
jne 0x1400fdbcf
mov rcx, qword [rbp + 0x10]
call fcn.140102550
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 8]
mov qword [rax], rcx
mov rbx, qword [rbp + 0x10]
mov rcx, rbx
call fcn.1400f7d8c
mov rdx, qword [rbp + 0x10]
mov ecx, eax
mov r8d, dword [rdx + 0x20]
mov rdx, qword [rdx + 8]
call fcn.1400f55e4
mov dword [rbx + 0x10], eax
mov rax, qword [rbp + 0x10]
mov edx, dword [rax + 0x10]
lea ecx, [rdx + 1]
cmp ecx, 1
ja 0x1400fdc26
neg edx
sbb ecx, ecx
and ecx, 8
add ecx, 8
lock or dword [rax + 0x14], ecx
mov rax, qword [rbp + 0x10]
and dword [rax + 0x10], 0
jmp 0x1400fdb68
mov ecx, dword [rax + 0x14]
test cl, 6
jne 0x1400fdc92
mov rcx, qword [rbp + 0x10]
call fcn.1400f7d8c
cmp eax, 0xffffffff
je 0x1400fdc79
mov rcx, qword [rbp + 0x10]
call fcn.1400f7d8c
cmp eax, 0xfffffffe
je 0x1400fdc79
mov rbx, qword [rbp + 0x10]
mov rcx, rbx
call fcn.1400f7d8c
movsxd rdi, eax
lea rsi, [0x1401d9190]
mov rcx, rbx
sar rdi, 6
call fcn.1400f7d8c
and eax, 0x3f
shl rax, 6
add rax, qword [rsi + rdi*8]
jmp 0x1400fdc80
lea rax, [0x14013b5c0]
mov al, byte [rax + 0x38]
and al, 0x82
cmp al, 0x82
jne 0x1400fdc92
mov rax, qword [rbp + 0x10]
lock or dword [rax + 0x14], 0x20
mov rax, qword [rbp + 0x10]
cmp dword [rax + 0x20], 0x200
jne 0x1400fdcc8
mov ecx, dword [rax + 0x14]
shr ecx, 6
test cl, 1
je 0x1400fdcc4
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
shr ecx, 8
test cl, 1
jne 0x1400fdcc4
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x20], 0x1000
mov rax, qword [rbp + 0x10]
dec dword [rax + 0x10]
mov rcx, qword [rax]
movzx edx, byte [rcx]
inc rcx
mov qword [rax], rcx
mov eax, edx
jmp 0x1400fdb6b
jmp 0x1400fdb38
Function at 0x65644860
Capabilities:
Access peb ldr_data

Disassembly:
sub rsp, 0x70
mov qword [rsp + 0x68], rbp
lea rbp, [rsp + 0x68]
mov rax, qword gs:[0x28]
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
mov rcx, qword [rax + 0x30]
cmp qword [rcx + 0x90], rax
jne 0x65644a04
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x30]
nop
inc dword [rcx + 0x244]
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
mov rdx, qword [rcx + 0x30]
nop
mov rbx, rcx
mov qword [rdx + 0x138], rcx
mov rcx, qword [rbx + 0x30]
mov qword [rbx + 0xd8], rcx
mov rcx, qword [rax + 0x30]
movups xmm0, xmmword [rcx + 0x2e0]
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [rcx + 0x2f0]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rcx + 0x300]
movups xmmword [rsp + 0x40], xmm0
mov rcx, qword [rax + 0x70]
mov qword [rsp + 0x50], rcx
mov rdx, qword [rax + 0x78]
mov qword [rsp + 0x18], rdx
call fcn.656a2400
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x30]
mov byte [rcx + 0xe8], 0
mov rcx, qword [rax + 0x30]
xor edx, edx
xchg dword [rcx + 0x350], edx
mov rcx, qword [rsp + 0x78]
mov qword [rsp], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x10], rcx
call fcn.65644a60
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x30]
mov qword [rsp + 0x58], rcx
jmp 0x6564498f
nop
mov rax, qword [0x657e6290]
mov qword [rsp], rax
mov dword [rsp + 8], 0
call fcn.656a9100
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov rdx, rax
xor eax, eax
mov ebx, 1
lock cmpxchg dword [rcx + 0x350], ebx
sete sil
test sil, sil
je 0x6564496c
mov rax, qword [rdx + 0x30]
mov byte [rax + 0xe8], 1
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x18]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.656819c0
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x30]
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rax + 0x2e0], xmm0
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rax + 0x2f0], xmm0
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + 0x300], xmm0
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
call fcn.65678a60
lea rax, [0x6575117a]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1e
nop dword [rax]
call fcn.656794e0
call fcn.65678b00
mov dword [rsp], 2
call fcn.65672c00
mov rax, qword [rsp + 0x60]
nop dword [rax + rax]
jmp 0x65644894
Function at 0x65661800
Capabilities:
Hash data using murmur3

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
cmp byte [0x658298f3], 0
jne 0x65661965
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
sub rdx, qword [rbx + 0x18]
nop
test rdx, rdx
jne 0x6566190e
xor eax, eax
nop
nop
nop
mov rcx, rax
shr rax, 3
and rcx, 7
mov edx, 1
shl edx, cl
nop
add rax, qword [rbx + 0x50]
lock or byte [rax], dl
nop
nop
mov rcx, qword [rbx + 0x18]
nop
movabs rdx, 0x800000000000
lea rax, [rdx + rcx]
mov rdx, rax
shr rax, 0x2a
cmp rax, 0x40
jae 0x6566195a
lea rbx, [0x6580b798]
mov rax, qword [rbx + rax*8]
shr rdx, 0x16
and rdx, 0xfffff
mov rdx, qword [rax + rdx*8]
test byte [rdx], al
test byte [rax], al
mov rax, rcx
shr rcx, 0x10
and rcx, 0x3f
movzx ebx, byte [rdx + rcx + 0x21040]
lea rdx, [rdx + rcx]
lea rdx, [rdx + 0x21040]
shr rax, 0xd
and rax, 7
mov rcx, rax
mov esi, 1
shl esi, cl
test sil, bl
jne 0x656618cf
lock or byte [rdx], sil
mov rax, qword gs:[0x28]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
mov rax, qword [rax + 0xa0]
test byte [rax], al
mov rcx, qword [rsp + 0x30]
add qword [rax + 0x16a8], rcx
mov rcx, qword [rsp + 0x38]
add qword [rax + 0x16b0], rcx
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
cmp word [rbx + 0x5e], 0
je 0x6566192a
movzx ecx, byte [rbx + 0x65]
cmp cl, 0x40
sbb rax, rax
shr rdx, cl
and rax, rdx
jmp 0x65661835
movzx ecx, byte [rbx + 0x65]
cmp cl, 0x40
sbb rax, rax
movzx esi, byte [rbx + 0x66]
cmp sil, 0x40
sbb rdi, rdi
shr rdx, cl
and rax, rdx
movzx edx, word [rbx + 0x5c]
imul rax, rdx
mov ecx, esi
shr rax, cl
and rax, rdi
jmp 0x65661835
mov ecx, 0x40
nop
call fcn.656a7a60
lea rax, [0x657536d4]
mov qword [rsp], rax
mov qword [rsp + 8], 0x2c
call fcn.65677280
nop
int3
Function at 0x65668d40
Capabilities:
Access peb ldr_data

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x65668fae
sub rsp, 0x58
mov qword [rsp + 0x50], rbp
lea rbp, [rsp + 0x50]
nop
lea rax, [0x65812150]
mov qword [rsp], rax
call fcn.6564be40
lea rax, [0x658120c0]
mov qword [rsp], rax
call fcn.65659b40
mov rax, qword [rsp + 8]
mov qword [rsp + 0x48], rax
nop
nop
lea rcx, [0x65812150]
mov qword [rsp], rcx
call fcn.6564c0a0
mov rax, qword [rsp + 0x48]
mov byte [rax + 0xa], 1
lea rdi, [rax + 0x10]
cmp dword [0x65829b40], 0
jne 0x65668f9f
mov rcx, qword [rsp + 0x68]
mov qword [rax + 0x10], rcx
mov qword [rsp + 0x40], rdi
mov rcx, qword [rsp + 0x70]
mov qword [rax + 0x18], rcx
cmp dword [0x65829b40], 0
nop dword [rax]
jne 0x65668f78
mov rcx, qword [rsp + 0x78]
mov qword [rax + 0x20], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rax + 0x28], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.656688a0
cmp byte [rsp + 0x10], 0
je 0x65668f16
cmp dword [0x65829930], 0
jne 0x65668e34
mov byte [rsp + 0x88], 1
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
mov rax, qword [rsp + 0x60]
mov qword [rsp], rax
xorps xmm0, xmm0
movups xmmword [rsp + 8], xmm0
call fcn.65654500
mov rax, qword gs:[0x28]
mov rax, qword [rax]
mov rcx, qword [rax + 0x30]
mov rdx, qword [rsp + 0x18]
nop
inc dword [rcx + 0xd8]
mov rcx, qword [rax + 0x30]
mov qword [rsp + 0x30], rcx
mov rbx, qword [rcx + 0xa0]
test byte [rbx], al
test byte [rax], al
mov qword [rsp], rdx
lea rax, [rbx + 0x1698]
mov qword [rsp + 0x38], rax
mov qword [rsp + 8], rax
call fcn.656608a0
mov rax, qword [rsp + 0x40]
mov qword [rsp], rax
mov qword [rsp + 8], 8
lea rax, [0x6570b041]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], 0
call fcn.65660700
nop
mov rax, qword gs:[0x28]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x30]
mov edx, dword [rcx + 0xd8]
lea ebx, [rdx - 1]
mov dword [rcx + 0xd8], ebx
cmp edx, 1
jne 0x65668e22
cmp byte [rax + 0xb1], 0
je 0x65668e22
mov qword [rax + 0x10], 0xfffffffffffffade
jmp 0x65668e22
nop
nop
lea rax, [0x65812150]
mov qword [rsp], rax
call fcn.6564be40
nop
mov rax, qword [0x658120f0]
sub rax, qword [0x658120c0]
mov qword [0x658120f0], rax
mov rax, qword [0x658120d8]
mov rcx, qword [rsp + 0x48]
mov qword [rcx], rax
mov qword [0x658120d8], rcx
nop
nop
lea rax, [0x65812150]
mov qword [rsp], rax
call fcn.6564c0a0
mov byte [rsp + 0x88], 0
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
lea rcx, [rax + 0x20]
mov rdi, rcx
mov rbx, qword [rsp + 0x78]
call fcn.656a76e0
lea rdi, [rax + 0x28]
mov rcx, qword [rsp + 0x80]
call fcn.656a76a0
jmp 0x65668dfb
mov rcx, qword [rsp + 0x68]
call fcn.656a76a0
jmp 0x65668dc8
call fcn.656a5840
jmp fcn.65668d40
Function at 0x65692020
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
mov rcx, qword [rsp + 0x28]
test rcx, rcx
jbe 0x656921d9
mov rdx, qword [rsp + 0x20]
movzx ebx, byte [rdx]
test ebx, ebx
jne 0x65692056
movzx esi, byte [rsp + 0x48]
test sil, sil
je 0x65692187
bt ebx, 7
nop word [rax + rax]
jae 0x65692179
xor eax, eax
xor ebx, ebx
xor esi, esi
jmp 0x65692080
lea esi, [rcx + 7]
mov rcx, rax
mov eax, r8d
nop word [rax + rax]
cmp rcx, rax
jbe 0x656921d4
movzx edi, byte [rax + rdx]
lea r8d, [rax + 1]
mov r9d, edi
and edi, 0x7f
mov rax, rcx
mov ecx, esi
shl edi, cl
or ebx, edi
test r9b, 0x80
jne 0x6569206e
mov esi, ebx
and ebx, 1
neg ebx
shr esi, 1
xor ebx, esi
mov rsi, qword [rsp + 0x40]
add dword [rsi], ebx
nop dword [rax + rax]
cmp rax, r8
jb 0x656921c9
sub rax, r8
mov rbx, qword [rsp + 0x30]
sub rbx, r8
mov rsi, rbx
neg rbx
sar rbx, 0x3f
and r8, rbx
lea rbx, [rdx + r8]
test rax, rax
jbe 0x656921bf
movzx edx, byte [rdx + r8]
bt edx, 7
jae 0x65692171
xor ecx, ecx
xor edx, edx
xor edi, edi
nop
jmp 0x65692108
lea edi, [rcx + 7]
mov ecx, r9d
cmp rax, rcx
jbe 0x656921b2
movzx r8d, byte [rcx + rbx]
lea r9d, [rcx + 1]
mov r10d, r8d
and r8d, 0x7f
mov ecx, edi
shl r8d, cl
or edx, r8d
test r10b, 0x80
jne 0x65692102
cmp rax, r9
jb 0x656921a7
mov rcx, qword [rsp + 0x38]
add qword [rcx], rdx
sub rsi, r9
mov rcx, rsi
neg rsi
sar rsi, 0x3f
and rsi, r9
lea rdx, [rbx + rsi]
mov qword [rsp + 0x50], rdx
sub rax, r9
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rcx
mov byte [rsp + 0x68], 1
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov r9d, 1
jmp 0x6569212f
mov rax, rcx
mov r8d, 1
jmp 0x656920a6
mov qword [rsp + 0x50], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x68], 0
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov rcx, rax
mov eax, r9d
call fcn.656a7b00
mov rdx, rax
mov eax, ecx
mov rcx, rdx
call fcn.656a7a40
mov rcx, rax
xor eax, eax
call fcn.656a7a40
mov rcx, rax
mov eax, r8d
call fcn.656a7b00
call fcn.656a7a40
xor eax, eax
nop dword [rax + rax]
call fcn.656a7a40
nop
int3
Function at 0x65699360
Capabilities:
Access peb ldr_data

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x65699441
sub rsp, 0x60
mov qword [rsp + 0x58], rbp
lea rbp, [rsp + 0x58]
mov rax, qword gs:[0x28]
mov rax, qword [rax]
mov qword [rsp + 8], 0
mov qword [rsp + 0x10], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x18], xmm0
movups xmmword [rsp + 0x28], xmm0
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x48], xmm0
lea rcx, [0x656a1220]
mov qword [rsp + 0x10], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x18], rcx
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 8]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x10]
mov qword [rsp], rax
call fcn.656a56e0
mov rax, qword [rsp + 8]
mov qword [rsp + 0x88], rax
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
nop
ret
call fcn.656a5840
jmp fcn.65699360
Function at 0x656a7420
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x656432c0
sub rsp, 0x28
mov qword [rsp + 0x20], rbp
lea rbp, [rsp + 0x20]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rsp], rcx
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rax
call fcn.6564a420
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x40], rax
mov rbp, qword [rsp + 0x20]
add rsp, 0x28
ret
call fcn.656a5840
jmp 0x65643260
cmp byte [0x658298f2], 0
je 0x656a743f
mov rax, qword [rsp + 8]
mov rcx, qword [rax + 8]
mov rax, qword [rax]
lea rdx, [rsp + 0x18]
jmp 0x656a4880
jmp 0x65643260

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

Disassembly:
mov rax, qword [0x65829b80]
nop
mov rcx, qword [rsp + 8]
mov ecx, dword [rcx]
mov rdx, qword [rsp + 0x10]
lea rax, [rdx + rax*4]
xor rax, rcx
shl rcx, 0x20
xor rcx, rax
movabs rax, 0xea38ec9079f01541
imul rax, rcx
rol rax, 0x1f
movabs rcx, 0x2723a30d96da1399
imul rcx, rax
mov rax, rcx
shr rcx, 0x1d
xor rcx, rax
movabs rax, 0x83cf8eadf876d2d7
imul rax, rcx
mov rcx, rax
shr rax, 0x20
xor rax, rcx
mov qword [rsp + 0x18], rax
ret
cmp byte [0x658298f2], 0
je 0x656a749c
mov rax, qword [rsp + 8]
movq xmm0, qword [rsp + 0x10]
pinsrd xmm0, dword [rax], 2
aesenc xmm0, xmmword [0x65829e00]
aesenc xmm0, xmmword [0x65829e10]
aesenc xmm0, xmmword [0x65829e20]
movq qword [rsp + 0x18], xmm0
ret
jmp 0x6564a6a0

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

Disassembly:
mov rax, qword [0x65829b80]
mov rcx, qword [rsp + 8]
mov rcx, qword [rcx]
mov rdx, qword [rsp + 0x10]
lea rax, [rdx + rax*8]
xor rcx, rax
movabs rax, 0xea38ec9079f01541
imul rax, rcx
rol rax, 0x1f
movabs rcx, 0x2723a30d96da1399
imul rcx, rax
mov rax, rcx
shr rcx, 0x1d
xor rax, rcx
movabs rcx, 0x83cf8eadf876d2d7
imul rcx, rax
mov rax, rcx
shr rcx, 0x20
xor rax, rcx
mov qword [rsp + 0x18], rax
ret
cmp byte [0x658298f2], 0
je 0x656a74fd
mov rax, qword [rsp + 8]
movq xmm0, qword [rsp + 0x10]
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x65829e00]
aesenc xmm0, xmmword [0x65829e10]
aesenc xmm0, xmmword [0x65829e20]
movq qword [rsp + 0x18], xmm0
ret
jmp 0x6564a720
Function at 0x656c5620
Capabilities:
Encode data using base64

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
mov rdx, qword [rsp + 0x20]
mov rbx, qword [rdx + 8]
lea rsi, [rbx + 0x2e]
imul rsi, rsi, 0xffffffffffffffe4
movabs rax, 0x5816058160581606
mov rcx, rdx
imul rsi
sar rdx, 5
sar rsi, 0x3f
sub rdx, rsi
lea rsi, [rdx + 0x15c]
sar rsi, 0x3f
shr rsi, 0x3d
lea rdx, [rsi + rdx]
lea rdx, [rdx + 0x15c]
sar rdx, 3
cmp rdx, 0x57
jae 0x656c56f9
lea rsi, [rdx + rdx*2]
lea rdi, [0x657194c0]
mov r8, qword [rdi + rsi*8 + 8]
lea r9, [r8 + rbx]
lea r9, [r9 + 0x40]
cmp r9, 0xffffffffffffffc4
jge 0x656c56a2
inc rdx
nop
jmp 0x656c5678
cmp r9, 0xffffffffffffffe0
jle 0x656c56ad
dec rdx
jmp 0x656c5678
mov rbx, qword [rdi + rsi*8]
mov rax, qword [rcx]
mov rsi, rdx
mul rbx
shr rax, 0x3f
add rdx, rax
mov qword [rcx], rdx
mov rdx, qword [rcx + 8]
lea rdx, [rdx + r8]
lea rdx, [rdx + 0x40]
mov qword [rcx + 8], rdx
mov rcx, rsi
shl rsi, 3
lea rdx, [rsi - 0x15c]
neg rdx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], rcx
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov rax, rdx
mov ecx, 0x57
call fcn.656a7a40
nop
int3
Function at 0x656cfa80
Capabilities:
Hash data using fnv

Disassembly:
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov edx, dword [rsp + 8]
xor ebx, ebx
jmp 0x656cfaa1
movzx esi, byte [rax + rbx]
inc rbx
imul edx, edx, 0x1000193
xor edx, esi
cmp rcx, rbx
jg 0x656cfa92
mov dword [rsp + 0x28], edx
ret

Function at 0x656df8a0
Capabilities:
Encode data using xor

Disassembly:
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x20]
test rdx, 0xf
jne 0x656df90b
mov rax, 0
movdqu xmm0, xmmword [rsi + rax]
movdqu xmm1, xmmword [rcx + rax]
pxor xmm0, xmm1
movdqu xmmword [rbx + rax], xmm0
add rax, 0x10
cmp rdx, rax
jne 0x656df8c4
ret
sub rdx, 1
mov dil, byte [rsi + rdx]
mov al, byte [rcx + rdx]
xor dil, al
mov byte [rbx + rdx], dil
test rdx, 7
jne 0x656df8e1
cmp rdx, 0
je 0x656df92d
test rdx, 0xf
je 0x656df8bd
test rdx, 7
jne 0x656df8e1
sub rdx, 8
mov rdi, qword [rsi + rdx]
mov rax, qword [rcx + rdx]
xor rdi, rax
mov qword [rbx + rdx], rdi
cmp rdx, 0x10
jge 0x656df8bd
ret
Function at 0x656e2140
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov rcx, qword [rsp + 8]
mov rax, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x20]
movups xmm1, xmmword [rax]
movups xmm0, xmmword [rbx]
add rax, 0x10
pxor xmm0, xmm1
sub rcx, 0xc
je 0x656e217f
jb 0x656e2194
movups xmm1, xmmword [rax]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x10]
aesenc xmm0, xmm1
add rax, 0x20
movups xmm1, xmmword [rax]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x10]
aesenc xmm0, xmm1
add rax, 0x20
movups xmm1, xmmword [rax]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x10]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x20]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x30]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x40]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x50]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x60]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x70]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x80]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x90]
aesenclast xmm0, xmm1
movups xmmword [rdx], xmm0
ret

Function at 0x656e2200
Capabilities:
Decrypt data using aes via x86 extensions

Disassembly:
mov rcx, qword [rsp + 8]
mov rax, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x20]
movups xmm1, xmmword [rax]
movups xmm0, xmmword [rbx]
add rax, 0x10
pxor xmm0, xmm1
sub rcx, 0xc
je 0x656e223f
jb 0x656e2254
movups xmm1, xmmword [rax]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x10]
aesdec xmm0, xmm1
add rax, 0x20
movups xmm1, xmmword [rax]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x10]
aesdec xmm0, xmm1
add rax, 0x20
movups xmm1, xmmword [rax]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x10]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x20]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x30]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x40]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x50]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x60]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x70]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x80]
aesdec xmm0, xmm1
movups xmm1, xmmword [rax + 0x90]
aesdeclast xmm0, xmm1
movups xmmword [rdx], xmm0
ret