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

Disassembly:
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x1800edc41
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [rsi + 8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
mov qword [rsp + 0x40], r14
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.1800ed950
mov qword [rsi + 0x38], rdi
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x1800edc06
mov qword [rsp + 0x38], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx + 0x11]
movzx r9d, byte [rcx + 0x10]
mov r11, qword [rsi + 0x30]
xor r9, rbp
mov rdx, qword [rdx]
imul r9, rdi
xor r9, rax
movzx eax, byte [rcx + 0x12]
imul r9, rdi
xor r9, rax
movzx eax, byte [rcx + 0x13]
imul r9, rdi
xor r9, rax
imul r9, rdi
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x1800edb80
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x1800edbf5
mov rax, qword [r11 + 8]
mov r8d, dword [rcx + 0x10]
cmp r8d, dword [rax + 0x10]
jne 0x1800edbbd
mov r8, qword [rax]
cmp r8, rcx
je 0x1800edbb7
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], r8
mov rax, qword [r8 + 8]
mov qword [rax], rcx
mov qword [r8 + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], rax
mov qword [r11 + 8], rcx
jmp 0x1800edbf5
cmp r9, rax
je 0x1800edbd1
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
je 0x1800edc1b
cmp r9, rax
jne 0x1800edbc2
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], rax
mov r8, qword [rax + 8]
mov qword [r8], rcx
mov qword [rax + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], r8
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
jne 0x1800edb30
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
mov r10, qword [rax]
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
jmp 0x1800edbf5
lea rcx, str.invalid_hash_bucket_count
call fcn.1801b7e24
int3
Function at 0x1800edd50
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x30
movzx r12d, byte [r8]
mov rsi, rcx
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
xor r12, rax
mov r13, r8
movzx eax, byte [r8 + 1]
mov r14, rdx
mov r15, qword [rsi + 8]
imul r12, rcx
xor r12, rax
movzx eax, byte [r8 + 2]
imul r12, rcx
xor r12, rax
movzx eax, byte [r8 + 3]
imul r12, rcx
xor r12, rax
mov rax, qword [rsi + 0x18]
imul r12, rcx
mov rcx, qword [rsi + 0x30]
and rcx, r12
add rcx, rcx
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, r15
jne 0x1800eddd7
mov rbx, r15
mov rbp, r15
jmp 0x1800ede19
mov rcx, qword [rax + rcx*8]
mov eax, dword [r8]
cmp eax, dword [rbx + 0x10]
je 0x1800eddf1
cmp rbx, rcx
je 0x1800ede13
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x1800edde3
mov qword [rdx], rbx
mov byte [rdx + 8], 0
mov rbx, qword [rsp + 0x68]
mov rax, r14
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rsi
ret
mov r15, rbx
mov rbp, rbx
movabs rax, 0x666666666666666
cmp qword [rsi + 0x10], rax
je 0x1800edf75
mov ecx, 0x28
mov qword [rsp + 0x60], rdi
call fcn.1801b6850
mov ecx, dword [r13]
mov rdi, rax
xor r13d, r13d
xorps xmm0, xmm0
mov dword [rax + 0x10], ecx
mov byte [rax + 0x18], 0
mov qword [rax + 0x20], r13
mov rcx, qword [rsi + 0x10]
add rcx, 1
js 0x1800ede65
cvtsi2ss xmm0, rcx
jmp 0x1800ede7a
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rsi + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1800ede8d
cvtsi2ss xmm1, rcx
jmp 0x1800edea2
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rsi]
jbe 0x1800edf01
mov rcx, rsi
call fcn.1800edc50
mov rcx, qword [rsi + 0x30]
mov rdx, qword [rsi + 0x18]
and rcx, r12
mov rbx, qword [rsi + 8]
add rcx, rcx
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, rbx
je 0x1800edef4
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
cmp ecx, dword [rax + 0x10]
je 0x1800edef1
nop dword [rax + rax]
mov rbx, rax
cmp rax, rdx
je 0x1800edf35
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x1800edee0
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov r15, qword [rsp + 0x20]
mov rbp, rbx
mov rdx, qword [rbx + 8]
inc qword [rsi + 0x10]
mov qword [rdi], r15
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rax, qword [rsi + 0x30]
mov rcx, qword [rsi + 0x18]
and rax, r12
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [rsi + 8]
jne 0x1800edf3c
mov qword [rcx + rax*8], rdi
jmp 0x1800edf5e
mov qword [rsp + 0x20], rax
jmp 0x1800edef9
cmp r8, rbp
jne 0x1800edf57
mov qword [rcx + rax*8], rdi
mov qword [r14], rdi
mov rdi, qword [rsp + 0x60]
mov byte [r14 + 8], 1
jmp 0x1800eddf8
cmp qword [rcx + rax*8 + 8], rdx
jne 0x1800edf63
mov qword [rcx + rax*8 + 8], rdi
mov qword [r14], rdi
mov rdi, qword [rsp + 0x60]
mov byte [r14 + 8], 1
jmp 0x1800eddf8
lea rcx, str.unordered_map_set_too_long
call fcn.1801b7e24
int3
Function at 0x1800f3800
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x1800f39df
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [rsi + 8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
mov qword [rsp + 0x40], r14
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.1800ed950
mov qword [rsi + 0x38], rdi
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x1800f39a4
mov qword [rsp + 0x38], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx + 0x11]
movzx r9d, byte [rcx + 0x10]
mov r11, qword [rsi + 0x30]
xor r9, rbp
mov rdx, qword [rdx]
imul r9, rdi
xor r9, rax
movzx eax, byte [rcx + 0x12]
imul r9, rdi
xor r9, rax
movzx eax, byte [rcx + 0x13]
imul r9, rdi
xor r9, rax
movzx eax, byte [rcx + 0x14]
imul r9, rdi
xor r9, rax
movzx eax, byte [rcx + 0x15]
imul r9, rdi
xor r9, rax
movzx eax, byte [rcx + 0x16]
imul r9, rdi
xor r9, rax
movzx eax, byte [rcx + 0x17]
imul r9, rdi
xor r9, rax
imul r9, rdi
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x1800f391c
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x1800f3993
mov rax, qword [r11 + 8]
mov r8, qword [rcx + 0x10]
cmp r8, qword [rax + 0x10]
jne 0x1800f3959
mov r8, qword [rax]
cmp r8, rcx
je 0x1800f3953
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], r8
mov rax, qword [r8 + 8]
mov qword [rax], rcx
mov qword [r8 + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], rax
mov qword [r11 + 8], rcx
jmp 0x1800f3993
cmp r9, rax
je 0x1800f396f
nop
mov rax, qword [rax + 8]
cmp r8, qword [rax + 0x10]
je 0x1800f39b9
cmp r9, rax
jne 0x1800f3960
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], rax
mov r8, qword [rax + 8]
mov qword [r8], rcx
mov qword [rax + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], r8
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
jne 0x1800f38a0
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
mov r10, qword [rax]
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
jmp 0x1800f3993
lea rcx, str.invalid_hash_bucket_count
call fcn.1801b7e24
int3
Function at 0x18013d480
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push r14
sub rsp, 0x20
mov r14, r8
mov rsi, rdx
mov rbx, rcx
test r8, r8
jg 0x18013d4b1
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
cmp qword [rcx + 0x68], 0
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rdi
je 0x18013d52b
mov rdi, r14
mov rcx, rbx
call fcn.180133cb0
test rax, rax
jle 0x18013d503
cmp rdi, rax
mov rbp, rdi
mov rcx, rsi
cmovge rbp, rax
mov rax, qword [rbx + 0x38]
mov r8, rbp
mov rdx, qword [rax]
call fcn.1801e96d0
mov rax, qword [rbx + 0x50]
sub rdi, rbp
sub dword [rax], ebp
mov rcx, qword [rbx + 0x38]
movsxd rax, ebp
add qword [rcx], rax
jmp 0x18013d51b
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x38]
cmp eax, 0xffffffff
je 0x18013d523
mov byte [rsi], al
dec rdi
mov ebp, 1
add rsi, rbp
test rdi, rdi
jg 0x18013d4c5
sub r14, rdi
jmp 0x18013d60f
mov rax, qword [rcx + 0x38]
mov rbp, r14
mov rdx, qword [rax]
test rdx, rdx
je 0x18013d542
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x18013d544
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x18013d576
cmp rax, r14
mov rdi, r14
mov rcx, rsi
cmovb rdi, rax
mov r8, rdi
call fcn.1801e96d0
mov rax, qword [rbx + 0x50]
add rsi, rdi
sub rbp, rdi
sub dword [rax], edi
mov rcx, qword [rbx + 0x38]
movsxd rax, edi
add qword [rcx], rax
cmp qword [rbx + 0x80], 0
je 0x18013d60c
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x18013d5b1
mov rcx, qword [rbx + 0x88]
mov rdx, qword [rbx + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
cmp rbp, 0xfff
jbe 0x18013d5ed
nop word [rax + rax]
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, rsi
call fcn.1801c0d4c
add rsi, rax
sub rbp, rax
cmp rax, 0xfff
jne 0x18013d60c
cmp rbp, rax
ja 0x18013d5c0
test rbp, rbp
je 0x18013d60c
mov r9, qword [rbx + 0x80]
mov r8, rbp
mov edx, 1
mov rcx, rsi
call fcn.1801c0d4c
sub rbp, rax
sub r14, rbp
mov rbp, qword [rsp + 0x30]
mov rax, r14
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
Function at 0x180144ad0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 8
mov edx, dword [rcx]
mov r10d, 0x270
mov r9, rcx
xorps xmm1, xmm1
cmp edx, r10d
jne 0x180144b31
lea r8, [rcx + 8]
nop dword [rax + rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
lea r8, [r8 + 4]
btr edx, 0x1f
xor edx, dword [r8 - 8]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x62c]
xor ecx, edx
mov dword [r8 + 0x9b8], ecx
sub r10, 1
jne 0x180144af0
mov edx, dword [r9]
jmp 0x180144c1b
cmp edx, 0x4e0
jb 0x180144c1b
lea r10, [rcx + 0x9c4]
mov qword [rsp], rbx
mov r11d, dword [r10]
mov ebx, 0xe3
mov eax, r11d
mov r8, r10
mov r11d, dword [r10 + 4]
mov edx, eax
xor edx, r11d
add r10, 4
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x634]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rbx, 1
jne 0x180144b50
lea r10, [r9 + 0xd50]
mov ebx, 0x18c
mov r11d, dword [r10]
nop
mov eax, r11d
mov r8, r10
mov r11d, dword [r10 + 4]
mov edx, eax
xor edx, r11d
add r10, 4
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 - 0xd4c]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rbx, 1
jne 0x180144ba0
mov eax, dword [r9 + 0x1380]
mov edx, eax
xor edx, dword [r9 + 4]
mov rbx, qword [rsp]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r9 + 0x634]
xor ecx, edx
xor edx, edx
mov dword [r9 + 0x9c0], ecx
mov dword [r9], edx
mov eax, edx
xorps xmm0, xmm0
mov ecx, dword [r9 + rax*4 + 4]
lea eax, [rdx + 1]
mov dword [r9], eax
mov eax, ecx
shr eax, 0xb
and eax, dword [r9 + 0x1384]
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr eax, 0x12
xor eax, ecx
cvtsi2ss xmm0, rax
subss xmm0, xmm1
addss xmm0, xmm1
mulss xmm0, dword [0x1801f7fd0]
add rsp, 8
ret

Function at 0x1801460d0
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
movzx eax, byte [rcx]
xor r9d, r9d
mov r10, rcx
test al, al
je 0x180146115
nop dword [rax]
movzx r8d, al
lea r10, [r10 + 1]
sub al, 0x41
cmp al, 0x19
lea ecx, [r8 + 0x20]
movzx edx, cl
cmova edx, r8d
movsx eax, dl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
movzx eax, byte [r10]
test al, al
jne 0x1801460e0
lea eax, [r9 + r9*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
ret
Function at 0x18014cf30
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 8
mov r9, qword [rcx]
mov r10d, 0x270
mov ecx, dword [r9]
cmp ecx, r10d
jne 0x18014cf91
lea r8, [r9 + 8]
nop dword [rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
lea r8, [r8 + 4]
btr edx, 0x1f
xor edx, dword [r8 - 8]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x62c]
xor ecx, edx
mov dword [r8 + 0x9b8], ecx
sub r10, 1
jne 0x18014cf50
mov ecx, dword [r9]
jmp 0x18014d07b
cmp ecx, 0x4e0
jb 0x18014d07b
lea r10, [r9 + 0x9c4]
mov qword [rsp], rbx
mov r11d, dword [r10]
mov ebx, 0xe3
mov eax, r11d
mov r8, r10
mov r11d, dword [r10 + 4]
mov edx, eax
xor edx, r11d
add r10, 4
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x634]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rbx, 1
jne 0x18014cfb0
lea r10, [r9 + 0xd50]
mov ebx, 0x18c
mov r11d, dword [r10]
nop
mov eax, r11d
mov r8, r10
mov r11d, dword [r10 + 4]
mov edx, eax
xor edx, r11d
add r10, 4
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 - 0xd4c]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rbx, 1
jne 0x18014d000
mov eax, dword [r9 + 0x1380]
mov edx, eax
xor edx, dword [r9 + 4]
mov rbx, qword [rsp]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r9 + 0x634]
xor ecx, edx
mov dword [r9 + 0x9c0], ecx
xor ecx, ecx
mov dword [r9], ecx
mov eax, ecx
mov edx, dword [r9 + rax*4 + 4]
lea eax, [rcx + 1]
mov dword [r9], eax
mov ecx, edx
mov eax, dword [r9 + 0x1384]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
xor eax, edx
add rsp, 8
ret
Function at 0x180152e10
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push r12
push r13
push r15
sub rsp, 0xb0
sub rdx, rcx
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdx
mov r15, rcx
mov r13, rdx
sar r13, 2
mov rax, r13
shr rax, 0x3f
add r13, rax
mov r12, r13
mov qword [rsp + 0xd8], r13
sar r12, 1
test r12, r12
jle 0x1801530b3
mov qword [r11 + 0x18], rbx
lea r8, [r13 - 1]
mov qword [r11 - 0x20], rbp
lea rax, [r12 + r12*2]
mov qword [r11 - 0x28], rsi
lea rax, [r15 + rax*8]
mov qword [r11 - 0x30], rdi
mov rcx, r8
mov qword [r11 - 0x38], r14
movaps xmmword [r11 - 0x48], xmm6
movss xmm6, dword [0x1801f0030]
sar rcx, 1
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [r11 - 0x68], xmm8
mov qword [rsp + 0x30], r8
mov qword [rsp + 0xd0], rcx
nop word [rax + rax]
movups xmm7, xmmword [rax - 0x18]
sub rax, 0x18
dec r12
mov qword [rsp + 0x38], rax
mov rbp, r12
mov rdx, r12
movsd xmm8, qword [rax + 0x10]
cmp r12, rcx
jge 0x180152f88
mov r13, qword [rsp + 0xd0]
nop dword [rax]
lea rsi, [rdx + rdx]
movss dword [rsp + 0x20], xmm6
lea rax, [rsi + 2]
xor r9d, r9d
lea rax, [rax + rax*2]
xor r8d, r8d
mov rdx, qword [r15 + rax*8]
lea r14, [r15 + rax*8]
lea rcx, [rsp + 0x40]
call fcn.1800a27c0
mov rdx, qword [r14 - 0x18]
lea rdi, [r14 - 0x18]
xor r9d, r9d
movss dword [rsp + 0x20], xmm6
xor r8d, r8d
lea rcx, [rsp + 0x48]
mov rbx, rax
call fcn.1800a27c0
movss xmm0, dword [rbx]
comiss xmm0, dword [rax]
lea rax, [rbp*2]
seta cl
movzx edx, cl
xor rdx, 1
inc rdx
add rdx, rsi
test cl, cl
cmove rdi, r14
add rax, rbp
mov rbp, rdx
movups xmm0, xmmword [rdi]
movups xmmword [r15 + rax*8], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [r15 + rax*8 + 0x10], xmm1
cmp rdx, r13
jl 0x180152ee0
mov r13, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x30]
cmp rbp, rcx
jne 0x180152fc5
test r13b, 1
jne 0x180152fc5
lea rax, [rbp*2]
lea rcx, [r13*2]
add rcx, r13
add rax, rbp
mov rbp, r8
movups xmm0, xmmword [r15 + rcx*8 - 0x18]
movups xmmword [r15 + rax*8], xmm0
movsd xmm1, qword [r15 + rcx*8 - 8]
movsd qword [r15 + rax*8 + 0x10], xmm1
cmp r12, rbp
jge 0x180153047
nop
lea rdi, [rbp - 1]
movss dword [rsp + 0x20], xmm6
sar rdi, 1
lea rcx, [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
lea rsi, [rdi + rdi*2]
mov rdx, qword [r15 + rsi*8]
call fcn.1800a27c0
xor r9d, r9d
movss dword [rsp + 0x20], xmm6
xor r8d, r8d
lea rcx, [rsp + 0x58]
movq rdx, xmm7
mov rbx, rax
call fcn.1800a27c0
movss xmm0, dword [rbx]
comiss xmm0, dword [rax]
jbe 0x180153047
movups xmm0, xmmword [r15 + rsi*8]
lea rax, [rbp*2]
add rax, rbp
mov rbp, rdi
movups xmmword [r15 + rax*8], xmm0
movsd xmm1, qword [r15 + rsi*8 + 0x10]
movsd qword [r15 + rax*8 + 0x10], xmm1
cmp r12, rdi
jl 0x180152fd0
mov rcx, qword [rsp + 0xd0]
lea rax, [rbp*2]
add rax, rbp
lea r8, [r13 - 1]
movups xmmword [r15 + rax*8], xmm7
movsd qword [r15 + rax*8 + 0x10], xmm8
mov rax, qword [rsp + 0x38]
test r12, r12
jg 0x180152eb0
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x80]
mov r14, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xe0]
add rsp, 0xb0
pop r15
pop r13
pop r12
ret
Function at 0x180153790
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x60
movaps xmmword [rsp + 0x40], xmm6
mov rax, r8
movss xmm6, dword [0x1801f0030]
dec r8
mov qword [rsp + 0x58], r12
mov r14, r9
mov r12, r8
mov qword [rsp + 0xa0], r8
sar r12, 1
mov rbp, rdx
mov r15, rcx
mov r13, rdx
cmp rdx, r12
jge 0x18015389e
nop dword [rax]
nop word [rax + rax]
lea rsi, [rdx + rdx]
movss dword [rsp + 0x20], xmm6
lea rax, [rsi + 2]
xor r9d, r9d
lea rax, [rax + rax*2]
xor r8d, r8d
mov rdx, qword [r15 + rax*8]
lea r14, [r15 + rax*8]
lea rcx, [rsp + 0xa8]
call fcn.1800a27c0
mov rdx, qword [r14 - 0x18]
lea rdi, [r14 - 0x18]
xor r9d, r9d
movss dword [rsp + 0x20], xmm6
xor r8d, r8d
lea rcx, [rsp + 0x30]
mov rbx, rax
call fcn.1800a27c0
movss xmm0, dword [rbx]
comiss xmm0, dword [rax]
lea rax, [rbp*2]
seta cl
movzx edx, cl
xor rdx, 1
inc rdx
add rdx, rsi
test cl, cl
cmove rdi, r14
add rax, rbp
mov rbp, rdx
movups xmm0, xmmword [rdi]
movups xmmword [r15 + rax*8], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [r15 + rax*8 + 0x10], xmm1
cmp rdx, r12
jl 0x1801537f0
mov r14, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x58]
jne 0x1801538d4
test al, 1
jne 0x1801538d4
lea rcx, [rax + rax*2]
movups xmm0, xmmword [r15 + rcx*8 - 0x18]
lea rax, [rbp*2]
add rax, rbp
mov rbp, r8
movups xmmword [r15 + rax*8], xmm0
movsd xmm1, qword [r15 + rcx*8 - 8]
movsd qword [r15 + rax*8 + 0x10], xmm1
cmp r13, rbp
jge 0x18015395b
nop dword [rax]
lea rdi, [rbp - 1]
movss dword [rsp + 0x20], xmm6
sar rdi, 1
lea rcx, [rsp + 0xb8]
xor r9d, r9d
xor r8d, r8d
lea rsi, [rdi + rdi*2]
mov rdx, qword [r15 + rsi*8]
call fcn.1800a27c0
mov rdx, qword [r14]
lea rcx, [rsp + 0xb0]
xor r9d, r9d
movss dword [rsp + 0x20], xmm6
xor r8d, r8d
mov rbx, rax
call fcn.1800a27c0
movss xmm0, dword [rbx]
comiss xmm0, dword [rax]
jbe 0x18015395b
movups xmm0, xmmword [r15 + rsi*8]
lea rax, [rbp*2]
add rax, rbp
mov rbp, rdi
movups xmmword [r15 + rax*8], xmm0
movsd xmm1, qword [r15 + rsi*8 + 0x10]
movsd qword [r15 + rax*8 + 0x10], xmm1
cmp r13, rdi
jl 0x1801538e0
movups xmm0, xmmword [r14]
lea rax, [rbp*2]
movaps xmm6, xmmword [rsp + 0x40]
add rax, rbp
movups xmmword [r15 + rax*8], xmm0
movsd xmm1, qword [r14 + 0x10]
movsd qword [r15 + rax*8 + 0x10], xmm1
add rsp, 0x60
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x18015ded0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
movzx ebp, byte [r8]
mov rdi, rcx
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
xor rbp, rax
mov r14, rdx
movzx eax, byte [r8 + 1]
mov r15, r8
mov rdx, qword [rdi + 0x30]
mov rsi, qword [rdi + 8]
imul rbp, rcx
xor rbp, rax
movzx eax, byte [r8 + 2]
imul rbp, rcx
xor rbp, rax
movzx eax, byte [r8 + 3]
imul rbp, rcx
xor rbp, rax
movzx eax, byte [r8 + 4]
imul rbp, rcx
xor rbp, rax
movzx eax, byte [r8 + 5]
imul rbp, rcx
xor rbp, rax
movzx eax, byte [r8 + 6]
imul rbp, rcx
xor rbp, rax
movzx eax, byte [r8 + 7]
imul rbp, rcx
xor rbp, rax
imul rbp, rcx
mov rcx, qword [rdi + 0x18]
and rdx, rbp
add rdx, rdx
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, rsi
je 0x18015dfb9
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [r8]
cmp rcx, qword [rax + 0x10]
je 0x18015df97
cmp rax, rdx
je 0x18015dfb6
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x18015df88
mov qword [r14], rax
mov byte [r14 + 8], 0
mov rbp, qword [rsp + 0x48]
mov rax, r14
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
mov rsi, rax
movabs rax, 0x7ffffffffffffff
cmp qword [rdi + 0x10], rax
je 0x18015e0f7
mov ecx, 0x20
mov qword [rsp + 0x40], rbx
call fcn.1801b6850
movups xmm0, xmmword [r15]
mov rbx, rax
movups xmmword [rax + 0x10], xmm0
mov rcx, qword [rdi + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x18015dffb
cvtsi2ss xmm0, rcx
jmp 0x18015e010
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rdi + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x18015e023
cvtsi2ss xmm1, rcx
jmp 0x18015e038
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rdi]
jbe 0x18015e085
mov rcx, rdi
call fcn.18015e580
mov rcx, qword [rdi + 0x30]
mov rdx, qword [rdi + 0x18]
and rcx, rbp
mov rsi, qword [rdi + 8]
add rcx, rcx
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, rsi
je 0x18015e085
mov rdx, qword [rdx + rcx*8]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rax + 0x10]
je 0x18015e082
cmp rax, rdx
je 0x18015e0b9
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x18015e073
mov rsi, qword [rax]
mov rdx, qword [rsi + 8]
inc qword [rdi + 0x10]
mov qword [rbx], rsi
mov qword [rbx + 8], rdx
mov qword [rdx], rbx
mov qword [rsi + 8], rbx
mov rax, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x18]
and rax, rbp
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [rdi + 8]
jne 0x18015e0be
mov qword [rcx + rax*8], rbx
jmp 0x18015e0e0
mov rsi, rax
jmp 0x18015e085
cmp r8, rsi
jne 0x18015e0d9
mov qword [rcx + rax*8], rbx
mov qword [r14], rbx
mov rbx, qword [rsp + 0x40]
mov byte [r14 + 8], 1
jmp 0x18015df9f
cmp qword [rcx + rax*8 + 8], rdx
jne 0x18015e0e5
mov qword [rcx + rax*8 + 8], rbx
mov qword [r14], rbx
mov rbx, qword [rsp + 0x40]
mov byte [r14 + 8], 1
jmp 0x18015df9f
lea rcx, str.unordered_map_set_too_long
call fcn.1801b7e24
int3