joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400ce080
Capabilities:
Write file on windows

Disassembly:
push rbx
push rdi
push r14
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r14, rdx
mov rdi, rcx
je 0x1400ce0a8
add rsp, 0x20
pop r14
pop rdi
pop rbx
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov rsi, rbx
call qword [sym.imp.MSVCP140.dll_protected:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pnavail_void_const___ptr64]
mov rbp, rax
test rbx, rbx
jle 0x1400ce11c
test rax, rax
jle 0x1400ce0fc
cmp rbx, rax
mov rcx, rdi
cmovl rbp, rbx
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
mov r8, rbp
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov edx, ebp
mov rcx, rdi
add r14, rbp
sub rbx, rbp
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbump_int____ptr64]
test rbx, rbx
jle 0x1400ce11c
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x1400ce11c
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub rbx, rax
mov rbp, qword [rsp + 0x40]
sub rsi, rbx
mov rax, rsi
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
pop rdi
pop rbx
ret
Function at 0x1400cfe20
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x140140880]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x20], rdx
lea r8, [rbp - 0x30]
xor edi, edi
mov rbx, rdx
mov rdx, qword [rcx]
mov rcx, qword [0x140146058]
add rdx, 0x18
mov qword [rbp - 0x30], rdi
lea r9d, [rdi + 8]
mov qword [rsp + 0x20], rdi
call fcn.1400d06a0
mov rdx, qword [rbp - 0x30]
test rdx, rdx
je 0x1400cfea8
mov rcx, qword [0x140146058]
lea r9d, [rdi + 8]
add rdx, 8
mov qword [rbp - 0x20], rdi
lea r8, [rbp - 0x20]
mov qword [rsp + 0x20], rdi
call fcn.1400d06a0
mov rdx, qword [rbp - 0x20]
mov rcx, rbx
call fcn.1400d04a0
jmp 0x1400cffb8
mov cl, 0x3f
call fcn.14007b670
mov edx, 1
mov byte [rbp - 0x20], al
mov cl, 0x3f
call fcn.14007b670
mov edx, 2
mov byte [rbp - 0x1f], al
mov cl, 0x3f
call fcn.14007b670
mov edx, 3
mov byte [rbp - 0x1e], al
mov cl, 0x5f
call fcn.14007b670
mov edx, 4
mov byte [rbp - 0x1d], al
mov cl, 0x63
call fcn.14007b670
mov edx, 5
mov byte [rbp - 0x1c], al
mov cl, 0x6c
call fcn.14007b670
mov edx, 6
mov byte [rbp - 0x1b], al
mov cl, 0x61
call fcn.14007b670
mov edx, 7
mov byte [rbp - 0x1a], al
mov cl, reloc.WSOCK32.dll_WSAStartup
call fcn.14007b670
mov edx, 8
mov byte [rbp - 0x19], al
mov cl, reloc.WSOCK32.dll_WSAStartup
call fcn.14007b670
mov edx, 9
mov byte [rbp - 0x18], al
mov cl, WSAGetLastError
call fcn.14007b670
mov edx, 0xa
mov byte [rbp - 0x17], al
mov cl, 0x61
call fcn.14007b670
mov edx, ntohl
mov byte [rbp - 0x16], al
mov cl, 0x6d
call fcn.14007b670
mov edx, reloc.WSOCK32.dll_ioctlsocket
mov byte [rbp - 0x15], al
mov cl, 0x65
call fcn.14007b670
mov byte [rbp - 0x14], al
xor eax, eax
mov byte [rbp - 0x13], al
nop dword [rax + rax]
movsxd rcx, eax
lea rdx, [rbp - 0x20]
add rdx, rcx
lea ecx, [rax + 0x13]
inc eax
xor byte [rdx], cl
cmp eax, 0xd
jb 0x1400cff70
xorps xmm0, xmm0
mov byte [rbp - 0x13], dil
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
lea rax, [rbp - 0x20]
mov qword [rbx + 0x18], rdi
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], dil
jne 0x1400cffa3
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.14007af30
mov rax, rbx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.14010aaf0
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
Function at 0x1400d02b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x40
xor edi, edi
lea r8, [rsp + 0x50]
mov rbx, rdx
mov qword [rsp + 0x50], rdi
mov rdx, qword [rcx]
mov rcx, qword [0x140146058]
add rdx, 0x48
lea r9d, [rdi + 8]
mov qword [rsp + 0x20], rdi
call fcn.1400d06a0
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x1400d0305
mov rcx, rbx
call fcn.1400d03a0
mov rax, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
mov cl, 0x3f
call fcn.14007b670
mov edx, 1
mov byte [rsp + 0x50], al
mov cl, 0x3f
call fcn.14007b670
mov edx, 2
mov byte [rsp + 0x51], al
mov cl, 0x3f
call fcn.14007b670
mov byte [rsp + 0x52], al
xor eax, eax
mov byte [rsp + 0x53], al
nop word [rax + rax]
movsxd rcx, eax
lea rdx, [rsp + 0x50]
add rdx, rcx
lea ecx, [rax + 0x13]
inc eax
xor byte [rdx], cl
cmp eax, 3
jb 0x1400d0340
xorps xmm0, xmm0
mov byte [rsp + 0x53], dil
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
lea rax, [rsp + 0x50]
mov qword [rbx + 0x18], rdi
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], dil
jne 0x1400d0376
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14007af30
mov rax, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
Function at 0x1400d0750
Capabilities:
Encode data using xor
Enumerate processes

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x170
mov rax, qword [0x140140880]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov rdi, rdx
mov rsi, rcx
xor edx, edx
lea rcx, [rsp + 0x34]
mov r8d, 0x12c
call sub.VCRUNTIME140.dll_memset
xor edx, edx
lea ecx, [rdx + 2]
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
lea rdx, [rsp + 0x30]
mov dword [rsp + 0x30], 0x130
mov rcx, rax
mov rbx, rax
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x1400d07d5
mov rdx, rdi
lea rcx, [rsp + 0x5c]
call qword [sym.imp.KERNEL32.dll_lstrcmpiA]
mov rcx, rbx
test eax, eax
je 0x1400d0809
lea rdx, [rsp + 0x30]
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x1400d07b2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov dword [rsi], eax
xor al, al
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.14010aaf0
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x38]
mov dword [rsi], eax
test eax, eax
je 0x1400d07e2
xor edx, edx
mov cl, WSAGetLastError
call fcn.14007b670
mov edx, 1
mov byte [rsp + 0x20], al
mov cl, reloc.WSOCK32.dll_WSACleanup
call fcn.14007b670
mov edx, 2
mov byte [rsp + 0x21], al
mov cl, 0x64
call fcn.14007b670
mov edx, 3
mov byte [rsp + 0x22], al
mov cl, 0x6c
call fcn.14007b670
mov edx, 4
mov byte [rsp + 0x23], al
mov cl, 0x6c
call fcn.14007b670
mov edx, 5
mov byte [rsp + 0x24], al
mov cl, 0x2e
call fcn.14007b670
mov edx, 6
mov byte [rsp + 0x25], al
mov cl, 0x64
call fcn.14007b670
mov edx, 7
mov byte [rsp + 0x26], al
mov cl, 0x6c
call fcn.14007b670
mov edx, 8
mov byte [rsp + 0x27], al
mov cl, 0x6c
call fcn.14007b670
mov byte [rsp + 0x28], al
xor eax, eax
mov byte [rsp + 0x29], al
nop dword [rax]
movsxd rcx, eax
lea rdx, [rsp + 0x20]
add rdx, rcx
lea ecx, [rax + 0x13]
inc eax
xor byte [rdx], cl
cmp eax, 9
jb 0x1400d08b0
lea rcx, [rsp + 0x20]
mov byte [rsp + 0x29], 0
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [0x140146078], rax
test rax, rax
je 0x1400d07e2
mov rcx, rax
call fcn.1400d09c0
mov r8d, dword [rsi]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
test rax, rax
mov qword [rsi + 8], rax
setne al
jmp 0x1400d07e4
Function at 0x1400e6740
Capabilities:
Hash data using fnv

Disassembly:
push rbx
cmp qword [rcx + 0x10], 0
mov rbx, rcx
je 0x1400e67f2
mov r10d, dword [rdx]
mov r11d, dword [rbx + 0x18]
mov edx, r10d
mov r8d, r10d
shr edx, 0x18
mov ecx, r10d
shr r8d, 0x10
shr ecx, 8
cmp r10d, r11d
je 0x1400e67f2
mov r9, qword [rbx + 8]
mov rbx, qword [rbx]
dec r9
movzx ecx, cl
mov qword [rsp + 0x10], rdi
movabs rdi, 0xcbf29ce484222325
movzx eax, r10b
xor rax, rdi
movabs rdi, 0x100000001b3
imul rax, rdi
xor rax, rcx
movzx ecx, r8b
imul rax, rdi
xor rax, rcx
mov ecx, edx
imul rax, rdi
xor rax, rcx
imul rax, rdi
mov rdi, qword [rsp + 0x10]
and rax, r9
xor ecx, ecx
nop dword [rax]
mov edx, dword [rbx + rax*8]
lea r8, [rbx + rax*8]
cmp edx, r10d
je 0x1400e67f6
cmp edx, r11d
je 0x1400e67f2
inc rax
add rax, rcx
inc rcx
and rax, r9
cmp rcx, r9
jbe 0x1400e67d0
xor eax, eax
pop rbx
ret
mov rax, r8
pop rbx
ret

Function at 0x1400e6a30
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
cmp qword [rcx + 0x10], 0
mov r13, rdx
mov rdi, rcx
je 0x1400e6b32
mov r15d, dword [r13 + 0x80]
lea rdx, [rcx + 0x18]
mov qword [rsp + 0x60], rdx
cmp r15d, dword [rdx + 0x80]
jne 0x1400e6a8a
lea r8, [r15*4]
mov rcx, r13
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400e6b32
lea rdx, [rdi + 0x18]
mov r14, qword [rdi + 8]
xor ebp, ebp
dec r14
mov eax, 0x811c9dc5
mov ecx, ebp
test r15, r15
je 0x1400e6ab3
nop
xor eax, dword [r13 + rcx*4]
inc rcx
imul eax, eax, 0x1000193
cmp rcx, r15
jb 0x1400e6aa0
mov ebx, eax
mov rax, qword [rdi]
and rbx, r14
mov qword [rsp + 0x70], rax
imul rdi, rbx, 0x88
add rdi, rax
mov esi, dword [rdi + 0x80]
mov r12d, esi
cmp esi, r15d
jne 0x1400e6af4
lea r8, [rsi*4]
mov rdx, r13
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400e6b2d
mov rdx, qword [rsp + 0x60]
cmp esi, dword [rdx + 0x80]
jne 0x1400e6b15
lea r8, [r12*4]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400e6b32
mov rdx, qword [rsp + 0x60]
inc rbx
add rbx, rbp
inc rbp
and rbx, r14
cmp rbp, r14
ja 0x1400e6b32
mov rax, qword [rsp + 0x70]
jmp 0x1400e6ac0
mov rax, rdi
jmp 0x1400e6b34
xor eax, eax
mov rbx, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret

Function at 0x1400e6d10
Capabilities:
Encode data using xor

Disassembly:
mov rax, qword [rcx + 8]
mov r9, qword [rcx]
mov r8, rax
test rax, rax
je 0x1400e6d3c
nop
movzx edx, byte [r9 + r8 - 1]
mov ecx, eax
shl ecx, 5
add edx, ecx
mov ecx, eax
shr ecx, 2
add edx, ecx
xor eax, edx
sub r8, 1
jne 0x1400e6d20
ret
Function at 0x1400e6d40
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov r10, qword [rcx + 8]
mov rsi, rcx
movzx eax, byte [rdx]
mov r11, rdx
movabs rdx, 0x100000001b3
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
dec r10
mov rbx, qword [rsi]
movzx ecx, byte [r11 + 2]
movzx r8d, byte [r11 + 1]
mov edi, dword [rsi + 0x18]
imul rax, rdx
xor rax, r8
imul rax, rdx
xor rax, rcx
movzx ecx, byte [r11 + 3]
imul rax, rdx
xor rax, rcx
imul rax, rdx
and rax, r10
xor ecx, ecx
nop dword [rax]
mov edx, dword [rbx + rax*8]
lea r8, [rbx + rax*8]
mov r9d, dword [r11]
cmp edx, edi
je 0x1400e6de6
cmp edx, r9d
je 0x1400e6ded
inc rax
add rax, rcx
inc rcx
and rax, r10
cmp rcx, r10
jbe 0x1400e6db0
xor eax, eax
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret
mov dword [r8], r9d
inc qword [rsi + 0x10]
mov rbx, qword [rsp + 8]
mov rax, r8
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret

Function at 0x1400e6fe0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x20
mov r15, qword [rcx + 8]
xor ebp, ebp
mov r13d, dword [rdx + 0x80]
dec r15
mov r14, rdx
mov eax, 0x811c9dc5
mov r8d, ebp
test r13, r13
je 0x1400e7032
nop dword [rax]
nop word [rax + rax]
xor eax, dword [rdx + r8*4]
inc r8
imul eax, eax, 0x1000193
cmp r8, r13
jb 0x1400e7020
mov edi, eax
lea rax, [rcx + 0x18]
mov qword [rsp + 0x68], rax
and rdi, r15
mov qword [rsp + 0x70], r12
nop word [rax + rax]
imul rbx, rdi, 0x88
add rbx, qword [rcx]
mov esi, dword [rbx + 0x80]
mov r12d, esi
cmp esi, dword [rax + 0x80]
jne 0x1400e7082
lea r8, [rsi*4]
mov rdx, rax
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400e70bb
cmp esi, r13d
jne 0x1400e709e
lea r8, [r12*4]
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400e7117
inc rdi
add rdi, rbp
inc rbp
and rdi, r15
cmp rbp, r15
ja 0x1400e711c
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
jmp 0x1400e7050
movups xmm0, xmmword [r14]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [r14 + 0x20]
movups xmmword [rbx + 0x20], xmm0
movups xmm1, xmmword [r14 + 0x30]
movups xmmword [rbx + 0x30], xmm1
movups xmm0, xmmword [r14 + 0x40]
movups xmmword [rbx + 0x40], xmm0
movups xmm1, xmmword [r14 + 0x50]
movups xmmword [rbx + 0x50], xmm1
movups xmm0, xmmword [r14 + 0x60]
movups xmmword [rbx + 0x60], xmm0
movups xmm1, xmmword [r14 + 0x70]
movups xmmword [rbx + 0x70], xmm1
mov eax, dword [r14 + 0x80]
mov dword [rbx + 0x80], eax
mov rax, qword [rsp + 0x60]
inc qword [rax + 0x10]
mov rax, rbx
jmp 0x1400e711e
xor eax, eax
mov r12, qword [rsp + 0x70]
add rsp, 0x20
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1400e73a0
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
sub rsp, 0x48
mov qword [rax + 0x10], rbx
mov ebx, dword [rcx + 0x18]
mov qword [rax + 0x18], rbp
lea rbp, [rcx + 0x18]
mov qword [rax + 0x20], rsi
mov rsi, rcx
mov qword [rax - 8], rdi
mov rdi, qword [rcx + 8]
mov qword [rax - 0x18], r13
mov qword [rax - 0x20], r14
mov r14, rbp
mov qword [rax - 0x28], r15
test rdi, rdi
jne 0x1400e73f3
mov edi, select
lea ecx, [rdi + 0x70]
call fcn.14010a6fc
mov rdx, rax
mov r11, rax
xor ecx, ecx
mov r13d, edi
jmp 0x1400e7430
xor r11d, r11d
lea rax, [rcx + 8]
xor r13d, r13d
add rdi, rdi
je 0x1400e7449
lea rcx, [rdi*8]
call fcn.14010a6fc
xor ecx, ecx
mov rdx, rax
mov r11, rax
mov r13, rdi
lea rax, [rsi + 8]
test rdi, rdi
je 0x1400e7449
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r14]
mov dword [rdx + rcx*8], eax
xor eax, eax
mov word [rdx + rcx*8 + 4], ax
inc rcx
cmp rcx, rdi
jb 0x1400e7430
lea rax, [rsi + 8]
xor edi, edi
cmp qword [rsi + 8], rdi
jbe 0x1400e7516
mov qword [rsp + 0x38], r12
movabs r14, 0x100000001b3
movabs r12, 0xcbf29ce484222325
nop
mov rax, qword [rsi]
mov r9d, dword [rax + rdi*8]
mov edx, r9d
mov r8d, r9d
mov ecx, r9d
shr edx, 0x18
shr r8d, 0x10
shr ecx, 8
cmp r9d, dword [rbp]
je 0x1400e7500
movzx ecx, cl
lea r10, [r13 - 1]
movzx eax, r9b
xor rax, r12
imul rax, r14
xor rax, rcx
movzx ecx, r8b
imul rax, r14
xor rax, rcx
mov ecx, edx
imul rax, r14
xor rax, rcx
imul rax, r14
and rax, r10
xor ecx, ecx
mov r8d, dword [r11 + rax*8]
lea rdx, [r11 + rax*8]
cmp r8d, ebx
je 0x1400e74e9
cmp r8d, r9d
je 0x1400e74ec
inc rax
add rax, rcx
inc rcx
and rax, r10
cmp rcx, r10
jbe 0x1400e74c2
xor edx, edx
jmp 0x1400e74ec
mov dword [rdx], r9d
mov rax, qword [rsi]
lea rcx, [rax + rdi*8]
mov eax, dword [rax + rdi*8]
mov dword [rdx], eax
movzx eax, word [rcx + 4]
mov word [rdx + 4], ax
inc rdi
cmp rdi, qword [rsi + 8]
jb 0x1400e7470
mov r12, qword [rsp + 0x38]
lea rax, [rsi + 8]
mov rcx, qword [rsi]
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
mov qword [rsi], r11
mov rsi, qword [rsp + 0x68]
mov qword [rax], r13
mov r13, qword [rsp + 0x30]
test rcx, rcx
je 0x1400e7550
add rsp, 0x48
jmp fcn.14010b0a0
add rsp, 0x48
ret
Function at 0x1400edf20
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x30
xor ebp, ebp
mov rdi, rdx
mov rbx, rcx
mov esi, ebp
cmp qword [rdx + 0x40], rbp
jbe 0x1400edfab
mov qword [rsp + 0x40], r14
movabs r14, 0x8080808080808080
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rdi + 0x38]
lea rdx, [rsp + 0x20]
mov rcx, rbx
mov r8, qword [r8 + rsi*8]
call fcn.1400ecf80
inc rsi
mov r8, qword [rax]
add r8, qword [rbx + 0x38]
mov rdx, r8
mov qword [rbx + 0x40], rbp
and rdx, r14
mov rax, rdx
mov rcx, rdx
shr rax, 7
xor rdx, r8
sub rcx, rax
or rcx, rdx
mov qword [rbx + 0x38], rcx
cmp rsi, qword [rdi + 0x40]
jb 0x1400edf60
mov r14, qword [rsp + 0x40]
mov rdx, qword [rdi + 0x48]
lea r8, [rsp + 0x20]
mov qword [rsp + 0x20], 1
mov r9d, 3
mov qword [rsp + 0x28], rbp
mov rcx, rbx
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.1400ece60
mov rbx, qword [rsp + 0x48]
xor al, al
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret

Function at 0x1400f4220
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
xor eax, eax
mov r9d, 0x811c9dc5
test rdx, rdx
je 0x1400f4247
nop dword [rax]
movzx r8d, byte [rcx + rax]
inc rax
xor r8d, r9d
imul r9d, r8d, 0x1000193
cmp rax, rdx
jb 0x1400f4230
mov eax, r9d
ret
Function at 0x1400f4400
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov rbx, rdx
mov r15, rcx
lea rax, [0x14011510d]
mov qword [rsp + 0x20], rax
xor ebp, ebp
mov qword [rsp + 0x28], rbp
mov qword [rcx], rbp
mov qword [rcx + 8], rbp
mov qword [rcx + 0x10], rbp
mov qword [rcx + 0x18], rax
mov qword [rcx + 0x20], rbp
mov ecx, 0x800
call fcn.14010a6fc
mov rdx, rax
mov qword [r15], rax
mov qword [r15 + 8], 0x80
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rax], xmm0
lea r8, [rax + 0x10]
lea r9d, [rbp + 0x3f]
nop dword [rax]
mov rcx, qword [rdx]
mov qword [r8], rcx
mov rax, qword [rdx + 8]
mov qword [r8 + 8], rax
mov rax, qword [rdx + 0x10]
mov qword [r8 + 0x10], rax
lea r8, [r8 + 0x20]
mov rax, qword [rdx + 0x18]
mov qword [r8 - 8], rax
lea rdx, [rdx + 0x20]
sub r9, 1
jne 0x1400f4470
mov rax, qword [rdx]
mov qword [r8], rax
mov rax, qword [rdx + 8]
mov qword [r8 + 8], rax
mov qword [r15 + 0x30], rbx
mov eax, 0x121
mov dword [rsp + 0x88], eax
lea rcx, [0x140140730]
mov qword [rsp + 0x98], rcx
nop dword [rax]
mov r12, qword [rcx]
mov qword [rsp + 0x20], r12
mov rsi, 0xffffffffffffffff
nop
inc rsi
cmp byte [r12 + rsi], 0
jne 0x1400f44e0
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x2c], eax
mov rbx, qword [r15 + 8]
mov rcx, qword [r15 + 0x10]
lea rax, [rbx + rbx*2]
shr rax, 2
cmp rcx, rax
jb 0x1400f45d8
test rcx, rcx
je 0x1400f45d0
cmp esi, dword [r15 + 0x20]
jne 0x1400f4531
mov r8d, esi
mov rdx, qword [r15 + 0x18]
mov rcx, r12
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400f45d0
lea r9, [rbx - 1]
mov qword [rsp + 0x90], r9
mov edx, 0x811c9dc5
mov r8d, esi
mov rcx, rbp
test esi, esi
je 0x1400f4565
nop dword [rax]
movzx eax, byte [r12 + rcx]
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
cmp rcx, r8
jb 0x1400f4550
mov edi, edx
and rdi, r9
mov r14, rbp
nop dword [rax]
mov rbx, rdi
shl rbx, 4
add rbx, qword [r15]
mov ebp, dword [rbx + 8]
mov r13d, ebp
cmp ebp, esi
jne 0x1400f459e
mov r8d, ebp
mov rdx, r12
mov rcx, qword [rbx]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400f45d8
mov r9, qword [rsp + 0x90]
cmp ebp, dword [r15 + 0x20]
jne 0x1400f45bf
mov r8, r13
mov rdx, qword [r15 + 0x18]
mov rcx, qword [rbx]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400f45d0
mov r9, qword [rsp + 0x90]
inc rdi
add rdi, r14
and rdi, r9
inc r14
cmp r14, r9
jbe 0x1400f4570
mov rcx, r15
call fcn.1400f6970
lea rdx, [rsp + 0x20]
mov rcx, r15
call fcn.1400f5140
mov eax, dword [rsp + 0x88]
inc eax
mov dword [rsp + 0x88], eax
mov rcx, qword [rsp + 0x98]
add rcx, 8
mov qword [rsp + 0x98], rcx
cmp eax, 0x137
mov ebp, 0
jl 0x1400f44d0
mov rax, r15
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1400f4810
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x10], rdx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
cmp qword [rcx + 0x10], 0
mov r9, rdx
mov r14, rcx
je 0x1400f48fd
mov r12d, dword [rdx + 8]
cmp r12d, dword [rcx + 0x20]
jne 0x1400f4868
mov rdx, qword [rcx + 0x18]
mov r8d, r12d
mov rcx, qword [r9]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400f48fd
mov r9, qword [rsp + 0x58]
mov r15, qword [r14 + 8]
xor ebp, ebp
dec r15
mov edx, 0x811c9dc5
mov ecx, ebp
test r12, r12
je 0x1400f4895
mov r8, qword [r9]
movzx eax, byte [r8 + rcx]
inc rcx
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r12
jb 0x1400f4880
mov edi, edx
and rdi, r15
nop word [rax + rax]
mov rbx, rdi
shl rbx, 4
add rbx, qword [r14]
mov esi, dword [rbx + 8]
mov r13d, esi
cmp esi, r12d
jne 0x1400f48c7
mov rdx, qword [r9]
mov r8d, esi
mov rcx, qword [rbx]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400f48f8
cmp esi, dword [r14 + 0x20]
jne 0x1400f48e0
mov rdx, qword [r14 + 0x18]
mov r8, r13
mov rcx, qword [rbx]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400f48fd
inc rdi
add rdi, rbp
inc rbp
and rdi, r15
cmp rbp, r15
ja 0x1400f48fd
mov r9, qword [rsp + 0x58]
jmp 0x1400f48a0
mov rax, rbx
jmp 0x1400f48ff
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret

Function at 0x1400f5140
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
mov qword [rsp + 0x10], rdx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x20
mov r14, qword [rcx + 8]
xor ebp, ebp
mov r12d, dword [rdx + 8]
dec r14
mov r10, rdx
mov r13, rcx
mov r9d, 0x811c9dc5
mov r8d, ebp
test r12, r12
je 0x1400f5197
mov rdx, qword [rdx]
nop
movzx eax, byte [rdx + r8]
inc r8
xor eax, r9d
imul r9d, eax, 0x1000193
cmp r8, r12
jb 0x1400f5180
mov edi, r9d
and rdi, r14
mov qword [rsp + 0x50], r15
mov rbx, rdi
shl rbx, 4
add rbx, qword [r13]
mov esi, dword [rbx + 8]
mov r15d, esi
cmp esi, dword [r13 + 0x20]
jne 0x1400f51d1
mov rdx, qword [r13 + 0x18]
mov r8d, esi
mov rcx, qword [rbx]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400f5200
mov r10, qword [rsp + 0x58]
cmp esi, r12d
jne 0x1400f51e8
mov rdx, qword [r10]
mov r8, r15
mov rcx, qword [rbx]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400f520f
inc rdi
add rdi, rbp
inc rbp
and rdi, r14
cmp rbp, r14
ja 0x1400f5214
mov r10, qword [rsp + 0x58]
jmp 0x1400f51a2
mov rax, qword [rsp + 0x58]
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
inc qword [r13 + 0x10]
mov rax, rbx
jmp 0x1400f5216
xor eax, eax
mov r15, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x20
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret