joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140001580
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x58
mov ecx, 8
call fcn.140002570
lea rcx, [0x140001520]
mov r9, rax
lea r8, [0x1400017d0]
xor edx, edx
mov qword [rax], rcx
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
xor ecx, ecx
mov dword [rsp + 0x20], 0
call fcn.140008de8
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14000161c
cmp dword [rsp + 0x38], 0
je 0x14000162f
call sub.KERNEL32.dll_GetCurrentThreadId
cmp dword [rsp + 0x38], eax
je 0x14000163a
movaps xmm0, xmmword [rsp + 0x30]
lea rcx, [rsp + 0x40]
xor edx, edx
movdqa xmmword [rsp + 0x40], xmm0
call fcn.140002350
test eax, eax
jne 0x140001645
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x30], xmm0
call fcn.1400011e0
test eax, eax
jne 0x140001610
lea ecx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_ExitProcess]
cmp dword [rsp + 0x38], 0
jne 0x140001650
add rsp, 0x58
ret
mov ecx, 6
mov dword [rsp + 0x38], 0
call fcn.140001fbc
int3
mov ecx, 1
call fcn.140001fbc
int3
mov ecx, 5
call fcn.140001fbc
int3
mov ecx, 2
call fcn.140001fbc
int3
call fcn.1400091ec
int3

Function at 0x140002fe0
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14000302a
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14000302a
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14000302a
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14000302a
cmp dword [rcx + 0x84], 0xe
jbe 0x14000302a
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x14000302c
xor al, al
add rsp, 0x28
ret

Function at 0x140008de8
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x30
xor edi, edi
mov esi, edx
mov rbp, rcx
test r8, r8
jne 0x140008e1f
call fcn.14000b2f0
mov dword [rax], 0x16
call fcn.140009604
xor eax, eax
jmp 0x140008ead
mov rdx, r9
mov rcx, r8
call fcn.140008d84
mov rbx, rax
test rax, rax
je 0x140008eaa
lea rax, [rsp + 0x50]
mov rdx, rsi
mov qword [rsp + 0x28], rax
lea r8, [0x140008cb0]
mov eax, dword [rsp + 0x60]
mov r9, rbx
mov rcx, rbp
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdx, rax
test rax, rax
jne 0x140008e97
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14000b264
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x140008e7e
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x140008e8d
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, rbx
call fcn.14000b388
jmp 0x140008eaa
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140008ea7
mov eax, dword [rsp + 0x50]
mov dword [rcx], eax
mov rdi, rdx
mov rax, rdi
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret

Function at 0x14000a95c
Capabilities:
Parse pe header

Disassembly:
xor r8d, r8d
xor edx, edx
jmp 0x14000a758
Function at 0x14000e378
Capabilities:
Query environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x40
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor esi, esi
mov rbx, rax
test rax, rax
jne 0x14000e3a8
xor eax, eax
jmp 0x14000e46b
mov rbp, rbx
cmp word [rax], si
je 0x14000e3cd
or rax, 0xffffffffffffffff
inc rax
cmp word [rbp + rax*2], si
jne 0x14000e3b4
lea rbp, [rbp + rax*2]
add rbp, 2
cmp word [rbp], si
jne 0x14000e3b0
mov qword [rsp + 0x38], rsi
sub rbp, rbx
mov qword [rsp + 0x30], rsi
add rbp, 2
sar rbp, 1
mov r8, rbx
mov r9d, ebp
mov dword [rsp + 0x28], esi
xor edx, edx
mov qword [rsp + 0x20], rsi
xor ecx, ecx
call fcn.14000e298
movsxd r14, eax
test eax, eax
jne 0x14000e40b
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
jmp 0x14000e3a1
mov rcx, r14
call fcn.14000c178
mov rdi, rax
test rax, rax
jne 0x14000e424
xor ecx, ecx
call fcn.14000b388
jmp 0x14000e400
mov qword [rsp + 0x38], rsi
mov r9d, ebp
mov qword [rsp + 0x30], rsi
mov r8, rbx
mov dword [rsp + 0x28], r14d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rdi
call fcn.14000e298
test eax, eax
jne 0x14000e455
mov rcx, rdi
call fcn.14000b388
jmp 0x14000e45f
xor ecx, ecx
call fcn.14000b388
mov rsi, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rsi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret

Function at 0x14000e488
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor ebp, ebp
mov rbx, rax
test rax, rax
je 0x14000e50f
mov rsi, rbx
cmp word [rax], bp
je 0x14000e4ce
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], bp
jne 0x14000e4b8
lea rsi, [rsi + rax*2]
add rsi, 2
cmp word [rsi], bp
jne 0x14000e4b4
sub rsi, rbx
add rsi, 2
sar rsi, 1
add rsi, rsi
mov rcx, rsi
call fcn.14000c178
mov rdi, rax
test rax, rax
je 0x14000e4fc
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.140013200
mov rbp, rdi
xor ecx, ecx
call fcn.14000b388
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rbp
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x1400116e4
Capabilities:
Set environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
xor r15d, r15d
mov r14, rdx
mov rsi, rcx
mov qword [rbp + 0x17], r15
xor edx, edx
mov qword [rbp + 0x1f], r15
lea rcx, [rbp - 0x39]
mov qword [rbp + 0x27], r15
mov qword [rbp + 0x2f], r15
mov edi, r15d
mov qword [rbp + 0x37], r15
mov byte [rbp + 0x3f], r15b
mov qword [rbp - 0x19], r15
mov qword [rbp - 0x11], r15
mov qword [rbp - 9], r15
mov qword [rbp - 1], r15
mov qword [rbp + 7], r15
mov byte [rbp + 0xf], r15b
call fcn.14000904c
mov rax, qword [rbp - 0x31]
mov ebx, 0xfde9
cmp dword [rax + 0xc], ebx
jne 0x14001176e
cmp byte [rbp - 0x21], r15b
je 0x140011769
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, ebx
jmp 0x1400117a4
call fcn.14000bd08
test eax, eax
jne 0x140011790
cmp byte [rbp - 0x21], r15b
je 0x140011788
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, 1
jmp 0x1400117a4
cmp byte [rbp - 0x21], r15b
je 0x1400117a1
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, r15d
lea r8, [rbp + 0x77]
mov rcx, rsi
lea rdx, [rbp + 0x17]
call fcn.140008ed0
test eax, eax
jne 0x140011844
xor edx, edx
lea rcx, [rbp - 0x39]
call fcn.14000904c
mov rax, qword [rbp - 0x31]
cmp dword [rax + 0xc], ebx
jne 0x1400117e3
cmp byte [rbp - 0x21], r15b
je 0x140011818
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
jmp 0x140011818
call fcn.14000bd08
test eax, eax
jne 0x140011804
cmp byte [rbp - 0x21], r15b
je 0x1400117fd
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov ebx, 1
jmp 0x140011818
cmp byte [rbp - 0x21], r15b
je 0x140011815
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov ebx, r15d
mov r9d, ebx
lea r8, [rbp + 0x77]
lea rdx, [rbp - 0x19]
mov rcx, r14
call fcn.140008ed0
mov rdi, qword [rbp - 9]
test eax, eax
jne 0x140011844
mov rcx, qword [rbp + 0x27]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov ebx, eax
jmp 0x140011847
mov ebx, r15d
cmp byte [rbp + 0xf], r15b
je 0x140011855
mov rcx, rdi
call fcn.14000b388
cmp byte [rbp + 0x3f], r15b
je 0x140011864
mov rcx, qword [rbp + 0x27]
call fcn.14000b388
lea r11, [rsp + 0xa0]
mov eax, ebx
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret

Function at 0x140012f20
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x140012f48
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x140012f48
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret
Function at 0x180004c80
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
xor r9d, r9d
movaps xmmword [rsp + 0x50], xmm7
cmp dword [0x18001c020], 2
mov r10, rdx
jl 0x180004ec9
movdqa xmm7, xmmword [0x180019020]
lea rax, [r10 + 0x3e]
lea rdx, [rcx + 0x3e]
cmp rcx, rax
ja 0x180004cba
cmp rdx, r10
jae 0x180004ec9
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x40], xmm8
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm10
movaps xmmword [rsp + 0x10], xmm11
movaps xmmword [rsp], xmm12
movdqa xmm4, xmmword [0x180019220]
lea rdx, [rcx + 8]
movdqa xmm9, xmmword [0x180019050]
mov eax, 4
movdqa xmm6, xmmword [0x180019250]
sub r10, rcx
movdqa xmm11, xmmword [0x180019040]
movdqa xmm12, xmmword [0x180019060]
movd xmm8, eax
mov eax, 0x1f
movd xmm5, eax
mov eax, 5
movd xmm10, eax
nop dword [rax + rax]
movd xmm2, r9d
lea eax, [r9 + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 0x10]
paddd xmm2, xmm7
add r9d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm8
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm10
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm11
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm12
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [r10 + rdx - 0x18]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
pxor xmm3, xmm0
movq qword [rdx - 0x18], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm8
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm10
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm11
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm12
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [r10 + rdx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rdx - 0x10], xmm3
cmp r9d, 0x20
jl 0x180004d30
movaps xmm12, xmmword [rsp]
movaps xmm11, xmmword [rsp + 0x10]
movaps xmm10, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x50]
add rsp, 0x78
ret
sub r10, rcx
nop dword [rax]
mov r8d, r9d
lea rcx, [rcx + 2]
mov eax, 0x4bda12f7
imul r9d
inc r9d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x36
sub r8d, eax
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x33
sub r8d, eax
add r8w, 0x34
xor r8w, word [rcx + r10 - 2]
mov word [rcx - 2], r8w
cmp r9d, 0x20
jl 0x180004ed0
movaps xmm7, xmmword [rsp + 0x50]
add rsp, 0x78
ret
Function at 0x180004f30
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
xor r8d, r8d
movaps xmmword [rsp + 0x50], xmm7
cmp dword [0x18001c020], 2
mov r10, rdx
jl 0x180005177
movdqa xmm7, xmmword [0x180019020]
lea rax, [r10 + 0x46]
lea rdx, [rcx + 0x46]
cmp rcx, rax
ja 0x180004f6a
cmp rdx, r10
jae 0x180005177
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x40], xmm8
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm10
movaps xmmword [rsp + 0x10], xmm11
movaps xmmword [rsp], xmm12
movdqa xmm4, xmmword [0x180019220]
lea r9, [rcx + 8]
movdqa xmm9, xmmword [0x180019050]
mov eax, 4
movdqa xmm6, xmmword [0x180019250]
mov rdx, r10
movdqa xmm11, xmmword [0x180019040]
sub rdx, rcx
movdqa xmm12, xmmword [0x180019060]
movd xmm8, eax
mov eax, 0x1f
movd xmm5, eax
mov eax, 5
movd xmm10, eax
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea r9, [r9 + 0x10]
paddd xmm2, xmm7
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
psrad xmm1, xmm8
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm10
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm11
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm12
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx + r9 - 0x18]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
pxor xmm3, xmm0
movq qword [r9 - 0x18], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm8
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm10
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm11
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm12
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx + r9 - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [r9 - 0x10], xmm3
cmp r8d, 0x20
jl 0x180004fe0
movaps xmm12, xmmword [rsp]
movaps xmm11, xmmword [rsp + 0x10]
movaps xmm10, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x60]
cmp r8d, 0x24
jge 0x1800051cf
movsxd rax, r8d
sub r10, rcx
lea r9, [rcx + rax*2]
mov ecx, r8d
lea r9, [r9 + 2]
mov eax, 0x4bda12f7
imul r8d
inc r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x36
sub ecx, eax
mov eax, 0xa0a0a0a1
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x33
sub ecx, eax
add cx, 0x34
xor cx, word [r9 + r10 - 2]
mov word [r9 - 2], cx
cmp r8d, 0x24
jl 0x180005181
movaps xmm7, xmmword [rsp + 0x50]
add rsp, 0x78
ret
Function at 0x1800051e0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
xor r8d, r8d
movaps xmmword [rsp + 0x50], xmm7
cmp dword [0x18001c020], 2
mov r10, rdx
jl 0x180005427
movdqa xmm7, xmmword [0x180019020]
lea rax, [r10 + 0x42]
lea rdx, [rcx + 0x42]
cmp rcx, rax
ja 0x18000521a
cmp rdx, r10
jae 0x180005427
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x40], xmm8
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm10
movaps xmmword [rsp + 0x10], xmm11
movaps xmmword [rsp], xmm12
movdqa xmm4, xmmword [0x180019220]
lea r9, [rcx + 8]
movdqa xmm9, xmmword [0x180019050]
mov eax, 4
movdqa xmm6, xmmword [0x180019250]
mov rdx, r10
movdqa xmm11, xmmword [0x180019040]
sub rdx, rcx
movdqa xmm12, xmmword [0x180019060]
movd xmm8, eax
mov eax, 0x1f
movd xmm5, eax
mov eax, 5
movd xmm10, eax
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea r9, [r9 + 0x10]
paddd xmm2, xmm7
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
psrad xmm1, xmm8
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm10
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm11
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm12
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx + r9 - 0x18]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
pxor xmm3, xmm0
movq qword [r9 - 0x18], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm8
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm10
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm11
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm12
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx + r9 - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [r9 - 0x10], xmm3
cmp r8d, 0x20
jl 0x180005290
movaps xmm12, xmmword [rsp]
movaps xmm11, xmmword [rsp + 0x10]
movaps xmm10, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x60]
cmp r8d, 0x22
jge 0x18000547f
movsxd rax, r8d
sub r10, rcx
lea r9, [rcx + rax*2]
mov ecx, r8d
lea r9, [r9 + 2]
mov eax, 0x4bda12f7
imul r8d
inc r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x36
sub ecx, eax
mov eax, 0xa0a0a0a1
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x33
sub ecx, eax
add cx, 0x34
xor cx, word [r9 + r10 - 2]
mov word [r9 - 2], cx
cmp r8d, 0x22
jl 0x180005431
movaps xmm7, xmmword [rsp + 0x50]
add rsp, 0x78
ret
Function at 0x180005490
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
xor r9d, r9d
movaps xmmword [rsp + 0x50], xmm7
cmp dword [0x18001c020], 2
mov r10, rdx
jl 0x1800056d9
movdqa xmm7, xmmword [0x180019020]
lea rax, [r10 + 0x4e]
lea rdx, [rcx + 0x4e]
cmp rcx, rax
ja 0x1800054ca
cmp rdx, r10
jae 0x1800056d9
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x40], xmm8
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm10
movaps xmmword [rsp + 0x10], xmm11
movaps xmmword [rsp], xmm12
movdqa xmm4, xmmword [0x180019220]
lea rdx, [rcx + 8]
movdqa xmm9, xmmword [0x180019050]
mov eax, 4
movdqa xmm6, xmmword [0x180019250]
sub r10, rcx
movdqa xmm11, xmmword [0x180019040]
movdqa xmm12, xmmword [0x180019060]
movd xmm8, eax
mov eax, 0x1f
movd xmm5, eax
mov eax, 5
movd xmm10, eax
nop dword [rax + rax]
movd xmm2, r9d
lea eax, [r9 + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 0x10]
paddd xmm2, xmm7
add r9d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm8
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm10
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm11
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm12
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [r10 + rdx - 0x18]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
pxor xmm3, xmm0
movq qword [rdx - 0x18], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm8
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm10
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm11
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm12
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [r10 + rdx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rdx - 0x10], xmm3
cmp r9d, 0x28
jl 0x180005540
movaps xmm12, xmmword [rsp]
movaps xmm11, xmmword [rsp + 0x10]
movaps xmm10, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x50]
add rsp, 0x78
ret
sub r10, rcx
nop dword [rax]
mov r8d, r9d
lea rcx, [rcx + 2]
mov eax, 0x4bda12f7
imul r9d
inc r9d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x36
sub r8d, eax
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x33
sub r8d, eax
add r8w, 0x34
xor r8w, word [rcx + r10 - 2]
mov word [rcx - 2], r8w
cmp r9d, 0x28
jl 0x1800056e0
movaps xmm7, xmmword [rsp + 0x50]
add rsp, 0x78
ret
Function at 0x180005740
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
xor r8d, r8d
movaps xmmword [rsp + 0x50], xmm7
cmp dword [0x18001c020], 2
mov r10, rdx
jl 0x180005987
movdqa xmm7, xmmword [0x180019020]
lea rax, [r10 + 0x36]
lea rdx, [rcx + 0x36]
cmp rcx, rax
ja 0x18000577a
cmp rdx, r10
jae 0x180005987
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x40], xmm8
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm10
movaps xmmword [rsp + 0x10], xmm11
movaps xmmword [rsp], xmm12
movdqa xmm4, xmmword [0x180019220]
lea r9, [rcx + 8]
movdqa xmm9, xmmword [0x180019050]
mov eax, 4
movdqa xmm6, xmmword [0x180019250]
mov rdx, r10
movdqa xmm11, xmmword [0x180019040]
sub rdx, rcx
movdqa xmm12, xmmword [0x180019060]
movd xmm8, eax
mov eax, 0x1f
movd xmm5, eax
mov eax, 5
movd xmm10, eax
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea r9, [r9 + 0x10]
paddd xmm2, xmm7
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
psrad xmm1, xmm8
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm10
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm11
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm12
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx + r9 - 0x18]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
pxor xmm3, xmm0
movq qword [r9 - 0x18], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm8
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm10
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmm11
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm12
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx + r9 - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [r9 - 0x10], xmm3
cmp r8d, 0x18
jl 0x1800057f0
movaps xmm12, xmmword [rsp]
movaps xmm11, xmmword [rsp + 0x10]
movaps xmm10, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x60]
cmp r8d, 0x1c
jge 0x1800059df
movsxd rax, r8d
sub r10, rcx
lea r9, [rcx + rax*2]
mov ecx, r8d
lea r9, [r9 + 2]
mov eax, 0x4bda12f7
imul r8d
inc r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x36
sub ecx, eax
mov eax, 0xa0a0a0a1
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x33
sub ecx, eax
add cx, 0x34
xor cx, word [r9 + r10 - 2]
mov word [r9 - 2], cx
cmp r8d, 0x1c
jl 0x180005991
movaps xmm7, xmmword [rsp + 0x50]
add rsp, 0x78
ret