joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4ee680
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 0x4ee6bf
jb 0x4ee6d4
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 0x4ee740
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 0x4ee77f
jb 0x4ee794
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
Function at 0x4ee800
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 0x4ee8d0
jb 0x4ee92f
movups xmm2, xmmword [rax + 0x10]
movups xmmword [rbx], xmm2
add rbx, 0x10
aeskeygenassist xmm1, xmm2, 1
call fcn.004ee620
aeskeygenassist xmm1, xmm0, 1
call fcn.004ee640
aeskeygenassist xmm1, xmm2, 2
call fcn.004ee620
aeskeygenassist xmm1, xmm0, 2
call fcn.004ee640
aeskeygenassist xmm1, xmm2, 4
call fcn.004ee620
aeskeygenassist xmm1, xmm0, 4
call fcn.004ee640
aeskeygenassist xmm1, xmm2, 8
call fcn.004ee620
aeskeygenassist xmm1, xmm0, 8
call fcn.004ee640
aeskeygenassist xmm1, xmm2, 0x10
call fcn.004ee620
aeskeygenassist xmm1, xmm0, 0x10
call fcn.004ee640
aeskeygenassist xmm1, xmm2, 0x20
call fcn.004ee620
aeskeygenassist xmm1, xmm0, 0x20
call fcn.004ee640
aeskeygenassist xmm1, xmm2, 0x40
call fcn.004ee620
jmp 0x4ee99d
movq xmm2, qword [rax + 0x10]
aeskeygenassist xmm1, xmm2, 1
call fcn.004ee580
aeskeygenassist xmm1, xmm2, 2
call fcn.004ee5e0
aeskeygenassist xmm1, xmm2, 4
call fcn.004ee580
aeskeygenassist xmm1, xmm2, 8
call fcn.004ee5e0
aeskeygenassist xmm1, xmm2, 0x10
call fcn.004ee580
aeskeygenassist xmm1, xmm2, 0x20
call fcn.004ee5e0
aeskeygenassist xmm1, xmm2, 0x40
call fcn.004ee580
aeskeygenassist xmm1, xmm2, 0x80
call fcn.004ee5e0
jmp 0x4ee99d
aeskeygenassist xmm1, xmm0, 1
call fcn.004ee540
aeskeygenassist xmm1, xmm0, 2
call fcn.004ee540
aeskeygenassist xmm1, xmm0, 4
call fcn.004ee540
aeskeygenassist xmm1, xmm0, 8
call fcn.004ee540
aeskeygenassist xmm1, xmm0, 0x10
call fcn.004ee540
aeskeygenassist xmm1, xmm0, 0x20
call fcn.004ee540
aeskeygenassist xmm1, xmm0, 0x40
call fcn.004ee540
aeskeygenassist xmm1, xmm0, 0x80
call fcn.004ee540
aeskeygenassist xmm1, xmm0, 0x1b
call fcn.004ee540
aeskeygenassist xmm1, xmm0, 0x36
call fcn.004ee540
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 0x4ee9aa
movups xmm0, xmmword [rbx - 0x10]
movups xmmword [rdx + 0x10], xmm0
ret
Function at 0x4eeae0
Capabilities:
Encode data using xor
Encrypt data using aes via x86 extensions

Disassembly:
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x18]
shr rdx, 2
dec rdx
movdqu xmm15, xmmword [0x006f4560]
movdqu xmm14, xmmword [0x006f4870]
movdqu xmm0, xmmword [rsi]
movdqu xmm11, xmmword [rsi + 0x10]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0x20]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0x30]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0x40]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0x50]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0x60]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0x70]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0x80]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0x90]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0xa0]
cmp rdx, 0xc
jb 0x4eebcb
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0xb0]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0xc0]
je 0x4eebcb
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0xd0]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0xe0]
aesenclast xmm0, xmm11
pshufb xmm0, xmm15
pshufd xmm11, xmm0, 0xff
movdqu xmm12, xmm0
psrad xmm11, 0x1f
pand xmm11, xmm14
psrld xmm12, 0x1f
pslldq xmm12, 4
pslld xmm0, 1
pxor xmm0, xmm11
pxor xmm0, xmm12
movdqu xmmword [rdi + 0xe0], xmm0
pshufd xmm1, xmm0, 0x4e
pxor xmm1, xmm0
movdqu xmmword [rdi + 0xf0], xmm1
movdqu xmm2, xmm0
movdqu xmm3, xmm1
mov rax, 7
movdqu xmm11, xmm2
movdqu xmm12, xmm2
movdqu xmm13, xmm3
pclmulqdq xmm11, xmm0, 0
pclmulqdq xmm12, xmm0, 0x11
pclmulqdq xmm13, xmm1, 0
pxor xmm13, xmm11
pxor xmm13, xmm12
movdqu xmm4, xmm13
pslldq xmm4, 8
psrldq xmm13, 8
pxor xmm11, xmm4
pxor xmm12, xmm13
movdqu xmm2, xmm14
pclmulqdq xmm2, xmm11, 1
pshufd xmm11, xmm11, 0x4e
pxor xmm11, xmm2
movdqu xmm2, xmm14
pclmulqdq xmm2, xmm11, 1
pshufd xmm11, xmm11, 0x4e
pxor xmm2, xmm11
pxor xmm2, xmm12
movdqu xmmword [rdi + 0xc0], xmm2
pshufd xmm3, xmm2, 0x4e
pxor xmm3, xmm2
movdqu xmmword [rdi + 0xd0], xmm3
dec rax
lea rdi, [rdi - 0x20]
jne 0x4eec30
ret
Function at 0x500580
Capabilities:
Encode data using base64

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x500780
sub rsp, 0x38
mov qword [rsp + 0x30], rbp
lea rbp, [rsp + 0x30]
mov rcx, qword [rsp + 0x60]
lea rbx, [rcx + 7]
sar rbx, 0x3f
shr rbx, 0x3d
lea rbx, [rbx + rcx]
lea rbx, [rbx + 7]
sar rbx, 3
mov rdx, qword [rsp + 0x50]
cmp rbx, rdx
jg 0x5006ca
ja 0x500775
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x68]
mov r8, rcx
xor r9d, r9d
jmp 0x500600
bswap rdi
mov qword [rax + r9*8], rdi
inc r9
mov rdi, r10
mov rcx, r11
cmp rcx, 8
jl 0x50062d
mov r10, rdi
sub rdi, rcx
add rdi, 8
neg rdi
sar rdi, 0x3f
lea r11, [rcx - 8]
and rdi, r11
nop
mov rdi, qword [rsi + rdi]
cmp rbx, r9
ja 0x5005f0
jmp 0x50076a
test rcx, rcx
jle 0x50068e
xor edi, edi
xor r9d, r9d
jmp 0x500660
cmp rdi, 0x40
sbb r11, r11
lea r12, [rdi + 8]
movzx r13d, byte [rcx + rsi - 1]
mov rcx, rdi
shl r13, cl
and r13, r11
or r9, r13
mov rcx, r10
mov rdi, r12
nop dword [rax]
test rcx, rcx
jle 0x500673
lea r10, [rcx - 1]
cmp r8, r10
ja 0x500639
jmp 0x50075f
lea rsi, [rbx - 1]
nop word [rax + rax]
cmp rbx, rsi
jbe 0x500754
mov qword [rax + rbx*8 - 8], r9
jmp 0x500693
dec rbx
test rbx, rbx
jle 0x5006a5
mov rsi, qword [rax + rbx*8 - 8]
nop dword [rax]
test rsi, rsi
je 0x500690
cmp rdx, rbx
jb 0x50074c
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], rdx
mov rbp, qword [rsp + 0x30]
add rsp, 0x38
ret
cmp rbx, 1
jne 0x50070b
lea rax, [0x00652080]
mov qword [rsp], rax
mov qword [rsp + 8], 1
mov qword [rsp + 0x10], 1
call fcn.0044dbe0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x60]
mov ebx, 1
mov edx, 1
jmp 0x5005de
mov qword [rsp + 0x20], rbx
lea rax, [0x00652080]
mov qword [rsp], rax
mov qword [rsp + 8], rbx
lea rax, [rbx + 4]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x10], rax
call fcn.0044dbe0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
jmp 0x5005de
mov rcx, rbx
call fcn.0046c760
mov rax, rsi
mov rcx, rbx
call fcn.0046c6e0
mov rax, r10
mov rcx, r8
call fcn.0046c6e0
mov rax, r9
mov rcx, rbx
call fcn.0046c6e0
mov rcx, rbx
call fcn.0046c760
nop
nop
call fcn.0046a500
jmp fcn.00500580
Function at 0x50efc0
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 0x50f00d
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 0x50f0a0
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
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 0x50f0e5
movdqu xmmword [rdx], xmm0
movdqu xmmword [rdx + 0x10], xmm1
movdqu xmmword [rdx + 0x20], xmm2
movdqu xmmword [rdx + 0x30], xmm3
ret
Function at 0x512200
Capabilities:
Hash data using sha384
Hash data using sha512

Disassembly:
mov rax, qword [rsp + 8]
mov rcx, qword [rax + 0xd0]
cmp rcx, 6
jne 0x51228c
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
xorps xmm0, xmm0
movups xmmword [rax + 0xc0], xmm0
ret
cmp rcx, 0xe
jne 0x512306
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 0x512281
cmp rcx, 0xf
jne 0x512385
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
nop dword [rax + rax]
jmp 0x512281
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
jmp 0x512281
Function at 0x518e60
Capabilities:
Encode data using base64

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x518fa0
sub rsp, 0x38
mov qword [rsp + 0x30], rbp
lea rbp, [rsp + 0x30]
mov rax, qword [rsp + 0x58]
mov rcx, rax
sar rax, 0x3f
shr rax, 0x3d
add rax, rcx
sar rax, 3
shl rax, 3
sub rcx, rax
lea rax, [rcx - 8]
neg rax
cmp rax, 8
je 0x518f95
mov rdx, qword [rsp + 0x48]
nop dword [rax]
test rdx, rdx
je 0x518f72
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea rax, [0x00652840]
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rdx
call fcn.0044dbe0
mov rcx, qword [rsp + 0x20]
cmp rcx, 8
sbb eax, eax
mov rdx, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x40]
movzx esi, byte [rbx]
shr sil, cl
and esi, eax
mov byte [rdx], sil
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x28]
mov r8d, 1
jmp 0x518f54
cmp rdi, 0x20
sbb r9d, r9d
movzx r10d, byte [r8 + rbx - 1]
mov r11, rcx
mov rcx, rdi
shl r10d, cl
and r10d, r9d
mov byte [rdx + r8], r10b
movzx r9d, byte [rbx + r8]
mov rcx, r11
shr r9b, cl
and r9d, eax
or r10d, r9d
mov byte [rdx + r8], r10b
inc r8
cmp rsi, r8
jg 0x518f1f
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rsi
mov rbp, qword [rsp + 0x30]
add rsp, 0x38
ret
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdx
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x70], rax
mov rbp, qword [rsp + 0x30]
add rsp, 0x38
ret
mov rdx, qword [rsp + 0x48]
jmp 0x518f72
call fcn.0046a500
jmp fcn.00518e60
Function at 0x530140
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x530360
sub rsp, 0x78
mov qword [rsp + 0x70], rbp
lea rbp, [rsp + 0x70]
lea rax, [0x00655140]
mov qword [rsp], rax
call fcn.0040e620
mov rax, qword [rsp + 8]
mov qword [rsp + 0x68], rax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
jmp 0x5301da
movzx r8d, byte [rsi + rcx]
movzx r9d, byte [rdx + rdi]
xor r8d, r9d
mov byte [rcx + rsi], r8b
inc rdi
inc rsi
cmp rdi, rax
jge 0x5301b2
cmp rbx, rsi
jle 0x5301b2
ja 0x53018a
jmp 0x53034f
mov rax, qword [rsp + 0x68]
movzx edi, byte [rax + 3]
lea r8d, [rdi + 1]
mov byte [rax + 3], r8b
cmp dil, 0xff
je 0x530308
mov rcx, rsi
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x88]
cmp rcx, rsi
jge 0x530345
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x60], rbx
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax + 0x38]
mov rdx, qword [rsp + 0xa0]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0xa8]
mov qword [rsp + 8], rbx
mov rsi, qword [rsp + 0xb0]
mov qword [rsp + 0x10], rsi
mov rdi, qword [rsp + 0xb8]
mov qword [rsp + 0x18], rdi
call rcx
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax + 0x38]
mov rdx, qword [rsp + 0xa0]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], 4
mov qword [rsp + 0x18], 4
call rcx
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax + 0x30]
mov rdx, qword [rsp + 0xa0]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], 0
mov rbx, qword [rsp + 0x48]
mov qword [rsp + 0x18], rbx
call rcx
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x40], rcx
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x50], rdx
mov rbx, qword [rsp + 0x98]
mov rsi, qword [rbx + 0x20]
mov rdi, qword [rsp + 0xa0]
mov qword [rsp], rdi
nop
call rsi
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x38]
xor edi, edi
jmp 0x5301a1
movzx edi, byte [rax + 2]
lea r8d, [rdi + 1]
mov byte [rax + 2], r8b
cmp dil, 0xff
jne 0x5301cd
movzx edi, byte [rax + 1]
lea r8d, [rdi + 1]
mov byte [rax + 1], r8b
cmp dil, 0xff
jne 0x5301cd
movzx edi, byte [rax]
inc edi
mov byte [rax], dil
nop dword [rax]
jmp 0x5301cd
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rax, rsi
mov rcx, rbx
call fcn.0046c6e0
nop
nop dword [rax + rax]
call fcn.0046a500
jmp fcn.00530140
Function at 0x55c900
Capabilities:
Parse credit card information

Disassembly:
movzx eax, byte [rsp + 8]
lea ecx, [rax - 0x61]
cmp cl, 0x19
ja 0x55c913
mov byte [rsp + 0x18], 0
ret
lea ecx, [rax - 0x41]
cmp cl, 0x19
jbe 0x55c90d
lea ecx, [rax - 0x30]
nop
cmp cl, 9
jbe 0x55c90d
mov rcx, qword [rsp + 0x10]
cmp rcx, 3
jne 0x55caa0
cmp al, 0x2c
ja 0x55ca76
lea edx, [rax - 0x21]
nop
cmp dl, 1
ja 0x55c94b
mov byte [rsp + 0x18], 0
ret
cmp al, 0x24
je 0x55c945
cmp al, 0x26
jae 0x55c945
cmp al, 0x2f
ja 0x55ca38
nop dword [rax + rax]
cmp al, 0x26
ja 0x55ca11
cmp al, 0x24
jne 0x55ca07
cmp rcx, 2
jg 0x55c9c9
cmp rcx, 1
je 0x55c9c1
nop dword [rax]
cmp rcx, 2
jne 0x55c9a3
cmp al, 0x2f
jne 0x55c994
mov eax, 1
mov byte [rsp + 0x18], al
ret
cmp al, 0x3b
je 0x55c98a
cmp al, 0x2c
je 0x55c98a
cmp al, 0x3f
sete al
jmp 0x55c98f
cmp rcx, 7
jne 0x55c9ba
cmp al, 0x21
jne 0x55c9b3
mov byte [rsp + 0x18], 0
ret
add eax, 0xffffffd8
cmp al, 2
jbe 0x55c9ad
mov byte [rsp + 0x18], 1
nop
ret
cmp al, 0x3f
sete byte [rsp + 0x18]
ret
cmp rcx, 5
jne 0x55c9ef
cmp al, 0x40
jne 0x55c9e0
mov eax, 1
mov byte [rsp + 0x18], al
ret
cmp al, 0x2f
je 0x55c9d3
cmp al, 0x3f
je 0x55c9d3
cmp al, 0x3a
sete al
jmp 0x55c9d8
cmp rcx, 6
je 0x55ca01
cmp rcx, 7
jne 0x55c9a3
mov byte [rsp + 0x18], 0
ret
mov byte [rsp + 0x18], 1
ret
cmp al, 0x26
je 0x55c970
jmp 0x55c9a3
lea edx, [rax - 0x2b]
cmp dl, 1
jbe 0x55c970
lea edx, [rax - 0x2d]
cmp dl, 1
ja 0x55ca2b
mov byte [rsp + 0x18], 0
ret
cmp al, 0x2f
je 0x55c970
jmp 0x55c9a3
cmp al, 0x3d
ja 0x55ca56
lea edx, [rax - 0x3a]
nop
cmp dl, 1
jbe 0x55c970
cmp al, 0x3d
je 0x55c970
jmp 0x55c9a3
lea edx, [rax - 0x3f]
nop dword [rax]
cmp dl, 1
jbe 0x55c970
cmp al, 0x5f
je 0x55ca25
cmp al, 0x7e
je 0x55ca25
jmp 0x55c9a3
lea edx, [rax - 0x3a]
nop dword [rax]
cmp dl, 4
jbe 0x55c945
cmp al, 0x5b
je 0x55c945
cmp al, 0x5d
je 0x55c945
jmp 0x55c953
cmp rcx, 4
je 0x55c934
jmp 0x55c953
Function at 0x576de0
Capabilities:
Encode data using xor

Disassembly:
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov r15, qword [rsp + 0x18]
mov r8, qword [rdi]
mov r9, qword [rdi + 8]
mov r10, qword [rdi + 0x10]
mov r11, qword [rdi + 0x18]
mov r12, qword [rdi + 0x20]
cmp r15, 0x10
jb 0x576ea7
add r8, qword [rsi]
adc r9, qword [rsi + 8]
adc r10, 1
lea rsi, [rsi + 0x10]
mov rax, r11
mul r8
mov rbx, rax
mov rcx, rdx
mov rax, r11
mul r9
add rcx, rax
adc rdx, 0
mov r13, r11
imul r13, r10
add r13, rdx
mov rax, r12
mul r8
add rcx, rax
adc rdx, 0
mov r8, rdx
mov r14, r12
imul r14, r10
mov rax, r12
mul r9
add r13, rax
adc r14, rdx
add r13, r8
adc r14, 0
mov r8, rbx
mov r9, rcx
mov r10, r13
and r10, 3
mov rbx, r13
and rbx, 0xfffffffffffffffc
add r8, rbx
adc r9, r14
adc r10, 0
shrd r13, r14, 2
shr r14, 2
add r8, r13
adc r9, r14
adc r10, 0
sub r15, 0x10
cmp r15, 0x10
jae 0x576e0c
test r15, r15
je 0x576eea
mov rbx, 1
xor rcx, rcx
xor r13, r13
add rsi, r15
shld rcx, rbx, 8
shl rbx, 8
mov r13b, byte [rsi - 1]
xor rbx, r13
dec rsi
dec r15
jne 0x576ebc
add r8, rbx
adc r9, rcx
adc r10, 0
mov r15, 0x10
jmp 0x576e1b
mov qword [rdi], r8
mov qword [rdi + 8], r9
mov qword [rdi + 0x10], r10
ret
Function at 0x578980
Capabilities:
Encode data using xor

Disassembly:
xor r10, r10
xor r11, r11
xor r12, r12
cmp r9, 0xd
jne 0x578a27
mov r10, qword [rcx]
mov r11, qword [rcx + 5]
shr r11, 0x18
mov r12, 1
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
imul r8, r12
add r15, r10
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
ret
cmp r9, 0x10
jb 0x578aca
add r10, qword [rcx]
adc r11, qword [rcx + 8]
adc r12, 1
lea rcx, [rcx + 0x10]
sub r9, 0x10
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
imul r8, r12
add r15, r10
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
jmp 0x578a27
cmp r9, 0
je 0x578b83
xor r13, r13
xor r14, r14
xor r15, r15
add rcx, r9
shld r14, r13, 8
shl r13, 8
mov r15b, byte [rcx - 1]
xor r13, r15
dec rcx
dec r9
jne 0x578ae0
add r10, r13
adc r11, r14
adc r12, 1
mov rax, qword [rbp]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 8]
mov r8, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 8]
mul r11
add r15, rax
adc rdx, 0
imul r8, r12
add r15, r10
adc r8, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r8
shrd r15, r8, 2
shr r8, 2
add r10, r13
adc r11, r14
adc r12, 0
add r10, r15
adc r11, r8
adc r12, 0
ret
Function at 0x5cf460
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
movd xmm0, dword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movdqu xmm1, xmmword [rsi]
movdqu xmm2, xmmword [rsi + 0x10]
movdqu xmm3, xmmword [rsi + 0x20]
movdqu xmm4, xmmword [rsi + 0x30]
pxor xmm1, xmm0
add rsi, 0x40
sub rcx, 0x40
cmp rcx, 0x40
jb 0x5cf535
movdqa xmm0, xmmword [0x006f4b90]
movdqa xmm5, xmm1
movdqa xmm6, xmm2
movdqa xmm7, xmm3
movdqa xmm8, xmm4
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm2, xmm0, 0
pclmulqdq xmm3, xmm0, 0
pclmulqdq xmm4, xmm0, 0
movdqu xmm11, xmmword [rsi]
movdqu xmm12, xmmword [rsi + 0x10]
movdqu xmm13, xmmword [rsi + 0x20]
movdqu xmm14, xmmword [rsi + 0x30]
pclmulqdq xmm5, xmm0, 0x11
pclmulqdq xmm6, xmm0, 0x11
pclmulqdq xmm7, xmm0, 0x11
pclmulqdq xmm8, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm2, xmm6
pxor xmm3, xmm7
pxor xmm4, xmm8
pxor xmm1, xmm11
pxor xmm2, xmm12
pxor xmm3, xmm13
pxor xmm4, xmm14
add rdi, 0x40
add rsi, 0x40
sub rcx, 0x40
cmp rcx, 0x40
jge 0x5cf4a1
movdqa xmm0, xmmword [0x006f4ba0]
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm2
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm3
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm4
cmp rcx, 0x10
jb 0x5cf5b7
movdqu xmm10, xmmword [rsi]
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm10
sub rcx, 0x10
add rsi, 0x10
cmp rcx, 0x10
jge 0x5cf58b
pcmpeqb xmm3, xmm3
pclmulqdq xmm0, xmm1, 1
psrldq xmm1, 8
pxor xmm1, xmm0
movdqa xmm2, xmm1
movq xmm0, qword [0x006f3f28]
psrlq xmm3, 0x20
psrldq xmm2, 4
pand xmm1, xmm3
pclmulqdq xmm1, xmm0, 0
pxor xmm1, xmm2
movdqa xmm0, xmmword [0x006f4f50]
movdqa xmm2, xmm1
pand xmm1, xmm3
pclmulqdq xmm1, xmm0, 0x10
pand xmm1, xmm3
pclmulqdq xmm1, xmm0, 0
pxor xmm1, xmm2
pextrd eax, xmm1, 1
mov dword [rsp + 0x28], eax
ret