joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4b5b20
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov rcx, qword [rsp + 8]
mov rax, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x20]
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
add rbx, 0x10
pxor xmm4, xmm4
cmp ecx, 0xc
je 0x4b5bf0
jb 0x4b5c4f
movups xmm2, xmmword [rax + 0x10]
movups xmmword [rbx], xmm2
add rbx, 0x10
aeskeygenassist xmm1, xmm2, 1
call fcn.004b5940
aeskeygenassist xmm1, xmm0, 1
call fcn.004b5960
aeskeygenassist xmm1, xmm2, 2
call fcn.004b5940
aeskeygenassist xmm1, xmm0, 2
call fcn.004b5960
aeskeygenassist xmm1, xmm2, 4
call fcn.004b5940
aeskeygenassist xmm1, xmm0, 4
call fcn.004b5960
aeskeygenassist xmm1, xmm2, 8
call fcn.004b5940
aeskeygenassist xmm1, xmm0, 8
call fcn.004b5960
aeskeygenassist xmm1, xmm2, 0x10
call fcn.004b5940
aeskeygenassist xmm1, xmm0, 0x10
call fcn.004b5960
aeskeygenassist xmm1, xmm2, 0x20
call fcn.004b5940
aeskeygenassist xmm1, xmm0, 0x20
call fcn.004b5960
aeskeygenassist xmm1, xmm2, 0x40
call fcn.004b5940
jmp 0x4b5cbd
movq xmm2, qword [rax + 0x10]
aeskeygenassist xmm1, xmm2, 1
call fcn.004b58a0
aeskeygenassist xmm1, xmm2, 2
call fcn.004b5900
aeskeygenassist xmm1, xmm2, 4
call fcn.004b58a0
aeskeygenassist xmm1, xmm2, 8
call fcn.004b5900
aeskeygenassist xmm1, xmm2, 0x10
call fcn.004b58a0
aeskeygenassist xmm1, xmm2, 0x20
call fcn.004b5900
aeskeygenassist xmm1, xmm2, 0x40
call fcn.004b58a0
aeskeygenassist xmm1, xmm2, 0x80
call fcn.004b5900
jmp 0x4b5cbd
aeskeygenassist xmm1, xmm0, 1
call fcn.004b5860
aeskeygenassist xmm1, xmm0, 2
call fcn.004b5860
aeskeygenassist xmm1, xmm0, 4
call fcn.004b5860
aeskeygenassist xmm1, xmm0, 8
call fcn.004b5860
aeskeygenassist xmm1, xmm0, 0x10
call fcn.004b5860
aeskeygenassist xmm1, xmm0, 0x20
call fcn.004b5860
aeskeygenassist xmm1, xmm0, 0x40
call fcn.004b5860
aeskeygenassist xmm1, xmm0, 0x80
call fcn.004b5860
aeskeygenassist xmm1, xmm0, 0x1b
call fcn.004b5860
aeskeygenassist xmm1, xmm0, 0x36
call fcn.004b5860
sub rbx, 0x10
movups xmm1, xmmword [rbx]
movups xmmword [rdx], xmm1
dec rcx
movups xmm1, xmmword [rbx - 0x10]
aesimc xmm0, xmm1
movups xmmword [rdx + 0x10], xmm0
sub rbx, 0x10
add rdx, 0x10
dec rcx
jne 0x4b5cca
movups xmm0, xmmword [rbx - 0x10]
movups xmmword [rdx + 0x10], xmm0
ret
Function at 0x4ceb00
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4cecdc
sub rsp, 0x70
mov qword [rsp + 0x68], rbp
lea rbp, [rsp + 0x68]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0xb0], r10
test rsi, rsi
je 0x4cec39
test r9, r9
je 0x4cec39
mov qword [rsp + 0x98], rsi
lea rbx, [rsi + 1]
mov qword [rsp + 0x58], rbx
cmp rcx, rbx
jl 0x4ceb5c
jae 0x4cebbb
jmp 0x4cecd0
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0xa0], r8
lea rcx, [rsi + 5]
mov qword [rsp + 0x50], rcx
lea rax, [0x0061dd20]
call fcn.00449280
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x90]
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0xa8]
mov r10, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x50]
nop dword [rax + rax]
cmp rsi, rcx
ja 0x4cecc5
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x48], rcx
mov qword [rsp], rax
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x38], r10
call fcn.004d9a40
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x58]
cmp rcx, rdx
jae 0x4cecb9
mov rsi, qword [rsp + 0x60]
mov qword [rsi + rcx*8], rax
jmp 0x4cec82
test r10, r10
jne 0x4cec42
xor edx, edx
jmp 0x4cec72
nop
cmp rcx, 1
jge 0x4cec6a
lea rax, [0x0061dd20]
mov ebx, 1
mov rcx, rbx
call fcn.00449280
mov r10, qword [rsp + 0xb0]
mov ecx, 1
mov qword [rax], r10
mov edx, 1
mov rbx, rdx
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
dec rdx
test rdx, rdx
jle 0x4cec91
mov rdi, qword [rsi + rdx*8 - 8]
test rdi, rdi
je 0x4cec7f
mov rcx, qword [rsp + 0x48]
cmp rdx, rcx
ja 0x4cecab
mov rax, rsi
mov rbx, rdx
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
mov rax, rcx
mov rcx, rdx
mov rdx, rax
call fcn.00462680
mov rax, rcx
mov rcx, rdx
nop
call fcn.00462600
mov rdx, rcx
mov rcx, rsi
call fcn.00462680
mov rdx, rcx
mov rcx, rbx
call fcn.00462680
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r10
call fcn.0045ff20
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
jmp fcn.004ceb00
Function at 0x4cf560
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4cf6b1
sub rsp, 0x58
mov qword [rsp + 0x50], rbp
lea rbp, [rsp + 0x50]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x78], rdi
cmp r9, rcx
ja 0x4cf6a5
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rcx
mov qword [rsp], rax
mov qword [rsp + 8], r9
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], r8
call fcn.004d96e0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x4cf683
mov rbx, qword [rsp + 0x90]
mov rsi, rbx
sar rbx, 1
lea rcx, [rsi + rbx]
mov rdx, qword [rsp + 0x70]
cmp rdx, rcx
jb 0x4cf6a0
cmp rsi, rcx
ja 0x4cf695
sub rdx, rsi
mov rdi, rdx
neg rdx
mov r8, rsi
shl rsi, 3
sar rdx, 0x3f
and rsi, rdx
mov rdx, qword [rsp + 0x60]
add rdx, rsi
mov rcx, qword [rsp + 0x68]
nop
cmp r8, rcx
ja 0x4cf68d
mov qword [rsp], rdx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], rdx
sub rcx, r8
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rax
call fcn.004d9820
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
mov rax, r8
call fcn.004626c0
mov rax, rsi
call fcn.004626c0
nop dword [rax]
call fcn.00462680
mov rdx, rcx
mov rcx, r9
call fcn.00462680
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
call fcn.0045ff20
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
nop dword [rax]
jmp fcn.004cf560
Function at 0x4cf720
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4cf871
sub rsp, 0x58
mov qword [rsp + 0x50], rbp
lea rbp, [rsp + 0x50]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x78], rdi
cmp r9, rcx
ja 0x4cf865
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rcx
mov qword [rsp], rax
mov qword [rsp + 8], r9
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], r8
call fcn.004d9780
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x4cf843
mov rbx, qword [rsp + 0x90]
mov rsi, rbx
sar rbx, 1
lea rcx, [rsi + rbx]
mov rdx, qword [rsp + 0x70]
cmp rdx, rcx
jb 0x4cf860
cmp rsi, rcx
ja 0x4cf855
sub rdx, rsi
mov rdi, rdx
neg rdx
mov r8, rsi
shl rsi, 3
sar rdx, 0x3f
and rsi, rdx
mov rdx, qword [rsp + 0x60]
add rdx, rsi
mov rcx, qword [rsp + 0x68]
nop
cmp r8, rcx
ja 0x4cf84d
mov qword [rsp], rdx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], rdx
sub rcx, r8
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rax
call fcn.004d98c0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
mov rax, r8
call fcn.004626c0
mov rax, rsi
call fcn.004626c0
nop dword [rax]
call fcn.00462680
mov rdx, rcx
mov rcx, r9
call fcn.00462680
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
call fcn.0045ff20
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
nop dword [rax]
jmp fcn.004cf720
Function at 0x4d48e0
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4d4a9c
sub rsp, 0x30
mov qword [rsp + 0x28], rbp
lea rbp, [rsp + 0x28]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x50], rdi
lea r9, [rsi + 7]
sar r9, 0x3f
shr r9, 0x3d
lea rbx, [r9 + rsi]
lea rbx, [rbx + 7]
sar rbx, 3
cmp rcx, rbx
jl 0x4d4927
nop
jae 0x4d499e
jmp 0x4d4a90
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x50], rdi
cmp rbx, 1
jne 0x4d496b
lea rax, [0x0061dd20]
mov ebx, 1
mov rcx, rbx
call fcn.00449280
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov ebx, 1
mov ecx, 1
jmp 0x4d499e
mov qword [rsp + 0x20], rbx
lea rcx, [rbx + 4]
mov qword [rsp + 0x18], rcx
lea rax, [0x0061dd20]
call fcn.00449280
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x18]
mov rdx, rsi
xor r9d, r9d
jmp 0x4d49b3
bswap r8
mov qword [rax + r9*8], r8
inc r9
mov r8, r10
cmp rsi, 8
jl 0x4d49e5
mov r10, r8
sub r8, rsi
add r8, 8
neg r8
sar r8, 0x3f
add rsi, 0xfffffffffffffff8
and r8, rsi
nop
mov r8, qword [rdi + r8]
cmp r9, rbx
jb 0x4d49a6
nop dword [rax + rax]
jmp 0x4d4a85
test rsi, rsi
jle 0x4d49f2
xor r8d, r8d
xor r9d, r9d
jmp 0x4d4a4e
jmp 0x4d49f7
dec rbx
test rbx, rbx
jle 0x4d4a06
mov rsi, qword [rax + rbx*8 - 8]
test rsi, rsi
je 0x4d49f4
cmp rbx, rcx
ja 0x4d4a15
mov rbp, qword [rsp + 0x28]
add rsp, 0x30
ret
mov rdx, rcx
mov rcx, rbx
nop dword [rax + rax]
call fcn.00462680
cmp r8, 0x40
sbb r11, r11
lea r12, [r8 + 8]
movzx r13d, byte [rsi + rdi - 1]
mov rsi, rcx
mov rcx, r8
shl r13, cl
and r13, r11
or r9, r13
mov rcx, rsi
mov rsi, r10
mov r8, r12
test rsi, rsi
jle 0x4d4a5e
lea r10, [rsi - 1]
cmp rdx, r10
ja 0x4d4a25
jmp 0x4d4a79
lea rsi, [rbx - 1]
cmp rbx, rsi
jbe 0x4d4a6e
mov qword [rax + rbx*8 - 8], r9
jmp 0x4d49f2
mov rax, rsi
mov rcx, rbx
call fcn.00462600
mov rax, r10
mov rcx, rdx
nop
call fcn.00462600
mov rax, r9
mov rcx, rbx
call fcn.00462600
mov rdx, rcx
mov rcx, rbx
call fcn.00462680
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
call fcn.0045ff20
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
nop dword [rax]
jmp fcn.004d48e0
Function at 0x4dd160
Capabilities:
Enumerate pe sections

Disassembly:
lea r12, [rsp - 8]
cmp r12, qword [r14 + 0x10]
jbe 0x4dd36c
sub rsp, 0x88
mov qword [rsp + 0x80], rbp
lea rbp, [rsp + 0x80]
movzx ecx, byte [rbx + 0x1b]
mov qword [rsp + 0x78], rcx
movzx edx, byte [rbx + 0x1a]
mov qword [rsp + 0x70], rdx
movzx esi, byte [rbx + 0x19]
mov qword [rsp + 0x68], rsi
movzx edi, byte [rbx + 0x18]
mov qword [rsp + 0x60], rdi
movzx r8d, byte [rbx + 0x17]
mov qword [rsp + 0x58], r8
movzx r9d, byte [rbx + 0x16]
mov qword [rsp + 0x50], r9
movzx r10d, byte [rbx + 0x15]
mov qword [rsp + 0x48], r10
movzx r11d, byte [rbx + 0x14]
mov qword [rsp + 0x40], r11
movzx r12d, byte [rbx + 0x13]
mov qword [rsp + 0x38], r12
movzx r13d, byte [rbx + 0x12]
mov qword [rsp + 0x30], r13
movzx r15d, byte [rbx + 0x11]
mov qword [rsp + 0x28], r15
movzx edi, byte [rbx + 0x10]
mov qword [rsp + 0x20], rdi
movzx esi, byte [rbx + 0xf]
movzx edx, byte [rbx + 0xe]
movzx ecx, byte [rbx + 0xd]
movzx edi, byte [rbx + 0xc]
movzx r15d, byte [rbx + 0xb]
mov qword [rsp + 0x18], r15
movzx r13d, byte [rbx + 0xa]
mov qword [rsp + 0x10], r13
movzx r12d, byte [rbx + 9]
mov qword [rsp + 8], r12
movzx r11d, byte [rbx + 8]
mov qword [rsp], r11
movzx r10d, byte [rbx + 7]
shl r10, 0x38
movzx r9d, byte [rbx + 6]
shl r9, 0x30
movzx r8d, byte [rbx + 5]
shl r8, 0x28
movzx r11d, byte [rbx + 4]
shl r11, 0x20
movzx r12d, byte [rbx + 3]
shl r12, 0x18
movzx r13d, byte [rbx + 2]
shl r13, 0x10
movzx r15d, byte [rbx + 1]
shl r15, 8
movzx ebx, byte [rbx]
add rbx, r15
add rbx, r13
add rbx, r12
add rbx, r11
add rbx, r8
add rbx, r9
add rbx, r10
mov qword [rax], rbx
shl rsi, 0x38
shl rdx, 0x30
shl rcx, 0x28
shl rdi, 0x20
mov rbx, qword [rsp + 0x18]
shl rbx, 0x18
mov r8, qword [rsp + 0x10]
shl r8, 0x10
mov r9, qword [rsp + 8]
shl r9, 8
mov r10, qword [rsp]
add r9, r10
add r8, r9
add rbx, r8
add rbx, rdi
add rcx, rbx
add rcx, rdx
add rcx, rsi
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x58]
shl rcx, 0x38
mov rdx, qword [rsp + 0x50]
shl rdx, 0x30
mov rbx, qword [rsp + 0x48]
shl rbx, 0x28
mov rsi, qword [rsp + 0x40]
shl rsi, 0x20
mov rdi, qword [rsp + 0x38]
shl rdi, 0x18
mov r8, qword [rsp + 0x30]
shl r8, 0x10
mov r9, qword [rsp + 0x28]
shl r9, 8
mov r10, qword [rsp + 0x20]
add r9, r10
add r8, r9
add rdi, r8
add rsi, rdi
add rbx, rsi
add rdx, rbx
add rcx, rdx
mov qword [rax + 0x10], rcx
mov rcx, qword [rsp + 0x78]
shl rcx, 0x18
mov rdx, qword [rsp + 0x70]
shl rdx, 0x10
mov rbx, qword [rsp + 0x68]
shl rbx, 8
mov rsi, qword [rsp + 0x60]
add rbx, rsi
add rdx, rbx
add rcx, rdx
mov qword [rax + 0x18], rcx
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045ff20
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.004dd160
Function at 0x4fe760
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x18]
cmp r12, qword [r14 + 0x10]
jbe 0x4fe9fe
sub rsp, 0x98
mov qword [rsp + 0x90], rbp
lea rbp, [rsp + 0x90]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xb0], rcx
mov rdx, qword [rax + 0x30]
mov rax, rbx
call rdx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x50], rcx
mov rdx, qword [rcx + 0x10]
mov rbx, qword [rcx + 8]
lea rsi, [rdx - 1]
test rsi, rsi
jl 0x4fe7eb
mov rdx, qword [rbx + rdx*8 - 8]
bsr rdx, rdx
mov rdi, 0xffffffffffffffff
cmove rdx, rdi
shl rsi, 6
lea rdx, [rdx + rsi]
lea rdx, [rdx + 1]
jmp 0x4fe7ed
xor edx, edx
mov qword [rsp + 0x30], rdx
lea rsi, [rdx + 7]
sar rsi, 0x3f
shr rsi, 0x3d
lea rcx, [rsi + rdx]
lea rcx, [rcx + 7]
sar rcx, 3
mov qword [rsp + 0x40], rcx
lea rax, [0x0061e4a0]
mov rbx, rcx
call fcn.00449280
mov qword [rsp + 0x68], rax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor esi, esi
jmp 0x4fe842
mov rcx, rax
mov rdx, rbx
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
mov rax, qword [rsp + 0x68]
test rcx, rcx
jne 0x4fe9ba
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], rdx
nop
mov rbx, qword [rsp + 0xb8]
mov rcx, rax
mov rdi, qword [rsp + 0x40]
mov rsi, rdi
mov r8, rsi
mov rax, qword [rsp + 0xb0]
call fcn.0046c880
nop dword [rax]
test rbx, rbx
jne 0x4fe98d
mov r8, qword [rsp + 0x40]
test r8, r8
jbe 0x4fe9f3
mov rdi, qword [rsp + 0x68]
movzx edx, byte [rdi]
mov r9, qword [0x00824808]
mov r10, qword [0x00824800]
mov rax, qword [rsp + 0x30]
mov r11, rax
sar rax, 0x3f
shr rax, 0x3d
lea r12, [rax + r11]
sar r12, 3
shl r12, 3
mov rax, r11
sub rax, r12
cmp r9, rax
jbe 0x4fe9eb
movzx r9d, byte [r10 + rax]
and edx, r9d
mov byte [rdi], dl
cmp r8, 1
jbe 0x4fe9de
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x38], rbx
movzx edx, byte [rdi + 1]
xor edx, 0x42
mov byte [rdi + 1], dl
mov byte [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
movups xmmword [rsp + 0x80], xmm15
xor eax, eax
xor ebx, ebx
mov rcx, rbx
mov rsi, r8
call fcn.004d48e0
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x88], rcx
mov byte [rsp + 0x70], 0
lea rax, [rsp + 0x70]
mov rbx, qword [rsp + 0x50]
call fcn.004cac60
test rax, rax
jl 0x4fe965
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
nop
jmp 0x4fe82d
mov rdx, qword [rsp + 0xa0]
mov rsi, qword [rdx + 0x38]
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
mov rdi, rcx
call rsi
jmp 0x4fe82d
mov rax, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov r8, rbx
mov r9, rcx
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
mov rbp, qword [rsp + 0x90]
add rsp, 0x98
ret
mov rdi, rcx
mov r8, rbx
mov r9, rsi
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
mov rsi, rdx
mov rbp, qword [rsp + 0x90]
add rsp, 0x98
ret
mov eax, 1
mov rcx, r8
call fcn.00462600
mov rcx, r9
call fcn.00462600
xor eax, eax
mov rcx, r8
call fcn.00462600
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.0045ff20
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.004fe760
Function at 0x506140
Capabilities:
Encode data using xor

Disassembly:
mov rax, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x20]
mov rdx, qword [rsp + 8]
pxor xmm15, xmm15
pcmpeqd xmm14, xmm14
psubd xmm15, xmm14
movd xmm14, eax
pshufd xmm14, xmm14, 0
pxor xmm0, xmm0
pxor xmm1, xmm1
pxor xmm2, xmm2
pxor xmm3, xmm3
pxor xmm4, xmm4
pxor xmm5, xmm5
mov rax, 0x10
movdqu xmm13, xmm15
movdqu xmm12, xmm13
paddd xmm13, xmm15
pcmpeqd xmm12, xmm14
movdqu xmm6, xmmword [rdi]
movdqu xmm7, xmmword [rdi + 0x10]
movdqu xmm8, xmmword [rdi + 0x20]
movdqu xmm9, xmmword [rdi + 0x30]
movdqu xmm10, xmmword [rdi + 0x40]
movdqu xmm11, xmmword [rdi + 0x50]
add rdi, 0x60
pand xmm6, xmm12
pand xmm7, xmm12
pand xmm8, xmm12
pand xmm9, xmm12
pand xmm10, xmm12
pand xmm11, xmm12
pxor xmm0, xmm6
pxor xmm1, xmm7
pxor xmm2, xmm8
pxor xmm3, xmm9
pxor xmm4, xmm10
pxor xmm5, xmm11
dec rax
jne 0x50618d
movdqu xmmword [rdx], xmm0
movdqu xmmword [rdx + 0x10], xmm1
movdqu xmmword [rdx + 0x20], xmm2
movdqu xmmword [rdx + 0x30], xmm3
movdqu xmmword [rdx + 0x40], xmm4
movdqu xmmword [rdx + 0x50], xmm5
ret

Function at 0x506220
Capabilities:
Encode data using xor

Disassembly:
mov rax, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x10]
mov rdx, qword [rsp + 8]
pxor xmm15, xmm15
pcmpeqd xmm14, xmm14
psubd xmm15, xmm14
movd xmm14, eax
pshufd xmm14, xmm14, 0
pxor xmm0, xmm0
pxor xmm1, xmm1
pxor xmm2, xmm2
pxor xmm3, xmm3
mov rax, 0x10
movdqu xmm13, xmm15
movdqu xmm12, xmm13
paddd xmm13, xmm15
pcmpeqd xmm12, xmm14
movdqu xmm4, xmmword [rdi]
movdqu xmm5, xmmword [rdi + 0x10]
movdqu xmm6, xmmword [rdi + 0x20]
movdqu xmm7, xmmword [rdi + 0x30]
movdqu xmm8, xmmword [rdi + 0x40]
movdqu xmm9, xmmword [rdi + 0x50]
movdqu xmm10, xmmword [rdi + 0x60]
movdqu xmm11, xmmword [rdi + 0x70]
add rdi, 0x80
pand xmm4, xmm12
pand xmm5, xmm12
pand xmm6, xmm12
pand xmm7, xmm12
movdqu xmm12, xmm13
paddd xmm13, xmm15
pcmpeqd xmm12, xmm14
pand xmm8, xmm12
pand xmm9, xmm12
pand xmm10, xmm12
pand xmm11, xmm12
pxor xmm0, xmm4
pxor xmm1, xmm5
pxor xmm2, xmm6
pxor xmm3, xmm7
pxor xmm0, xmm8
pxor xmm1, xmm9
pxor xmm2, xmm10
pxor xmm3, xmm11
dec rax
jne 0x506265
movdqu xmmword [rdx], xmm0
movdqu xmmword [rdx + 0x10], xmm1
movdqu xmmword [rdx + 0x20], xmm2
movdqu xmmword [rdx + 0x30], xmm3
ret
Function at 0x509160
Capabilities:
Hash data using sha384
Hash data using sha512

Disassembly:
mov rcx, qword [rax + 0xd0]
cmp rcx, 6
jne 0x5091e5
movabs rcx, 0xcbbb9d5dc1059ed8
mov qword [rax], rcx
movabs rcx, 0x629a292a367cd507
mov qword [rax + 8], rcx
movabs rcx, 0x9159015a3070dd17
mov qword [rax + 0x10], rcx
movabs rcx, 0x152fecd8f70e5939
mov qword [rax + 0x18], rcx
movabs rcx, 0x67332667ffc00b31
mov qword [rax + 0x20], rcx
movabs rcx, 0x8eb44a8768581511
mov qword [rax + 0x28], rcx
movabs rcx, 0xdb0c2e0d64f98fa7
mov qword [rax + 0x30], rcx
movabs rcx, 0x47b5481dbefa4fa4
mov qword [rax + 0x38], rcx
nop dword [rax]
jmp 0x509346
cmp rcx, 0xe
jne 0x509260
movabs rcx, 0x8c3d37c819544da2
mov qword [rax], rcx
movabs rcx, 0x73e1996689dcd4d6
mov qword [rax + 8], rcx
movabs rcx, 0x1dfab7ae32ff9c82
mov qword [rax + 0x10], rcx
movabs rcx, 0x679dd514582f9fcf
mov qword [rax + 0x18], rcx
movabs rcx, 0xf6d2b697bd44da8
mov qword [rax + 0x20], rcx
movabs rcx, 0x77e36f7304c48942
mov qword [rax + 0x28], rcx
movabs rcx, 0x3f9d85a86a1d36c8
mov qword [rax + 0x30], rcx
movabs rcx, 0x1112e6ad91d692a1
mov qword [rax + 0x38], rcx
jmp 0x509346
cmp rcx, 0xf
jne 0x5092d7
movabs rcx, 0x22312194fc2bf72c
mov qword [rax], rcx
movabs rcx, 0x9f555fa3c84c64c2
mov qword [rax + 8], rcx
movabs rcx, 0x2393b86b6f53b151
mov qword [rax + 0x10], rcx
movabs rcx, 0x963877195940eabd
mov qword [rax + 0x18], rcx
movabs rcx, 0x96283ee2a88effe3
mov qword [rax + 0x20], rcx
movabs rcx, 0xbe5e1e2553863992
mov qword [rax + 0x28], rcx
movabs rcx, 0x2b0199fc2c85b8aa
mov qword [rax + 0x30], rcx
movabs rcx, 0xeb72ddc81c52ca2
mov qword [rax + 0x38], rcx
jmp 0x509346
movabs rcx, 0x6a09e667f3bcc908
mov qword [rax], rcx
movabs rcx, 0xbb67ae8584caa73b
mov qword [rax + 8], rcx
movabs rcx, 0x3c6ef372fe94f82b
mov qword [rax + 0x10], rcx
movabs rcx, 0xa54ff53a5f1d36f1
mov qword [rax + 0x18], rcx
movabs rcx, 0x510e527fade682d1
mov qword [rax + 0x20], rcx
movabs rcx, 0x9b05688c2b3e6c1f
mov qword [rax + 0x28], rcx
movabs rcx, 0x1f83d9abfb41bd6b
mov qword [rax + 0x30], rcx
movabs rcx, 0x5be0cd19137e2179
mov qword [rax + 0x38], rcx
movups xmmword [rax + 0xc0], xmm15
ret
Function at 0x50fa60
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x50fb4c
sub rsp, 0x40
mov qword [rsp + 0x38], rbp
lea rbp, [rsp + 0x38]
mov qword [rsp + 0x48], rax
mov rdx, rdi
sar rdi, 0x3f
shr rdi, 0x3d
lea rsi, [rdi + rdx]
sar rsi, 3
shl rsi, 3
sub rdx, rsi
lea rsi, [rdx - 8]
neg rsi
nop
cmp rsi, 8
je 0x50fafb
test rbx, rbx
je 0x50fafb
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x30], rax
lea rax, [0x0061e4a0]
mov rcx, rbx
call fcn.00449280
mov rcx, qword [rsp + 0x20]
cmp rcx, 8
sbb edx, edx
mov rsi, qword [rsp + 0x30]
movzx edi, byte [rsi]
shr dil, cl
and edi, edx
mov byte [rax], dil
mov rbx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x28]
mov r8d, 1
jmp 0x50fb3a
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
ret
cmp rdi, 0x20
sbb r9d, r9d
movzx r10d, byte [r8 + rsi - 1]
mov r11, rcx
mov rcx, rdi
shl r10d, cl
and r10d, r9d
mov byte [rax + r8], r10b
movzx r9d, byte [rsi + r8]
mov rcx, r11
shr r9b, cl
and r9d, edx
or r10d, r9d
mov byte [rax + r8], r10b
inc r8
cmp rbx, r8
jg 0x50fb05
mov rcx, rbx
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.0045ff20
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.0050fa60