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

Disassembly:
push rbx
sub rsp, 0x20
mov r8, qword [rdx]
movabs r9, 0x100000001b3
movabs rcx, 0xcbf29ce484222325
mov rax, r8
shr rax, 8
movzx edx, al
movzx eax, r8b
xor rax, rcx
imul rax, r9
xor rdx, rax
mov rax, r8
imul rdx, r9
shr rax, 0x10
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x18
imul rdx, r9
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x20
imul rdx, r9
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x28
imul rdx, r9
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x30
imul rdx, r9
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x38
mov rcx, qword [0x14013a7e8]
imul rdx, r9
xor rdx, rax
imul rdx, r9
and rdx, qword [0x14013a810]
shl rdx, 4
add rdx, qword [0x14013a7f8]
mov r9, qword [rdx + 8]
mov rbx, r9
cmp r9, rcx
je 0x140027ac1
mov rax, qword [rdx]
cmp r8, qword [r9 + 0x10]
je 0x140027ac3
nop word [rax + rax]
cmp rbx, rax
je 0x140027ac1
mov rbx, qword [rbx + 8]
cmp r8, qword [rbx + 0x10]
jne 0x140027ab0
jmp 0x140027ac3
xor ebx, ebx
test rbx, rbx
je 0x140027b71
mov rax, qword [rdx]
mov qword [rsp + 0x40], rdi
cmp r9, rbx
jne 0x140027af1
cmp rax, rbx
jne 0x140027ae7
mov qword [rdx], rcx
mov qword [rdx + 8], rcx
jmp 0x140027afc
mov rcx, qword [rbx + 8]
mov qword [rdx + 8], rcx
jmp 0x140027afc
cmp rax, rbx
jne 0x140027afc
mov rax, qword [rbx]
mov qword [rdx], rax
mov rcx, qword [rbx]
dec qword [0x14013a7f0]
mov rax, qword [rbx + 8]
mov qword [rax], rcx
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x140027b54
mov qword [rsp + 0x30], rsi
mov esi, 0xffffffff
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140027b4f
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], esi
cmp esi, 1
jne 0x140027b4f
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov rsi, qword [rsp + 0x30]
mov edx, 0x20
mov rcx, rbx
call fcn.1400f3404
mov rdi, qword [rsp + 0x40]
mov eax, 1
add rsp, 0x20
pop rbx
ret
xor eax, eax
add rsp, 0x20
pop rbx
ret
Function at 0x140027c00
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov ebx, 1
bsr rcx, rax
mov eax, ebx
shl rax, cl
cmp rdx, rax
jbe 0x140027c31
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x40], rdi
mov rdi, qword [0x14013a7e8]
or rax, rbx
bsr rcx, rax
mov r8, rdi
inc ecx
shl rbx, cl
lea rcx, [0x14013a7f8]
lea rdx, [rbx + rbx]
call fcn.1400020c0
mov rcx, qword [0x14013a7e8]
lea r11, [rbx - 1]
mov qword [0x14013a810], r11
mov qword [0x14013a818], rbx
mov rcx, qword [rcx]
cmp rcx, rdi
je 0x140027e02
mov qword [rsp + 0x30], rsi
mov rax, rcx
movabs rsi, 0xcbf29ce484222325
movabs rbx, 0x100000001b3
mov r10, qword [rax + 0x10]
mov rcx, qword [rcx]
mov rdx, r10
shr rdx, 8
movzx r9d, dl
movzx edx, r10b
xor rdx, rsi
imul rdx, rbx
xor r9, rdx
mov rdx, r10
imul r9, rbx
shr rdx, 0x10
movzx r8d, dl
mov rdx, r10
xor r9, r8
shr rdx, 0x18
imul r9, rbx
movzx r8d, dl
mov rdx, r10
xor r9, r8
shr rdx, 0x20
imul r9, rbx
movzx r8d, dl
mov rdx, r10
xor r9, r8
shr rdx, 0x28
imul r9, rbx
movzx r8d, dl
mov rdx, r10
xor r9, r8
shr rdx, 0x30
imul r9, rbx
movzx r8d, dl
mov rdx, r10
xor r9, r8
shr rdx, 0x38
imul r9, rbx
xor r9, rdx
imul r9, rbx
and r11, r9
shl r11, 4
add r11, qword [0x14013a7f8]
mov r8, qword [r11]
cmp r8, rdi
jne 0x140027d4c
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x140027dc3
mov rdx, qword [r11 + 8]
cmp r10, qword [rdx + 0x10]
jne 0x140027d85
mov r10, qword [rdx]
cmp r10, rax
je 0x140027d7f
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x140027dc3
cmp r8, rdx
je 0x140027d9f
nop word [rax + rax]
mov rdx, qword [rdx + 8]
cmp r10, qword [rdx + 0x10]
je 0x140027dd7
cmp r8, rdx
jne 0x140027d90
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rdi
je 0x140027dfd
mov r11, qword [0x14013a810]
jmp 0x140027ca1
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x140027dc3
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop rbx
ret
Function at 0x140028460
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r13, r8
mov r14, rdx
mov rsi, rcx
movzx r12d, byte [r8]
movabs rax, 0xcbf29ce484222325
xor r12, rax
movabs rcx, 0x100000001b3
imul r12, rcx
movzx eax, byte [r8 + 1]
xor r12, rax
imul r12, rcx
movzx eax, byte [r8 + 2]
xor r12, rax
imul r12, rcx
movzx eax, byte [r8 + 3]
xor r12, rax
imul r12, rcx
mov rcx, qword [rsi + 0x30]
and rcx, r12
add rcx, rcx
mov rax, qword [rsi + 0x18]
mov rbx, qword [rax + rcx*8 + 8]
lea rdx, [rsi + 8]
mov r15, qword [rdx]
cmp rbx, r15
jne 0x1400284e7
mov rbx, r15
mov rbp, r15
jmp 0x14002852a
mov rcx, qword [rax + rcx*8]
mov eax, dword [r8]
cmp eax, dword [rbx + 0x10]
je 0x140028501
cmp rbx, rcx
je 0x140028524
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x1400284f3
mov qword [r14], rbx
mov byte [r14 + 8], 0
mov rax, r14
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r15, rbx
mov rbp, rbx
movabs rax, 0x666666666666666
cmp qword [rsi + 0x10], rax
jne 0x140028548
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], 0
mov ecx, 0x28
call fcn.1400f3170
mov rdi, rax
mov qword [rsp + 0x28], rax
mov eax, dword [r13]
mov dword [rdi + 0x10], eax
xor r13d, r13d
mov qword [rdi + 0x18], r13
mov qword [rdi + 0x20], r13
mov rcx, qword [rsi + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x14002858e
cvtsi2ss xmm0, rcx
jmp 0x1400285a3
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rsi + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1400285b6
cvtsi2ss xmm1, rcx
jmp 0x1400285cb
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rsi]
seta al
test al, al
je 0x140028631
mov rcx, rsi
call fcn.1400221f0
mov rcx, qword [rsi + 0x30]
and rcx, r12
add rcx, rcx
mov rdx, qword [rsi + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [rsi + 8]
cmp rax, rbx
je 0x140028624
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
cmp ecx, dword [rax + 0x10]
je 0x140028621
nop dword [rax]
mov rbx, rax
cmp rax, rdx
je 0x140028665
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x140028610
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rbp, rbx
mov r15, qword [rsp + 0x20]
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 rcx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x30]
and rax, r12
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [rsi + 8]
jne 0x14002866c
mov qword [rcx + rax*8], rdi
jmp 0x14002867e
mov qword [rsp + 0x20], rax
jmp 0x140028629
cmp r8, rbp
jne 0x140028677
mov qword [rcx + rax*8], rdi
jmp 0x140028683
cmp qword [rcx + rax*8 + 8], rdx
jne 0x140028683
mov qword [rcx + rax*8 + 8], rdi
mov qword [r14], rdi
mov byte [r14 + 8], 1
jmp 0x140028509
Function at 0x140029530
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x40
mov rax, qword [0x140136010]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov r9d, edx
lea rbx, [rcx + 8]
mov eax, edx
mov dword [rsp + 0x30], r9d
shr eax, 8
mov r8, rcx
movzx edx, al
movabs r10, 0x100000001b3
movabs rcx, 0xcbf29ce484222325
movzx eax, r9b
xor rax, rcx
imul rax, r10
xor rdx, rax
mov eax, r9d
imul rdx, r10
shr eax, 0x10
movzx ecx, al
mov eax, r9d
xor rdx, rcx
shr rax, 0x18
mov rcx, qword [r8 + 0x38]
imul rdx, r10
xor rdx, rax
imul rdx, r10
and rcx, rdx
mov rdx, qword [r8 + 0x10]
shl rcx, 4
add rcx, qword [r8 + 0x20]
mov rax, qword [rcx + 8]
cmp rax, rdx
je 0x1400295d6
mov rcx, qword [rcx]
cmp r9d, dword [rax + 0x10]
je 0x1400295d8
cmp rax, rcx
je 0x1400295d6
mov rax, qword [rax + 8]
cmp r9d, dword [rax + 0x10]
jne 0x1400295c5
jmp 0x1400295d8
xor eax, eax
test rax, rax
cmove rax, rdx
cmp rax, rdx
je 0x140029618
lea r8, [rsp + 0x30]
mov rcx, rbx
lea rdx, [rsp + 0x20]
call fcn.140029850
mov rdx, qword [rax]
mov rcx, qword [rdx + 0x18]
lea rdx, [rsp + 0x30]
add rcx, 8
call fcn.140029760
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140029760
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400f3150
add rsp, 0x40
pop rbx
ret

Function at 0x140029760
Capabilities:
Hash data using fnv

Disassembly:
sub rsp, 0x28
movzx r8d, byte [rdx]
mov r10, rcx
movabs rcx, 0x100000001b3
mov r11, rdx
movabs rax, 0xcbf29ce484222325
xor r8, rax
movzx eax, byte [rdx + 1]
mov r9, qword [r10 + 8]
imul r8, rcx
xor r8, rax
movzx eax, byte [rdx + 2]
imul r8, rcx
xor r8, rax
movzx eax, byte [rdx + 3]
mov rdx, qword [r10 + 0x30]
imul r8, rcx
xor r8, rax
imul r8, rcx
and rdx, r8
shl rdx, 4
add rdx, qword [r10 + 0x18]
mov rcx, qword [rdx + 8]
cmp rcx, r9
je 0x1400297e1
mov eax, dword [r11]
mov r8, qword [rdx]
cmp eax, dword [rcx + 0x10]
je 0x1400297e3
cmp rcx, r8
je 0x1400297e1
mov rcx, qword [rcx + 8]
cmp eax, dword [rcx + 0x10]
jne 0x1400297d1
jmp 0x1400297e3
xor ecx, ecx
test rcx, rcx
je 0x14002983e
mov rax, qword [rdx]
cmp qword [rdx + 8], rcx
jne 0x140029809
cmp rax, rcx
jne 0x1400297ff
mov qword [rdx], r9
mov qword [rdx + 8], r9
jmp 0x140029814
mov r9, qword [rcx + 8]
mov qword [rdx + 8], r9
jmp 0x140029814
cmp rax, rcx
jne 0x140029814
mov rax, qword [rcx]
mov qword [rdx], rax
mov rdx, qword [rcx]
dec qword [r10 + 0x10]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x20
call fcn.1400f3404
mov eax, 1
add rsp, 0x28
ret
xor eax, eax
add rsp, 0x28
ret
Function at 0x140029850
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r13, r8
mov r14, rdx
mov rsi, rcx
movzx r12d, byte [r8]
movabs rax, 0xcbf29ce484222325
xor r12, rax
movabs rcx, 0x100000001b3
imul r12, rcx
movzx eax, byte [r8 + 1]
xor r12, rax
imul r12, rcx
movzx eax, byte [r8 + 2]
xor r12, rax
imul r12, rcx
movzx eax, byte [r8 + 3]
xor r12, rax
imul r12, rcx
mov rcx, qword [rsi + 0x30]
and rcx, r12
add rcx, rcx
mov rax, qword [rsi + 0x18]
mov rbx, qword [rax + rcx*8 + 8]
lea rdx, [rsi + 8]
mov r15, qword [rdx]
cmp rbx, r15
jne 0x1400298d7
mov rbx, r15
mov rbp, r15
jmp 0x14002991a
mov rcx, qword [rax + rcx*8]
mov eax, dword [r8]
cmp eax, dword [rbx + 0x10]
je 0x1400298f1
cmp rbx, rcx
je 0x140029914
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x1400298e3
mov qword [r14], rbx
mov byte [r14 + 8], 0
mov rax, r14
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r15, rbx
mov rbp, rbx
movabs rax, 0x7ffffffffffffff
cmp qword [rsi + 0x10], rax
jne 0x140029938
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], 0
mov ecx, 0x20
call fcn.1400f3170
mov rdi, rax
mov qword [rsp + 0x28], rax
mov eax, dword [r13]
mov dword [rdi + 0x10], eax
xor r13d, r13d
mov qword [rdi + 0x18], r13
mov rcx, qword [rsi + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x14002997a
cvtsi2ss xmm0, rcx
jmp 0x14002998f
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rsi + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1400299a2
cvtsi2ss xmm1, rcx
jmp 0x1400299b7
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rsi]
seta al
test al, al
je 0x140029a16
mov rcx, rsi
call fcn.1400221f0
mov rcx, qword [rsi + 0x30]
and rcx, r12
add rcx, rcx
mov rdx, qword [rsi + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [rsi + 8]
cmp rax, rbx
je 0x140029a09
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
cmp ecx, dword [rax + 0x10]
je 0x140029a06
mov rbx, rax
cmp rax, rdx
je 0x140029a4a
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x1400299f5
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rbp, rbx
mov r15, qword [rsp + 0x20]
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 rcx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x30]
and rax, r12
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [rsi + 8]
jne 0x140029a51
mov qword [rcx + rax*8], rdi
jmp 0x140029a63
mov qword [rsp + 0x20], rax
jmp 0x140029a0e
cmp r8, rbp
jne 0x140029a5c
mov qword [rcx + rax*8], rdi
jmp 0x140029a68
cmp qword [rcx + rax*8 + 8], rdx
jne 0x140029a68
mov qword [rcx + rax*8 + 8], rdi
mov qword [r14], rdi
mov byte [r14 + 8], 1
jmp 0x1400298f9
Function at 0x140029a80
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r13, r8
mov r14, rdx
mov rsi, rcx
movzx r12d, byte [r8]
movabs rax, 0xcbf29ce484222325
xor r12, rax
movabs rcx, 0x100000001b3
imul r12, rcx
movzx eax, byte [r8 + 1]
xor r12, rax
imul r12, rcx
movzx eax, byte [r8 + 2]
xor r12, rax
imul r12, rcx
movzx eax, byte [r8 + 3]
xor r12, rax
imul r12, rcx
mov rcx, qword [rsi + 0x30]
and rcx, r12
add rcx, rcx
mov rax, qword [rsi + 0x18]
mov rbx, qword [rax + rcx*8 + 8]
lea rdx, [rsi + 8]
mov r15, qword [rdx]
cmp rbx, r15
jne 0x140029b07
mov rbx, r15
mov rbp, r15
jmp 0x140029b4a
mov rcx, qword [rax + rcx*8]
mov eax, dword [r8]
cmp eax, dword [rbx + 0x10]
je 0x140029b21
cmp rbx, rcx
je 0x140029b44
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x140029b13
mov qword [r14], rbx
mov byte [r14 + 8], 0
mov rax, r14
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r15, rbx
mov rbp, rbx
movabs rax, 0x7ffffffffffffff
cmp qword [rsi + 0x10], rax
jne 0x140029b68
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], 0
mov ecx, 0x20
call fcn.1400f3170
mov rdi, rax
mov qword [rsp + 0x28], rax
movups xmm0, xmmword [r13]
movups xmmword [rax + 0x10], xmm0
mov rcx, qword [rsi + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x140029ba5
cvtsi2ss xmm0, rcx
jmp 0x140029bba
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rsi + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x140029bcd
cvtsi2ss xmm1, rcx
jmp 0x140029be2
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rsi]
seta al
test al, al
je 0x140029c51
mov rcx, rsi
call fcn.1400221f0
mov rcx, qword [rsi + 0x30]
and rcx, r12
add rcx, rcx
mov rdx, qword [rsi + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [rsi + 8]
cmp rax, rbx
jne 0x140029c1f
mov qword [rsp + 0x28], 0
jmp 0x140029c44
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
cmp ecx, dword [rax + 0x10]
je 0x140029c41
nop dword [rax + rax]
mov rbx, rax
cmp rax, rdx
je 0x140029c85
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x140029c30
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rbp, rbx
mov r15, qword [rsp + 0x20]
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 rcx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x30]
and rax, r12
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [rsi + 8]
jne 0x140029c95
mov qword [rcx + rax*8], rdi
jmp 0x140029ca7
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
jmp 0x140029c49
cmp r8, rbp
jne 0x140029ca0
mov qword [rcx + rax*8], rdi
jmp 0x140029cac
cmp qword [rcx + rax*8 + 8], rdx
jne 0x140029cac
mov qword [rcx + rax*8 + 8], rdi
mov qword [r14], rdi
mov byte [r14 + 8], 1
jmp 0x140029b29
Function at 0x140029d30
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 8
mov r10, rcx
mov r9d, 0x270
mov ecx, dword [rcx]
cmp ecx, r9d
jne 0x140029d91
lea r8, [r10 + 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 r9, 1
jne 0x140029d50
mov ecx, dword [r10]
jmp 0x140029e7a
cmp ecx, 0x4e0
jb 0x140029e7a
lea r11, [r10 + 0x9c4]
mov qword [rsp], rbx
mov eax, dword [r11]
mov ebx, 0xe3
mov edx, dword [r11 + 4]
lea r8, [r11 + 4]
xor edx, eax
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
mov eax, dword [r8]
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r11 + 0x634]
xor ecx, edx
mov dword [r11 - 0x9c0], ecx
lea r11, [r8]
sub rbx, 1
jne 0x140029db0
lea r11, [r10 + 0xd50]
mov ebx, 0x18c
mov eax, dword [r11]
nop dword [rax + rax]
mov edx, eax
lea r8, [r11 + 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
mov eax, dword [r8]
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r11 - 0xd4c]
xor ecx, edx
mov dword [r11 - 0x9c0], ecx
lea r11, [r8]
sub rbx, 1
jne 0x140029e00
mov edx, dword [r10 + 0x1380]
xor edx, dword [r10 + 4]
mov rbx, qword [rsp]
btr edx, 0x1f
xor edx, dword [r10 + 0x1380]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r10 + 0x634]
xor ecx, edx
mov dword [r10 + 0x9c0], ecx
xor ecx, ecx
mov dword [r10], ecx
mov eax, ecx
mov edx, dword [r10 + rax*4 + 4]
lea eax, [rcx + 1]
mov dword [r10], eax
mov ecx, edx
mov eax, dword [r10 + 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 0x140039250
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov rsi, rdx
movzx r15d, byte [r8]
movabs rax, 0xcbf29ce484222325
xor r15, rax
movabs rcx, 0x100000001b3
imul r15, rcx
movzx eax, byte [r8 + 1]
xor r15, rax
imul r15, rcx
movzx eax, byte [r8 + 2]
xor r15, rax
imul r15, rcx
movzx eax, byte [r8 + 3]
xor r15, rax
imul r15, rcx
mov rcx, qword [0x14013a720]
and rcx, r15
add rcx, rcx
mov rax, qword [0x14013a708]
mov rbx, qword [rax + rcx*8 + 8]
mov r14, qword [0x14013a6f8]
cmp rbx, r14
jne 0x1400392da
mov rbx, r14
mov rbp, r14
jmp 0x140039319
mov rcx, qword [rax + rcx*8]
mov eax, dword [r8]
cmp eax, dword [rbx + 0x10]
je 0x1400392f4
cmp rbx, rcx
je 0x140039313
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x1400392e6
mov qword [rdx], rbx
mov byte [rdx + 8], 0
mov rax, rsi
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r14, rbx
mov rbp, rbx
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [0x14013a700], rax
jne 0x14003933a
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [0x14013a6f8]
mov qword [rsp + 0x20], rax
xor r13d, r13d
mov qword [rsp + 0x28], r13
lea ecx, [r13 + 0x18]
call fcn.1400f3170
mov rdi, rax
mov qword [rsp + 0x28], rax
mov eax, dword [r12]
mov dword [rdi + 0x10], eax
mov dword [rdi + 0x14], r13d
mov rdx, qword [0x14013a700]
lea rcx, [rdx + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x140039384
cvtsi2ss xmm0, rcx
jmp 0x140039399
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [0x14013a728]
xorps xmm1, xmm1
test rcx, rcx
js 0x1400393af
cvtsi2ss xmm1, rcx
jmp 0x1400393c4
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [0x14013a6f0]
seta al
test al, al
je 0x140039438
call fcn.1400394b0
mov rcx, qword [0x14013a720]
and rcx, r15
add rcx, rcx
mov rdx, qword [0x14013a708]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [0x14013a6f8]
cmp rax, rbx
je 0x140039424
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
cmp ecx, dword [rax + 0x10]
je 0x140039421
nop dword [rax]
mov rbx, rax
cmp rax, rdx
je 0x14003947b
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x140039410
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rbp, rbx
mov r14, qword [rsp + 0x20]
mov rdx, qword [0x14013a700]
mov r8, qword [rbx + 8]
inc rdx
mov qword [0x14013a700], rdx
mov qword [rdi], r14
mov qword [rdi + 8], r8
mov qword [r8], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [0x14013a708]
mov rax, qword [0x14013a720]
and rax, r15
add rax, rax
mov rdx, qword [rcx + rax*8]
cmp rdx, qword [0x14013a6f8]
jne 0x140039482
mov qword [rcx + rax*8], rdi
jmp 0x140039494
mov qword [rsp + 0x20], rax
jmp 0x140039429
cmp rdx, rbp
jne 0x14003948d
mov qword [rcx + rax*8], rdi
jmp 0x140039499
cmp qword [rcx + rax*8 + 8], r8
jne 0x140039499
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
jmp 0x1400392fb