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

Disassembly:
mov qword [rsp + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rsi
mov rsi, rdx
mov r14, rcx
movzx r9d, byte [r8]
movabs rax, 0xcbf29ce484222325
xor r9, rax
movabs rcx, 0x100000001b3
imul r9, rcx
movzx eax, byte [r8 + 1]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 2]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 3]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 4]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 5]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 6]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 7]
xor r9, rax
imul r9, rcx
mov r12, qword [r14 + 0x30]
and r12, r9
mov rdi, qword [r14 + 8]
mov rbx, r12
add rbx, rbx
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + rbx*8]
cmp rcx, rdi
jne 0x140058ed1
mov rbx, rdi
jmp 0x140058ee0
mov rbx, qword [rax + rbx*8 + 8]
mov rbx, qword [rbx]
nop dword [rax]
cmp rbx, rcx
je 0x140058f01
mov rbx, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
cmp qword [r8], rax
jne 0x140058ee0
mov qword [rdx], rbx
mov byte [rdx + 8], 0
mov rax, rsi
jmp 0x140058fec
mov rdi, qword [rdi]
mov r13, qword [rdi + 8]
mov r9, r8
mov r8, r13
mov rdx, rdi
lea rcx, [r14 + 8]
call fcn.1400587d0
mov rdx, rax
mov rax, qword [r14 + 0x10]
movabs rcx, 0x7fffffffffffffe
sub rcx, rax
cmp rcx, 1
jb 0x140059004
inc rax
mov qword [r14 + 0x10], rax
mov qword [rdi + 8], rdx
mov qword [r13], rdx
mov rcx, qword [r14 + 8]
mov rdi, qword [rcx]
mov qword [rsp + 0x20], rdi
mov rax, qword [rdi]
cmp rbx, rax
je 0x140058f8c
mov rcx, qword [rdi + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov rdx, qword [rbx + 8]
mov rcx, qword [rax + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
mov rcx, qword [r14 + 8]
shl r12, 4
mov rdx, qword [r14 + 0x18]
add rdx, r12
mov rax, qword [rdx]
cmp rax, rcx
jne 0x140058fad
mov qword [rdx], rdi
mov rax, qword [r14 + 0x18]
mov qword [rax + r12 + 8], rdi
jmp 0x140058fd9
cmp rax, rbx
jne 0x140058fb7
mov qword [rdx], rdi
jmp 0x140058fd9
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
mov qword [rdx + 8], rcx
cmp rcx, rdi
je 0x140058fd9
mov rdx, qword [r14 + 0x18]
mov rax, qword [rdx + r12 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r12 + 8], rcx
mov rcx, r14
call fcn.14005bcd0
nop
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rax, rsi
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, [0x14043ccf0]
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3
Function at 0x1400590e0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
movzx r9d, byte [r8 + 0x10]
mov r10, rcx
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
xor r9, rax
mov rdi, rdx
movzx eax, byte [r8 + 0x11]
mov rdx, qword [r10 + 0x30]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 0x12]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 0x13]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 0x14]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 0x15]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 0x16]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 0x17]
imul r9, rcx
xor r9, rax
imul r9, rcx
mov rcx, qword [r10 + 0x18]
and rdx, r9
shl rdx, 4
add rcx, rdx
mov rax, qword [rcx]
cmp qword [rcx + 8], r8
jne 0x1400591a4
cmp rax, r8
jne 0x14005919a
mov rax, qword [r10 + 8]
mov qword [rcx], rax
mov rcx, qword [r10 + 0x18]
mov rax, qword [r10 + 8]
mov qword [rdx + rcx + 8], rax
jmp 0x1400591af
mov rax, qword [r8 + 8]
mov qword [rcx + 8], rax
jmp 0x1400591af
cmp rax, r8
jne 0x1400591af
mov rax, qword [r8]
mov qword [rcx], rax
mov rax, qword [r8 + 8]
mov edx, 0x20
mov rbx, qword [r8]
mov qword [rax], rbx
mov rcx, qword [r8]
mov rax, qword [r8 + 8]
mov qword [rcx + 8], rax
mov rcx, r8
dec qword [r10 + 0x10]
call fcn.140283db0
mov qword [rdi], rbx
mov rax, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x140060aa0
Capabilities:
Hash data using fnv

Disassembly:
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x28
mov rdi, rcx
mov ebp, r9d
mov rcx, qword [rcx + 8]
mov rbx, r8
mov rsi, rdx
cmp qword [r8 + 0x50], rcx
je 0x140060ad5
lea r9, str.Field_does_not_match_message_type.
mov rdx, rbx
lea r8, str.GetRepeatedEnumValue
call fcn.140062e30
cmp dword [rbx + 0x3c], 3
je 0x140060af5
mov rcx, qword [rdi + 8]
lea r9, str.Field_is_singular__the_method_requires_a_repeated_field.
lea r8, str.GetRepeatedEnumValue
mov rdx, rbx
call fcn.140062e30
mov rcx, rbx
call fcn.14005c300
movsxd rcx, eax
lea rax, [0x140440f90]
cmp dword [rax + rcx*4], 8
je 0x140060b26
mov rcx, qword [rdi + 8]
lea r8, str.GetRepeatedEnumValue
mov r9d, 8
mov rdx, rbx
call fcn.140062f20
cmp byte [rbx + 0x42], 0
je 0x140060b41
mov ecx, dword [rdi + 0x30]
mov r8d, ebp
mov edx, dword [rbx + 0x44]
add rcx, rsi
call fcn.1400786b0
mov edi, eax
jmp 0x140060b5b
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.14005c440
mov rcx, rax
mov edx, ebp
call fcn.140074020
mov edi, dword [rax]
mov rcx, rbx
call fcn.1400adff0
mov rcx, rax
mov edx, edi
add rsp, 0x28
pop rdi
pop rsi
pop rbp
pop rbx
jmp 0x14009f9e0
Function at 0x140078010
Capabilities:
Hash data using fnv

Disassembly:
mov dword [rsp + 0x10], edx
push rbp
sub rsp, 0x20
mov r9, qword [rcx + 8]
mov rbp, r8
mov qword [rsp + 0x30], rbx
mov rcx, r9
mov qword [rsp + 0x40], rsi
mov r11, r9
mov qword [rsp + 0x18], rdi
mov rbx, r9
mov rdi, r9
mov qword [rsp + 8], r14
mov r14, qword [0x140627cb8]
mov r8, r9
mov rsi, r9
shr rdi, 0x18
mov rax, r9
shr rcx, 0x38
shr r11, 0x30
shr rbx, 0x28
shr r8, 0x20
shr rsi, 0x10
shr rax, 8
mov r10d, edx
test r14, r14
je 0x140078179
movzx eax, al
mov qword [rsp + 0x10], r12
movabs r12, 0x100000001b3
mov qword [rsp], r15
movabs r15, 0xcbf29ce484222325
movzx edx, r9b
xor rdx, r15
imul rdx, r12
xor rdx, rax
movzx eax, sil
imul rdx, r12
xor rdx, rax
movzx eax, dil
imul rdx, r12
xor rdx, rax
movzx eax, r8b
mov r8, qword [r14 + 8]
imul rdx, r12
xor rdx, rax
movzx eax, bl
imul rdx, r12
xor rdx, rax
movzx eax, r11b
imul rdx, r12
xor rdx, rax
movzx eax, byte [rsp + 0x39]
imul rdx, r12
xor rdx, rcx
movzx ecx, r10b
xor rcx, r15
mov r15, qword [rsp]
imul rcx, r12
imul rdx, r12
xor rcx, rax
movzx eax, byte [rsp + 0x3a]
imul rcx, r12
xor rcx, rax
movzx eax, byte [rsp + 0x3b]
imul rcx, r12
xor rcx, rax
imul rcx, r12
mov r12, qword [rsp + 0x10]
xor rcx, rdx
mov rdx, qword [r14 + 0x18]
and rcx, qword [r14 + 0x30]
mov rax, rcx
add rax, rax
add rcx, rcx
mov rax, qword [rdx + rax*8]
mov r11, qword [rdx + rcx*8]
lea rdx, [rdx + rcx*8]
cmp r11, r8
jne 0x14007814d
mov rcx, r8
jmp 0x140078154
mov rcx, qword [rdx + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x140078179
cmp qword [rax + 0x10], r9
jne 0x140078165
cmp dword [rax + 0x18], r10d
je 0x14007816a
mov rax, qword [rax]
jmp 0x140078143
cmovne rax, r8
cmp rax, r8
je 0x140078179
add rax, 0x20
jmp 0x14007817b
xor eax, eax
mov r14, qword [rsp + 8]
mov rdi, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
test rax, rax
jne 0x14007819a
add rsp, 0x20
pop rbp
ret
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
mov al, 1
movups xmmword [rbp + 0x10], xmm1
add rsp, 0x20
pop rbp
ret
Function at 0x140081a40
Capabilities:
Encrypt data using rc4 prga
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov r10, qword [rdx + 8]
xor r8d, r8d
mov r11, rcx
mov r9, r10
movzx eax, byte [r10]
test al, al
je 0x140081a87
nop dword [rax]
nop dword [rax + rax]
movsx rax, al
lea r8, [r8 + r8*4]
add r8, rax
lea r9, [r9 + 1]
movzx eax, byte [r9]
test al, al
jne 0x140081a70
mov rbx, qword [rdx]
mov rdx, qword [r11 + 0x18]
imul rcx, rbx, 0x1000193
xor rcx, r8
and rcx, qword [r11 + 0x30]
mov r11, qword [r11 + 8]
mov rax, rcx
add rax, rax
add rcx, rcx
mov rax, qword [rdx + rax*8]
mov rdi, qword [rdx + rcx*8]
lea rsi, [rdx + rcx*8]
cmp rdi, r11
jne 0x140081abf
mov rcx, r11
jmp 0x140081ac6
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x140081b2c
cmp qword [rax + 0x10], rbx
jne 0x140081afa
mov rcx, qword [rax + 0x18]
mov r9, r10
sub r9, rcx
nop dword [rax + rax]
movzx r8d, byte [rcx]
movzx edx, byte [rcx + r9]
sub r8d, edx
jne 0x140081af5
inc rcx
test edx, edx
jne 0x140081ae0
test r8d, r8d
je 0x140081aff
mov rax, qword [rax]
jmp 0x140081ab5
mov r8, qword [rax + 0x18]
sub r8, r10
nop word [rax + rax]
movzx edx, byte [r10]
movzx ecx, byte [r10 + r8]
sub edx, ecx
jne 0x140081b24
inc r10
test ecx, ecx
jne 0x140081b10
test edx, edx
cmovne rax, r11
jmp 0x140081b2f
mov rax, r11
cmp rax, r11
jne 0x140081b46
xor eax, eax
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret
mov rax, qword [rax + 0x20]
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret
Function at 0x140082ba0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov rdi, r9
mov rsi, rdx
mov r9, rcx
movsxd rdx, dword [r8 + 8]
mov r10, qword [r8]
imul r8, rdx, 0x1000193
imul rax, r10, 0x100011b
xor r8, rax
and r8, qword [rcx + 0x30]
mov rbx, qword [rcx + 8]
mov r11, r8
shl r11, 4
add r11, qword [rcx + 0x18]
mov rax, qword [r11]
cmp rbx, rax
je 0x140082c49
mov rbx, qword [r11 + 8]
mov rbx, qword [rbx]
nop dword [rax]
cmp rbx, rax
je 0x140082c49
mov rbx, qword [rbx + 8]
cmp r10, qword [rbx + 0x10]
jne 0x140082c00
cmp edx, dword [rbx + 0x18]
jne 0x140082c00
mov rcx, qword [rdi + 8]
mov rax, qword [rdi]
mov qword [rcx], rax
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
dec qword [r9 + 0x10]
mov edx, 0x28
mov rcx, rdi
call fcn.140283db0
mov qword [rsi], rbx
mov byte [rsi + 8], 0
mov rax, rsi
jmp 0x140082cdf
mov rax, qword [rdi]
cmp rbx, rax
je 0x140082c7e
mov rcx, qword [rdi + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov rdx, qword [rbx + 8]
mov rcx, qword [rax + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
shl r8, 4
mov rdx, qword [r9 + 0x18]
add rdx, r8
mov rax, qword [rdx]
cmp rax, qword [r9 + 8]
jne 0x140082ca0
mov qword [rdx], rdi
mov rax, qword [r9 + 0x18]
mov qword [r8 + rax + 8], rdi
jmp 0x140082ccc
cmp rax, rbx
jne 0x140082caa
mov qword [rdx], rdi
jmp 0x140082ccc
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
mov qword [rdx + 8], rcx
cmp rcx, rdi
je 0x140082ccc
mov rdx, qword [r9 + 0x18]
mov rax, qword [rdx + r8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r8 + 8], rcx
mov rcx, r9
call fcn.1400aca60
nop
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rax, rsi
add rsp, 0x30
pop rdi
pop rsi
pop rbx
ret
Function at 0x140082cf0
Capabilities:
Encrypt data using rc4 prga
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov rdi, r9
mov r14, r8
mov rsi, rdx
mov r11, rcx
mov r10, qword [r8 + 8]
xor r9d, r9d
movzx eax, byte [r10]
test al, al
je 0x140082d47
nop dword [rax]
lea r9, [r9 + r9*4]
movsx rax, al
add r9, rax
lea r10, [r10 + 1]
movzx eax, byte [r10]
test al, al
jne 0x140082d30
mov r15, qword [r8]
imul r10, r15, 0x1000193
xor r10, r9
and r10, qword [rcx + 0x30]
mov rbx, qword [rcx + 8]
shl r10, 4
mov rcx, qword [rcx + 0x18]
mov rax, qword [rcx + r10]
cmp rbx, rax
je 0x140082dde
mov rbx, qword [rcx + r10 + 8]
mov rbx, qword [rbx]
cmp rbx, rax
je 0x140082dde
mov rbx, qword [rbx + 8]
cmp r15, qword [rbx + 0x10]
jne 0x140082d75
mov rcx, qword [r14 + 8]
mov r9, qword [rbx + 0x18]
sub r9, rcx
nop
movzx r8d, byte [rcx]
movzx edx, byte [rcx + r9]
sub r8d, edx
jne 0x140082da5
inc rcx
test edx, edx
jne 0x140082d90
test r8d, r8d
jne 0x140082d75
mov rcx, qword [rdi + 8]
mov rax, qword [rdi]
mov qword [rcx], rax
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
dec qword [r11 + 0x10]
lea edx, [r8 + 0x28]
mov rcx, rdi
call fcn.140283db0
mov qword [rsi], rbx
mov byte [rsi + 8], 0
mov rax, rsi
jmp 0x140082e70
mov rax, qword [rdi]
cmp rbx, rax
je 0x140082e13
mov rcx, qword [rdi + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov rdx, qword [rbx + 8]
mov rcx, qword [rax + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
mov rdx, qword [r11 + 0x18]
add rdx, r10
mov rax, qword [rdx]
cmp rax, qword [r11 + 8]
jne 0x140082e31
mov qword [rdx], rdi
mov rax, qword [r11 + 0x18]
mov qword [r10 + rax + 8], rdi
jmp 0x140082e5d
cmp rax, rbx
jne 0x140082e3b
mov qword [rdx], rdi
jmp 0x140082e5d
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
mov qword [rdx + 8], rcx
cmp rcx, rdi
je 0x140082e5d
mov rdx, qword [r11 + 0x18]
mov rax, qword [rdx + r10 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r10 + 8], rcx
mov rcx, r11
call fcn.1400acb00
nop
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rax, rsi
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret
Function at 0x140082e80
Capabilities:
Encrypt data using rc4 prga
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov rdi, r9
mov r14, r8
mov rsi, rdx
mov r11, rcx
mov r10, qword [r8 + 8]
xor r9d, r9d
movzx eax, byte [r10]
test al, al
je 0x140082ed7
nop dword [rax]
lea r9, [r9 + r9*4]
movsx rax, al
add r9, rax
lea r10, [r10 + 1]
movzx eax, byte [r10]
test al, al
jne 0x140082ec0
mov r15, qword [r8]
imul r10, r15, 0x1000193
xor r10, r9
and r10, qword [rcx + 0x30]
mov rbx, qword [rcx + 8]
shl r10, 4
mov rcx, qword [rcx + 0x18]
mov rax, qword [rcx + r10]
cmp rbx, rax
je 0x140082f6e
mov rbx, qword [rcx + r10 + 8]
mov rbx, qword [rbx]
cmp rbx, rax
je 0x140082f6e
mov rbx, qword [rbx + 8]
cmp r15, qword [rbx + 0x10]
jne 0x140082f05
mov rcx, qword [r14 + 8]
mov r9, qword [rbx + 0x18]
sub r9, rcx
nop
movzx r8d, byte [rcx]
movzx edx, byte [rcx + r9]
sub r8d, edx
jne 0x140082f35
inc rcx
test edx, edx
jne 0x140082f20
test r8d, r8d
jne 0x140082f05
mov rcx, qword [rdi + 8]
mov rax, qword [rdi]
mov qword [rcx], rax
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
dec qword [r11 + 0x10]
lea edx, [r8 + 0x30]
mov rcx, rdi
call fcn.140283db0
mov qword [rsi], rbx
mov byte [rsi + 8], 0
mov rax, rsi
jmp 0x140083000
mov rax, qword [rdi]
cmp rbx, rax
je 0x140082fa3
mov rcx, qword [rdi + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov rdx, qword [rbx + 8]
mov rcx, qword [rax + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
mov rdx, qword [r11 + 0x18]
add rdx, r10
mov rax, qword [rdx]
cmp rax, qword [r11 + 8]
jne 0x140082fc1
mov qword [rdx], rdi
mov rax, qword [r11 + 0x18]
mov qword [r10 + rax + 8], rdi
jmp 0x140082fed
cmp rax, rbx
jne 0x140082fcb
mov qword [rdx], rdi
jmp 0x140082fed
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
mov qword [rdx + 8], rcx
cmp rcx, rdi
je 0x140082fed
mov rdx, qword [r11 + 0x18]
mov rax, qword [rdx + r10 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r10 + 8], rcx
mov rcx, r11
call fcn.1400acba0
nop
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rax, rsi
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret
Function at 0x140083010
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov rdi, r9
mov r12, r8
mov r15, rcx
mov r13, qword [r8 + 0x10]
mov r9, qword [r8 + 0x18]
cmp r9, 0x10
jb 0x140083051
mov r8, qword [r8]
movabs rdx, 0xcbf29ce484222325
xor ecx, ecx
test r13, r13
je 0x140083084
movabs r10, 0x100000001b3
nop dword [rax]
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r10
inc rcx
cmp rcx, r13
jb 0x140083070
mov r14, qword [r15 + 0x30]
and r14, rdx
mov rbx, qword [r15 + 8]
add r14, r14
mov rax, qword [r15 + 0x18]
mov rsi, qword [rax + r14*8]
cmp rbx, rsi
je 0x140083119
mov rbx, qword [rax + r14*8 + 8]
mov rbx, qword [rbx]
cmp rbx, rsi
je 0x140083119
mov rbx, qword [rbx + 8]
lea rdx, [rbx + 0x10]
cmp qword [rbx + 0x28], 0x10
jb 0x1400830bf
mov rdx, qword [rbx + 0x10]
mov rcx, r12
cmp r9, 0x10
jb 0x1400830cc
mov rcx, qword [r12]
cmp r13, qword [rbx + 0x20]
jne 0x1400830a7
mov r8, r13
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
mov r9, qword [r12 + 0x18]
jne 0x1400830a7
lea rcx, [r15 + 8]
mov rdx, qword [rdi + 8]
mov rax, qword [rdi]
mov qword [rdx], rax
mov rdx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rdx + 8], rax
dec qword [rcx + 8]
mov rdx, rdi
call fcn.1400ad3f0
mov rax, qword [rsp + 0x78]
mov qword [rax], rbx
mov byte [rax + 8], 0
jmp 0x14008321c
mov rax, qword [rdi]
cmp rbx, rax
je 0x14008314e
mov rcx, qword [rdi + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov rdx, qword [rbx + 8]
mov rcx, qword [rax + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
mov rdx, qword [r15 + 0x18]
mov rax, qword [rdx + r14*8]
cmp rax, qword [r15 + 8]
jne 0x14008316b
mov qword [rdx + r14*8], rdi
mov rax, qword [r15 + 0x18]
mov qword [rax + r14*8 + 8], rdi
jmp 0x14008319a
cmp rax, rbx
jne 0x140083176
mov qword [rdx + r14*8], rdi
jmp 0x14008319a
mov rax, qword [rdx + r14*8 + 8]
mov rcx, qword [rax]
mov qword [rdx + r14*8 + 8], rcx
cmp rcx, rdi
je 0x14008319a
mov rdx, qword [r15 + 0x18]
mov rax, qword [rdx + r14*8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r14*8 + 8], rcx
mov rax, qword [r15 + 0x10]
mov rdx, qword [r15 + 0x38]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movss xmm1, dword [0x14043cd04]
test rax, rax
jns 0x1400831bb
addss xmm0, xmm1
xorps xmm2, xmm2
cvtsi2ss xmm2, rdx
test rdx, rdx
jns 0x1400831cc
addss xmm2, xmm1
divss xmm0, xmm2
comiss xmm0, dword [r15]
jbe 0x14008320c
cmp rdx, 0x200
jae 0x1400831e9
lea rdx, [rdx*8]
jmp 0x1400831fb
movabs rax, 0xfffffffffffffff
cmp rdx, rax
jae 0x1400831fb
add rdx, rdx
mov rcx, r15
call fcn.14005bdc0
mov rcx, r15
call fcn.1400ad7e0
nop
mov r9, qword [rsp + 0x78]
mov qword [r9], rdi
mov byte [r9 + 8], 1
mov rax, r9
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
Function at 0x140083550
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rsi
mov rdi, r9
mov rsi, rdx
mov r10, rcx
movzx r9d, byte [r8]
movabs rax, 0xcbf29ce484222325
xor r9, rax
movabs rcx, 0x100000001b3
imul r9, rcx
movzx eax, byte [r8 + 1]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 2]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 3]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 4]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 5]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 6]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 7]
xor r9, rax
imul r9, rcx
mov r11, qword [r10 + 0x30]
and r11, r9
mov rbx, qword [r10 + 8]
mov rdx, r11
add rdx, rdx
mov rax, qword [r10 + 0x18]
mov rcx, qword [rax + rdx*8]
cmp rbx, rcx
je 0x14008365b
mov rbx, qword [rax + rdx*8 + 8]
mov rbx, qword [rbx]
cmp rbx, rcx
je 0x14008365b
mov rbx, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
cmp qword [r8], rax
jne 0x140083614
mov rcx, qword [rdi + 8]
mov rax, qword [rdi]
mov qword [rcx], rax
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
dec qword [r10 + 0x10]
mov edx, 0x18
mov rcx, rdi
call fcn.140283db0
mov qword [rsi], rbx
mov byte [rsi + 8], 0
mov rax, rsi
jmp 0x1400836f1
mov rax, qword [rdi]
cmp rbx, rax
je 0x140083690
mov rcx, qword [rdi + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov rdx, qword [rbx + 8]
mov rcx, qword [rax + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
shl r11, 4
mov rdx, qword [r10 + 0x18]
add rdx, r11
mov rax, qword [rdx]
cmp rax, qword [r10 + 8]
jne 0x1400836b2
mov qword [rdx], rdi
mov rax, qword [r10 + 0x18]
mov qword [r11 + rax + 8], rdi
jmp 0x1400836de
cmp rax, rbx
jne 0x1400836bc
mov qword [rdx], rdi
jmp 0x1400836de
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
mov qword [rdx + 8], rcx
cmp rcx, rdi
je 0x1400836de
mov rdx, qword [r10 + 0x18]
mov rax, qword [rdx + r11 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r11 + 8], rcx
mov rcx, r10
call fcn.1400acc40
nop
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rax, rsi
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x140083710
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x78], rsi
mov rsi, rdx
mov r14, rcx
movsxd rdx, dword [r8 + 8]
mov r9, qword [r8]
imul r15, rdx, 0x1000193
imul rax, r9, 0x100011b
xor r15, rax
and r15, qword [rcx + 0x30]
mov rdi, qword [rcx + 8]
mov rbx, r15
shl rbx, 4
add rbx, qword [rcx + 0x18]
mov rax, qword [rbx]
cmp rax, rdi
jne 0x140083773
mov rbx, rdi
jmp 0x140083780
mov rbx, qword [rbx + 8]
mov rbx, qword [rbx]
nop word [rax + rax]
cmp rbx, rax
je 0x1400837a3
mov rbx, qword [rbx + 8]
cmp r9, qword [rbx + 0x10]
jne 0x140083780
cmp edx, dword [rbx + 0x18]
jne 0x140083780
mov qword [rsi], rbx
mov byte [rsi + 8], 0
mov rax, rsi
jmp 0x14008388e
mov rdi, qword [rdi]
mov r13, qword [rdi + 8]
mov r9, r8
mov r8, r13
mov rdx, rdi
add rcx, 8
call fcn.140081e30
mov rdx, rax
mov rax, qword [r14 + 0x10]
movabs rcx, 0x666666666666665
sub rcx, rax
cmp rcx, 1
jb 0x1400838a6
inc rax
mov qword [r14 + 0x10], rax
mov qword [rdi + 8], rdx
mov qword [r13], rdx
mov rcx, qword [r14 + 8]
mov rdi, qword [rcx]
mov qword [rsp + 0x70], rdi
mov rax, qword [rdi]
cmp rbx, rax
je 0x14008382e
mov rcx, qword [rdi + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov rdx, qword [rbx + 8]
mov rcx, qword [rax + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
mov rcx, qword [r14 + 8]
shl r15, 4
mov rdx, qword [r14 + 0x18]
add rdx, r15
mov rax, qword [rdx]
cmp rax, rcx
jne 0x14008384f
mov qword [rdx], rdi
mov rax, qword [r14 + 0x18]
mov qword [r15 + rax + 8], rdi
jmp 0x14008387b
cmp rax, rbx
jne 0x140083859
mov qword [rdx], rdi
jmp 0x14008387b
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
mov qword [rdx + 8], rcx
cmp rcx, rdi
je 0x14008387b
mov rdx, qword [r14 + 0x18]
mov rax, qword [rdx + r15 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r15 + 8], rcx
mov rcx, r14
call fcn.1400aca60
nop
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rax, rsi
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, [0x14043ccf0]
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3