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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov rsi, rdx
mov r14, rcx
xor edx, edx
movabs r15, 0xcbf29ce484222325
movzx eax, byte [rdx + r8]
xor r15, rax
movabs rcx, 0x100000001b3
imul r15, rcx
inc rdx
cmp rdx, 8
jb 0x1800d5901
mov rax, qword [r14 + 0x30]
and rax, r15
add rax, rax
mov rcx, qword [r14 + 0x18]
mov rbx, qword [rcx + rax*8 + 8]
lea r13, [r14 + 8]
mov rbp, qword [r13]
cmp rbx, rbp
jne 0x1800d5990
mov rbx, rbp
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [r14 + 0x10], rax
je 0x1800d5af9
mov qword [rsp + 0x20], r13
and qword [rsp + 0x28], 0
mov ecx, 0x18
call fcn.1800017b8
mov rdi, rax
mov qword [rsp + 0x28], rax
mov rcx, qword [r12]
mov qword [rax + 0x10], rcx
mov rcx, qword [r14 + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x1800d59c9
cvtsi2ss xmm0, rcx
jmp 0x1800d59de
mov rdx, qword [rcx + rax*8]
mov rax, qword [r8]
jmp 0x1800d59a2
cmp rbx, rdx
je 0x1800d59c2
mov rbx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jne 0x1800d5999
mov rbp, qword [rbx]
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x1800d5943
mov qword [rsi], rax
mov byte [rsi + 8], 0
jmp 0x1800d5ad9
mov rbp, rbx
xor eax, eax
jmp 0x1800d59b1
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [r14 + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1800d59f1
cvtsi2ss xmm1, rcx
jmp 0x1800d5a06
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [r14]
seta al
test al, al
je 0x1800d5a7a
mov rcx, r14
call fcn.18002bac4
mov rcx, qword [r14 + 0x30]
and rcx, r15
add rcx, rcx
mov rdx, qword [r14 + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [r13]
cmp rax, rbx
jne 0x1800d5a41
and qword [rsp + 0x28], 0
jmp 0x1800d5a65
mov rdx, qword [rdx + rcx*8]
mov rcx, qword [rdi + 0x10]
jmp 0x1800d5a57
mov rbx, rax
cmp rax, rdx
je 0x1800d5aae
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x1800d5a4b
mov rbx, qword [rax]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
mov rbp, qword [rsp + 0x20]
mov rdx, qword [rbx + 8]
inc qword [r14 + 0x10]
mov qword [rdi], rbp
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [r14 + 0x18]
mov rax, qword [r14 + 0x30]
and rax, r15
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [r13]
jne 0x1800d5abb
mov qword [rcx + rax*8], rdi
jmp 0x1800d5acd
mov qword [rsp + 0x20], rax
and qword [rsp + 0x28], 0
jmp 0x1800d5a6a
cmp r8, rbp
jne 0x1800d5ac6
mov qword [rcx + rax*8], rdi
jmp 0x1800d5ad2
cmp qword [rcx + rax*8 + 8], rdx
jne 0x1800d5ad2
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rax, rsi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, str.unordered_map_set_too_long
call fcn.18003e5e4
int3
Function at 0x1800d5b0c
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov r14, rdx
mov r15, rcx
movabs rdi, 0xcbf29ce484222325
xor edx, edx
movzx eax, byte [rdx + r8]
xor rdi, rax
movabs rcx, 0x100000001b3
imul rdi, rcx
inc rdx
cmp rdx, 8
jb 0x1800d5b3d
mov rax, qword [r15 + 0x30]
and rax, rdi
add rax, rax
mov rcx, qword [r15 + 0x18]
mov rbx, qword [rcx + rax*8 + 8]
lea r13, [r15 + 8]
mov rbp, qword [r13]
cmp rbx, rbp
jne 0x1800d5bd3
mov rbx, rbp
movabs rax, 0x7ffffffffffffff
cmp qword [r15 + 0x10], rax
je 0x1800d5d39
mov qword [rsp + 0x20], r13
and qword [rsp + 0x28], 0
mov ecx, 0x20
call fcn.1800017b8
mov rsi, rax
mov qword [rsp + 0x28], rax
mov rcx, qword [r12]
mov qword [rax + 0x10], rcx
xor r12d, r12d
mov qword [rax + 0x18], r12
mov rcx, qword [r15 + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x1800d5c0d
cvtsi2ss xmm0, rcx
jmp 0x1800d5c22
mov rdx, qword [rcx + rax*8]
mov rax, qword [r8]
jmp 0x1800d5be5
cmp rbx, rdx
je 0x1800d5c06
mov rbx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jne 0x1800d5bdc
mov rbp, qword [rbx]
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x1800d5b7f
mov qword [r14], rax
mov byte [r14 + 8], 0
jmp 0x1800d5d19
mov rbp, rbx
xor eax, eax
jmp 0x1800d5bf4
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [r15 + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1800d5c35
cvtsi2ss xmm1, rcx
jmp 0x1800d5c4a
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [r15]
seta al
test al, al
je 0x1800d5cbd
mov rcx, r15
call fcn.18002b670
mov rcx, rdi
and rcx, qword [r15 + 0x30]
add rcx, rcx
mov rdx, qword [r15 + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [r13]
cmp rax, rbx
jne 0x1800d5c84
mov qword [rsp + 0x28], r12
jmp 0x1800d5ca8
mov r8, qword [rdx + rcx*8]
mov rcx, qword [rsi + 0x10]
jmp 0x1800d5c9a
mov rbx, rax
cmp rax, r8
je 0x1800d5cee
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x1800d5c8e
mov rbx, qword [rax]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
mov rbp, qword [rsp + 0x20]
mov rcx, qword [rbx + 8]
inc qword [r15 + 0x10]
mov qword [rsi], rbp
mov qword [rsi + 8], rcx
mov qword [rcx], rsi
mov qword [rbx + 8], rsi
mov rax, qword [r15 + 0x18]
and rdi, qword [r15 + 0x30]
add rdi, rdi
mov rdx, qword [rax + rdi*8]
cmp rdx, qword [r13]
jne 0x1800d5cfa
mov qword [rax + rdi*8], rsi
jmp 0x1800d5d0c
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r12
jmp 0x1800d5cad
cmp rdx, rbp
jne 0x1800d5d05
mov qword [rax + rdi*8], rsi
jmp 0x1800d5d11
cmp qword [rax + rdi*8 + 8], rcx
jne 0x1800d5d11
mov qword [rax + rdi*8 + 8], rsi
mov qword [r14], rsi
mov byte [r14 + 8], 1
mov rax, r14
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, str.unordered_map_set_too_long
call fcn.18003e5e4
int3
Function at 0x1800d5d4c
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov rsi, rdx
mov r14, rcx
xor edx, edx
movabs r15, 0xcbf29ce484222325
movzx eax, byte [rdx + r8]
xor r15, rax
movabs rcx, 0x100000001b3
imul r15, rcx
inc rdx
cmp rdx, 8
jb 0x1800d5d7d
mov rax, qword [r14 + 0x30]
and rax, r15
add rax, rax
mov rcx, qword [r14 + 0x18]
mov rbx, qword [rcx + rax*8 + 8]
lea r13, [r14 + 8]
mov rbp, qword [r13]
cmp rbx, rbp
jne 0x1800d5e13
mov rbx, rbp
movabs rax, 0x7ffffffffffffff
cmp qword [r14 + 0x10], rax
je 0x1800d5f7a
mov qword [rsp + 0x20], r13
and qword [rsp + 0x28], 0
mov ecx, 0x20
call fcn.1800017b8
mov rdi, rax
mov qword [rsp + 0x28], rax
mov rcx, qword [r12]
mov qword [rax + 0x10], rcx
xor r12d, r12d
mov qword [rax + 0x18], r12
mov rcx, qword [r14 + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x1800d5e4c
cvtsi2ss xmm0, rcx
jmp 0x1800d5e61
mov rdx, qword [rcx + rax*8]
mov rax, qword [r8]
jmp 0x1800d5e25
cmp rbx, rdx
je 0x1800d5e45
mov rbx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jne 0x1800d5e1c
mov rbp, qword [rbx]
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x1800d5dbf
mov qword [rsi], rax
mov byte [rsi + 8], 0
jmp 0x1800d5f5a
mov rbp, rbx
xor eax, eax
jmp 0x1800d5e34
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [r14 + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1800d5e74
cvtsi2ss xmm1, rcx
jmp 0x1800d5e89
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [r14]
seta al
test al, al
je 0x1800d5efc
mov rcx, r14
call fcn.18002b670
mov rcx, qword [r14 + 0x30]
and rcx, r15
add rcx, rcx
mov rdx, qword [r14 + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [r13]
cmp rax, rbx
jne 0x1800d5ec3
mov qword [rsp + 0x28], r12
jmp 0x1800d5ee7
mov r8, qword [rdx + rcx*8]
mov rcx, qword [rdi + 0x10]
jmp 0x1800d5ed9
mov rbx, rax
cmp rax, r8
je 0x1800d5f30
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x1800d5ecd
mov rbx, qword [rax]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
mov rbp, qword [rsp + 0x20]
mov rdx, qword [rbx + 8]
inc qword [r14 + 0x10]
mov qword [rdi], rbp
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [r14 + 0x18]
mov rax, qword [r14 + 0x30]
and rax, r15
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [r13]
jne 0x1800d5f3c
mov qword [rcx + rax*8], rdi
jmp 0x1800d5f4e
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r12
jmp 0x1800d5eec
cmp r8, rbp
jne 0x1800d5f47
mov qword [rcx + rax*8], rdi
jmp 0x1800d5f53
cmp qword [rcx + rax*8 + 8], rdx
jne 0x1800d5f53
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rax, rsi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, str.unordered_map_set_too_long
call fcn.18003e5e4
int3
Function at 0x1800d6074
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x28
movabs rax, 0x1fffffffffffffff
cmp rdx, rax
ja 0x1800d60d2
lea rcx, [rdx*8]
cmp rcx, 0x1000
jb 0x1800d60c2
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800d60d2
mov rcx, rax
call fcn.1800017b8
mov rcx, rax
test rax, rax
je 0x1800d60d8
lea rax, [rax + 0x27]
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
add rsp, 0x28
ret
xor eax, eax
test rcx, rcx
je 0x1800d60bd
add rsp, 0x28
jmp fcn.1800017b8
call fcn.180002180
int3
call fcn.1800fd71c
int3
Function at 0x1800d7904
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x20
mov rcx, qword [0x180165b60]
xorps xmm0, xmm0
add rcx, 1
js 0x1800d792a
cvtsi2ss xmm0, rcx
jmp 0x1800d793f
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x180165b50]
call fcn.180118e70
movss xmm1, dword [0x1801459e8]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x1800d7971
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x1800d7971
movabs rax, 0x8000000000000000
mov rcx, rax
mov rdx, qword [0x180165b88]
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x1800d79a6
cmp rdx, 0x200
jae 0x1800d79a3
shl rdx, 3
cmp rdx, rcx
jae 0x1800d79a6
mov rdx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rdx, rax
ja 0x1800d7b2e
mov rbx, qword [0x180165b58]
lea rax, [rdx - 1]
or rax, 1
mov edi, 1
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x180165b68]
lea rdx, [rdi + rdi]
call fcn.180027d3c
mov rax, qword [0x180165b58]
lea r9, [rdi - 1]
mov qword [0x180165b80], r9
mov qword [0x180165b88], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x1800d7b13
mov rcx, qword [rcx]
movabs r11, 0xcbf29ce484222325
xor r8d, r8d
movzx edx, byte [r8 + rax + 0x10]
movabs r10, 0x100000001b3
xor r11, rdx
inc r8
imul r11, r10
cmp r8, 4
jb 0x1800d7a2d
mov rdi, qword [0x180165b68]
and r11, r9
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x1800d7a6b
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x1800d7ad9
mov r10, qword [rdi + r11*8 + 8]
mov edx, dword [rax + 0x10]
cmp edx, dword [r10 + 0x10]
jne 0x1800d7aae
mov r10, qword [r10]
cmp r10, rax
je 0x1800d7a64
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 0x1800d7a64
mov r10, qword [r10 + 8]
cmp edx, dword [r10 + 0x10]
je 0x1800d7aed
cmp qword [rdi + r11*8], r10
jne 0x1800d7aa4
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 [rdi + r11*8], rax
mov rax, rcx
cmp rcx, rbx
je 0x1800d7b13
mov r9, qword [0x180165b80]
jmp 0x1800d7a1d
mov r10, qword [r10]
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 0x1800d7ad9
and qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call fcn.18002bf08
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
lea rcx, str.invalid_hash_bucket_count
call fcn.18003e5e4
int3
Function at 0x1800db290
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rdi
sub rsp, 0x40
mov rdi, rcx
mov rcx, rdx
call fcn.1800d7f9c
test al, al
je 0x1800db458
lea rcx, [rdi + 0xa8b8]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x30]
call fcn.1800dc5e0
mov rcx, qword [rax]
mov eax, dword [rcx + 0x18]
lea rdx, [rax + rax*8]
shl rdx, 5
mov rcx, qword [rdx + rdi + 0x1a0]
mov r8, qword [rdx + rdi + 0x1a8]
jmp 0x1800db305
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x20], xmm0
psrldq xmm0, 8
movq rax, xmm0
cmp rax, qword [rsp + 0x58]
je 0x1800db30f
add rcx, 0x10
cmp rcx, r8
jne 0x1800db2e8
jmp 0x1800db458
lea rbx, [rdi + 0x118]
add rbx, rdx
lea r8, [rsp + 0x60]
mov rcx, rbx
lea rdx, [rsp + 0x20]
call fcn.1800dc824
mov r8d, dword [rbx]
lea rcx, [rbx + 8]
and r8d, 1
test al, al
je 0x1800db341
mov rdx, qword [rsp + 0x60]
jmp 0x1800db35d
test r8d, r8d
je 0x1800db350
mov rax, rcx
mov edx, 8
jmp 0x1800db356
mov rax, qword [rcx]
mov edx, dword [rbx + 0x10]
shl rdx, 4
add rdx, rax
test r8d, r8d
je 0x1800db369
mov eax, 8
jmp 0x1800db36f
mov rcx, qword [rcx]
mov eax, dword [rbx + 0x10]
shl rax, 4
add rax, rcx
cmp rdx, rax
je 0x1800db39a
mov edx, dword [rdx + 8]
shl rdx, 4
add rdx, qword [rbx + 0x88]
cmp rdx, qword [rbx + 0x90]
je 0x1800db39a
mov rcx, rbx
call fcn.1800dbf6c
movabs rcx, 0xcbf29ce484222325
xor edx, edx
movzx eax, byte [rsp + rdx + 0x58]
movabs r8, 0x100000001b3
xor rcx, rax
inc rdx
imul rcx, r8
cmp rdx, 8
jb 0x1800db3a6
mov rdx, qword [rdi + 0xa8e8]
mov r8, qword [rdi + 0xa8d0]
and rdx, rcx
mov rax, qword [rdi + 0xa8c0]
add rdx, rdx
mov rcx, qword [r8 + rdx*8 + 8]
cmp rcx, rax
je 0x1800db403
mov r9, qword [rsp + 0x58]
jmp 0x1800db3fb
cmp rcx, qword [r8 + rdx*8]
je 0x1800db403
mov rcx, qword [rcx + 8]
cmp r9, qword [rcx + 0x10]
jne 0x1800db3f1
jmp 0x1800db405
xor ecx, ecx
test rcx, rcx
je 0x1800db458
cmp qword [r8 + rdx*8 + 8], rcx
jne 0x1800db428
cmp qword [r8 + rdx*8], rcx
jne 0x1800db41d
mov qword [r8 + rdx*8], rax
jmp 0x1800db421
mov rax, qword [rcx + 8]
mov qword [r8 + rdx*8 + 8], rax
jmp 0x1800db435
cmp qword [r8 + rdx*8], rcx
jne 0x1800db435
mov rax, qword [rcx]
mov qword [r8 + rdx*8], rax
mov rdx, qword [rcx]
dec qword [rdi + 0xa8c8]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x20
call fcn.18010ca08
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
Function at 0x1800dc5e0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov rsi, rdx
mov r14, rcx
xor edx, edx
movabs r15, 0xcbf29ce484222325
movzx eax, byte [rdx + r8]
xor r15, rax
movabs rcx, 0x100000001b3
imul r15, rcx
inc rdx
cmp rdx, 8
jb 0x1800dc611
mov rax, qword [r14 + 0x30]
and rax, r15
add rax, rax
mov rcx, qword [r14 + 0x18]
mov rbx, qword [rcx + rax*8 + 8]
lea r13, [r14 + 8]
mov rbp, qword [r13]
cmp rbx, rbp
jne 0x1800dc6a7
mov rbx, rbp
movabs rax, 0x7ffffffffffffff
cmp qword [r14 + 0x10], rax
je 0x1800dc80e
mov qword [rsp + 0x20], r13
and qword [rsp + 0x28], 0
mov ecx, 0x20
call fcn.1800017b8
mov rdi, rax
mov qword [rsp + 0x28], rax
mov rcx, qword [r12]
mov qword [rax + 0x10], rcx
xor r12d, r12d
mov dword [rax + 0x18], r12d
mov rcx, qword [r14 + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x1800dc6e0
cvtsi2ss xmm0, rcx
jmp 0x1800dc6f5
mov rdx, qword [rcx + rax*8]
mov rax, qword [r8]
jmp 0x1800dc6b9
cmp rbx, rdx
je 0x1800dc6d9
mov rbx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jne 0x1800dc6b0
mov rbp, qword [rbx]
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x1800dc653
mov qword [rsi], rax
mov byte [rsi + 8], 0
jmp 0x1800dc7ee
mov rbp, rbx
xor eax, eax
jmp 0x1800dc6c8
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [r14 + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1800dc708
cvtsi2ss xmm1, rcx
jmp 0x1800dc71d
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [r14]
seta al
test al, al
je 0x1800dc790
mov rcx, r14
call fcn.18002af40
mov rcx, qword [r14 + 0x30]
and rcx, r15
add rcx, rcx
mov rdx, qword [r14 + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [r13]
cmp rax, rbx
jne 0x1800dc757
mov qword [rsp + 0x28], r12
jmp 0x1800dc77b
mov rdx, qword [rdx + rcx*8]
mov rcx, qword [rdi + 0x10]
jmp 0x1800dc76d
mov rbx, rax
cmp rax, rdx
je 0x1800dc7c4
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x1800dc761
mov rbx, qword [rax]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
mov rbp, qword [rsp + 0x20]
mov rdx, qword [rbx + 8]
inc qword [r14 + 0x10]
mov qword [rdi], rbp
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [r14 + 0x18]
mov rax, qword [r14 + 0x30]
and rax, r15
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [r13]
jne 0x1800dc7d0
mov qword [rcx + rax*8], rdi
jmp 0x1800dc7e2
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r12
jmp 0x1800dc780
cmp r8, rbp
jne 0x1800dc7db
mov qword [rcx + rax*8], rdi
jmp 0x1800dc7e7
cmp qword [rcx + rax*8 + 8], rdx
jne 0x1800dc7e7
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rax, rsi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, str.unordered_map_set_too_long
call fcn.18003e5e4
int3
Function at 0x1800e5c24
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x18]
mov rdx, qword [rdi + 0x20]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x1800e5c61
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800e5cb6
mov rcx, r8
call fcn.18010ca08
and qword [rdi + 0x18], 0
and qword [rdi + 0x20], 0
and qword [rdi + 0x28], 0
mov rcx, qword [rdi + 8]
mov rax, qword [rcx + 8]
and qword [rax], 0
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800e5c9e
mov rbx, qword [rcx]
mov edx, 0x28
call fcn.18010ca08
mov rcx, rbx
test rbx, rbx
jne 0x1800e5c89
mov rcx, qword [rdi + 8]
mov edx, 0x28
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.18010ca08
call fcn.1800fd71c
int3

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

Disassembly:
mov qword [rsp + 8], rbx
movabs r11, 0xcbf29ce484222325
xor ecx, ecx
mov r9, r11
mov r8d, ecx
mov r10, rdx
movabs rbx, 0x100000001b3
movzx eax, byte [rdx + r8 + 8]
inc r8
xor r9, rax
imul r9, rbx
cmp r8, 4
jb 0x1800e7038
mov r8, r11
mov rdx, rcx
movzx eax, byte [r10 + rdx + 0xc]
inc rdx
xor r8, rax
imul r8, rbx
cmp rdx, 4
jb 0x1800e7054
mov rdx, r11
movzx eax, byte [r10 + rcx + 4]
inc rcx
xor rdx, rax
imul rdx, rbx
cmp rcx, 4
jb 0x1800e706d
movzx eax, byte [r10]
xor rax, r11
imul rax, rbx
mov rbx, qword [rsp + 8]
add rax, rax
xor rax, rdx
add rax, rax
xor rax, r8
add rax, rax
xor rax, r9
ret

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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x10], rdx
push rsi
push rdi
push r14
sub rsp, 0x30
mov rdi, rdx
mov r14, r8
xor edx, edx
mov rsi, rcx
movabs r9, 0xcbf29ce484222325
movzx eax, byte [rsp + rdx + 0x58]
movabs rcx, 0x100000001b3
xor r9, rax
inc rdx
imul r9, rcx
cmp rdx, 8
jb 0x1800ea1b8
mov rcx, qword [rsi + 0x38]
mov rdx, qword [rsi + 0x20]
and rcx, r9
add rcx, rcx
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, qword [rsi + 0x10]
je 0x1800ea207
mov rdx, qword [rdx + rcx*8]
jmp 0x1800ea1ff
cmp rax, rdx
je 0x1800ea207
mov rax, qword [rax + 8]
cmp rdi, qword [rax + 0x10]
jne 0x1800ea1f6
jmp 0x1800ea209
xor eax, eax
test rax, rax
cmove rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 0x10]
je 0x1800ea21c
mov eax, dword [rax + 0x18]
jmp 0x1800ea262
lea rbx, [rsi + 0x48]
mov eax, 0xffffffff
mov rdx, qword [rbx + 8]
sub rdx, qword [rbx]
add rdx, r14
cmp rdx, rax
ja 0x1800ea262
mov ebp, dword [rbx + 8]
mov rcx, qword [rbx + 0x10]
sub ebp, dword [rbx]
sub rcx, qword [rbx]
cmp rdx, rcx
jbe 0x1800ea24d
mov rcx, rbx
call fcn.1800ecd18
mov rdx, qword [rsi + 0x50]
lea r9, [rdi + r14]
mov r8, rdi
mov rcx, rbx
call fcn.1800eedec
mov eax, ebp
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret
Function at 0x1800ea9a8
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x18015ebc0]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov r15, rdx
mov r14, rcx
mov rbx, qword [rdx + 0x10]
jmp 0x1800eab6d
mov rcx, rbx
call fcn.18008fdec
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x70], rcx
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x78], rcx
lea rcx, [rbp - 0x38]
mov qword [rbp - 0x80], rcx
lea r8, [rsp + 0x70]
mov rdx, rax
mov rcx, r14
call fcn.1800ea610
mov rsi, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
cmp rsi, r13
je 0x1800eab58
lea r12, [r14 + 0x480]
mov rax, qword [rsi]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.180089598
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
mov rcx, qword [r14 + 0x508]
call fcn.1800e9cbc
mov dword [rsp + 0x28], eax
mov r9, qword [r14 + 0x488]
movabs rdx, 0xcbf29ce484222325
xor ecx, ecx
movzx eax, byte [rsp + rcx + 0x20]
xor rdx, rax
movabs r8, 0x100000001b3
imul rdx, r8
inc rcx
cmp rcx, 8
jb 0x1800eaa73
mov rcx, qword [r14 + 0x4b0]
and rcx, rdx
add rcx, rcx
mov rdx, qword [r14 + 0x498]
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, r9
je 0x1800eaacc
mov r8, qword [rdx + rcx*8]
mov rcx, qword [rsp + 0x20]
jmp 0x1800eaac4
cmp rax, r8
je 0x1800eaacc
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x1800eaabb
jmp 0x1800eaace
xor eax, eax
test rax, rax
cmove rax, r9
cmp rax, r9
jne 0x1800eab23
lea rcx, [rbp - 0x30]
call fcn.1800ec398
mov rdi, rax
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x50]
mov rcx, r12
call fcn.1800ed6e0
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, rdi
call fcn.1800ec02c
nop
lea rax, [rbp + 0x38]
mov rcx, qword [rbp + 0x20]
cmp rcx, rax
je 0x1800eab1a
call fcn.18010c90c
lea rcx, [rbp - 0x30]
call fcn.1800ec2a4
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x60]
mov rcx, r12
call fcn.1800ed6e0
mov rcx, qword [rax]
add rcx, 0x18
lea rdx, [rsp + 0x28]
call fcn.1800ec41c
add rsi, 8
cmp rsi, r13
jne 0x1800eaa2d
mov rsi, qword [rsp + 0x70]
lea rax, [rbp - 0x78]
cmp rsi, rax
je 0x1800eab69
mov rcx, rsi
call fcn.18010c90c
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x1800ea9e1
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.18010c4d0
mov rbx, qword [rsp + 0x1c0]
add rsp, 0x170
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1800ec530
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rdx, qword [rcx]
mov rdi, rcx
mov rax, qword [rdx + 8]
and qword [rax], 0
mov rbx, qword [rdx]
test rbx, rbx
je 0x1800ec590
mov rcx, qword [rbx + 0x68]
lea rax, [rbx + 0x80]
mov rbp, qword [rbx]
cmp rcx, rax
je 0x1800ec572
call fcn.18010c90c
lea rcx, [rbx + 0x18]
call fcn.1800ec2a4
mov edx, 0xa8
mov rcx, rbx
call fcn.18010ca08
mov rbx, rbp
test rbp, rbp
jne 0x1800ec55a
mov rcx, qword [rdi]
mov edx, 0xa8
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
jmp fcn.18010ca08