joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1801288f0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x10], rdx
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov r14, rdx
mov rdi, rcx
xor ebx, ebx
cmp byte [0x18023383c], bl
jne 0x180128afc
test byte [rcx + 0x28], 6
je 0x180128968
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], 7
mov qword [rbp - 0x11], 0xf
mov rax, qword [0x1801f6d18]
mov dword [rbp - 0x29], eax
movzx eax, word [0x1801f6d1c]
mov word [rbp - 0x25], ax
movzx eax, byte [0x1801f6d1e]
mov byte [rbp - 0x23], al
mov byte [rbp - 0x22], bl
jmp 0x180128979
lea rdx, str.default
lea rcx, [rbp - 0x29]
call fcn.180091890
nop
lea rdx, [rbp - 0x29]
lea rcx, [rbp + 0x17]
call fcn.180091890
mov r8, rax
mov rdx, rdi
lea rcx, [rbp - 9]
call fcn.18012d740
nop
mov rdx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x1801289a3
mov rdx, qword [r14]
lea rcx, [rbp - 9]
cmp qword [rbp + 0xf], 0xf
cmova rcx, qword [rbp - 9]
mov r8, qword [rbp + 7]
cmp r8, qword [r14 + 0x10]
jne 0x180128ab5
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180128ab5
lea rdx, [rbp - 0x29]
mov r15, qword [rbp - 0x29]
mov r12, qword [rbp - 0x11]
cmp r12, 0xf
cmova rdx, r15
mov r8d, 0x811c9dc5
mov esi, r8d
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], 0
jne 0x1801289f0
test rcx, rcx
je 0x180128a14
nop
movsx eax, byte [rbx + rdx]
xor eax, esi
imul esi, eax, 0x1000193
inc rbx
cmp rbx, rcx
jb 0x180128a00
mov rax, qword [0x1801f6d18]
test al, al
je 0x180128a3a
movsx ecx, al
xor ecx, r8d
imul edx, ecx, 0x1000193
lea rcx, [0x1801f6d19]
call fcn.1800e1a60
mov r8d, eax
cmp esi, r8d
je 0x180128ae9
mov rax, qword [rdi + 0x78]
mov rbx, qword [rax]
cmp rbx, rax
je 0x180128ae9
nop dword [rax]
nop word [rax + rax]
lea rcx, [rbx + 0x10]
lea rdx, [rbp - 0x29]
cmp r12, 0xf
cmova rdx, r15
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x180128a7e
mov rcx, qword [rcx]
cmp r8, qword [rbp - 0x19]
jne 0x180128aaa
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180128aaa
lea rcx, [rdi + 0x70]
mov r8, rbx
lea rdx, [rbp + 0x77]
call fcn.1800e4b00
mov rbx, qword [rax]
mov r12, qword [rbp - 0x11]
mov r15, qword [rbp - 0x29]
jmp 0x180128aad
mov rbx, qword [rbx]
cmp rbx, qword [rdi + 0x78]
jne 0x180128a60
jmp 0x180128ae9
lea rcx, [rdi + 0x70]
lea r8, [rbp - 0x29]
lea rdx, [rbp - 0x39]
call fcn.1800e6ad0
mov rcx, qword [rax]
add rcx, 0x30
cmp rcx, r14
je 0x180128ae9
mov rdx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x180128adf
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
call fcn.180091c80
nop
lea rcx, [rbp - 9]
call fcn.180091c20
nop
lea rcx, [rbp - 0x29]
call fcn.180091c20
movzx eax, byte [0x18023383b]
mov byte [0x18023383c], al
movzx eax, byte [0x18023383a]
mov byte [0x180233839], al
mov rcx, r14
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
jmp fcn.180091c20
Function at 0x180129460
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rbp
mov dword [rsp + 0x10], edx
push rsi
push rdi
push r14
sub rsp, 0x60
mov ebx, edx
mov rsi, rcx
xor edi, edi
cmp byte [0x18023383c], dil
jne 0x180129650
test byte [rcx + 0x28], 6
je 0x1801294d3
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x58], 0xf
mov rax, qword [0x1801f6d18]
mov dword [rsp + 0x40], eax
movzx eax, word [0x1801f6d1c]
mov word [rsp + 0x44], ax
movzx eax, byte [0x1801f6d1e]
mov byte [rsp + 0x46], al
mov byte [rsp + 0x47], dil
jmp 0x1801294e5
lea rdx, str.default
lea rcx, [rsp + 0x40]
call fcn.180091890
nop
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x20]
call fcn.180091890
mov rdx, rax
mov rcx, rsi
call fcn.18012dea0
mov ecx, eax
shr ecx, 0x18
mov edx, eax
shr edx, 0x10
mov r8d, eax
shr r8d, 8
cmp al, bl
jne 0x18012962d
cmp r8b, byte [rsp + 0x89]
jne 0x18012962d
cmp dl, byte [rsp + 0x8a]
jne 0x18012962d
cmp cl, byte [rsp + 0x8b]
jne 0x18012962d
lea rdx, [rsp + 0x40]
mov rbp, qword [rsp + 0x40]
mov r14, qword [rsp + 0x58]
cmp r14, 0xf
cmova rdx, rbp
mov r8d, 0x811c9dc5
mov ebx, r8d
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], 0
jne 0x180129567
test rcx, rcx
je 0x180129594
nop word [rax + rax]
movsx eax, byte [rdi + rdx]
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdi
cmp rdi, rcx
jb 0x180129580
mov rax, qword [0x1801f6d18]
test al, al
je 0x1801295ba
movsx ecx, al
xor ecx, r8d
imul edx, ecx, 0x1000193
lea rcx, [0x1801f6d19]
call fcn.1800e1a60
mov r8d, eax
cmp ebx, r8d
je 0x180129646
mov rax, qword [rsi + 0x40]
mov rbx, qword [rax]
cmp rbx, rax
je 0x180129646
nop
lea rcx, [rbx + 0x10]
lea rdx, [rsp + 0x40]
cmp r14, 0xf
cmova rdx, rbp
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x1801295ef
mov rcx, qword [rcx]
cmp r8, qword [rsp + 0x50]
jne 0x180129622
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180129622
lea rcx, [rsi + 0x38]
mov r8, rbx
lea rdx, [rsp + 0x90]
call fcn.1800e4a10
mov rbx, qword [rax]
mov r14, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x40]
jmp 0x180129625
mov rbx, qword [rbx]
cmp rbx, qword [rsi + 0x40]
jne 0x1801295d0
jmp 0x180129646
lea rcx, [rsi + 0x38]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x20]
call fcn.1800e60c0
mov rcx, qword [rax]
mov dword [rcx + 0x30], ebx
lea rcx, [rsp + 0x40]
call fcn.180091c20
movzx eax, byte [0x18023383b]
mov byte [0x18023383c], al
movzx eax, byte [0x18023383a]
mov byte [0x180233839], al
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
Function at 0x180129a50
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0x60
mov rbx, rdx
xor edi, edi
cmp byte [0x18023383c], dil
jne 0x180129cad
test byte [0x1802437e8], 6
je 0x180129ac4
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x58], 0xf
mov rax, qword [0x1801f6d18]
mov dword [rsp + 0x40], eax
movzx eax, word [0x1801f6d1c]
mov word [rsp + 0x44], ax
movzx eax, byte [0x1801f6d1e]
mov byte [rsp + 0x46], al
mov byte [rsp + 0x47], dil
jmp 0x180129ad6
lea rdx, str.default
lea rcx, [rsp + 0x40]
call fcn.180091890
nop
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x20]
call fcn.180091890
mov rdx, rax
call fcn.18012e300
mov rcx, rax
shr rcx, 0x28
mov rdx, rax
shr rdx, 0x20
mov r8, rax
shr r8, 0x18
mov r9, rax
shr r9, 0x10
mov r10, rax
shr r10, 8
cmp al, bl
jne 0x180129c86
cmp r10b, byte [rsp + 0x89]
jne 0x180129c86
cmp r9b, byte [rsp + 0x8a]
jne 0x180129c86
cmp r8b, byte [rsp + 0x8b]
jne 0x180129c86
cmp dl, byte [rsp + 0x8c]
jne 0x180129c86
cmp cl, byte [rsp + 0x8d]
jne 0x180129c86
mov rcx, rax
shr rcx, 0x30
cmp cl, byte [rsp + 0x8e]
jne 0x180129c86
shr rax, 0x38
cmp al, byte [rsp + 0x8f]
jne 0x180129c86
lea rdx, [rsp + 0x40]
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x58]
cmp rbp, 0xf
cmova rdx, rsi
mov r8d, 0x811c9dc5
mov ebx, r8d
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp byte [rdx + rcx], 0
jne 0x180129bb0
test rcx, rcx
je 0x180129bd4
nop
movsx eax, byte [rdi + rdx]
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdi
cmp rdi, rcx
jb 0x180129bc0
mov rax, qword [0x1801f6d18]
test al, al
je 0x180129bfa
movsx ecx, al
xor ecx, r8d
imul edx, ecx, 0x1000193
lea rcx, [0x1801f6d19]
call fcn.1800e1a60
mov r8d, eax
cmp ebx, r8d
je 0x180129ca3
mov rdi, qword [0x180243808]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x180129ca3
nop word [rax + rax]
lea rcx, [rbx + 0x10]
lea rdx, [rsp + 0x40]
cmp rbp, 0xf
cmova rdx, rsi
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x180129c3f
mov rcx, qword [rcx]
cmp r8, qword [rsp + 0x50]
jne 0x180129c7c
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180129c7c
mov r8, rbx
lea rdx, [rsp + 0x80]
lea rcx, [0x180243800]
call fcn.1800e4a10
mov rbx, qword [rax]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [0x180243808]
jmp 0x180129c7f
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x180129c20
jmp 0x180129ca3
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x20]
lea rcx, [0x180243800]
call fcn.1800e5690
mov rcx, qword [rax]
mov qword [rcx + 0x30], rbx
lea rcx, [rsp + 0x40]
call fcn.180091c20
movzx eax, byte [0x18023383b]
mov byte [0x18023383c], al
movzx eax, byte [0x18023383a]
mov byte [0x180233839], al
mov rbx, qword [rsp + 0x90]
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret
Function at 0x180129d80
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rbp
mov qword [rsp + 0x10], rdx
push rsi
push rdi
push r14
sub rsp, 0x60
mov rbx, rdx
mov rsi, rcx
xor edi, edi
cmp byte [0x18023383c], dil
jne 0x180129f51
test byte [rcx + 0x28], 6
je 0x180129df5
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x58], 0xf
mov rax, qword [0x1801f6d18]
mov dword [rsp + 0x40], eax
movzx eax, word [0x1801f6d1c]
mov word [rsp + 0x44], ax
movzx eax, byte [0x1801f6d1e]
mov byte [rsp + 0x46], al
mov byte [rsp + 0x47], dil
jmp 0x180129e07
lea rdx, str.default
lea rcx, [rsp + 0x40]
call fcn.180091890
nop
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x20]
call fcn.180091890
mov rdx, rax
mov rcx, rsi
call fcn.18012efb0
mov rcx, rax
shr rcx, 0x20
cmp eax, ebx
jne 0x180129f2d
cmp ecx, dword [rsp + 0x8c]
jne 0x180129f2d
lea rdx, [rsp + 0x40]
mov rbp, qword [rsp + 0x40]
mov r14, qword [rsp + 0x58]
cmp r14, 0xf
cmova rdx, rbp
mov r8d, 0x811c9dc5
mov ebx, r8d
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], 0
jne 0x180129e64
test rcx, rcx
je 0x180129e94
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rdi + rdx]
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdi
cmp rdi, rcx
jb 0x180129e80
mov rax, qword [0x1801f6d18]
test al, al
je 0x180129eba
movsx ecx, al
xor ecx, r8d
imul edx, ecx, 0x1000193
lea rcx, [0x1801f6d19]
call fcn.1800e1a60
mov r8d, eax
cmp ebx, r8d
je 0x180129f47
mov rax, qword [rsi + 0x48]
mov rbx, qword [rax]
cmp rbx, rax
je 0x180129f47
nop
lea rcx, [rbx + 0x10]
lea rdx, [rsp + 0x40]
cmp r14, 0xf
cmova rdx, rbp
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x180129eef
mov rcx, qword [rcx]
cmp r8, qword [rsp + 0x50]
jne 0x180129f22
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180129f22
lea rcx, [rsi + 0x40]
mov r8, rbx
lea rdx, [rsp + 0x90]
call fcn.1800e4a10
mov rbx, qword [rax]
mov r14, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x40]
jmp 0x180129f25
mov rbx, qword [rbx]
cmp rbx, qword [rsi + 0x48]
jne 0x180129ed0
jmp 0x180129f47
lea rcx, [rsi + 0x40]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x20]
call fcn.1800e65c0
mov rcx, qword [rax]
mov qword [rcx + 0x30], rbx
lea rcx, [rsp + 0x40]
call fcn.180091c20
movzx eax, byte [0x18023383b]
mov byte [0x18023383c], al
movzx eax, byte [0x18023383a]
mov byte [0x180233839], al
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
Function at 0x180129f80
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r14
sub rsp, 0x80
movaps xmmword [rsp + 0x70], xmm6
mov rsi, rdx
mov rdi, rcx
xor ebx, ebx
cmp byte [0x18023383c], bl
jne 0x18012a187
test byte [rcx + 0x28], 6
je 0x180129ff6
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 7
mov qword [rsp + 0x48], 0xf
mov rax, qword [0x1801f6d18]
mov dword [rsp + 0x30], eax
movzx eax, word [0x1801f6d1c]
mov word [rsp + 0x34], ax
movzx eax, byte [0x1801f6d1e]
mov byte [rsp + 0x36], al
mov byte [rsp + 0x37], bl
jmp 0x18012a008
lea rdx, str.default
lea rcx, [rsp + 0x30]
call fcn.180091890
nop
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.180091890
mov r8, rax
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.18012f410
movups xmm0, xmmword [rax]
movaps xmm1, xmmword [rsi]
movq rax, xmm0
movq rcx, xmm1
cmp eax, ecx
jne 0x18012a160
shr rcx, 0x20
shr rax, 0x20
cmp eax, ecx
jne 0x18012a160
psrldq xmm0, 8
movq rax, xmm0
psrldq xmm1, 8
movq rcx, xmm1
cmp eax, ecx
jne 0x18012a160
shr rcx, 0x20
shr rax, 0x20
cmp eax, ecx
jne 0x18012a160
lea rdx, [rsp + 0x30]
mov rbp, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
cmp r14, 0xf
cmova rdx, rbp
mov r8d, 0x811c9dc5
mov esi, r8d
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], 0
jne 0x18012a0a2
test rcx, rcx
je 0x18012a0c4
movsx eax, byte [rbx + rdx]
xor eax, esi
imul esi, eax, 0x1000193
inc rbx
cmp rbx, rcx
jb 0x18012a0b0
mov rax, qword [0x1801f6d18]
test al, al
je 0x18012a0ea
movsx ecx, al
xor ecx, r8d
imul edx, ecx, 0x1000193
lea rcx, [0x1801f6d19]
call fcn.1800e1a60
mov r8d, eax
cmp esi, r8d
je 0x18012a17d
mov rax, qword [rdi + 0x58]
mov rbx, qword [rax]
cmp rbx, rax
je 0x18012a17d
lea rcx, [rbx + 0x10]
lea rdx, [rsp + 0x30]
cmp r14, 0xf
cmova rdx, rbp
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x18012a122
mov rcx, qword [rcx]
cmp r8, qword [rsp + 0x40]
jne 0x18012a155
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x18012a155
lea rcx, [rdi + 0x50]
mov r8, rbx
lea rdx, [rsp + 0xb0]
call fcn.1800e4d00
mov rbx, qword [rax]
mov r14, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x30]
jmp 0x18012a158
mov rbx, qword [rbx]
cmp rbx, qword [rdi + 0x58]
jne 0x18012a103
jmp 0x18012a17d
movaps xmm6, xmmword [rsi]
lea rcx, [rdi + 0x50]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
call fcn.1800e5920
mov rcx, qword [rax]
movups xmmword [rcx + 0x30], xmm6
lea rcx, [rsp + 0x30]
call fcn.180091c20
movzx eax, byte [0x18023383b]
mov byte [0x18023383c], al
movzx eax, byte [0x18023383a]
mov byte [0x180233839], al
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
movaps xmm6, xmmword [rsp + 0x70]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
Function at 0x18012bbc0
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x18012bbf1
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x1802443f8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x180244408]
lea rdx, [rdi + rdi]
call fcn.180091fb0
mov rax, qword [0x1802443f8]
lea r9, [rdi - 1]
mov qword [0x180244420], r9
mov qword [0x180244428], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x18012bd92
mov qword [rsp + 0x38], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
movzx edx, byte [rax + 0x11]
movzx r11d, byte [rax + 0x10]
mov rcx, qword [rcx]
xor r11, rsi
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x12]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x13]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x14]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x15]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x16]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x17]
imul r11, rdi
xor r11, rdx
imul r11, rdi
and r11, r9
shl r11, 4
add r11, qword [0x180244408]
mov r9, qword [r11]
cmp r9, rbx
jne 0x18012bcdc
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x18012bd53
mov rdx, qword [r11 + 8]
mov r8, qword [rax + 0x10]
cmp r8, qword [rdx + 0x10]
jne 0x18012bd19
mov r10, qword [rdx]
cmp r10, rax
je 0x18012bd13
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x18012bd53
cmp r9, rdx
je 0x18012bd2f
nop
mov rdx, qword [rdx + 8]
cmp r8, qword [rdx + 0x10]
je 0x18012bd67
cmp r9, rdx
jne 0x18012bd20
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
je 0x18012bd8d
mov r9, qword [0x180244420]
jmp 0x18012bc61
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x18012bd53
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x18012c020
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x18012c051
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x180234a48]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x180234a58]
lea rdx, [rdi + rdi]
call fcn.180091fb0
mov rax, qword [0x180234a48]
lea r9, [rdi - 1]
mov qword [0x180234a70], r9
mov qword [0x180234a78], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x18012c1f2
mov qword [rsp + 0x38], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
movzx edx, byte [rax + 0x11]
movzx r11d, byte [rax + 0x10]
mov rcx, qword [rcx]
xor r11, rsi
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x12]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x13]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x14]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x15]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x16]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x17]
imul r11, rdi
xor r11, rdx
imul r11, rdi
and r11, r9
shl r11, 4
add r11, qword [0x180234a58]
mov r9, qword [r11]
cmp r9, rbx
jne 0x18012c13c
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x18012c1b3
mov rdx, qword [r11 + 8]
mov r8, qword [rax + 0x10]
cmp r8, qword [rdx + 0x10]
jne 0x18012c179
mov r10, qword [rdx]
cmp r10, rax
je 0x18012c173
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x18012c1b3
cmp r9, rdx
je 0x18012c18f
nop
mov rdx, qword [rdx + 8]
cmp r8, qword [rdx + 0x10]
je 0x18012c1c7
cmp r9, rdx
jne 0x18012c180
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
je 0x18012c1ed
mov r9, qword [0x180234a70]
jmp 0x18012c0c1
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x18012c1b3
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x18012c7f0
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
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov r14, rdx
mov rdi, rcx
xor r15d, r15d
test byte [rdx + 0x28], 6
je 0x18012c85b
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], 7
mov qword [rcx + 0x18], 0xf
mov rax, qword [0x1801f6d18]
mov dword [rcx], eax
movzx eax, word [0x1801f6d1c]
mov word [rcx + 4], ax
movzx eax, byte [0x1801f6d1e]
mov byte [rcx + 6], al
mov byte [rcx + 7], r15b
jmp 0x18012ca27
lea rdx, str.default
test r8b, r8b
je 0x18012c871
call fcn.180091890
jmp 0x18012ca27
lea rcx, [rsp + 0x38]
call fcn.180091890
nop
movabs r13, 0xcbf29ce484222325
movabs r12, 0x100000001b3
lea r8, [rsp + 0x38]
mov rsi, qword [rsp + 0x38]
movups xmm1, xmmword [rsp + 0x48]
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rbp, xmm0
cmp rbp, 0xf
cmova r8, rsi
mov ebx, 0x811c9dc5
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], 0
jne 0x18012c8c1
mov rax, r15
test rdx, rdx
je 0x18012c8f5
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r8 + rax]
xor ecx, ebx
imul ebx, ecx, 0x1000193
inc rax
cmp rax, rdx
jb 0x18012c8e0
mov rax, qword [0x1801f6d18]
test al, al
jne 0x18012c907
mov eax, 0x811c9dc5
jmp 0x18012c927
movsx ecx, al
xor ecx, 0x811c9dc5
imul edx, ecx, 0x1000193
lea rcx, [0x1801f6d19]
call fcn.1800e1a60
movups xmm1, xmmword [rsp + 0x48]
cmp ebx, eax
je 0x18012ca16
lea rcx, [r14 + 0x38]
lea r8, [rsp + 0x38]
cmp rbp, 0xf
cmova r8, rsi
mov r9, r13
mov rdx, r15
movq r10, xmm1
test r10, r10
je 0x18012c964
movzx eax, byte [r8 + rdx]
xor r9, rax
imul r9, r12
inc rdx
cmp rdx, r10
jb 0x18012c950
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x28]
call fcn.1800955b0
cmp qword [rax + 8], 0
jne 0x18012ca16
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call fcn.180091890
mov r8, rax
lea rdx, [rsp + 0x78]
call fcn.1800e2ad0
mov rbx, rax
lea rax, [rsp + 0x38]
cmp rax, rbx
je 0x18012ca00
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x18012c9e0
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18012c9db
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18012ca0f
call fcn.180184d0c
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x38], xmm0
movups xmm0, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x48], xmm0
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
lea rcx, [rsp + 0x78]
call fcn.180091c20
jmp 0x18012c890
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rdi], xmm0
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rdi + 0x10], xmm0
mov rax, rdi
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x18012ca50
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
mov r15, rdx
mov r14, rcx
lea rcx, [rbp - 0x39]
call fcn.180091890
nop
xor r12d, r12d
movabs r13, 0x100000001b3
nop
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 0x19]
call fcn.180091890
mov r8, rax
lea rdx, [rbp + 7]
call fcn.1800e2ad0
mov rbx, rax
lea rax, [rbp - 0x39]
cmp rax, rbx
je 0x18012cb1e
mov rdx, qword [rbp - 0x21]
cmp rdx, 0xf
jbe 0x18012caf0
inc rdx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18012caeb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18012cc44
call fcn.180184d0c
mov qword [rbp - 0x29], r12
mov qword [rbp - 0x21], 0xf
mov byte [rbp - 0x39], r12b
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x39], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x29], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 0xf
mov byte [rbx], r12b
lea rcx, [rbp + 7]
call fcn.180091c20
lea r8, [rbp - 0x39]
mov rdi, qword [rbp - 0x39]
mov rsi, qword [rbp - 0x21]
cmp rsi, 0xf
cmova r8, rdi
mov ebx, 0x811c9dc5
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], r12b
jne 0x18012cb47
mov rax, r12
test rdx, rdx
je 0x18012cb75
nop dword [rax + rax]
movsx ecx, byte [r8 + rax]
xor ecx, ebx
imul ebx, ecx, 0x1000193
inc rax
cmp rax, rdx
jb 0x18012cb60
mov rax, qword [0x1801f6d18]
test al, al
jne 0x18012cb87
mov eax, 0x811c9dc5
jmp 0x18012cba2
movsx ecx, al
xor ecx, 0x811c9dc5
imul edx, ecx, 0x1000193
lea rcx, [0x1801f6d19]
call fcn.1800e1a60
cmp ebx, eax
lea rbx, [r14 + 0x38]
je 0x18012cbfd
lea rdx, [rbp - 0x39]
cmp rsi, 0xf
cmova rdx, rdi
movabs r9, 0xcbf29ce484222325
mov rcx, r12
mov r8, qword [rbp - 0x29]
test r8, r8
je 0x18012cbe3
nop dword [rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r13
inc rcx
cmp rcx, r8
jb 0x18012cbd0
lea r8, [rbp - 0x39]
lea rdx, [rbp - 0x49]
mov rcx, rbx
call fcn.1800955b0
cmp qword [rax + 8], r12
je 0x18012ca90
lea r8, [rbp - 0x39]
lea rdx, [rbp - 0x49]
mov rcx, rbx
call fcn.1800e6850
mov rcx, qword [rax]
movzx ebx, byte [rcx + 0x30]
lea rcx, [rbp - 0x39]
call fcn.180091c20
nop
mov rcx, r15
call fcn.180091c20
movzx eax, bl
mov rbx, qword [rsp + 0xd0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
int3