joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140007fa0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x68
cmp qword [rsp + 0x80], 0
jg 0x140007fc5
xor eax, eax
jmp 0x140008186
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x68], 0
je 0x140007fed
mov r8, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
call fcn.140008190
jmp 0x140008186
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x70]
call fcn.140003e10
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
jbe 0x14000808a
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.140003970
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x70]
call fcn.140003e50
mov r8, qword [rsp + 0x28]
mov rdx, rax
mov rcx, qword [rsp + 0x78]
call fcn.140003330
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
mov edx, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x70]
call fcn.140006e30
nop
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x80], 0
je 0x140008176
mov rcx, qword [rsp + 0x70]
call fcn.140006980
mov qword [rsp + 0x58], 0xfff
cmp qword [rsp + 0x20], 0xfff
jbe 0x14000812a
mov rax, qword [rsp + 0x70]
mov r9, qword [rax + 0x80]
mov r8d, 0xfff
mov edx, 1
mov rcx, qword [rsp + 0x78]
call fcn.14002a7e0
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x30], 0xfff
je 0x140008128
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x40]
sub rcx, rax
mov rax, rcx
jmp 0x140008186
jmp 0x1400080b0
cmp qword [rsp + 0x20], 0
jbe 0x140008176
mov rax, qword [rsp + 0x70]
mov r9, qword [rax + 0x80]
mov r8, qword [rsp + 0x20]
mov edx, 1
mov rcx, qword [rsp + 0x78]
call fcn.14002a7e0
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x40]
sub rcx, rax
mov rax, rcx
add rsp, 0x68
ret
Function at 0x140009ac0
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x68
mov ecx, 1
call fcn.140009f40
movzx eax, al
test eax, eax
jne 0x140009ae0
mov ecx, 7
call fcn.14000afb0
nop
mov byte [rsp + 0x20], 0
call fcn.140009ed0
mov byte [rsp + 0x21], al
cmp dword [0x140081770], 1
jne 0x140009b04
mov ecx, 7
call fcn.14000afb0
nop
jmp 0x140009b5c
cmp dword [0x140081770], 0
jne 0x140009b57
mov dword [0x140081770], 1
lea rdx, [0x140062510]
lea rcx, [0x1400624d0]
call fcn.140033050
test eax, eax
je 0x140009b38
mov eax, 0xff
jmp 0x140009c61
lea rdx, [0x1400624c8]
lea rcx, [0x140062338]
call fcn.140032fe0
mov dword [0x140081770], 2
jmp 0x140009b5c
mov byte [rsp + 0x20], 1
movzx ecx, byte [rsp + 0x21]
call fcn.14000a130
call fcn.14000af80
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
je 0x140009bb9
mov rcx, qword [rsp + 0x30]
call fcn.14000a0a0
movzx eax, al
test eax, eax
je 0x140009bb9
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x50], rax
xor r8d, r8d
mov edx, 2
xor ecx, ecx
mov rax, qword [rsp + 0x50]
call qword [0x140062310]
nop
call fcn.14000af90
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
cmp qword [rax], 0
je 0x140009bed
mov rcx, qword [rsp + 0x38]
call fcn.14000a0a0
movzx eax, al
test eax, eax
je 0x140009bed
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax]
call fcn.1400336b0
nop
call fcn.140009ca0
mov dword [rsp + 0x28], eax
call fcn.14000b160
movzx eax, al
test eax, eax
jne 0x140009c0c
mov ecx, dword [rsp + 0x28]
call fcn.140033700
nop
movzx eax, byte [rsp + 0x20]
test eax, eax
jne 0x140009c1b
call fcn.140033670
nop
xor edx, edx
mov cl, 1
call fcn.14000a160
mov eax, dword [rsp + 0x28]
jmp 0x140009c61
add rsp, 0x68
ret

Function at 0x1400139d0
Capabilities:
Get thread local storage value

Disassembly:
mov dword [rsp + 8], ecx
sub rsp, 0x48
call fcn.1400134b0
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
je 0x140013a0f
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x50]
mov rax, qword [rsp + 0x30]
call qword [0x140062310]
jmp 0x140013a19
mov ecx, dword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
add rsp, 0x48
ret
Function at 0x14003a1d0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x28
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
add rsp, 0x28
ret

Function at 0x14003c1b0
Capabilities:
Get geographical location

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x58
call fcn.14003b770
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
je 0x14003c217
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
movabs r10, 0xe375262d7cd44270
mov r9d, dword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
mov edx, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x40]
call qword [0x140062318]
jmp 0x14003c239
xor edx, edx
mov rcx, qword [rsp + 0x60]
call fcn.14003c540
mov r9d, dword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
mov edx, dword [rsp + 0x68]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
add rsp, 0x58
ret
Function at 0x140043c70
Capabilities:
Write file on windows

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rsi
push rdi
mov eax, 0x1498
call fcn.14005ee40
sub rsp, rax
mov rax, qword [0x140080040]
xor rax, rsp
mov qword [rsp + 0x1480], rax
mov eax, dword [rsp + 0x14b8]
sar eax, 6
cdqe
lea rcx, [0x140082b50]
mov edx, dword [rsp + 0x14b8]
and edx, 0x3f
movsxd rdx, edx
imul rdx, rdx, 0x48
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + rdx + 0x28]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x14c8]
mov rcx, qword [rsp + 0x14c0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x68]
mov rdi, rax
xor eax, eax
mov ecx, 0xc
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x14c0]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x50]
cmp qword [rsp + 0x48], rax
jae 0x140043e62
lea rax, [rsp + 0x147f]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x58]
cmp qword [rsp + 0x38], rax
jae 0x140043db6
mov rax, qword [rsp + 0x50]
cmp qword [rsp + 0x48], rax
jae 0x140043db6
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
mov byte [rsp + 0x31], al
mov rax, qword [rsp + 0x48]
inc rax
mov qword [rsp + 0x48], rax
movzx eax, byte [rsp + 0x31]
mov byte [rsp + 0x30], al
movsx eax, byte [rsp + 0x30]
cmp eax, 0xa
jne 0x140043d9b
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x38]
mov byte [rax], 0xd
mov rax, qword [rsp + 0x38]
inc rax
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rsp + 0x30]
mov byte [rax], cl
mov rax, qword [rsp + 0x38]
inc rax
mov qword [rsp + 0x38], rax
jmp 0x140043d38
lea rax, [rsp + 0x80]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x44]
mov r8d, dword [rsp + 0x40]
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x140043e22
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x68], eax
lea rax, [rsp + 0x68]
mov rdi, qword [rsp + 0x14b0]
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x14b0]
jmp 0x140043e81
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x6c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x44], eax
jae 0x140043e5d
lea rax, [rsp + 0x68]
mov rdi, qword [rsp + 0x14b0]
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x14b0]
jmp 0x140043e81
jmp 0x140043d0e
lea rax, [rsp + 0x68]
mov rdi, qword [rsp + 0x14b0]
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x14b0]
mov rcx, qword [rsp + 0x1480]
xor rcx, rsp
call fcn.140009890
add rsp, 0x1498
pop rdi
pop rsi
ret
Function at 0x140043ea0
Capabilities:
Write file on windows

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rsi
push rdi
mov eax, 0x1498
call fcn.14005ee40
sub rsp, rax
mov rax, qword [0x140080040]
xor rax, rsp
mov qword [rsp + 0x1480], rax
mov eax, dword [rsp + 0x14b8]
sar eax, 6
cdqe
lea rcx, [0x140082b50]
mov edx, dword [rsp + 0x14b8]
and edx, 0x3f
movsxd rdx, edx
imul rdx, rdx, 0x48
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + rdx + 0x28]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x14c8]
mov rcx, qword [rsp + 0x14c0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x70]
mov rdi, rax
xor eax, eax
mov ecx, 0xc
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x14c0]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x58]
cmp qword [rsp + 0x50], rax
jae 0x1400440ad
lea rax, [rsp + 0x147e]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x60]
cmp qword [rsp + 0x38], rax
jae 0x140043ff9
mov rax, qword [rsp + 0x58]
cmp qword [rsp + 0x50], rax
jae 0x140043ff9
mov rax, qword [rsp + 0x50]
movzx eax, word [rax]
mov word [rsp + 0x40], ax
mov rax, qword [rsp + 0x50]
add rax, 2
mov qword [rsp + 0x50], rax
movzx eax, word [rsp + 0x40]
mov word [rsp + 0x30], ax
movzx eax, word [rsp + 0x30]
cmp eax, 0xa
jne 0x140043fd9
mov eax, dword [rsp + 0x78]
add eax, 2
mov dword [rsp + 0x78], eax
mov eax, 0xd
mov rcx, qword [rsp + 0x38]
mov word [rcx], ax
mov rax, qword [rsp + 0x38]
add rax, 2
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
movzx ecx, word [rsp + 0x30]
mov word [rax], cx
mov rax, qword [rsp + 0x38]
add rax, 2
mov qword [rsp + 0x38], rax
jmp 0x140043f68
lea rax, [rsp + 0x80]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
sar rax, 1
mov eax, eax
shl rax, 1
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x14004406d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x70], eax
lea rax, [rsp + 0x70]
mov rdi, qword [rsp + 0x14b0]
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x14b0]
jmp 0x1400440cc
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x74]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x44]
cmp dword [rsp + 0x48], eax
jae 0x1400440a8
lea rax, [rsp + 0x70]
mov rdi, qword [rsp + 0x14b0]
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x14b0]
jmp 0x1400440cc
jmp 0x140043f3e
lea rax, [rsp + 0x70]
mov rdi, qword [rsp + 0x14b0]
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x14b0]
mov rcx, qword [rsp + 0x1480]
xor rcx, rsp
call fcn.140009890
add rsp, 0x1498
pop rdi
pop rsi
ret
Function at 0x14004f450
Capabilities:
Query environment variable

Disassembly:
sub rsp, 0xb8
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140004a10
lea rcx, [rsp + 0x40]
call fcn.14004f410
movzx eax, al
test eax, eax
jne 0x14004f498
mov qword [rsp + 0x70], 0
lea rcx, [rsp + 0x40]
call fcn.14004f340
mov rax, qword [rsp + 0x70]
jmp 0x14004f669
lea rcx, [rsp + 0x40]
call fcn.140009150
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x60]
call fcn.14004f3c0
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
sub rcx, rax
mov rax, rcx
sar rax, 1
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x40]
call fcn.140009150
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x68]
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.14004b620
cdqe
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0
jne 0x14004f53e
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x40]
call fcn.14004f340
mov rax, qword [rsp + 0x80]
jmp 0x14004f669
mov r9d, 0x66
lea r8, str.minkernelcrtsucrt_srcdesktopcrtenvget_environment_from_os.cpp
mov edx, 2
mov rcx, qword [rsp + 0x58]
call fcn.140027a30
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140004a10
lea rcx, [rsp + 0x48]
call fcn.140009830
movzx eax, al
test eax, eax
jne 0x14004f5a5
mov qword [rsp + 0x88], 0
lea rcx, [rsp + 0x48]
call fcn.140009810
lea rcx, [rsp + 0x40]
call fcn.14004f340
mov rax, qword [rsp + 0x88]
jmp 0x14004f669
lea rcx, [rsp + 0x48]
call fcn.140009150
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0x40]
call fcn.140009150
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x68]
mov r8, qword [rsp + 0x98]
xor edx, edx
xor ecx, ecx
call fcn.14004b620
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jne 0x14004f63b
mov qword [rsp + 0xa0], 0
lea rcx, [rsp + 0x48]
call fcn.140009810
lea rcx, [rsp + 0x40]
call fcn.14004f340
mov rax, qword [rsp + 0xa0]
jmp 0x14004f669
lea rcx, [rsp + 0x48]
call fcn.14000cb80
mov qword [rsp + 0xa8], rax
lea rcx, [rsp + 0x48]
call fcn.140009810
lea rcx, [rsp + 0x40]
call fcn.14004f340
mov rax, qword [rsp + 0xa8]
add rsp, 0xb8
ret
Function at 0x14005b960
Capabilities:
Set environment variable

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xb8
lea rcx, [rsp + 0x78]
call fcn.140030b90
lea rcx, [rsp + 0x48]
call fcn.140030b90
call fcn.140039ec0
mov r8d, eax
lea rdx, [rsp + 0x78]
mov rcx, qword [rsp + 0xc0]
call fcn.140030a80
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
je 0x14005b9cf
mov dword [rsp + 0x24], 0
lea rcx, [rsp + 0x48]
call fcn.140030c20
lea rcx, [rsp + 0x78]
call fcn.140030c20
mov eax, dword [rsp + 0x24]
jmp 0x14005ba60
call fcn.140039ec0
mov r8d, eax
lea rdx, [rsp + 0x48]
mov rcx, qword [rsp + 0xc8]
call fcn.140030a80
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0x28], 0
je 0x14005ba16
mov dword [rsp + 0x2c], 0
lea rcx, [rsp + 0x48]
call fcn.140030c20
lea rcx, [rsp + 0x78]
call fcn.140030c20
mov eax, dword [rsp + 0x2c]
jmp 0x14005ba60
lea rcx, [rsp + 0x48]
call fcn.140030f50
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x78]
call fcn.140030f50
mov qword [rsp + 0x40], rax
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0x48]
call fcn.140030c20
lea rcx, [rsp + 0x78]
call fcn.140030c20
mov eax, dword [rsp + 0x30]
add rsp, 0xb8
ret
Function at 0x180005b20
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x18
xor r8d, r8d
mov r10, rdx
cmp dword [0x180019090], 2
jl 0x180005cbf
lea rax, [r10 + 0x1a]
lea rdx, [rcx + 0x1a]
cmp rcx, rax
ja 0x180005b4d
cmp rdx, r10
jae 0x180005cbf
movaps xmmword [rsp], xmm6
movdqa xmm2, xmmword [0x180016f50]
mov r8d, 8
movdqa xmm3, xmmword [0x180016f60]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x180017170]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
movdqa xmm6, xmmword [0x180017150]
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, xmmword [0x180016f80]
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
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180016f70]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [r10]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
paddw xmm2, xmmword [0x180016f90]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movq qword [rcx], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180016f80]
psubd xmm3, xmm0
movdqa xmm1, xmm3
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180016f70]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [r10 + 8]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x180016f90]
xorps xmm2, xmm0
movq qword [rcx + 8], xmm2
movaps xmm6, xmmword [rsp]
mov eax, r8d
sub r10, rcx
lea r9, [rcx + rax*2]
nop dword [rax]
mov ecx, r8d
lea r9, [r9 + 2]
mov eax, 0x92492493
imul r8d
add edx, r8d
inc r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x38
sub ecx, eax
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x34
sub ecx, eax
add cx, 0x33
xor cx, word [r9 + r10 - 2]
mov word [r9 - 2], cx
cmp r8d, 0xe
jl 0x180005cd0
add rsp, 0x18
ret
Function at 0x180005d30
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x48
xor r8d, r8d
movaps xmmword [rsp + 0x30], xmm6
cmp dword [0x180019090], 2
mov r10, rdx
mov r9, rcx
jl 0x180005f37
movdqa xmm6, xmmword [0x180016f50]
lea rax, [rdx + 0x1e]
add rcx, 0x1e
cmp r9, rax
ja 0x180005d6d
cmp rcx, rdx
jae 0x180005f37
movaps xmmword [rsp + 0x20], xmm7
movaps xmmword [rsp + 0x10], xmm8
movaps xmmword [rsp], xmm9
movdqa xmm4, xmmword [0x180017170]
lea rcx, [r9 + 8]
movdqa xmm7, xmmword [0x180016f80]
sub r10, r9
movdqa xmm5, xmmword [0x180017150]
movdqa xmm8, xmmword [0x180016f70]
movdqa xmm9, xmmword [0x180016f90]
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, 0x10
jl 0x180005db0
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, 0x92492493
imul r8d
add edx, r8d
inc r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x38
sub ecx, eax
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x34
sub ecx, eax
add cx, 0x33
xor cx, word [r10 + r9 - 2]
mov word [r9 - 2], cx
cmp r8d, 0x10
jl 0x180005f40
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
Function at 0x180005fa0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x18
xor r8d, r8d
mov r10, rdx
cmp dword [0x180019090], 2
jl 0x18000613f
lea rax, [r10 + 0x16]
lea rdx, [rcx + 0x16]
cmp rcx, rax
ja 0x180005fcd
cmp rdx, r10
jae 0x18000613f
movaps xmmword [rsp], xmm6
movdqa xmm2, xmmword [0x180016f50]
mov r8d, 8
movdqa xmm3, xmmword [0x180016f60]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x180017170]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
movdqa xmm6, xmmword [0x180017150]
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, xmmword [0x180016f80]
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
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180016f70]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [r10]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
paddw xmm2, xmmword [0x180016f90]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movq qword [rcx], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180016f80]
psubd xmm3, xmm0
movdqa xmm1, xmm3
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180016f70]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [r10 + 8]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x180016f90]
xorps xmm2, xmm0
movq qword [rcx + 8], xmm2
movaps xmm6, xmmword [rsp]
mov eax, r8d
sub r10, rcx
lea r9, [rcx + rax*2]
nop dword [rax]
mov ecx, r8d
lea r9, [r9 + 2]
mov eax, 0x92492493
imul r8d
add edx, r8d
inc r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x38
sub ecx, eax
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x34
sub ecx, eax
add cx, 0x33
xor cx, word [r9 + r10 - 2]
mov word [r9 - 2], cx
cmp r8d, 0xc
jl 0x180006150
add rsp, 0x18
ret