joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180028cd4
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 0x180028d05
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 0x180028d9b
mov rbx, rbp
movabs rax, 0x7ffffffffffffff
cmp qword [r14 + 0x10], rax
je 0x180028f02
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 0x180028dd4
cvtsi2ss xmm0, rcx
jmp 0x180028de9
mov rdx, qword [rcx + rax*8]
mov rax, qword [r8]
jmp 0x180028dad
cmp rbx, rdx
je 0x180028dcd
mov rbx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jne 0x180028da4
mov rbp, qword [rbx]
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x180028d47
mov qword [rsi], rax
mov byte [rsi + 8], 0
jmp 0x180028ee2
mov rbp, rbx
xor eax, eax
jmp 0x180028dbc
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 0x180028dfc
cvtsi2ss xmm1, rcx
jmp 0x180028e11
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 0x180028e84
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 0x180028e4b
mov qword [rsp + 0x28], r12
jmp 0x180028e6f
mov rdx, qword [rdx + rcx*8]
mov rcx, qword [rdi + 0x10]
jmp 0x180028e61
mov rbx, rax
cmp rax, rdx
je 0x180028eb8
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x180028e55
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 0x180028ec4
mov qword [rcx + rax*8], rdi
jmp 0x180028ed6
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r12
jmp 0x180028e74
cmp r8, rbp
jne 0x180028ecf
mov qword [rcx + rax*8], rdi
jmp 0x180028edb
cmp qword [rcx + rax*8 + 8], rdx
jne 0x180028edb
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 0x180028f18
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 0x180028f49
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 0x180028fd8
mov rbx, rbp
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [r14 + 0x10], rax
je 0x180029141
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 0x180029011
cvtsi2ss xmm0, rcx
jmp 0x180029026
mov rdx, qword [rcx + rax*8]
mov rax, qword [r8]
jmp 0x180028fea
cmp rbx, rdx
je 0x18002900a
mov rbx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jne 0x180028fe1
mov rbp, qword [rbx]
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x180028f8b
mov qword [rsi], rax
mov byte [rsi + 8], 0
jmp 0x180029121
mov rbp, rbx
xor eax, eax
jmp 0x180028ff9
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 0x180029039
cvtsi2ss xmm1, rcx
jmp 0x18002904e
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 0x1800290c2
mov rcx, r14
call fcn.18002b170
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 0x180029089
and qword [rsp + 0x28], 0
jmp 0x1800290ad
mov rdx, qword [rdx + rcx*8]
mov rcx, qword [rdi + 0x10]
jmp 0x18002909f
mov rbx, rax
cmp rax, rdx
je 0x1800290f6
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x180029093
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 0x180029103
mov qword [rcx + rax*8], rdi
jmp 0x180029115
mov qword [rsp + 0x20], rax
and qword [rsp + 0x28], 0
jmp 0x1800290b2
cmp r8, rbp
jne 0x18002910e
mov qword [rcx + rax*8], rdi
jmp 0x18002911a
cmp qword [rcx + rax*8 + 8], rdx
jne 0x18002911a
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 0x180029154
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, 4
jb 0x180029185
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 0x180029213
mov rbx, rbp
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [r14 + 0x10], rax
je 0x180029379
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 ecx, dword [r12]
mov dword [rax + 0x10], ecx
mov rcx, qword [r14 + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x18002924b
cvtsi2ss xmm0, rcx
jmp 0x180029260
mov rdx, qword [rcx + rax*8]
mov eax, dword [r8]
jmp 0x180029225
cmp rbx, rdx
je 0x180029244
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x18002921c
mov rbp, qword [rbx]
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x1800291c7
mov qword [rsi], rax
mov byte [rsi + 8], 0
jmp 0x180029359
mov rbp, rbx
xor eax, eax
jmp 0x180029233
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 0x180029273
cvtsi2ss xmm1, rcx
jmp 0x180029288
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 0x1800292fa
mov rcx, r14
call fcn.18002b394
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 0x1800292c3
and qword [rsp + 0x28], 0
jmp 0x1800292e5
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
jmp 0x1800292d8
mov rbx, rax
cmp rax, rdx
je 0x18002932e
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x1800292cc
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 0x18002933b
mov qword [rcx + rax*8], rdi
jmp 0x18002934d
mov qword [rsp + 0x20], rax
and qword [rsp + 0x28], 0
jmp 0x1800292ea
cmp r8, rbp
jne 0x180029346
mov qword [rcx + rax*8], rdi
jmp 0x180029352
cmp qword [rcx + rax*8 + 8], rdx
jne 0x180029352
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 0x18002938c
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, 4
jb 0x1800293bd
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 0x18002944b
mov rbx, rbp
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [r14 + 0x10], rax
je 0x1800295b1
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 ecx, dword [r12]
mov dword [rax + 0x10], ecx
mov rcx, qword [r14 + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x180029483
cvtsi2ss xmm0, rcx
jmp 0x180029498
mov rdx, qword [rcx + rax*8]
mov eax, dword [r8]
jmp 0x18002945d
cmp rbx, rdx
je 0x18002947c
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x180029454
mov rbp, qword [rbx]
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x1800293ff
mov qword [rsi], rax
mov byte [rsi + 8], 0
jmp 0x180029591
mov rbp, rbx
xor eax, eax
jmp 0x18002946b
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 0x1800294ab
cvtsi2ss xmm1, rcx
jmp 0x1800294c0
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 0x180029532
mov rcx, r14
call fcn.18002b394
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 0x1800294fb
and qword [rsp + 0x28], 0
jmp 0x18002951d
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
jmp 0x180029510
mov rbx, rax
cmp rax, rdx
je 0x180029566
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x180029504
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 0x180029573
mov qword [rcx + rax*8], rdi
jmp 0x180029585
mov qword [rsp + 0x20], rax
and qword [rsp + 0x28], 0
jmp 0x180029522
cmp r8, rbp
jne 0x18002957e
mov qword [rcx + rax*8], rdi
jmp 0x18002958a
cmp qword [rcx + rax*8 + 8], rdx
jne 0x18002958a
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 0x18002975c
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 0x18002978d
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 0x180029823
mov rbx, rbp
movabs rax, 0x7ffffffffffffff
cmp qword [r15 + 0x10], rax
je 0x180029989
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 0x18002985d
cvtsi2ss xmm0, rcx
jmp 0x180029872
mov rdx, qword [rcx + rax*8]
mov rax, qword [r8]
jmp 0x180029835
cmp rbx, rdx
je 0x180029856
mov rbx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jne 0x18002982c
mov rbp, qword [rbx]
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x1800297cf
mov qword [r14], rax
mov byte [r14 + 8], 0
jmp 0x180029969
mov rbp, rbx
xor eax, eax
jmp 0x180029844
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 0x180029885
cvtsi2ss xmm1, rcx
jmp 0x18002989a
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 0x18002990d
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 0x1800298d4
mov qword [rsp + 0x28], r12
jmp 0x1800298f8
mov r8, qword [rdx + rcx*8]
mov rcx, qword [rsi + 0x10]
jmp 0x1800298ea
mov rbx, rax
cmp rax, r8
je 0x18002993e
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x1800298de
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 0x18002994a
mov qword [rax + rdi*8], rsi
jmp 0x18002995c
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r12
jmp 0x1800298fd
cmp rdx, rbp
jne 0x180029955
mov qword [rax + rdi*8], rsi
jmp 0x180029961
cmp qword [rax + rdi*8 + 8], rcx
jne 0x180029961
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 0x18002999c
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 0x1800299cd
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 0x180029a63
mov rbx, rbp
movabs rax, 0x7ffffffffffffff
cmp qword [r14 + 0x10], rax
je 0x180029bca
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 0x180029a9c
cvtsi2ss xmm0, rcx
jmp 0x180029ab1
mov rdx, qword [rcx + rax*8]
mov rax, qword [r8]
jmp 0x180029a75
cmp rbx, rdx
je 0x180029a95
mov rbx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jne 0x180029a6c
mov rbp, qword [rbx]
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x180029a0f
mov qword [rsi], rax
mov byte [rsi + 8], 0
jmp 0x180029baa
mov rbp, rbx
xor eax, eax
jmp 0x180029a84
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 0x180029ac4
cvtsi2ss xmm1, rcx
jmp 0x180029ad9
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 0x180029b4c
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 0x180029b13
mov qword [rsp + 0x28], r12
jmp 0x180029b37
mov r8, qword [rdx + rcx*8]
mov rcx, qword [rdi + 0x10]
jmp 0x180029b29
mov rbx, rax
cmp rax, r8
je 0x180029b80
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x180029b1d
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 0x180029b8c
mov qword [rcx + rax*8], rdi
jmp 0x180029b9e
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r12
jmp 0x180029b3c
cmp r8, rbp
jne 0x180029b97
mov qword [rcx + rax*8], rdi
jmp 0x180029ba3
cmp qword [rcx + rax*8 + 8], rdx
jne 0x180029ba3
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 0x180029e40
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 0x180029e71
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 0x180029f07
mov rbx, rbp
movabs rax, 0x7ffffffffffffff
cmp qword [r14 + 0x10], rax
je 0x18002a06e
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 0x180029f40
cvtsi2ss xmm0, rcx
jmp 0x180029f55
mov rdx, qword [rcx + rax*8]
mov rax, qword [r8]
jmp 0x180029f19
cmp rbx, rdx
je 0x180029f39
mov rbx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jne 0x180029f10
mov rbp, qword [rbx]
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x180029eb3
mov qword [rsi], rax
mov byte [rsi + 8], 0
jmp 0x18002a04e
mov rbp, rbx
xor eax, eax
jmp 0x180029f28
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 0x180029f68
cvtsi2ss xmm1, rcx
jmp 0x180029f7d
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 0x180029ff0
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 0x180029fb7
mov qword [rsp + 0x28], r12
jmp 0x180029fdb
mov r8, qword [rdx + rcx*8]
mov rcx, qword [rdi + 0x10]
jmp 0x180029fcd
mov rbx, rax
cmp rax, r8
je 0x18002a024
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x180029fc1
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 0x18002a030
mov qword [rcx + rax*8], rdi
jmp 0x18002a042
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r12
jmp 0x180029fe0
cmp r8, rbp
jne 0x18002a03b
mov qword [rcx + rax*8], rdi
jmp 0x18002a047
cmp qword [rcx + rax*8 + 8], rdx
jne 0x18002a047
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