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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x404643
push rbp
mov rbp, rsp
sub rsp, 0x18
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, rdx
call fcn.0040a640
add rsp, 0x18
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0046a360
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x404620
cmp byte [0x00a20073], 0
je 0x46c175
mov rcx, qword [rax + 8]
mov rax, qword [rax]
jmp 0x4693a0
jmp 0x404620

Function at 0x46c180
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 [0x00a20620]
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 [0x00a20073], 0
je 0x46c1b5
movq xmm0, rbx
pinsrd xmm0, dword [rax], 2
aesenc xmm0, xmmword [0x00a209a0]
aesenc xmm0, xmmword [0x00a209b0]
aesenc xmm0, xmmword [0x00a209c0]
movq rax, xmm0
ret
jmp 0x40a860

Function at 0x46c1c0
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 [0x00a20620]
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 [0x00a20073], 0
je 0x46c1f6
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x00a209a0]
aesenc xmm0, xmmword [0x00a209b0]
aesenc xmm0, xmmword [0x00a209c0]
movq rax, xmm0
ret
jmp 0x40a8c0

Function at 0x46dfc0
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 0x46dff4
mov rcx, 0x28
jmp 0x46dfff
shl rcx, 3
add rcx, 0x1480
mov qword [0x00a202e0], rcx
pop rbp
ret

Function at 0x476bc0
Capabilities:
Hash data using fnv

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4772ff
push rbp
mov rbp, rsp
sub rsp, 0x10
mov qword [rsp + 0x20], rax
movabs rcx, 0xcbf29ce484222325
jmp 0x476bed
lea rax, [rdx + 0x10]
dec rbx
mov rcx, rsi
test rbx, rbx
jle 0x476e71
mov rdx, rax
mov rsi, qword [rax]
nop dword [rax]
test rsi, rsi
je 0x476e9d
mov edi, dword [rsi + 0x10]
shr edi, 1
mov r8, qword [rax + 8]
and edi, 0x3f
lea rax, [0x0074a6a0]
jmp qword [rax + rdi*8]
mov rax, rcx
add rsp, 0x10
pop rbp
ret
lea rax, [0x0066f860]
lea rbx, [0x00743f20]
call fcn.00438920
inc rax
cmp rax, r8
jge 0x476ec2
mov r9, qword [rsi + rax*8]
xor r10d, r10d
nop
jmp 0x476ef7
lea rdi, [0x0066f8e0]
mov rsi, rcx
movabs rcx, 0x100000001b3
jmp 0x476be3
movzx r11d, r9b
xor rcx, r11
inc r10
shr r9, 8
movabs r11, 0x100000001b3
imul rcx, r11
cmp r10, 8
jl 0x476edb
jmp 0x476eb0
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.0046a360
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.00476bc0
Function at 0x4774a0
Capabilities:
Hash data using fnv

Disassembly:
test byte [rax], al
mov rcx, rbx
and ebx, 0x7f
shl rbx, 5
lea rdx, [rax + rbx]
xor eax, eax
jmp 0x4774b7
inc rax
cmp rax, 4
jge 0x4774cf
lea rbx, [rdx + rax*8]
mov rbx, qword [rbx]
cmp rbx, rcx
jne 0x4774b4
mov eax, 1
ret
xor eax, eax
movabs rbx, 0xcbf29ce484222325
jmp 0x4774e0
inc rax
cmp rax, 4
jge 0x4774ee
mov rsi, qword [rdx + rax*8]
xor edi, edi
jmp 0x477517
and ebx, 3
lea rdx, [rdx + rbx*8]
xchg qword [rdx], rcx
xor eax, eax
ret
movzx r8d, sil
xor rbx, r8
inc rdi
shr rsi, 8
movabs r8, 0x100000001b3
imul rbx, r8
cmp rdi, 8
jl 0x4774fb
jmp 0x4774dd
Function at 0x48bfe0
Capabilities:
Hash data using fnv

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x48c21b
push rbp
mov rbp, rsp
sub rsp, 0x78
mov ebx, dword [rax + 0x2c]
test ebx, ebx
jne 0x48c07a
mov qword [rsp + 0x88], rax
lea rbx, [0x006bf9c0]
mov rcx, rax
lea rax, [0x00999c00]
call fcn.00472820
test cl, cl
jne 0x48c063
mov rax, qword [rsp + 0x88]
call fcn.0048b3a0
mov ecx, 1
mov rdi, rax
mov rsi, rbx
lea rax, [rsp + 0x28]
lea rbx, [0x007418c8]
call fcn.004534c0
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rbx
call fcn.0048d420
mov rcx, qword [rsp + 0x88]
xor edx, edx
jmp 0x48c0a0
lea rdx, [0x006b8e60]
cmp rax, rdx
jne 0x48c08b
test byte [rbx], al
mov rax, rbx
add rsp, 0x78
pop rbp
ret
nop
nop dword [rax + rax]
call fcn.004678a0
add rsp, 0x78
pop rbp
ret
mov rbx, rdx
lea rcx, [0x00679ae0]
call fcn.0040b6c0
inc rdx
nop dword [rax]
cmp rbx, rdx
jle 0x48c0e4
mov rsi, qword [rax + rdx*8]
cmp qword [rsi + 0x30], rcx
jne 0x48c09a
lea rax, [0x00999c00]
lea rbx, [0x006bf9c0]
lea rdi, [0x006b8e60]
call fcn.004729e0
lea rdx, [0x006b8e60]
cmp rax, rdx
jne 0x48c20b
test byte [rbx], al
mov rax, rbx
add rsp, 0x78
pop rbp
ret
lea rcx, [0x00668940]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], 0
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x58], rcx
lea rax, [0x0068a6a0]
call fcn.0040ea40
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
cmp dword [0x00a204b0], 0
je 0x48c13d
mov rbx, rax
lea rax, [0x0068a6a0]
call fcn.00414bc0
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx]
mov qword [rax], rdx
movups xmm0, xmmword [rcx + 8]
movups xmmword [rax + 8], xmm0
movups xmm0, xmmword [rcx + 0x18]
movups xmmword [rax + 0x18], xmm0
movups xmm0, xmmword [rcx + 0x28]
movups xmmword [rax + 0x28], xmm0
nop
mov rbx, qword [rsp + 0x48]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8d, esi
mov rax, qword [rsp + 0x50]
call fcn.00402680
nop
call fcn.004679a0
mov rsi, qword [rsp + 0x70]
mov dword [rsi + 0x28], eax
mov dword [rsi + 0x2c], 0
mov rcx, qword [rsp + 0x88]
mov edx, dword [rcx + 0x10]
xor eax, eax
jmp 0x48c1a6
imul edx, edx, 0x1000193
xor edx, 0x2a
mov eax, 1
test rax, rax
jle 0x48c198
mov dword [rsi + 0x10], edx
cmp dword [0x00a204b0], 0
je 0x48c1c7
call fcn.0046c2a0
mov qword [r11], rcx
mov rdx, qword [rsi + 0x30]
mov qword [r11 + 8], rdx
mov qword [rsi + 0x30], rcx
lea rax, [0x00999c00]
lea rbx, [0x006bf9c0]
lea rdi, [0x006b8e60]
call fcn.004729e0
lea rdx, [0x006b8e60]
cmp rax, rdx
jne 0x48c1fc
test byte [rbx], al
mov rax, rbx
add rsp, 0x78
pop rbp
ret
mov rbx, rdx
lea rcx, [0x00679ae0]
call fcn.0040b6c0
mov rbx, rdx
lea rcx, [0x00679ae0]
call fcn.0040b6c0
nop
mov qword [rsp + 8], rax
call fcn.0046a360
mov rax, qword [rsp + 8]
jmp fcn.0048bfe0
Function at 0x4a27e0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4a28aa
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.00403b00
xorps xmm15, xmm15
mov r14, qword [0x00a202e0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
jne 0x4a288f
mov rcx, qword [rsp + 0x60]
lea rdx, [rcx + 1]
mov qword [rsp + 0x40], rdx
lea rax, [0x0066f960]
xor ebx, ebx
mov rcx, rdx
call fcn.0044f600
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.004a4160
inc rbx
cmp rcx, rbx
jae 0x4a287e
mov edi, 1
lea rsi, [0x0066f960]
call fcn.0044f6e0
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, [0x00744900]
lea rsi, [0x00743010]
add rsp, 0x48
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0046a360
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.004a27e0
Function at 0x4d0040
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4d024b
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], rcx
add qword [rax + 0x58], rcx
mov rdx, qword [rax + 0x50]
test rdx, rdx
jle 0x4d0164
cmp rdx, 0x40
ja 0x4d023d
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x60], rbx
lea rsi, [rdx - 0x40]
mov r8, rsi
neg rsi
sar r8, 0x3f
and r8, rdx
lea rdx, [rax + r8]
lea rdx, [rdx + 0x10]
cmp rcx, rsi
cmovl rsi, rcx
mov qword [rsp + 0x28], rsi
cmp rbx, rdx
je 0x4d00d4
mov rax, rdx
mov rcx, rsi
call fcn.0046d000
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rax + 0x50]
add rdx, rsi
mov qword [rax + 0x50], rdx
nop
cmp rdx, 0x40
jne 0x4d0140
mov qword [rsp], rax
lea rcx, [rax + 0x10]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], 0x40
mov qword [rsp + 0x18], 0x40
call fcn.004d04c0
xorps xmm15, xmm15
mov r14, qword [0x00a202e0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x50], 0
mov rcx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x70]
nop dword [rax]
cmp rcx, rsi
jb 0x4d0235
sub rdi, rsi
mov rdx, rdi
neg rdx
sar rdx, 0x3f
and rdx, rsi
mov r8, rcx
sub r8, rsi
add rbx, rdx
jmp 0x4d0167
mov r8, rcx
cmp r8, 0x40
jl 0x4d01e5
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rdi
mov qword [rsp], rax
mov qword [rsp + 8], rbx
and r8, 0xffffffffffffffc0
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x10], r8
mov qword [rsp + 0x18], rdi
call fcn.004d04c0
xorps xmm15, xmm15
mov r14, qword [0x00a202e0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
mov rdx, rax
sub rax, rcx
sar rax, 0x3f
mov r8, qword [rsp + 0x38]
and rax, r8
and rax, 0xffffffffffffffc0
mov rcx, qword [rsp + 0x40]
lea rbx, [rcx + rax]
sub r8, rdx
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
test r8, r8
je 0x4d0228
lea rdx, [rax + 0x10]
cmp r8, 0x40
mov esi, 0x40
cmovl rsi, r8
nop dword [rax + rax]
cmp rbx, rdx
je 0x4d0224
mov qword [rsp + 0x38], rsi
mov rax, rdx
mov rcx, rsi
call fcn.0046d000
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x38]
mov qword [rax + 0x50], rsi
mov rax, rcx
xor ebx, ebx
xor ecx, ecx
add rsp, 0x48
pop rbp
ret
mov rax, rsi
call fcn.0046c700
mov rax, rdx
mov ecx, 0x40
call fcn.0046c700
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
nop
call fcn.0046a360
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.004d0040
Function at 0x4d2cf0
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 0x4d2d6a
mov rax, 0
nop word [rax + rax]
nop dword [rax]
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 0x4d2d20
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 0x4d2d40
cmp rdx, 0
je 0x4d2d8c
test rdx, 0xf
je 0x4d2d0d
test rdx, 7
jne 0x4d2d40
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 0x4d2d0d
ret
Function at 0x4e84e0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4e862e
push rbp
mov rbp, rsp
sub rsp, 0x68
movups xmmword [rsp + 0x38], xmm15
mov qword [rsp + 0x30], 0
mov rax, qword [0x00976608]
call fcn.00477720
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x28], rbx
movups xmmword [rsp + 0x50], xmm15
mov qword [rsp + 0x60], 0
lea rcx, [0x004e8640]
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x58], rcx
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x60], rcx
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0x2b
call fcn.00403b00
xorps xmm15, xmm15
mov r14, qword [0x00a202e0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x18]
cmp rcx, 0xffffffffffffffff
je 0x4e85f2
mov rdx, qword [rsp + 0x28]
nop dword [rax + rax]
cmp rdx, rcx
jb 0x4e8628
mov qword [rsp + 0x20], rcx
mov rsi, qword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
mov rbx, rcx
lea rdx, [rsp + 0x50]
call rsi
mov rax, qword [rsp + 0x20]
lea rcx, [rax + 1]
mov rbx, qword [rsp + 0x28]
cmp rbx, rcx
jb 0x4e861d
mov rsi, qword [rsp + 0x50]
sub rbx, rax
dec rbx
mov rdi, rbx
neg rdi
sar rdi, 0x3f
and rcx, rdi
mov rdi, qword [rsp + 0x48]
lea rax, [rdi + rcx]
lea rdx, [rsp + 0x50]
call rsi
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x68
pop rbp
ret
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x28]
lea rdx, [rsp + 0x50]
call rcx
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x68
pop rbp
ret
mov rax, rcx
mov rcx, rbx
call fcn.0046c700
call fcn.0046c680
nop
call fcn.0046a360
jmp fcn.004e84e0
Function at 0x50b5e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x50b826
push rbp
mov rbp, rsp
sub rsp, 0x78
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x98], rcx
test rdi, rdi
je 0x50b65f
cmp rbx, 1
je 0x50b626
cmp rbx, 8
jle 0x50b66c
movups xmmword [rsp + 0x1c], xmm15
movups xmmword [rsp + 0x2c], xmm15
xor edx, edx
jmp 0x50b7c1
movzx edx, byte [rax]
cmp edx, 0x80
mov esi, 0xfffd
cmovge edx, esi
mov rax, rcx
mov rbx, rdi
mov ecx, edx
nop
call fcn.0050b2c0
test rax, rax
jl 0x50b652
xor eax, eax
add rsp, 0x78
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x78
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x78
pop rbp
ret
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rbx
nop dword [rax]
cmp rdi, 1
jne 0x50b6a5
movzx esi, byte [rcx]
cmp esi, 0x80
mov edi, 0xfffd
cmovge esi, edi
mov dword [rsp + 0x5c], esi
mov rcx, rbx
nop
jmp 0x50b760
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0x98], rcx
mov rdx, rbx
jmp 0x50b6e0
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
mov rdi, qword [rsp + 0xa0]
mov rbx, rcx
mov rcx, qword [rsp + 0x98]
nop dword [rax]
test rbx, rbx
jle 0x50b72e
cmp rdx, rbx
jb 0x50b73b
mov qword [rsp + 0x60], rbx
call fcn.0047ee60
mov qword [rsp + 0x70], rbx
mov ecx, eax
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
call fcn.0050b2c0
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
sub rcx, rdx
nop dword [rax]
test rax, rax
jl 0x50b6ba
mov rax, rcx
add rsp, 0x78
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x78
pop rbp
ret
mov rcx, rbx
nop
call fcn.0046c680
mov rax, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
mov esi, edx
mov rbx, rcx
mov rcx, rdi
nop dword [rax]
test rbx, rbx
jle 0x50b78d
cmp rcx, rbx
jb 0x50b79a
mov qword [rsp + 0x68], rbx
call fcn.0047ee60
mov rcx, qword [rsp + 0x68]
sub rcx, rbx
mov edx, dword [rsp + 0x5c]
cmp eax, edx
jne 0x50b745
mov rax, rcx
add rsp, 0x78
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x78
pop rbp
ret
mov rdx, rcx
mov rcx, rbx
call fcn.0046c680
mov r8d, esi
shr sil, 5
movzx esi, sil
mov r9d, dword [rsp + rsi*4 + 0x1c]
bts r9d, r8d
mov dword [rsp + rsi*4 + 0x1c], r9d
inc rdx
cmp rdi, rdx
jle 0x50b7d3
movzx esi, byte [rcx + rdx]
cmp sil, 0x80
jb 0x50b7a5
cmp rdi, rdx
movups xmm0, xmmword [rsp + 0x1c]
movups xmmword [rsp + 0x3c], xmm0
movups xmm0, xmmword [rsp + 0x2c]
movups xmmword [rsp + 0x4c], xmm0
jg 0x50b66c
lea rcx, [rbx - 1]
jmp 0x50b7f6
dec rcx
test rcx, rcx
jl 0x50b819
movzx edx, byte [rax + rcx]
mov ebx, edx
shr dl, 5
movzx edx, dl
mov edx, dword [rsp + rdx*4 + 0x3c]
bt edx, ebx
jae 0x50b7f3
mov rax, rcx
add rsp, 0x78
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x78
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.0046a360
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.0050b5e0
Function at 0x526020
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x526166
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x78], rdi
nop dword [rax]
cmp rcx, r9
jb 0x526156
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rax
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.00531340
xorps xmm15, xmm15
mov r14, qword [0x00a202e0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x52613b
mov rbx, qword [rsp + 0x90]
mov rsi, rbx
sar rbx, 1
lea rcx, [rsi + rbx]
mov rdx, qword [rsp + 0x70]
cmp rdx, rcx
jb 0x526151
cmp rsi, rcx
ja 0x526149
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]
cmp rcx, r8
jb 0x526141
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.00531480
xorps xmm15, xmm15
mov r14, qword [0x00a202e0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
add rsp, 0x50
pop rbp
ret
mov rax, r8
call fcn.0046c700
mov rax, rsi
call fcn.0046c700
call fcn.0046c6c0
mov rdx, rcx
mov rcx, r9
nop dword [rax]
call fcn.0046c6c0
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.0046a360
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]
jmp fcn.00526020
Function at 0x5261c0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x526306
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x78], rdi
nop dword [rax]
cmp rcx, r9
jb 0x5262f6
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rax
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.005313e0
xorps xmm15, xmm15
mov r14, qword [0x00a202e0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x5262db
mov rbx, qword [rsp + 0x90]
mov rsi, rbx
sar rbx, 1
lea rcx, [rsi + rbx]
mov rdx, qword [rsp + 0x70]
cmp rdx, rcx
jb 0x5262f1
cmp rsi, rcx
ja 0x5262e9
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]
cmp rcx, r8
jb 0x5262e1
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.00531520
xorps xmm15, xmm15
mov r14, qword [0x00a202e0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
add rsp, 0x50
pop rbp
ret
mov rax, r8
call fcn.0046c700
mov rax, rsi
call fcn.0046c700
call fcn.0046c6c0
mov rdx, rcx
mov rcx, r9
nop dword [rax]
call fcn.0046c6c0
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.0046a360
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]
jmp fcn.005261c0
Function at 0x52c2e0
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x52c493
push rbp
mov rbp, rsp
sub 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 0x52c325
jae 0x52c39e
nop
jmp 0x52c487
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], r8
cmp rbx, 1
jne 0x52c369
lea rax, [0x006703a0]
mov ebx, 1
mov rcx, rbx
call fcn.0044f600
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov ebx, 1
mov ecx, 1
jmp 0x52c39e
mov qword [rsp + 0x20], rbx
lea rcx, [rbx + 4]
mov qword [rsp + 0x18], rcx
lea rax, [0x006703a0]
nop
call fcn.0044f600
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 0x52c3b3
bswap r8
mov qword [rax + r9*8], r8
inc r9
mov r8, r10
cmp rsi, 8
jl 0x52c3e5
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 0x52c3a6
nop dword [rax + rax]
jmp 0x52c47c
test rsi, rsi
jle 0x52c3f2
xor r8d, r8d
xor r9d, r9d
jmp 0x52c446
nop
jmp 0x52c3f8
dec rbx
test rbx, rbx
jle 0x52c407
mov rsi, qword [rax + rbx*8 - 8]
test rsi, rsi
je 0x52c3f5
cmp rbx, rcx
ja 0x52c412
add rsp, 0x28
pop rbp
ret
mov rdx, rcx
mov rcx, rbx
call fcn.0046c6c0
movzx r11d, byte [rsi + rdi - 1]
mov rsi, rcx
mov rcx, r8
shl r11, cl
lea r12, [rcx + 8]
cmp rcx, 0x40
sbb r13, r13
and r11, r13
or r9, r11
mov rcx, rsi
mov rsi, r10
mov r8, r12
test rsi, rsi
jle 0x52c456
lea r10, [rsi - 1]
cmp rdx, r10
ja 0x52c41d
jmp 0x52c471
lea rsi, [rbx - 1]
cmp rbx, rsi
jbe 0x52c466
mov qword [rax + rbx*8 - 8], r9
jmp 0x52c3f2
mov rax, rsi
mov rcx, rbx
call fcn.0046c640
mov rax, r10
mov rcx, rdx
call fcn.0046c640
mov rax, r9
mov rcx, rbx
call fcn.0046c640
mov rdx, rcx
mov rcx, rbx
call fcn.0046c6c0
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.0046a360
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]
jmp fcn.0052c2e0
Function at 0x53eac0
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 0x53eaff
jb 0x53eb14
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 0x53eb80
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 0x53ebbf
jb 0x53ebd4
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