joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140014530
Capabilities:
Get thread local storage value

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
lea r12, [0x14002c1c0]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x14002c1a0]
test rbx, rbx
je 0x14001458c
mov rbp, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax]
mov ecx, dword [rbx]
call rbp
mov rsi, rax
call rdi
test eax, eax
jne 0x140014583
test rsi, rsi
je 0x140014583
mov rax, qword [rbx + 8]
mov rcx, rsi
call rax
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x140014568
mov rcx, r12
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x1400148c0
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rdx, qword [0x140018650]
xor eax, eax
cmp word [rdx], 0x5a4d
jne 0x1400148e0
movsxd r8, dword [rdx + 0x3c]
add r8, rdx
cmp dword [r8], 0x4550
je 0x1400148e8
ret
cmp word [r8 + 0x18], 0x20b
jne 0x1400148e0
movzx eax, word [r8 + 0x14]
sub rcx, rdx
lea rax, [r8 + rax + 0x18]
movzx r8d, word [r8 + 6]
test r8w, r8w
je 0x14001493d
lea edx, [r8 - 1]
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop word cs:[rax + rax]
mov r8d, dword [rax + 0xc]
cmp rcx, r8
mov rdx, r8
jb 0x140014934
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x1400148e0
add rax, 0x28
cmp rax, r9
jne 0x140014920
xor eax, eax
ret

Function at 0x140014940
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x140018650]
xor ecx, ecx
cmp word [rax], 0x5a4d
jne 0x14001495f
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x140014968
mov eax, ecx
ret
cmp word [rax + 0x18], 0x20b
jne 0x14001495f
movzx ecx, word [rax + 6]
mov eax, ecx
ret

Function at 0x140014a00
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x140018650]
xor edx, edx
cmp word [rax], 0x5a4d
jne 0x140014a1f
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
je 0x140014a28
mov rax, rdx
ret
cmp word [rcx + 0x18], 0x20b
cmove rdx, rax
mov rax, rdx
ret

Function at 0x181b1f000
Capabilities:
Decompress data using aplib

Disassembly:
jmp 0x181b1f00a
jmp 0x181b2100f
jmp fcn.181728058
Function at 0x180005950
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x48
xor r8d, r8d
movaps xmmword [rsp + 0x30], xmm6
cmp dword [0x18001e090], 2
mov r10, rdx
mov r9, rcx
jl 0x180005b57
movdqa xmm6, xmmword [0x18001b0e0]
lea rax, [rdx + 0x3e]
add rcx, 0x3e
cmp r9, rax
ja 0x18000598d
cmp rcx, rdx
jae 0x180005b57
movaps xmmword [rsp + 0x20], xmm7
movaps xmmword [rsp + 0x10], xmm8
movaps xmmword [rsp], xmm9
movdqa xmm4, xmmword [0x18001b2f0]
lea rcx, [r9 + 8]
movdqa xmm7, xmmword [0x18001b100]
sub r10, r9
movdqa xmm5, xmmword [0x18001b2d0]
movdqa xmm8, xmmword [0x18001b110]
movdqa xmm9, xmmword [0x18001b120]
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm6
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [r10 + rcx - 0x18]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x18], xmm3
paddd xmm2, xmm6
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [r10 + rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
cmp r8d, 0x20
jl 0x1800059d0
movaps xmm9, xmmword [rsp]
movaps xmm8, xmmword [rsp + 0x10]
movaps xmm7, xmmword [rsp + 0x20]
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
sub r10, r9
nop word [rax + rax]
mov ecx, r8d
lea r9, [r9 + 2]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
inc r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x33
sub ecx, eax
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub ecx, eax
add cx, 0x30
xor cx, word [r10 + r9 - 2]
mov word [r9 - 2], cx
cmp r8d, 0x20
jl 0x180005b60
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
Function at 0x180005bc0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x48
xor r8d, r8d
movaps xmmword [rsp + 0x30], xmm6
cmp dword [0x18001e090], 2
mov r10, rdx
jl 0x180005dc5
movdqa xmm6, xmmword [0x18001b0e0]
lea rax, [r10 + 0x46]
lea rdx, [rcx + 0x46]
cmp rcx, rax
ja 0x180005bfa
cmp rdx, r10
jae 0x180005dc5
movaps xmmword [rsp + 0x20], xmm7
movaps xmmword [rsp + 0x10], xmm8
movaps xmmword [rsp], xmm9
movdqa xmm4, xmmword [0x18001b2f0]
lea r9, [rcx + 8]
movdqa xmm7, xmmword [0x18001b100]
mov rdx, r10
movdqa xmm5, xmmword [0x18001b2d0]
sub rdx, rcx
movdqa xmm8, xmmword [0x18001b110]
movdqa xmm9, xmmword [0x18001b120]
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea r9, [r9 + 0x10]
paddd xmm2, xmm6
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx + r9 - 0x18]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [r9 - 0x18], xmm3
paddd xmm2, xmm6
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx + r9 - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [r9 - 0x10], xmm3
cmp r8d, 0x20
jl 0x180005c40
movaps xmm9, xmmword [rsp]
movaps xmm8, xmmword [rsp + 0x10]
movaps xmm7, xmmword [rsp + 0x20]
cmp r8d, 0x24
jge 0x180005e1f
movsxd rax, r8d
sub r10, rcx
lea r9, [rcx + rax*2]
nop
mov ecx, r8d
lea r9, [r9 + 2]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
inc r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x33
sub ecx, eax
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub ecx, eax
add cx, 0x30
xor cx, word [r10 + r9 - 2]
mov word [r9 - 2], cx
cmp r8d, 0x24
jl 0x180005dd0
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
Function at 0x180005e30
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x48
xor r8d, r8d
movaps xmmword [rsp + 0x30], xmm6
cmp dword [0x18001e090], 2
mov r10, rdx
jl 0x180006035
movdqa xmm6, xmmword [0x18001b0e0]
lea rax, [r10 + 0x42]
lea rdx, [rcx + 0x42]
cmp rcx, rax
ja 0x180005e6a
cmp rdx, r10
jae 0x180006035
movaps xmmword [rsp + 0x20], xmm7
movaps xmmword [rsp + 0x10], xmm8
movaps xmmword [rsp], xmm9
movdqa xmm4, xmmword [0x18001b2f0]
lea r9, [rcx + 8]
movdqa xmm7, xmmword [0x18001b100]
mov rdx, r10
movdqa xmm5, xmmword [0x18001b2d0]
sub rdx, rcx
movdqa xmm8, xmmword [0x18001b110]
movdqa xmm9, xmmword [0x18001b120]
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea r9, [r9 + 0x10]
paddd xmm2, xmm6
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx + r9 - 0x18]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [r9 - 0x18], xmm3
paddd xmm2, xmm6
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx + r9 - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [r9 - 0x10], xmm3
cmp r8d, 0x20
jl 0x180005eb0
movaps xmm9, xmmword [rsp]
movaps xmm8, xmmword [rsp + 0x10]
movaps xmm7, xmmword [rsp + 0x20]
cmp r8d, 0x22
jge 0x18000608f
movsxd rax, r8d
sub r10, rcx
lea r9, [rcx + rax*2]
nop
mov ecx, r8d
lea r9, [r9 + 2]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
inc r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x33
sub ecx, eax
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub ecx, eax
add cx, 0x30
xor cx, word [r10 + r9 - 2]
mov word [r9 - 2], cx
cmp r8d, 0x22
jl 0x180006040
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
Function at 0x1800060a0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x48
xor r8d, r8d
movaps xmmword [rsp + 0x30], xmm6
cmp dword [0x18001e090], 2
mov r10, rdx
mov r9, rcx
jl 0x1800062a7
movdqa xmm6, xmmword [0x18001b0e0]
lea rax, [rdx + 0x4e]
add rcx, 0x4e
cmp r9, rax
ja 0x1800060dd
cmp rcx, rdx
jae 0x1800062a7
movaps xmmword [rsp + 0x20], xmm7
movaps xmmword [rsp + 0x10], xmm8
movaps xmmword [rsp], xmm9
movdqa xmm4, xmmword [0x18001b2f0]
lea rcx, [r9 + 8]
movdqa xmm7, xmmword [0x18001b100]
sub r10, r9
movdqa xmm5, xmmword [0x18001b2d0]
movdqa xmm8, xmmword [0x18001b110]
movdqa xmm9, xmmword [0x18001b120]
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm6
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [r10 + rcx - 0x18]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x18], xmm3
paddd xmm2, xmm6
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [r10 + rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
cmp r8d, 0x28
jl 0x180006120
movaps xmm9, xmmword [rsp]
movaps xmm8, xmmword [rsp + 0x10]
movaps xmm7, xmmword [rsp + 0x20]
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
sub r10, r9
nop word [rax + rax]
mov ecx, r8d
lea r9, [r9 + 2]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
inc r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x33
sub ecx, eax
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub ecx, eax
add cx, 0x30
xor cx, word [r10 + r9 - 2]
mov word [r9 - 2], cx
cmp r8d, 0x28
jl 0x1800062b0
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
Function at 0x180006310
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x48
xor r8d, r8d
movaps xmmword [rsp + 0x30], xmm6
cmp dword [0x18001e090], 2
mov r10, rdx
jl 0x180006515
movdqa xmm6, xmmword [0x18001b0e0]
lea rax, [r10 + 0x36]
lea rdx, [rcx + 0x36]
cmp rcx, rax
ja 0x18000634a
cmp rdx, r10
jae 0x180006515
movaps xmmword [rsp + 0x20], xmm7
movaps xmmword [rsp + 0x10], xmm8
movaps xmmword [rsp], xmm9
movdqa xmm4, xmmword [0x18001b2f0]
lea r9, [rcx + 8]
movdqa xmm7, xmmword [0x18001b100]
mov rdx, r10
movdqa xmm5, xmmword [0x18001b2d0]
sub rdx, rcx
movdqa xmm8, xmmword [0x18001b110]
movdqa xmm9, xmmword [0x18001b120]
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea r9, [r9 + 0x10]
paddd xmm2, xmm6
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx + r9 - 0x18]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [r9 - 0x18], xmm3
paddd xmm2, xmm6
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx + r9 - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [r9 - 0x10], xmm3
cmp r8d, 0x18
jl 0x180006390
movaps xmm9, xmmword [rsp]
movaps xmm8, xmmword [rsp + 0x10]
movaps xmm7, xmmword [rsp + 0x20]
cmp r8d, 0x1c
jge 0x18000656f
movsxd rax, r8d
sub r10, rcx
lea r9, [rcx + rax*2]
nop
mov ecx, r8d
lea r9, [r9 + 2]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
inc r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x33
sub ecx, eax
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub ecx, eax
add cx, 0x30
xor cx, word [r10 + r9 - 2]
mov word [r9 - 2], cx
cmp r8d, 0x1c
jl 0x180006520
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
Function at 0x180006580
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x48
xor r8d, r8d
movaps xmmword [rsp + 0x30], xmm6
cmp dword [0x18001e090], 2
mov r10, rdx
jl 0x180006785
movdqa xmm6, xmmword [0x18001b0e0]
lea rax, [r10 + 0x3c]
lea rdx, [rcx + 0x3c]
cmp rcx, rax
ja 0x1800065ba
cmp rdx, r10
jae 0x180006785
movaps xmmword [rsp + 0x20], xmm7
movaps xmmword [rsp + 0x10], xmm8
movaps xmmword [rsp], xmm9
movdqa xmm4, xmmword [0x18001b2f0]
lea r9, [rcx + 8]
movdqa xmm7, xmmword [0x18001b100]
mov rdx, r10
movdqa xmm5, xmmword [0x18001b2d0]
sub rdx, rcx
movdqa xmm8, xmmword [0x18001b110]
movdqa xmm9, xmmword [0x18001b120]
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea r9, [r9 + 0x10]
paddd xmm2, xmm6
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx + r9 - 0x18]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [r9 - 0x18], xmm3
paddd xmm2, xmm6
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx + r9 - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [r9 - 0x10], xmm3
cmp r8d, 0x18
jl 0x180006600
movaps xmm9, xmmword [rsp]
movaps xmm8, xmmword [rsp + 0x10]
movaps xmm7, xmmword [rsp + 0x20]
cmp r8d, 0x1f
jge 0x1800067df
movsxd rax, r8d
sub r10, rcx
lea r9, [rcx + rax*2]
nop
mov ecx, r8d
lea r9, [r9 + 2]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
inc r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x33
sub ecx, eax
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub ecx, eax
add cx, 0x30
xor cx, word [r10 + r9 - 2]
mov word [r9 - 2], cx
cmp r8d, 0x1f
jl 0x180006790
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
Function at 0x1800067f0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x48
xor r8d, r8d
movaps xmmword [rsp + 0x30], xmm6
cmp dword [0x18001e090], 2
mov r10, rdx
mov r9, rcx
jl 0x1800069f7
movdqa xmm6, xmmword [0x18001b0e0]
lea rax, [rdx + 0x2e]
add rcx, 0x2e
cmp r9, rax
ja 0x18000682d
cmp rcx, rdx
jae 0x1800069f7
movaps xmmword [rsp + 0x20], xmm7
movaps xmmword [rsp + 0x10], xmm8
movaps xmmword [rsp], xmm9
movdqa xmm4, xmmword [0x18001b2f0]
lea rcx, [r9 + 8]
movdqa xmm7, xmmword [0x18001b100]
sub r10, r9
movdqa xmm5, xmmword [0x18001b2d0]
movdqa xmm8, xmmword [0x18001b110]
movdqa xmm9, xmmword [0x18001b120]
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm6
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [r10 + rcx - 0x18]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x18], xmm3
paddd xmm2, xmm6
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [r10 + rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
cmp r8d, 0x18
jl 0x180006870
movaps xmm9, xmmword [rsp]
movaps xmm8, xmmword [rsp + 0x10]
movaps xmm7, xmmword [rsp + 0x20]
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
sub r10, r9
nop word [rax + rax]
mov ecx, r8d
lea r9, [r9 + 2]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
inc r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x33
sub ecx, eax
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub ecx, eax
add cx, 0x30
xor cx, word [r10 + r9 - 2]
mov word [r9 - 2], cx
cmp r8d, 0x18
jl 0x180006a00
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret