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

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, 0x30
pshufd xmm0, xmmword [rdx], 0x55
lea r10, str.cw
mov rbp, rcx
movd eax, xmm0
pshufd xmm0, xmmword [rdx], 0xff
mov r14, rdx
mov r9d, eax
shr rax, 0x10
movzx r8d, al
mov eax, r9d
shr rax, 0x18
movzx esi, byte [r8 + r10]
movzx eax, byte [rax + r10]
shl eax, 8
or esi, eax
mov eax, r9d
shr rax, 8
movzx ecx, al
shl esi, 8
movzx eax, byte [rcx + r10]
or esi, eax
movzx eax, r9b
shl esi, 8
movzx ecx, byte [rax + r10]
or esi, ecx
movd eax, xmm0
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 0x18
movzx edi, byte [rcx + r10]
movzx eax, byte [rax + r10]
shl eax, 8
or edi, eax
mov eax, edx
shr rax, 8
movzx ecx, al
shl edi, 8
movzx eax, byte [rcx + r10]
or edi, eax
movzx eax, dl
shl edi, 8
mov edx, 8
movzx ecx, byte [rax + r10]
or edi, ecx
mov ecx, edi
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotr
mov ebx, eax
mov edx, 8
mov ecx, esi
xor ebx, 4
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotr
movd xmm1, ebx
lea rcx, [rsp + 0x20]
xor eax, 4
movd xmm2, edi
punpckldq xmm2, xmm1
movd xmm3, esi
movd xmm0, eax
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm2
movdqu xmm2, xmmword [rbp]
pslldq xmm2, 4
movdqa xmm0, xmm2
pshufd xmm4, xmm3, 0xff
pxor xmm0, xmmword [rbp]
pslldq xmm2, 4
movdqa xmm1, xmm2
pslldq xmm2, 4
pxor xmm1, xmm0
pxor xmm1, xmm2
pxor xmm1, xmm4
movdqu xmmword [rbp], xmm1
movdqa xmmword [rsp + 0x20], xmm1
call fcn.14013198c
movdqu xmm2, xmmword [r14]
pshufd xmm3, xmm0, 0xaa
pslldq xmm2, 4
movdqa xmm0, xmm2
pxor xmm0, xmmword [r14]
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
pslldq xmm2, 4
movdqa xmm1, xmm2
pslldq xmm2, 4
pxor xmm1, xmm0
pxor xmm1, xmm2
pxor xmm1, xmm3
movdqu xmmword [r14], xmm1
add rsp, 0x30
pop r14
ret
Function at 0x1401317fc
Capabilities:
Encrypt data using aes
Reference aes constants

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, 0x30
pshufd xmm0, xmmword [rdx], 0x55
lea r10, str.cw
mov rbp, rcx
movd eax, xmm0
pshufd xmm0, xmmword [rdx], 0xff
mov r14, rdx
mov r9d, eax
shr rax, 0x10
movzx r8d, al
mov eax, r9d
shr rax, 0x18
movzx esi, byte [r8 + r10]
movzx eax, byte [rax + r10]
shl eax, 8
or esi, eax
mov eax, r9d
shr rax, 8
movzx ecx, al
shl esi, 8
movzx eax, byte [rcx + r10]
or esi, eax
movzx eax, r9b
shl esi, 8
movzx ecx, byte [rax + r10]
or esi, ecx
movd eax, xmm0
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 0x18
movzx edi, byte [rcx + r10]
movzx eax, byte [rax + r10]
shl eax, 8
or edi, eax
mov eax, edx
shr rax, 8
movzx ecx, al
shl edi, 8
movzx eax, byte [rcx + r10]
or edi, eax
movzx eax, dl
shl edi, 8
mov edx, 8
movzx ecx, byte [rax + r10]
or edi, ecx
mov ecx, edi
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotr
mov ebx, eax
mov edx, 8
mov ecx, esi
xor ebx, 8
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotr
movd xmm1, ebx
lea rcx, [rsp + 0x20]
xor eax, 8
movd xmm2, edi
punpckldq xmm2, xmm1
movd xmm3, esi
movd xmm0, eax
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm2
movdqu xmm2, xmmword [rbp]
pslldq xmm2, 4
movdqa xmm0, xmm2
pshufd xmm4, xmm3, 0xff
pxor xmm0, xmmword [rbp]
pslldq xmm2, 4
movdqa xmm1, xmm2
pslldq xmm2, 4
pxor xmm1, xmm0
pxor xmm1, xmm2
pxor xmm1, xmm4
movdqu xmmword [rbp], xmm1
movdqa xmmword [rsp + 0x20], xmm1
call fcn.14013198c
movdqu xmm2, xmmword [r14]
pshufd xmm3, xmm0, 0xaa
pslldq xmm2, 4
movdqa xmm0, xmm2
pxor xmm0, xmmword [r14]
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
pslldq xmm2, 4
movdqa xmm1, xmm2
pslldq xmm2, 4
pxor xmm1, xmm0
pxor xmm1, xmm2
pxor xmm1, xmm3
movdqu xmmword [r14], xmm1
add rsp, 0x30
pop r14
ret
Function at 0x14013198c
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
pshufd xmm0, xmmword [rcx], 0x55
lea r9, str.cw
movd eax, xmm0
pshufd xmm0, xmmword [rcx], 0xff
mov r8d, eax
shr rax, 0x10
movzx edx, al
mov eax, r8d
shr rax, 0x18
movzx esi, byte [rdx + r9]
movzx eax, byte [rax + r9]
shl eax, 8
or esi, eax
mov eax, r8d
shr rax, 8
movzx edx, al
shl esi, 8
movzx eax, byte [rdx + r9]
or esi, eax
movzx eax, r8b
shl esi, 8
movzx edx, byte [rax + r9]
movd eax, xmm0
or esi, edx
mov edx, eax
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 0x18
movzx edi, byte [rcx + r9]
movzx eax, byte [rax + r9]
shl eax, 8
or edi, eax
mov eax, edx
shr rax, 8
movzx ecx, al
shl edi, 8
movzx eax, byte [rcx + r9]
or edi, eax
movzx eax, dl
shl edi, 8
mov edx, 8
movzx ecx, byte [rax + r9]
or edi, ecx
mov ecx, edi
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotr
mov edx, 8
mov ecx, esi
mov ebx, eax
call sub.api_ms_win_crt_utility_l1_1_0.dll__rotr
movd xmm2, ebx
mov rbx, qword [rsp + 0x30]
movd xmm0, esi
mov rsi, qword [rsp + 0x38]
movd xmm1, eax
movd xmm3, edi
punpckldq xmm0, xmm1
punpckldq xmm3, xmm2
punpcklqdq xmm0, xmm3
add rsp, 0x20
pop rdi
ret

Function at 0x140131c60
Capabilities:
Set thread local storage value

Disassembly:
mov eax, 0x28
call fcn.140010660
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 0x140133940
Capabilities:
Encode data using xor

Disassembly:
xor r9b, r9b
mov r10, rdx
test r8, r8
je 0x140133967
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 0x140133950
movzx eax, r9b
ret

Function at 0x14013a700
Capabilities:
Get thread local storage value

Disassembly:
mov eax, 0x28
call fcn.140010660
sub rsp, rax
lea rcx, [0x14070c848]
add rsp, 0x28
jmp fcn.140131c20
Function at 0x140163b60
Capabilities:
Query environment variable

Disassembly:
sub rsp, 0x148
mov rax, qword [0x14046e3c8]
xor rax, rsp
mov qword [rsp + 0x130], rax
mov rcx, qword [0x14070cd90]
lea rdx, [0x14070cda0]
test rcx, rcx
jne 0x140163bd6
lea rcx, [0x1404258f0]
call fcn.140069750
test eax, eax
jne 0x140163ba0
mov al, 1
jmp 0x140163be0
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x104
call sub.VCRUNTIME140.dll_memset
mov r8d, 0x104
lea rdx, [rsp + 0x20]
lea rcx, str._PROGRAMFILES_NVIDIA_CorporationNVSMI_nvml.dll
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
lea rdx, [0x14070cda0]
lea rcx, [rsp + 0x20]
call fcn.140069750
test eax, eax
sete al
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.1400106c0
add rsp, 0x148
ret

Function at 0x1401645c8
Capabilities:
Encode data using xor
Hash data using sha512

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rdi, rdx
mov rbx, rcx
test rdx, rdx
je 0x14016464e
test rcx, rcx
je 0x14016464e
xor edx, edx
mov r8d, 0xf0
call sub.VCRUNTIME140.dll_memset
mov r8d, 0x40
lea rdx, [0x14033bc50]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rsi, rbx
mov rbp, rdi
mov r14d, 8
mov r8d, 8
lea rcx, [rsp + 0x48]
mov rdx, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x48]
add rbp, 8
xor qword [rsi], rax
lea rsi, [rsi + 8]
sub r14, 1
jne 0x140164618
movzx eax, byte [rdi]
mov dword [rbx + 0xe4], eax
xor eax, eax
jmp 0x140164651
or eax, 0xffffffff
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
Function at 0x14016bfd0
Capabilities:
Decrypt data using aes via x86 extensions
Encrypt data using aes via x86 extensions

Disassembly:
movdqa xmm2, xmmword [0x14033c5a0]
lea r9, [rcx + rdx]
movdqa xmm3, xmmword [0x14033c580]
movdqa xmm4, xmmword [0x14033c5b0]
movdqa xmm5, xmmword [0x14033c570]
cmp rcx, r9
jae 0x14016c021
add rcx, 0x20
aesenc xmm2, xmmword [rcx - 0x20]
aesdec xmm3, xmmword [rcx - 0x10]
aesenc xmm4, xmmword [rcx]
aesdec xmm5, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x40]
lea rax, [rcx - 0x20]
cmp rax, r9
jb 0x14016bffd
movdqa xmm0, xmmword [0x14033c530]
movdqa xmm1, xmmword [0x14033c5c0]
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 [r8], xmm2
movdqu xmmword [r8 + 0x10], xmm3
movdqu xmmword [r8 + 0x20], xmm4
movdqu xmmword [r8 + 0x30], xmm5
ret
Function at 0x14016fa68
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]
movdqu xmm3, xmmword [rcx + 0x10]
movdqu xmm4, xmmword [rcx + 0x20]
movdqu xmm5, xmmword [rcx + 0x30]
mov ecx, 2
movaps xmmword [rax - 0x18], xmm6
movdqa xmm6, xmmword [0x14070d3a0]
movaps xmmword [rax - 0x28], xmm7
movdqa xmm7, xmmword [0x14070d3b0]
movaps xmmword [rax - 0x38], xmm8
movdqa xmm8, xmmword [0x14070d3c0]
movaps xmmword [rax - 0x48], xmm9
movdqa xmm9, xmmword [0x14070d3d0]
movaps xmmword [rax - 0x58], xmm10
movdqa xmm10, xmmword [0x14070d3e0]
movaps xmmword [rax - 0x68], xmm11
movdqa xmm11, xmmword [0x14070d3f0]
movaps xmmword [rax - 0x78], xmm12
lea rax, [rdx + r8]
movdqa xmm12, xmmword [0x14070d400]
movaps xmmword [rsp + 0x10], xmm13
movdqa xmm13, xmmword [0x14070d410]
movaps xmmword [rsp], xmm14
aesdec xmm2, xmm6
aesenc xmm3, xmm6
aesdec xmm4, xmm10
aesenc xmm5, xmm10
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
aesenc xmm5, xmm13
movdqu xmmword [r8], xmm2
movdqu xmmword [r8 + 0x10], xmm3
movdqu xmmword [r8 + 0x20], xmm4
movdqu xmmword [r8 + 0x30], xmm5
add r8, 0x40
sub rcx, 1
jne 0x14016fb00
movdqa xmm14, xmmword [0x14033c510]
jmp 0x14016fc26
aesdec xmm2, xmm6
aesenc xmm3, xmm6
aesdec xmm4, xmm10
aesenc xmm5, xmm10
aesdec xmm2, xmm7
aesenc xmm3, xmm7
aesdec xmm4, xmm11
aesenc xmm5, xmm11
aesdec xmm2, xmm8
aesenc xmm3, xmm8
aesdec xmm2, xmm9
movdqa xmm0, xmm14
movdqa xmm1, xmm14
pand xmm0, xmm2
movdqu xmmword [r8], xmm0
movdqa xmm0, xmm14
aesenc xmm3, xmm9
pand xmm1, xmm3
movdqu xmmword [r8 + 0x10], xmm1
movdqa xmm1, xmm14
aesdec xmm4, xmm12
aesenc xmm5, xmm12
aesdec xmm4, xmm13
aesenc xmm5, xmm13
pand xmm0, xmm4
pand xmm1, xmm5
movdqu xmmword [r8 + 0x20], xmm0
movdqu xmmword [r8 + 0x30], xmm1
add r8, 0x40
cmp r8, rax
jb 0x14016fb8b
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
mov eax, dword [0x14070d31c]
lea r8, [rcx + 0x40]
mov r9, rdx
mov rcx, r9
lea edx, [rax*8 + 0x80]
jmp 0x14016fa68
Function at 0x14016fc6c
Capabilities:
Decrypt data using aes via x86 extensions
Encrypt data using aes via x86 extensions

Disassembly:
sub rsp, 0x28
movdqa xmm2, xmmword [0x14033c5a0]
lea r11, [rcx + 0x1c00]
movdqa xmm3, xmmword [0x14033c580]
mov r10, rcx
movdqa xmm4, xmmword [0x14033c5b0]
mov rax, rcx
movdqa xmm5, xmmword [0x14033c570]
lea rcx, [rdx - 0x1c00]
movdqu xmm0, xmmword [r9]
add rcx, rax
movdqu xmm1, xmmword [r9 + 0x10]
mov edx, 2
movaps xmmword [rsp + 0x10], xmm6
movdqu xmm6, xmmword [r9 + 0x20]
movaps xmmword [rsp], xmm7
movdqu xmm7, xmmword [r9 + 0x30]
jmp 0x14016fd83
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, xmmword [0x14033c590]
aesenc xmm1, xmmword [0x14033c540]
aesdec xmm6, xmmword [0x14033c550]
aesenc xmm7, xmmword [0x14033c560]
movdqu xmmword [rax], xmm0
aesdec xmm0, xmmword [0x14033c590]
movdqu xmmword [rax + 0x10], xmm1
aesenc xmm1, xmmword [0x14033c540]
movdqu xmmword [rax + 0x20], xmm6
aesdec xmm6, xmmword [0x14033c550]
movdqu xmmword [rax + 0x30], xmm7
aesenc xmm7, xmmword [0x14033c560]
movdqu xmmword [rax + 0x40], xmm0
movdqu xmmword [rax + 0x50], xmm1
movdqu xmmword [rax + 0x60], xmm6
movdqu xmmword [rax + 0x70], xmm7
prefetcht0 byte [r11]
prefetcht0 byte [r11 + 0x40]
sub rax, 0xffffffffffffff80
lea r11, [r11 + 0x80]
cmp rax, rcx
jb 0x14016fcd1
add rcx, 0x1c00
mov r11, r10
sub rdx, 1
jne 0x14016fd83
movdqu xmmword [r9], xmm0
movdqa xmm0, xmmword [0x14033c530]
movdqu xmmword [r9 + 0x10], xmm1
movdqa xmm1, xmmword [0x14033c5c0]
movdqu xmmword [r9 + 0x20], xmm6
movaps xmm6, xmmword [rsp + 0x10]
movdqu xmmword [r9 + 0x30], xmm7
movaps xmm7, xmmword [rsp]
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 [r8], xmm2
movdqu xmmword [r8 + 0x10], xmm3
movdqu xmmword [r8 + 0x20], xmm4
movdqu xmmword [r8 + 0x30], xmm5
add rsp, 0x28
ret
Function at 0x140177238
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rdi, rdx
mov r12, rcx
mov r15, rdx
sub r15, qword [rcx]
mov rax, qword [rcx + 8]
sub rax, qword [rcx]
sar rax, 4
movabs rsi, 0xfffffffffffffff
cmp rax, rsi
je 0x14017744f
lea r8, [rax + 1]
mov qword [rsp + 0x38], r8
mov rcx, qword [rcx + 0x10]
sub rcx, qword [r12]
sar rcx, 4
mov rdx, rcx
shr rdx, 1
mov rax, rsi
sub rax, rdx
cmp rcx, rax
jbe 0x1401772b2
mov qword [rsp + 0x98], rsi
mov rcx, 0xfffffffffffffff0
jmp 0x1401772e4
lea rax, [rdx + rcx]
mov r14, r8
cmp rax, r8
cmovae r14, rax
cmp r14, rsi
ja 0x140177455
mov rcx, r14
shl rcx, 4
mov rsi, r14
mov qword [rsp + 0x98], r14
cmp rcx, 0x1000
jb 0x1401772f3
call fcn.14000f290
mov rbx, rax
mov qword [rsp + 0x30], rax
jmp 0x140177316
test rcx, rcx
je 0x140177307
call fcn.140010338
mov rbx, rax
mov qword [rsp + 0x30], rax
jmp 0x14017730e
xor ebx, ebx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x98], r14
and r15, 0xfffffffffffffff0
lea r13, [r15 + rbx]
lea rax, [r13 + 0x10]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xa8], rax
mov ecx, 0x30
call fcn.140010338
test rax, rax
je 0x14017735c
mov rcx, qword [rsp + 0xa0]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
mov qword [rsp + 0x48], rax
lea r14, [r13 + 8]
mov qword [rsp + 0x28], r14
and dword [rsp + 0x20], 0
mov r9, rax
lea r8, [0x140177478]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [r13], rax
test rax, rax
je 0x140177440
mov qword [rsp + 0xa8], r13
mov rcx, qword [r12 + 8]
mov rax, qword [r12]
cmp rdi, rcx
jne 0x1401773c8
mov rdx, rbx
jmp 0x1401773c1
xorps xmm0, xmm0
movups xmm1, xmmword [rax]
movdqu xmmword [rax], xmm0
movdqu xmmword [rdx], xmm1
lea rdx, [rdx + 0x10]
add rax, 0x10
cmp rax, rcx
jne 0x1401773ab
jmp 0x14017741a
mov rcx, rbx
jmp 0x1401773e3
xorps xmm0, xmm0
movups xmm1, xmmword [rax]
movdqu xmmword [rax], xmm0
movdqu xmmword [rcx], xmm1
lea rcx, [rcx + 0x10]
add rax, 0x10
cmp rax, rdi
jne 0x1401773cd
mov qword [rsp + 0xa8], rbx
mov rax, qword [r12 + 8]
cmp rdi, rax
je 0x14017741a
sub r15, rdi
lea rcx, [r15 + rbx]
xorps xmm0, xmm0
movups xmm1, xmmword [rdi]
movdqu xmmword [rdi], xmm0
movdqu xmmword [rdi + rcx + 0x10], xmm1
add rdi, 0x10
cmp rdi, rax
jne 0x140177401
mov r9, rsi
mov r8, qword [rsp + 0x38]
mov rdx, rbx
mov rcx, r12
call fcn.14009bd9c
mov rax, r13
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
and dword [r14], 0
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
nop
call fcn.140012d20
int3
call fcn.140002960
int3
Function at 0x1401793ac
Capabilities:
Hash data using sha512

Disassembly:
lea r8, [0x14033c850]
lea rdx, [0x14033c800]
jmp 0x1401793f0
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, r8
mov rdi, rcx
add rcx, 0x88
mov r8d, 0x40
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rdi + 0xc8]
mov r8d, 0x20
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rbx, qword [rsp + 0x30]
xor eax, eax
mov qword [rdi + 0xf0], rax
mov qword [rdi + 0xe8], rax
mov qword [rdi + 0x80], rax
add rsp, 0x20
pop rdi
ret
Function at 0x1401b8fa8
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov r10d, dword [rcx + 0x80]
mov rbx, rcx
and r10d, 0x3f
mov ebp, r8d
mov ecx, r8d
mov eax, 0x80
sar eax, cl
mov edi, 0x20
mov r9b, al
neg r9b
and r9b, dl
or r9b, al
mov byte [r10 + rbx], r9b
inc r10d
mov ecx, r10d
add rcx, rbx
cmp r10d, edi
jbe 0x1401b9019
lea r8d, [rdi + 0x20]
xor edx, edx
sub r8d, r10d
call sub.VCRUNTIME140.dll_memset
lea rdx, [rbx + 0x40]
mov rcx, rbx
call fcn.1401b813c
mov rcx, rbx
jmp 0x1401b901c
sub edi, r10d
mov r8, rdi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xor edx, edx
lea rcx, [rbx + 0x20]
lea r8d, [rdx + 0x10]
call sub.VCRUNTIME140.dll_memset
mov r8, qword [rbx + 0x80]
movabs r10, 0xffff0000ffff
mov rcx, r8
movabs r9, 0xff00ff00ff00ff
shr rcx, 0x3d
rol rcx, 0x20
mov rdx, rcx
mov rax, rcx
shl rcx, 0x10
shl rax, 0x10
shr rdx, 0x10
xor rdx, rax
and rdx, r10
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shr rcx, 8
shl rax, 8
xor rcx, rax
shl rdx, 8
and rcx, r9
xor rcx, rdx
lea rdx, [rbx + 0x40]
mov qword [rbx + 0x30], rcx
lea rcx, [r8*8]
add rcx, rbp
rol rcx, 0x20
mov r8, rcx
mov rax, rcx
shl rcx, 0x10
shr r8, 0x10
shl rax, 0x10
xor r8, rax
and r8, r10
xor r8, rcx
mov rcx, r8
mov rax, r8
shr rcx, 8
shl rax, 8
xor rcx, rax
shl r8, 8
and rcx, r9
xor rcx, r8
mov qword [rbx + 0x38], rcx
mov rcx, rbx
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
jmp fcn.1401b813c
Function at 0x1401c21b0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r15
sub rsp, 0x80
mov rax, qword [0x14046e3c8]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rbx, rdx
mov rsi, rcx
test dl, 0x3f
je 0x1401c21df
xor al, al
jmp 0x1401c22fc
mov r15d, 0x40
shr rbx, 6
mov dword [rsp + 0x28], r15d
mov ecx, 0x200
mov qword [rsp + 0x20], rsi
lea edx, [r15 - 0x3f]
lea r9d, [r15 - 0x20]
call fcn.140227ed4
lea edi, [r15 - 0x3f]
cmp ebx, edi
je 0x1401c2243
mov ecx, edi
lea r8d, [rdi - 1]
shl rcx, 6
mov r9d, r15d
add rcx, rsi
shl r8, 6
mov dword [rsp + 0x28], r15d
add r8, rsi
mov qword [rsp + 0x20], rcx
mov edx, 1
mov ecx, 0x200
call fcn.140227ed4
inc edi
cmp edi, ebx
jne 0x1401c220d
mov ebp, 3
xor edi, edi
test ebx, ebx
je 0x1401c22f0
xor edx, edx
mov r9d, edi
shl r9, 6
add r9, rsi
mov eax, dword [r9]
div ebx
lea eax, [rbx - 1]
mov r8d, edx
add eax, edi
xor edx, edx
shl r8, 6
div ebx
mov ecx, edx
lea rdx, [rsp + 0x30]
shl rcx, 6
sub r8, rdx
add r8, rsi
mov edx, reloc.WS2_32.dll_recv
movups xmm0, xmmword [rcx + rsi]
movups xmm1, xmmword [rcx + rsi + 0x10]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rcx + rsi + 0x20]
movaps xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [rcx + rsi + 0x30]
lea rcx, [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], xmm1
mov eax, dword [r8 + rcx]
xor dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x1401c22b5
mov dword [rsp + 0x28], r15d
lea r8, [rsp + 0x30]
mov qword [rsp + 0x20], r9
mov edx, 1
mov r9d, r15d
mov ecx, 0x200
call fcn.140227ed4
inc edi
cmp edi, ebx
jne 0x1401c2252
sub rbp, 1
jne 0x1401c2248
mov al, 1
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1400106c0
add rsp, 0x80
pop r15
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1401c2380
Capabilities:
Encode data using xor
Hash data using fnv

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 r12
push r14
push r15
sub rsp, 0x30
mov r10d, dword [r9 + 0x20]
mov rbx, rcx
mov ecx, dword [r9 + 0x24]
mov ebp, r8d
mov eax, dword [r9 + 0x1c]
mov r12d, 0x40
mov r15, qword [r9]
mov r8d, r12d
mov r14d, edx
mov rsi, r9
add r10, r14
imul r10, rax
shr r10, cl
mov rcx, rbx
imul r10d, dword [r9 + 0x18]
sub edx, r10d
shl rdx, 6
add rdx, r15
call sub.VCRUNTIME140.dll_memcpy
xor dword [rbx], r14d
lea edx, [r12 - 0x3f]
mov r9d, r12d
mov dword [rsp + 0x28], r12d
mov r8, rbx
mov qword [rsp + 0x20], rbx
mov ecx, 0x200
call fcn.140227ed4
xor r10d, r10d
test ebp, ebp
je 0x1401c2471
mov ecx, dword [rsi + 0x24]
mov edx, r10d
and edx, 0xf
mov eax, r10d
xor eax, r14d
mov edi, reloc.WS2_32.dll_recv
imul r8d, eax, 0x1000193
mov eax, dword [rsi + 0x1c]
xor r8d, dword [rbx + rdx*4]
mov edx, dword [rsi + 0x20]
add rdx, r8
imul rdx, rax
shr rdx, cl
imul edx, dword [rsi + 0x18]
sub r8d, edx
mov r11d, r8d
mov r8, rbx
shl r11, 6
add r11, r15
sub r11, rbx
imul eax, dword [r8], 0x1000193
xor eax, dword [r11 + r8]
mov dword [r8], eax
lea r8, [r8 + 4]
sub rdi, 1
jne 0x1401c2451
inc r10d
cmp r10d, ebp
jne 0x1401c240b
mov dword [rsp + 0x28], r12d
mov r9d, r12d
mov r8, rbx
mov qword [rsp + 0x20], rbx
mov edx, 1
mov ecx, 0x200
call fcn.140227ed4
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r12
ret
Function at 0x1401c24b0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x14046e3c8]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov r12, qword [r9]
xor r14d, r14d
mov r13d, edx
mov rsi, r9
mov dword [rsp + 0x30], r8d
mov rbx, rcx
mov dword [rsp + 0x34], r13d
mov rbp, rcx
lea edi, [r14 + 4]
mov qword [rsp + 0x38], r12
mov ecx, dword [rsi + 0x24]
lea r8, [r14 + r13]
mov edx, dword [rsi + 0x20]
mov eax, dword [rsi + 0x1c]
add rdx, r8
imul rdx, rax
shr rdx, cl
mov rcx, rbp
imul edx, dword [rsi + 0x18]
sub r8d, edx
mov edx, r8d
mov r8d, 0x40
shl rdx, 6
add rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov r9d, 0x40
mov dword [rsp + 0x28], 0x40
lea eax, [r14 + r13]
mov qword [rsp + 0x20], rbp
xor dword [rbp], eax
mov r8, rbp
mov ecx, 0x200
lea edx, [r9 - 0x3f]
call fcn.140227ed4
inc r14
add rbp, 0x40
cmp r14, rdi
jb 0x1401c24f8
xor r8d, r8d
cmp dword [rsp + 0x30], r8d
je 0x1401c268d
mov ebp, dword [rsi + 0x24]
lea r10, [rsp + 0x40]
mov r14d, dword [rsi + 0x20]
mov eax, r8d
mov r15d, dword [rsi + 0x1c]
xor r9d, r9d
mov r13d, dword [rsp + 0x34]
and eax, 0xf
mov r12, qword [rsp + 0x38]
lea r11, [rbx + rax*4]
lea eax, [r9 + r13]
xor eax, r8d
imul ecx, eax, 0x1000193
xor ecx, dword [r11]
mov edx, ecx
lea rax, [r14 + rcx]
mov rcx, rbp
imul rax, r15
shr rax, cl
imul eax, dword [rsi + 0x18]
sub edx, eax
mov ecx, edx
shl rcx, 6
add rcx, r12
mov qword [r10], rcx
prefetcht0 byte [rcx]
inc r9d
lea r11, [r11 + 0x40]
lea r10, [r10 + 8]
cmp r9d, edi
jb 0x1401c259a
mov rdx, qword [rsp + 0x40]
mov r10d, reloc.WS2_32.dll_recv
mov r12d, dword [rsp + 0x30]
sub rdx, rbx
mov r9d, r10d
mov rcx, rbx
imul eax, dword [rcx], 0x1000193
xor eax, dword [rdx + rcx]
mov dword [rcx], eax
add rcx, rdi
sub r9, 1
jne 0x1401c25f8
mov rdx, qword [rsp + 0x48]
lea rcx, [rbx + 0x40]
sub rdx, rbx
mov r9, r10
imul eax, dword [rcx], 0x1000193
xor eax, dword [rdx + rcx - 0x40]
mov dword [rcx], eax
add rcx, rdi
sub r9, 1
jne 0x1401c261b
mov rdx, qword [rsp + 0x50]
lea rcx, [rbx + 0x80]
sub rdx, rbx
mov r9, r10
imul eax, dword [rcx], 0x1000193
xor eax, dword [rdx + rcx - 0x80]
mov dword [rcx], eax
add rcx, rdi
sub r9, 1
jne 0x1401c2642
mov rdx, qword [rsp + 0x58]
lea rcx, [rbx + 0xc0]
sub rdx, rbx
mov r9, r10
imul eax, dword [rcx], 0x1000193
xor eax, dword [rdx + rcx - 0xc0]
mov dword [rcx], eax
add rcx, rdi
sub r9, 1
jne 0x1401c2669
inc r8d
cmp r8d, r12d
jne 0x1401c2573
mov r9d, 0x40
mov dword [rsp + 0x28], 0x40
mov r8, rbx
mov qword [rsp + 0x20], rbx
mov ecx, 0x200
lea edx, [r9 - 0x3f]
call fcn.140227ed4
add rbx, 0x40
sub rdi, 1
jne 0x1401c268d
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400106c0
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret