joyce8/EMBER2024-capa huggingface dataset:
Function at 0x139abe7b0
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x10
mov r11, rcx
movaps xmmword [rsp], xmm6
movdqu xmm6, xmmword [rdx]
lea rdi, [0x1399cc260]
pshufd xmm0, xmm6, 0x55
mov rbx, rdx
movd eax, xmm0
movdqu xmm5, xmmword [r11]
pshufd xmm0, xmm6, 0xff
mov r9d, eax
shr rax, 0x10
movzx r8d, al
mov eax, r9d
shr rax, 0x18
pslldq xmm5, 4
movdqa xmm4, xmm5
pslldq xmm5, 4
movzx r10d, byte [r8 + rdi]
movzx eax, byte [rax + rdi]
xorps xmm4, xmmword [r11]
shl eax, 8
or r10d, eax
mov eax, r9d
shr rax, 8
movzx ecx, al
shl r10d, 8
movzx eax, byte [rcx + rdi]
or r10d, eax
movzx eax, r9b
shl r10d, 8
movzx ecx, byte [rax + rdi]
or r10d, ecx
movd eax, xmm0
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 0x18
movd xmm3, r10d
movzx r8d, byte [rcx + rdi]
movzx eax, byte [rax + rdi]
shl eax, 8
or r8d, eax
mov eax, edx
shr rax, 8
movzx ecx, al
shl r8d, 8
movzx eax, byte [rcx + rdi]
or r8d, eax
movzx eax, dl
shl r8d, 8
movzx ecx, byte [rax + rdi]
mov eax, r10d
or r8d, ecx
ror eax, 8
xor eax, 8
mov ecx, r8d
ror ecx, 8
xor ecx, 8
movd xmm2, r8d
movd xmm0, eax
punpckldq xmm3, xmm0
movdqa xmm0, xmm5
movd xmm1, ecx
xorps xmm0, xmm4
punpckldq xmm2, xmm1
punpcklqdq xmm3, xmm2
pslldq xmm5, 4
xorps xmm0, xmm5
pshufd xmm1, xmm3, 0xff
xorps xmm1, xmm0
pshufd xmm0, xmm1, 0x55
movd eax, xmm0
movdqu xmmword [r11], xmm1
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 0x18
movzx r9d, byte [rcx + rdi]
movzx eax, byte [rax + rdi]
shl eax, 8
movdqa xmm5, xmm6
or r9d, eax
pshufd xmm0, xmm1, 0xff
shl r9d, 8
mov eax, edx
shr rax, 8
movzx ecx, al
pslldq xmm5, 4
movdqa xmm4, xmm5
pslldq xmm5, 4
xorps xmm4, xmm6
movaps xmm6, xmmword [rsp]
movzx eax, byte [rcx + rdi]
or r9d, eax
movzx eax, dl
shl r9d, 8
movzx ecx, byte [rax + rdi]
movd eax, xmm0
or r9d, ecx
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 0x18
movd xmm3, r9d
movzx r8d, byte [rcx + rdi]
movzx eax, byte [rax + rdi]
shl eax, 8
or r8d, eax
mov eax, edx
shr rax, 8
movzx ecx, al
shl r8d, 8
movzx eax, byte [rcx + rdi]
or r8d, eax
movzx eax, dl
shl r8d, 8
movzx ecx, byte [rax + rdi]
or r8d, ecx
mov ecx, r9d
mov eax, r8d
ror eax, 8
ror ecx, 8
movd xmm2, r8d
movd xmm1, eax
punpckldq xmm2, xmm1
movd xmm0, ecx
punpckldq xmm3, xmm0
movdqa xmm0, xmm5
xorps xmm0, xmm4
punpcklqdq xmm3, xmm2
pslldq xmm5, 4
xorps xmm0, xmm5
pshufd xmm1, xmm3, 0xaa
xorps xmm1, xmm0
movdqu xmmword [rbx], xmm1
mov rbx, qword [rsp + 0x20]
add rsp, 0x10
pop rdi
ret
Function at 0x139abf0d0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
movdqu xmm4, xmmword [rcx + 0x10]
vbroadcastf128 ymm1, xmmword [rcx]
vbroadcastf128 ymm0, xmmword [rcx + 0x10]
mov rax, qword [rsp + 0x28]
vmovdqu ymmword [rdx], ymm1
vmovdqu xmm1, xmmword [rcx]
vpslldq xmm1, xmm1, 4
vmovdqu ymmword [r8], ymm0
vmovdqa xmm0, xmm1
vpslldq xmm1, xmm1, 4
vxorps xmm0, xmm0, xmmword [rcx]
vmovdqa xmm3, xmm1
vxorps xmm3, xmm3, xmm0
vpslldq xmm1, xmm1, 4
vxorps xmm3, xmm3, xmm1
vaeskeygenassist xmm0, xmm4, 1
vpshufd xmm1, xmm0, 0xff
vxorps xmm3, xmm3, xmm1
vmovdqa xmm1, xmm4
vpslldq xmm1, xmm1, 4
vmovdqa xmm0, xmm1
vpslldq xmm1, xmm1, 4
vxorps xmm0, xmm0, xmm4
vmovdqa xmm4, xmm1
vpslldq xmm1, xmm1, 4
vxorps xmm4, xmm4, xmm0
vxorps xmm4, xmm4, xmm1
vaeskeygenassist xmm0, xmm3, 0
vpshufd xmm1, xmm0, 0xaa
vxorps xmm4, xmm4, xmm1
vinsertf128 ymm1, ymm3, xmm3, 1
vmovdqu ymmword [r9], ymm1
vmovdqa xmm1, xmm3
vpslldq xmm1, xmm1, 4
vinsertf128 ymm0, ymm4, xmm4, 1
vmovdqu ymmword [rax], ymm0
mov rax, qword [rsp + 0x30]
vmovdqa xmm0, xmm1
vpslldq xmm1, xmm1, 4
vxorps xmm0, xmm0, xmm3
vmovdqa xmm3, xmm1
vpslldq xmm1, xmm1, 4
vxorps xmm3, xmm3, xmm0
vxorps xmm3, xmm3, xmm1
vaeskeygenassist xmm0, xmm4, 2
vpshufd xmm1, xmm0, 0xff
vxorps xmm3, xmm3, xmm1
vmovdqa xmm1, xmm4
vpslldq xmm1, xmm1, 4
vmovdqa xmm0, xmm1
vpslldq xmm1, xmm1, 4
vxorps xmm0, xmm0, xmm4
vmovdqa xmm4, xmm1
vpslldq xmm1, xmm1, 4
vxorps xmm4, xmm4, xmm0
vxorps xmm4, xmm4, xmm1
vaeskeygenassist xmm0, xmm3, 0
vpshufd xmm1, xmm0, 0xaa
vxorps xmm4, xmm4, xmm1
vinsertf128 ymm1, ymm3, xmm3, 1
vmovdqu ymmword [rax], ymm1
mov rax, qword [rsp + 0x38]
vmovdqa xmm1, xmm3
vpslldq xmm1, xmm1, 4
vmovdqa xmm0, xmm1
vpslldq xmm1, xmm1, 4
vxorps xmm0, xmm0, xmm3
vmovdqa xmm3, xmm1
vxorps xmm3, xmm3, xmm0
vpslldq xmm1, xmm1, 4
vxorps xmm3, xmm3, xmm1
vaeskeygenassist xmm0, xmm4, 4
vpshufd xmm1, xmm0, 0xff
vxorps xmm3, xmm3, xmm1
vmovdqa xmm1, xmm4
vpslldq xmm1, xmm1, 4
vmovdqa xmm0, xmm1
vpslldq xmm1, xmm1, 4
vinsertf128 ymm2, ymm4, xmm4, 1
vxorps xmm0, xmm0, xmm4
vmovdqu ymmword [rax], ymm2
mov rax, qword [rsp + 0x40]
vmovdqa xmm4, xmm1
vpslldq xmm1, xmm1, 4
vxorps xmm4, xmm4, xmm0
vxorps xmm4, xmm4, xmm1
vaeskeygenassist xmm0, xmm3, 0
vpshufd xmm1, xmm0, 0xaa
vxorps xmm4, xmm4, xmm1
vinsertf128 ymm1, ymm3, xmm3, 1
vmovdqu ymmword [rax], ymm1
mov rax, qword [rsp + 0x48]
vmovdqa xmm1, xmm3
vpslldq xmm1, xmm1, 4
vmovdqa xmm0, xmm1
vpslldq xmm1, xmm1, 4
vxorps xmm0, xmm0, xmm3
vmovdqa xmm3, xmm1
vpslldq xmm1, xmm1, 4
vxorps xmm3, xmm3, xmm0
vxorps xmm3, xmm3, xmm1
vinsertf128 ymm2, ymm4, xmm4, 1
vmovdqu ymmword [rax], ymm2
mov rax, qword [rsp + 0x50]
vaeskeygenassist xmm0, xmm4, 8
vpshufd xmm1, xmm0, 0xff
vxorps xmm3, xmm3, xmm1
vmovdqa xmm1, xmm4
vpslldq xmm1, xmm1, 4
vmovdqa xmm0, xmm1
vpslldq xmm1, xmm1, 4
vmovdqa xmm2, xmm1
vxorps xmm0, xmm0, xmm4
vxorps xmm2, xmm2, xmm0
vpslldq xmm1, xmm1, 4
vxorps xmm2, xmm2, xmm1
vaeskeygenassist xmm0, xmm3, 0
vpshufd xmm1, xmm0, 0xaa
vxorps xmm2, xmm2, xmm1
vinsertf128 ymm1, ymm3, xmm3, 1
vmovdqu ymmword [rax], ymm1
mov rax, qword [rsp + 0x58]
vinsertf128 ymm2, ymm2, xmm2, 1
vmovdqu ymmword [rax], ymm2
vzeroupper
ret
Function at 0x139ac46e0
Capabilities:
Decrypt data using aes via x86 extensions
Encrypt data using aes via x86 extensions

Disassembly:
mov rax, rsp
sub rsp, 0x98
movdqu xmm2, xmmword [rcx]
lea r9, [rdx + r8]
movdqu xmm3, xmmword [rcx + 0x10]
movdqu xmm4, xmmword [rcx + 0x20]
movdqu xmm5, xmmword [rcx + 0x30]
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movdqa xmm7, xmmword [0x139fe1b20]
movaps xmmword [rax - 0x38], xmm8
movdqa xmm8, xmmword [0x139fe1b30]
movaps xmmword [rax - 0x48], xmm9
movdqa xmm9, xmmword [0x139fe1b40]
aesdec xmm2, xmm7
aesenc xmm3, xmm7
movaps xmmword [rax - 0x58], xmm10
movdqa xmm10, xmmword [0x139fe1b50]
aesdec xmm2, xmm8
aesenc xmm3, xmm8
movaps xmmword [rax - 0x68], xmm11
movdqa xmm11, xmmword [0x139fe1b60]
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rsp + 0x10], xmm13
movaps xmmword [rsp], xmm14
lea rax, [r8 + 0x80]
movdqa xmm12, xmmword [0x139fe1b70]
movdqa xmm13, xmmword [0x139fe1b80]
movdqa xmm14, xmmword [0x139fe1b90]
aesdec xmm4, xmm11
aesenc xmm5, xmm11
aesdec xmm4, xmm12
aesenc xmm5, xmm12
aesdec xmm2, xmm9
aesenc xmm3, xmm9
aesdec xmm4, xmm13
aesdec xmm2, xmm10
movdqu xmmword [r8], xmm2
aesenc xmm3, xmm10
movdqu xmmword [r8 + 0x10], xmm3
aesenc xmm5, xmm13
aesdec xmm4, xmm14
movdqu xmmword [r8 + 0x20], xmm4
aesenc xmm5, xmm14
movdqu xmmword [r8 + 0x30], xmm5
aesdec xmm2, xmm7
aesenc xmm3, xmm7
aesdec xmm4, xmm11
aesenc xmm5, xmm11
aesdec xmm2, xmm8
aesenc xmm3, xmm8
aesdec xmm4, xmm12
aesenc xmm5, xmm12
aesdec xmm2, xmm9
aesenc xmm3, xmm9
aesdec xmm4, xmm13
aesdec xmm2, xmm10
movdqu xmmword [r8 + 0x40], xmm2
aesenc xmm3, xmm10
movdqu xmmword [r8 + 0x50], xmm3
aesenc xmm5, xmm13
aesdec xmm4, xmm14
movdqu xmmword [r8 + 0x60], xmm4
aesenc xmm5, xmm14
movdqu xmmword [r8 + 0x70], xmm5
movdqa xmm6, xmmword [0x1399cd370]
cmp rax, r9
jae 0x139ac491a
nop word [rax + rax]
aesdec xmm2, xmm7
aesenc xmm3, xmm7
aesdec xmm4, xmm11
aesenc xmm5, xmm11
aesdec xmm2, xmm8
aesenc xmm3, xmm8
aesdec xmm4, xmm12
aesenc xmm5, xmm12
aesdec xmm2, xmm9
aesenc xmm3, xmm9
aesdec xmm2, xmm10
movdqa xmm0, xmm6
movdqa xmm1, xmm6
andps xmm0, xmm2
movdqu xmmword [rax], xmm0
movdqa xmm0, xmm6
aesenc xmm3, xmm10
andps xmm1, xmm3
movdqu xmmword [rax + 0x10], xmm1
movdqa xmm1, xmm6
aesdec xmm4, xmm13
aesenc xmm5, xmm13
aesdec xmm4, xmm14
aesenc xmm5, xmm14
andps xmm0, xmm4
andps xmm1, xmm5
movdqu xmmword [rax + 0x20], xmm0
movdqu xmmword [rax + 0x30], xmm1
add rax, 0x40
cmp rax, r9
jb 0x139ac4880
movaps xmm7, xmmword [rsp + 0x70]
lea r11, [rsp + 0x98]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [rsp + 0x10]
movaps xmm14, xmmword [rsp]
mov rsp, r11
ret
Function at 0x139ac4960
Capabilities:
Decrypt data using aes via x86 extensions
Encrypt data using aes via x86 extensions

Disassembly:
sub rsp, 0x68
movdqa xmm2, xmmword [0x1399d6f20]
mov r10, rcx
movdqa xmm3, xmmword [0x1399d6ed0]
mov rax, rcx
movdqa xmm4, xmmword [0x1399d6f40]
mov r11, r8
movdqa xmm5, xmmword [0x1399d6e20]
lea r8, [rcx + 0x1c00]
movdqu xmm0, xmmword [r9]
lea rcx, [rdx - 0x1c00]
movdqu xmm1, xmmword [r9 + 0x10]
add rcx, rax
movaps xmmword [rsp + 0x50], xmm6
mov edx, 2
movdqu xmm6, xmmword [r9 + 0x20]
movaps xmmword [rsp + 0x40], xmm7
movdqu xmm7, xmmword [r9 + 0x30]
movaps xmmword [rsp + 0x30], xmm8
movdqa xmm8, xmmword [0x1399d6ef0]
movaps xmmword [rsp + 0x20], xmm9
movdqa xmm9, xmmword [0x1399d6d80]
movaps xmmword [rsp + 0x10], xmm10
movaps xmmword [rsp], xmm11
movdqa xmm11, xmmword [0x1399d6de0]
movdqa xmm10, xmmword [0x1399d6dc0]
nop
cmp rax, rcx
jae 0x139ac4ab3
nop dword [rax]
aesenc xmm2, xmmword [rax]
aesdec xmm3, xmmword [rax + 0x10]
aesenc xmm4, xmmword [rax + 0x20]
aesdec xmm5, xmmword [rax + 0x30]
aesenc xmm2, xmmword [rax + 0x40]
aesdec xmm3, xmmword [rax + 0x50]
aesenc xmm4, xmmword [rax + 0x60]
aesdec xmm5, xmmword [rax + 0x70]
aesdec xmm0, xmm8
movdqu xmmword [rax], xmm0
aesenc xmm1, xmm9
movdqu xmmword [rax + 0x10], xmm1
aesdec xmm6, xmm10
movdqu xmmword [rax + 0x20], xmm6
aesenc xmm7, xmm11
movdqu xmmword [rax + 0x30], xmm7
aesdec xmm0, xmm8
movdqu xmmword [rax + 0x40], xmm0
aesenc xmm1, xmm9
movdqu xmmword [rax + 0x50], xmm1
aesdec xmm6, xmm10
aesenc xmm7, xmm11
movdqu xmmword [rax + 0x60], xmm6
movdqu xmmword [rax + 0x70], xmm7
prefetcht0 byte [r8]
prefetcht0 byte [r8 + 0x40]
sub rax, 0xffffffffffffff80
lea r8, [r8 + 0x80]
cmp rax, rcx
jb 0x139ac4a10
add rcx, 0x1c00
mov r8, r10
sub rdx, 1
jne 0x139ac4a00
movaps xmm8, xmmword [rsp + 0x30]
movaps xmm9, xmmword [rsp + 0x20]
movaps xmm10, xmmword [rsp + 0x10]
movaps xmm11, xmmword [rsp]
movdqu xmmword [r9], xmm0
movdqa xmm0, xmmword [0x1399d6d50]
movdqu xmmword [r9 + 0x10], xmm1
movdqa xmm1, xmmword [0x1399d6f50]
movdqu xmmword [r9 + 0x20], xmm6
movaps xmm6, xmmword [rsp + 0x50]
movdqu xmmword [r9 + 0x30], xmm7
movaps xmm7, xmmword [rsp + 0x40]
aesenc xmm2, xmm0
aesdec xmm3, xmm0
aesenc xmm4, xmm0
aesdec xmm5, xmm0
aesenc xmm2, xmm1
aesdec xmm3, xmm1
aesenc xmm4, xmm1
aesdec xmm5, xmm1
movdqu xmmword [r11], xmm2
movdqu xmmword [r11 + 0x10], xmm3
movdqu xmmword [r11 + 0x20], xmm4
movdqu xmmword [r11 + 0x30], xmm5
add rsp, 0x68
ret
Function at 0x139acd820
Capabilities:
Hash data using sha512

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x70
mov rax, qword [0x139d4c1c0]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rdi, rdx
mov rbx, rcx
test rcx, rcx
je 0x139acd91e
lea rax, [rdx - 1]
cmp rax, 0x3f
ja 0x139acd905
xor eax, eax
mov byte [rsp + 0x20], dil
xor edx, edx
mov qword [rsp + 0x32], rax
mov r8d, 0xf0
mov dword [rsp + 0x3a], eax
mov word [rsp + 0x3e], ax
mov word [rsp + 0x21], 0x100
mov byte [rsp + 0x23], 1
mov dword [rsp + 0x24], 0
mov word [rsp + 0x30], 0
call fcn.139d16f70
movaps xmm0, xmmword [0x1399cd380]
mov rax, qword [rsp + 0x20]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x1399cd390]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x1399cd3a0]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x1399cd3b0]
xorps xmm0, xmm0
movups xmmword [rbx + 0x30], xmm1
xor qword [rbx], rax
mov rax, qword [rsp + 0x30]
xor qword [rbx + 0x10], rax
mov rax, qword [rsp + 0x38]
xor qword [rbx + 0x18], rax
movq rax, xmm0
xor qword [rbx + 0x20], rax
xor qword [rbx + 8], 0
psrldq xmm0, 8
movq rax, xmm0
xor qword [rbx + 0x28], rax
movzx eax, dil
mov dword [rbx + 0xe4], eax
xor eax, eax
jmp 0x139acd923
cmp byte [rcx + 0xe8], 0
je 0x139acd916
mov qword [rcx + 0x58], 0xffffffffffffffff
mov qword [rcx + 0x50], 0xffffffffffffffff
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.139ce5c70
mov rbx, qword [rsp + 0x90]
add rsp, 0x70
pop rdi
ret
Function at 0x139ae07f0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rbp, rcx
xor edi, edi
mov rax, qword [rcx + 8]
mov rdx, qword [rax + 0x10]
mov rdx, qword [rdx + 8]
add rdx, 0x88
call fcn.139ae1280
mov ecx, 0x40
call fcn.139ce5c90
mov rsi, rax
mov qword [rsp + 0x48], rax
mov r14, qword [rbp + 8]
lea rbx, [rax + 8]
lea rax, [0x1399d3760]
mov qword [rsi], rax
lea rax, [0x1399d3748]
mov qword [rbx], rax
mov qword [rsi + 0x10], r14
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x20], rdi
mov qword [rsi + 0x28], rdi
mov word [rsi + 0x30], di
mov qword [rsi + 0x38], rdi
mov ecx, 0x20
call fcn.139ce5c90
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rcx, [0x1399d30c8]
mov qword [rax], rcx
lea rcx, [rax + 0x10]
lea rdx, [0x1399d30b0]
mov qword [rcx], rdx
mov qword [rcx + 8], rbx
mov qword [rsi + 0x18], rcx
mov rbx, qword [rsi + 0x20]
mov qword [rsi + 0x20], rax
test rbx, rbx
je 0x139ae08e1
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x139ae08e1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x139ae08e1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [rsp + 0x40], rsi
mov rcx, qword [r14 + 0x10]
add rcx, 0x10
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x139ae0902
mov qword [rdx], rsi
add qword [rcx + 8], 8
jmp 0x139ae090d
lea r8, [rsp + 0x40]
call fcn.139a04e40
nop
mov qword [rbp + 0x38], rsi
mov rcx, rsi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop rdi
pop rsi
jmp fcn.139a32300

Function at 0x139ae1420
Capabilities:
Encode data using xor

Disassembly:
lea rax, [rdx + 0x3f8]
lea r8, [rcx + 0x3f8]
cmp rcx, rax
ja 0x139ae1453
cmp r8, rdx
jb 0x139ae1453
sub rdx, rcx
mov r8d, 0x80
mov rax, qword [rdx + rcx]
xor qword [rcx], rax
lea rcx, [rcx + 8]
sub r8, 1
jne 0x139ae1441
ret
lea rax, [rcx + 0x10]
sub rdx, rcx
mov ecx, reloc.WS2_32.dll_recv
nop
movdqu xmm0, xmmword [rax - 0x10]
movdqu xmm1, xmmword [rax + rdx - 0x10]
movdqu xmm2, xmmword [rax + rdx]
lea rax, [rax + 0x40]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm1, xmmword [rax + rdx - 0x30]
xorps xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [rax + rdx - 0x20]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
sub rcx, 1
jne 0x139ae1460
ret
Function at 0x139b439d0
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov eax, 0x28
call fcn.139ce6750
sub rsp, rax
mov r10, rcx
test r9, r9
jne 0x139b43a1a
call fcn.139b47980
lea r8, [0x139910d70]
mov edx, 0xa0
lea rcx, [0x139910d80]
call fcn.139b47aa0
xor r8d, r8d
mov edx, 0xde
lea ecx, [r8 + 0xd]
call fcn.139b47ba0
xor eax, eax
add rsp, 0x28
ret
mov qword [rsp + 0x20], rbx
movzx ebx, byte [r8]
and ebx, 0x80
test rdx, rdx
je 0x139b43a30
mov dword [rdx], ebx
cmp r9, 1
jne 0x139b43a56
test r10, r10
je 0x139b43a47
movzx eax, byte [r8]
test ebx, ebx
je 0x139b43a45
neg al
mov byte [rcx], al
mov rbx, qword [rsp + 0x20]
mov eax, 1
add rsp, 0x28
ret
movzx ecx, byte [r8]
xor r11d, r11d
mov eax, r11d
test cl, cl
jne 0x139b43a71
mov eax, 1
mov r11d, eax
jmp 0x139b43b31
cmp cl, 0xff
jne 0x139b43b7a
mov eax, 1
lea rcx, [r9 - 1]
mov edx, r11d
cmp r9, rax
jbe 0x139b43b1f
cmp rcx, 8
jb 0x139b43b10
and ecx, 7
mov rdx, r9
sub rdx, rcx
xorps xmm2, xmm2
xorps xmm3, xmm3
nop dword [rax]
nop dword [rax + rax]
movd xmm1, dword [rax + r8]
xorps xmm0, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
por xmm2, xmm1
movd xmm1, dword [rax + r8 + 4]
punpcklbw xmm1, xmm0
add rax, 8
punpcklwd xmm1, xmm0
por xmm1, xmm3
movdqa xmm3, xmm1
cmp rax, rdx
jb 0x139b43ab0
por xmm2, xmm1
movdqa xmm0, xmm2
psrldq xmm0, 8
por xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
por xmm2, xmm0
movd edx, xmm2
cmp rax, r9
jae 0x139b43b1f
nop dword [rax]
movzx ecx, byte [rax + r8]
inc rax
or edx, ecx
cmp rax, r9
jb 0x139b43b10
test edx, edx
mov eax, r11d
setne al
test edx, edx
setne r11b
test edx, edx
je 0x139b43b7a
movzx ecx, byte [r8 + 1]
and ecx, 0x80
cmp ebx, ecx
jne 0x139b43b7a
call fcn.139b47980
lea r8, [0x139910d70]
mov edx, 0xc1
lea rcx, [0x139910d80]
call fcn.139b47aa0
xor r8d, r8d
mov edx, 0xdd
lea ecx, [r8 + 0xd]
call fcn.139b47ba0
mov rbx, qword [rsp + 0x20]
xor eax, eax
add rsp, 0x28
ret
mov ecx, eax
sub r9, rcx
test r10, r10
je 0x139b43bcd
neg ebx
lea rax, [r11 + r8]
sbb r11d, r11d
movzx r11d, r11b
mov ecx, r11d
and ecx, 1
test r9, r9
je 0x139b43bcd
lea r8, [rax + r9]
mov rdx, r8
sub rdx, r8
add rdx, r9
nop dword [rax]
movzx eax, byte [r8 - 1]
lea r8, [r8 - 1]
dec rdx
xor eax, r11d
add ecx, eax
mov byte [r10 + rdx], cl
shr ecx, 8
test rdx, rdx
jne 0x139b43bb0
mov rbx, qword [rsp + 0x20]
mov rax, r9
add rsp, 0x28
ret
Function at 0x139b43be0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
xor r10d, r10d
xor r11b, r11b
mov rsi, r9
mov rbx, rcx
test rcx, rcx
je 0x139b43cf8
test rdx, rdx
je 0x139b43cf8
movzx eax, byte [rcx]
test r8d, r8d
jne 0x139b43c25
cmp al, 0x7f
jbe 0x139b43cf0
mov r10d, 1
mov eax, r10d
add rax, rdx
jmp 0x139b43d00
mov r11b, 0xff
cmp al, 0x80
jbe 0x139b43c3d
mov r10d, 1
mov eax, r10d
add rax, rdx
jmp 0x139b43d00
jne 0x139b43cf0
mov eax, 1
lea rcx, [rdx - 1]
cmp rdx, rax
jbe 0x139b43cdf
cmp rcx, 8
jb 0x139b43cd0
and ecx, 7
mov r8, rdx
sub r8, rcx
xorps xmm3, xmm3
xorps xmm2, xmm2
nop word [rax + rax]
movd xmm1, dword [rax + rbx]
xorps xmm0, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
por xmm3, xmm1
movd xmm1, dword [rax + rbx + 4]
punpcklbw xmm1, xmm0
add rax, 8
punpcklwd xmm1, xmm0
por xmm2, xmm1
cmp rax, r8
jb 0x139b43c70
por xmm2, xmm3
movdqa xmm0, xmm2
psrldq xmm0, 8
por xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
por xmm2, xmm0
movd r10d, xmm2
cmp rax, rdx
jae 0x139b43cdf
nop word [rax + rax]
movzx ecx, byte [rax + rbx]
inc rax
or r10d, ecx
cmp rax, rdx
jb 0x139b43cd0
neg r10d
sbb r11b, r11b
movzx r11d, r11b
mov r10d, r11d
and r10d, 1
mov eax, r10d
add rax, rdx
jmp 0x139b43d00
mov eax, 1
mov rdx, r10
test rsi, rsi
je 0x139b43d6a
mov rcx, qword [r9]
test rcx, rcx
je 0x139b43d6a
mov qword [rsp + 0x10], rdi
mov edi, r10d
movzx r8d, r11b
add rdi, rcx
and r8d, 1
mov byte [rcx], r11b
test rdx, rdx
je 0x139b43d62
lea r10, [rbx + rdx]
mov r9, r10
sub r9, r10
add r9, rdx
nop word [rax + rax]
movzx edx, byte [r10 - 1]
lea r10, [r10 - 1]
dec r9
movzx ecx, r11b
xor edx, ecx
add r8d, edx
mov byte [rdi + r9], r8b
shr r8d, 8
test r9, r9
jne 0x139b43d40
add qword [rsi], rax
mov rdi, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x18]
pop rsi
ret

Function at 0x139b43f60
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x28
call fcn.139ce6750
sub rsp, rax
mov r8d, dword [rcx + 4]
mov r9, rdx
movsxd rdx, dword [rcx]
and r8d, 0x100
mov rcx, qword [rcx + 8]
add rsp, 0x28
jmp fcn.139b43be0

Function at 0x139b47870
Capabilities:
Set thread local storage value

Disassembly:
mov eax, 0x28
call fcn.139ce6750
sub rsp, rax
mov ecx, dword [rcx]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
add rsp, 0x28
ret

Function at 0x139b4dae0
Capabilities:
Encode data using add xor sub operations

Disassembly:
xor eax, eax
mov r10, rcx
test rcx, rcx
je 0x139b4db4c
movzx ecx, byte [rcx]
test cl, cl
je 0x139b4db4c
mov r11d, 0x100
nop word [rax + rax]
movsx r9d, cl
lea r10, [r10 + 1]
or r9d, r11d
mov r8d, eax
mov edx, r9d
mov ecx, 0x20
shr edx, 2
add r11d, 0x100
xor edx, r9d
imul r9d, r9d
and edx, 0xf
sub ecx, edx
shr r8, cl
mov ecx, edx
mov edx, eax
mov eax, r8d
shl edx, cl
movzx ecx, byte [r10]
or eax, edx
xor eax, r9d
test cl, cl
jne 0x139b4db00
mov ecx, eax
shr ecx, 0x10
xor eax, ecx
ret
Function at 0x139b4db50
Capabilities:
Encode data using add xor sub operations

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
mov eax, 0x20
call fcn.139ce6750
sub rsp, rax
xor ebx, ebx
mov rdi, rcx
test rcx, rcx
je 0x139b4dbe3
movzx eax, byte [rcx]
test al, al
je 0x139b4dbe3
mov qword [rsp + 0x30], rsi
mov esi, 0x100
nop
movsx ecx, al
call fcn.139bb17e0
mov r9d, eax
mov edx, ebx
or r9d, esi
lea rdi, [rdi + 1]
mov eax, ebx
mov r8d, r9d
shr r8d, 2
mov ecx, 0x20
xor r8d, r9d
add esi, 0x100
and r8d, 0xf
imul r9d, r9d
sub ecx, r8d
shr rdx, cl
mov ecx, r8d
shl eax, cl
mov ebx, edx
or ebx, eax
movzx eax, byte [rdi]
xor ebx, r9d
test al, al
jne 0x139b4db80
mov rsi, qword [rsp + 0x30]
mov eax, ebx
shr eax, 0x10
xor eax, ebx
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rbx, qword [rsp + 0x38]
xor eax, eax
add rsp, 0x20
pop rdi
ret

Function at 0x139b5cfb0
Capabilities:
Get thread local storage value

Disassembly:
mov eax, 0x28
call fcn.139ce6750
sub rsp, rax
lea rcx, [0x139d50c50]
add rsp, 0x28
jmp fcn.139b476f0

Function at 0x139b719d0
Capabilities:
Encode data using xor

Disassembly:
xor r9b, r9b
mov r10, rdx
test r8, r8
je 0x139b719f7
sub r10, rcx
nop
movzx edx, byte [r10 + rcx]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
xor dl, al
or r9b, dl
sub r8, 1
jne 0x139b719e0
movzx eax, r9b
ret
Function at 0x139b86570
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
mov eax, 0x280
call fcn.139ce6750
sub rsp, rax
mov rax, qword [0x139d4c1c0]
xor rax, rsp
mov qword [rsp + 0x270], rax
cmp dword [0x139d50f38], 0
lea rax, [0x139b85ee0]
mov qword [rsp + 0x28], rax
lea rbx, [0x139931e60]
lea rax, [0x139931e70]
movzx ebp, cx
mov qword [rsp + 0x30], rax
lea rax, [0x139b86330]
mov qword [rsp + 0x38], rax
lea rax, [0x139931e80]
mov qword [rsp + 0x40], rax
lea rax, [0x139b85e80]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x20], rbx
jne 0x139b86749
mov edx, 0x104
lea rcx, [rsp + 0x160]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x139b8673f
lea r8, [rsp + 0x160]
mov qword [rsp + 0x290], rsi
mov edx, 0x10c
lea rcx, [rsp + 0x50]
call fcn.139cfe698
lea r8, [0x139931e90]
mov edx, 0x10c
lea rcx, [rsp + 0x50]
call fcn.139cfe6f8
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rsi, rax
test rax, rax
je 0x139b8666a
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x139b866ca
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea r8, [rsp + 0x160]
mov edx, 0x10c
lea rcx, [rsp + 0x50]
call fcn.139cfe698
lea r8, [0x139931e98]
mov edx, 0x10c
lea rcx, [rsp + 0x50]
call fcn.139cfe6f8
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rsi, rax
test rax, rax
je 0x139b86737
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x139b866ca
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x139b86737
mov qword [rsp + 0x298], rdi
lea rbx, [rsp + 0x28]
xor edi, edi
nop dword [rax]
mov rdx, qword [rbx - 8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx], rax
test rax, rax
je 0x139b86726
inc edi
add rbx, 0x10
cmp edi, 3
jl 0x139b866e0
mov rax, qword [rsp + 0x28]
mov qword [0x139d4a390], rax
mov rax, qword [rsp + 0x38]
mov qword [0x139d4a3a0], rax
mov rax, qword [rsp + 0x48]
mov qword [0x139d4a3b0], rax
jmp 0x139b8672f
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rdi, qword [rsp + 0x298]
mov rsi, qword [rsp + 0x290]
mov dword [0x139d50f38], 1
mov rax, rbp
lea rcx, [0x139d4a388]
add rax, rax
mov rax, qword [rcx + rax*8 + 8]
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.139ce5c70
mov rbx, qword [rsp + 0x2a0]
add rsp, 0x280
pop rbp
ret