joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14006a040
Capabilities:
Encode data using xor
Encrypt data using rc4 prga
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x30
mov r9, qword [r8]
xor edi, edi
mov rbp, r8
mov r14, rdx
mov rsi, rcx
movzx eax, byte [r9]
test al, al
je 0x14006a087
nop
movsx rax, al
lea rdi, [rdi + rdi*4]
add rdi, rax
lea r9, [r9 + 1]
movzx eax, byte [r9]
test al, al
jne 0x14006a070
cmp qword [rcx + 8], 0
jne 0x14006a096
mov rdx, qword [rcx]
call fcn.14006b770
mov rdx, qword [rsi]
mov r8, qword [rsi + 8]
lea rax, [rdx - 1]
and rax, rdi
mov rbx, qword [r8 + rax*8]
lea r13, [r8 + rax*8]
mov r12, r13
test rbx, rbx
je 0x14006a10d
mov r14, qword [rbp]
mov qword [rsp + 0x70], r15
mov r15, qword [rbp + 8]
mov rbp, qword [rbx + 0x10]
cmp rbp, r15
mov r8, rbp
cmovae r8, r15
test r8, r8
je 0x14006a0e4
mov rdx, qword [rbx + 8]
mov rcx, r14
call fcn.1400be450
test eax, eax
jne 0x14006a0e9
cmp r15d, ebp
je 0x14006a0f4
mov r12, rbx
mov rbx, qword [rbx]
test rbx, rbx
jne 0x14006a0c1
mov r14, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
mov rdx, qword [rsi]
mov r8, qword [rsi + 8]
mov r15, qword [rsp + 0x70]
mov rcx, qword [r12]
test rcx, rcx
je 0x14006a12f
mov qword [r14], rcx
lea rax, [r8 + rdx*8]
mov qword [r14 + 8], r13
mov qword [r14 + 0x10], rax
mov byte [r14 + 0x18], 0
jmp 0x14006a242
movzx eax, byte [str.._AU__chained_hash_node_V__basic_string_DU__char_traits_D_blz__V__allocator_D_2__blz___blz__]
lea rcx, [0x140126c51]
mov r9d, 0x811c9dc5
test eax, eax
je 0x14006a165
nop word [rax + rax]
xor r9d, eax
movzx eax, byte [rcx]
imul r9d, r9d, 0x1000193
lea rcx, [rcx + 1]
test eax, eax
jne 0x14006a150
mov edx, ntohs
mov dword [rsp + 0x28], 0
lea r8, str.._AU__chained_hash_node_V__basic_string_DU__char_traits_D_blz__V__allocator_D_2__blz___blz__
mov dword [rsp + 0x20], 0xfffffffa
lea ecx, [rdx + 0x25]
call fcn.140025e30
mov rbx, rax
test rax, rax
je 0x14006a1a9
mov qword [rax], 0
lea rcx, [rax + 8]
mov r8, qword [rbp + 8]
mov rdx, qword [rbp]
call fcn.1400027c0
mov qword [r12], rbx
xorps xmm0, xmm0
inc qword [rsi + 0x10]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi]
test rcx, rcx
js 0x14006a1c7
cvtsi2ss xmm0, rcx
jmp 0x14006a1dc
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
xorps xmm1, xmm1
test rdx, rdx
js 0x14006a1eb
cvtsi2ss xmm1, rdx
jmp 0x14006a203
mov rax, rdx
mov rcx, rdx
shr rcx, 1
and eax, 1
or rcx, rax
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rsi + 0x18]
jbe 0x14006a22a
add rdx, rdx
mov rcx, rsi
call fcn.14006b770
mov rdx, qword [rsi]
mov rax, qword [rsi + 8]
lea rcx, [rdx - 1]
and rcx, rdi
lea r13, [rax + rcx*8]
mov rax, qword [rsi + 8]
mov qword [r14], rbx
mov qword [r14 + 8], r13
lea rcx, [rax + rdx*8]
mov qword [r14 + 0x10], rcx
mov byte [r14 + 0x18], 1
mov rax, r14
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x14006a260
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x30
mov r9, qword [rcx]
mov r13, r8
mov rbp, rdx
mov rsi, rcx
mov rdi, rcx
test r9, r9
je 0x14006a2fd
mov r10, qword [r8]
nop dword [rax]
mov rcx, qword [r9 + 0x20]
mov rdx, r9
mov rdi, r9
cmp r10, rcx
jb 0x14006a2b3
ja 0x14006a2ab
mov eax, dword [r9 + 0x28]
cmp dword [r8 + 8], eax
jl 0x14006a2b3
mov r9, qword [r9 + 0x10]
xor al, al
jmp 0x14006a2b9
mov r9, qword [r9 + 8]
mov al, 1
test r9, r9
jne 0x14006a290
test al, al
jne 0x14006a2fd
cmp rcx, r10
jb 0x14006a2f7
ja 0x14006a2d2
mov eax, dword [r8 + 8]
cmp dword [rdx + 0x28], eax
jl 0x14006a2f7
mov rax, rdi
mov qword [rbp], rax
mov byte [rbp + 8], 0
mov rbx, qword [rsp + 0x68]
mov rax, rbp
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r13
pop r12
pop rdi
pop rsi
ret
lea r15, [rdi + 0x10]
jmp 0x14006a324
cmp rdi, qword [rsi + 8]
je 0x14006a320
mov rcx, rdi
call fcn.14006a570
mov rcx, qword [rax + 0x20]
cmp rcx, qword [r13]
jb 0x14006a320
ja 0x14006a2d5
mov ecx, dword [r13 + 8]
cmp dword [rax + 0x28], ecx
jge 0x14006a2d5
lea r15, [rdi + 8]
mov rdx, rsi
mov ecx, 8
mov rax, rdi
lea r12, [rcx + rdx]
test r15, r15
je 0x14006a2d5
movzx eax, byte [str.._AU__rb_node_U__pair___CBU__pair_PEBVDescriptor_protobuf_google__H_blz__PEBVFieldDescriptor_protobuf_google___blz___blz__]
lea rcx, [0x1401275f1]
mov qword [rsp + 0x60], r14
mov r9d, 0x811c9dc5
mov r14, r12
test eax, eax
je 0x14006a37a
nop dword [rax + rax]
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x14006a360
lea r14, [rsi + 8]
mov edx, ntohs
mov dword [rsp + 0x28], 0
lea r8, str.._AU__rb_node_U__pair___CBU__pair_PEBVDescriptor_protobuf_google__H_blz__PEBVFieldDescriptor_protobuf_google___blz___blz__
mov dword [rsp + 0x20], 0xfffffffa
lea ecx, [rdx + 0x2d]
call fcn.140025e30
mov rbx, rax
test rax, rax
je 0x14006a3bd
movups xmm0, xmmword [r13]
mov r14, r12
movups xmmword [rax + 0x20], xmm0
movsd xmm1, qword [r13 + 0x10]
movsd qword [rax + 0x30], xmm1
inc qword [rsi + 0x20]
mov qword [rax], rdi
xor eax, eax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov byte [rbx + 0x18], al
cmp rdi, rsi
jne 0x14006a3de
mov qword [rsi], rbx
mov qword [r14], rbx
jmp 0x14006a401
mov qword [r15], rbx
cmp rdi, qword [r14]
jne 0x14006a3f2
lea rax, [rdi + 8]
cmp r15, rax
jne 0x14006a3f2
mov qword [r14], rbx
cmp rdi, qword [rsi + 0x10]
jne 0x14006a405
lea rax, [rdi + 0x10]
cmp r15, rax
jne 0x14006a405
mov qword [rsi + 0x10], rbx
mov rdx, rbx
mov rcx, rsi
call fcn.140068950
mov r14, qword [rsp + 0x60]
mov qword [rbp], rbx
mov byte [rbp + 8], 1
jmp 0x14006a2dd
Function at 0x14006a460
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x30
or dword [rcx + 0x10], 0x10
mov rbx, rcx
mov rax, qword [rcx + 0x28]
cmp rax, qword [0x1401d2e90]
jne 0x14006a4fd
mov r9d, 0x811c9dc5
lea rdx, [0x1400e5891]
mov eax, 0x44
xor eax, r9d
lea rdx, [rdx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test eax, eax
jne 0x14006a490
lea r8, str.D:BuildServerDworkpackage_cacheprotobuf_blz2.6.1.7includegoogleprotobufdescriptor.pb.h
mov dword [rsp + 0x20], 0xf6b
lea edx, [rax + 0xb]
lea ecx, [rax + 0x28]
call fcn.140025410
mov rcx, rax
test rax, rax
je 0x14006a4f5
mov qword [rax + 8], 0
movabs rdx, 0x800000000000000f
add rax, 0x18
mov qword [rcx + 0x10], rdx
mov qword [rcx], rax
mov byte [rax], 0
mov rax, rcx
mov qword [rbx + 0x28], rcx
add rsp, 0x30
pop rbx
ret
xor ecx, ecx
mov qword [rbx + 0x28], rcx
mov eax, ecx
add rsp, 0x30
pop rbx
ret

Function at 0x14006a5d0
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
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x30
mov rdi, qword [rcx]
mov rsi, rdx
mov r9, qword [rcx + 0x10]
mov r14, rdx
mov rax, qword [rcx + 8]
sub rsi, rdi
mov rdx, r9
sar rsi, 3
movabs rbp, 0x7fffffffffffffff
mov rbx, rcx
and rdx, rbp
cmp rax, rdx
jne 0x14006a722
lea r8, [rdx + 1]
cmp r8, rdx
jbe 0x14006a722
mov rcx, r9
movabs rax, 0x3fffffffffffffff
shr rcx, 1
mov r10d, 1
and rcx, rax
lea rax, [rdx + rcx]
cmp rax, r8
cmovae r10, rcx
lea rcx, [0x140127799]
add r10, rdx
mov rax, r10
xor rax, r9
and rax, rbp
xor rax, r9
mov r9d, 0x811c9dc5
mov qword [rbx + 0x10], rax
movzx eax, byte [str..PEBVFieldDescriptor_protobuf_google__]
test eax, eax
je 0x14006a696
nop word [rax + rax]
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x14006a680
lea rcx, [r10*8]
mov dword [rsp + 0x28], 0
lea r8, str..PEBVFieldDescriptor_protobuf_google__
mov dword [rsp + 0x20], 0xfffffffa
mov edx, ntohs
call fcn.140025e30
mov r10, qword [rbx]
mov rdi, rax
mov r9, rax
mov rax, qword [rbx + 8]
lea r11, [r10 + rax*8]
cmp r10, r11
je 0x14006a6fa
nop word [rax + rax]
mov rcx, qword [r10]
add r10, 8
mov qword [r9], rcx
lea r9, [r9 + 8]
cmp r10, r11
jne 0x14006a6e0
mov r10, qword [rbx]
mov rax, qword [rbx + 8]
cmp qword [rbx + 0x10], 0
jl 0x14006a71b
xor r9d, r9d
lea rdx, str..PEBVFieldDescriptor_protobuf_google__
mov rcx, r10
lea r8d, [r9 - 6]
call fcn.140025f00
mov rax, qword [rbx + 8]
and qword [rbx + 0x10], rbp
mov qword [rbx], rdi
lea rcx, [rdi + rax*8]
cmp rsi, rax
jae 0x14006a72f
lea r14, [rdi + rsi*8]
mov rax, qword [r14]
mov qword [rcx], rax
inc qword [rbx + 8]
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret
Function at 0x14006a760
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
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x30
mov rdi, qword [rcx]
mov r8, rdx
mov r9, qword [rcx + 0x10]
sub r8, rdi
movabs rax, 0x4924924924924925
mov rsi, rdx
imul r8
movabs r14, 0x7fffffffffffffff
mov r8, r9
mov rbp, rdx
and r8, r14
sar rbp, 3
mov rbx, rcx
mov rax, rbp
shr rax, 0x3f
add rbp, rax
mov rax, qword [rcx + 8]
cmp rax, r8
jne 0x14006a8d7
lea rdx, [r8 + 1]
cmp rdx, r8
jbe 0x14006a8d7
mov rcx, r9
movabs rax, 0x3fffffffffffffff
shr rcx, 1
mov r10d, 1
and rcx, rax
lea rax, [r8 + rcx]
cmp rax, rdx
cmovae r10, rcx
lea rcx, [0x140127831]
add r10, r8
mov rax, r10
xor rax, r9
and rax, r14
xor rax, r9
mov r9d, 0x811c9dc5
mov qword [rbx + 0x10], rax
movzx eax, byte [str.._AUCheckPoint_Tables_DescriptorPool_protobuf_google__]
test eax, eax
je 0x14006a846
nop dword [rax]
nop dword [rax + rax]
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x14006a830
imul rcx, r10, 0x1c
mov dword [rsp + 0x28], 0
lea r8, str.._AUCheckPoint_Tables_DescriptorPool_protobuf_google__
mov edx, ntohs
mov dword [rsp + 0x20], 0xfffffffa
call fcn.140025e30
mov rcx, qword [rbx]
mov rdi, rax
mov r9, rax
mov rax, qword [rbx + 8]
imul r10, rax, 0x1c
add r10, rcx
cmp rcx, r10
je 0x14006a8b2
movups xmm0, xmmword [rcx]
lea r9, [r9 + 0x1c]
movups xmmword [r9 - 0x1c], xmm0
movsd xmm1, qword [rcx + 0x10]
movsd qword [r9 - 0xc], xmm1
mov eax, dword [rcx + 0x18]
add rcx, 0x1c
mov dword [r9 - 4], eax
cmp rcx, r10
jne 0x14006a884
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
cmp qword [rbx + 0x10], 0
jl 0x14006a8d0
xor r9d, r9d
lea rdx, str.._AUCheckPoint_Tables_DescriptorPool_protobuf_google__
lea r8d, [r9 - 6]
call fcn.140025f00
mov rax, qword [rbx + 8]
and qword [rbx + 0x10], r14
mov qword [rbx], rdi
imul rcx, rax, 0x1c
add rcx, rdi
cmp rbp, rax
jae 0x14006a8ff
imul rax, rbp, 0x1c
movups xmm0, xmmword [rax + rdi]
movups xmmword [rcx], xmm0
movsd xmm1, qword [rax + rdi + 0x10]
movsd qword [rcx + 0x10], xmm1
mov eax, dword [rax + rdi + 0x18]
jmp 0x14006a912
movups xmm0, xmmword [rsi]
movups xmmword [rcx], xmm0
movsd xmm1, qword [rsi + 0x10]
movsd qword [rcx + 0x10], xmm1
mov eax, dword [rsi + 0x18]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov dword [rcx + 0x18], eax
inc qword [rbx + 8]
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop r14
ret
Function at 0x14006a940
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r15
sub rsp, 0x30
mov rbp, qword [rcx]
mov r8, rdx
mov r9, qword [rcx + 0x10]
mov r15, rdx
sub r8, rbp
mov qword [rsp + 0x68], r13
movabs rax, 0x2aaaaaaaaaaaaaab
movabs r13, 0x7fffffffffffffff
imul r8
mov rsi, rcx
mov r12, rdx
mov rdx, r9
sar r12, 4
and rdx, r13
mov rax, r12
shr rax, 0x3f
add r12, rax
cmp qword [rcx + 8], rdx
jne 0x14006aae0
lea r8, [rdx + 1]
cmp r8, rdx
jbe 0x14006aae0
mov rcx, r9
mov qword [rsp + 0x70], r14
shr rcx, 1
movabs rax, 0x3fffffffffffffff
and rcx, rax
mov r10d, 1
lea rax, [rdx + rcx]
cmp rax, r8
cmovae r10, rcx
lea rcx, [0x140127751]
add r10, rdx
mov rax, r10
xor rax, r9
and rax, r13
xor rax, r9
mov r9d, 0x811c9dc5
mov qword [rsi + 0x10], rax
movzx eax, byte [str.._AUOptionsToInterpret__A0xdbaf4b5f_protobuf_google__]
test eax, eax
je 0x14006aa17
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x14006aa01
lea rcx, [r10 + r10*2]
mov dword [rsp + 0x28], 0
shl rcx, 5
lea r8, str.._AUOptionsToInterpret__A0xdbaf4b5f_protobuf_google__
mov edx, ntohs
mov dword [rsp + 0x20], 0xfffffffa
call fcn.140025e30
mov rbx, qword [rsi]
mov rbp, rax
mov rcx, qword [rsi + 8]
lea r14, [rcx + rcx*2]
shl r14, 5
add r14, rbx
cmp rbx, r14
je 0x14006aa9a
lea rdi, [rax + 0x50]
nop
lea rcx, [rdi - 0x50]
test rcx, rcx
je 0x14006aa8d
mov rdx, rbx
call fcn.1400030e0
lea rdx, [rbx + 0x28]
lea rcx, [rdi - 0x28]
call fcn.1400030e0
mov rax, qword [rbx + 0x50]
mov qword [rdi], rax
mov rax, qword [rbx + 0x58]
mov qword [rdi + 8], rax
add rdi, 0x60
add rbx, 0x60
cmp rbx, r14
jne 0x14006aa60
mov rax, qword [rsi + 8]
mov rcx, qword [rsi]
movzx r8d, byte [rsp + 0x60]
lea rdx, [rax + rax*2]
shl rdx, 5
add rdx, rcx
call fcn.14004ff20
cmp qword [rsi + 0x10], 0
mov r14, qword [rsp + 0x70]
jl 0x14006aad9
mov rcx, qword [rsi]
lea rdx, str.._AUOptionsToInterpret__A0xdbaf4b5f_protobuf_google__
xor r9d, r9d
lea r8d, [r9 - 6]
call fcn.140025f00
and qword [rsi + 0x10], r13
mov qword [rsi], rbp
mov rax, qword [rsi + 8]
mov r13, qword [rsp + 0x68]
lea rdi, [rax + rax*2]
shl rdi, 5
add rdi, rbp
je 0x14006ab51
mov rcx, rdi
cmp r12, rax
jae 0x14006ab2c
lea rbx, [r12 + r12*2]
shl rbx, 5
add rbx, rbp
mov rdx, rbx
call fcn.1400030e0
lea rdx, [rbx + 0x28]
lea rcx, [rdi + 0x28]
call fcn.1400030e0
mov rax, qword [rbx + 0x50]
mov qword [rdi + 0x50], rax
mov rax, qword [rbx + 0x58]
jmp 0x14006ab4d
mov rdx, r15
call fcn.1400030e0
lea rdx, [r15 + 0x28]
lea rcx, [rdi + 0x28]
call fcn.1400030e0
mov rax, qword [r15 + 0x50]
mov qword [rdi + 0x50], rax
mov rax, qword [r15 + 0x58]
mov qword [rdi + 0x58], rax
inc qword [rsi + 8]
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x14006ab70
Capabilities:
Encode data using xor
Encrypt data using rc4 prga
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x30
mov r8, qword [rcx + 0x10]
mov r9, rdx
movss xmm3, dword [rcx + 0x18]
mov r14, rcx
xorps xmm1, xmm1
test r8, r8
js 0x14006ab99
cvtsi2ss xmm1, r8
jmp 0x14006abaf
mov rax, r8
and r8d, 1
shr rax, 1
or rax, r8
cvtsi2ss xmm1, rax
addss xmm1, xmm1
movss xmm2, dword [0x1400deb28]
movaps xmm0, xmm1
divss xmm0, xmm3
xor eax, eax
comiss xmm0, xmm2
jb 0x14006abdb
subss xmm0, xmm2
comiss xmm0, xmm2
jae 0x14006abdb
movabs rcx, 0x8000000000000000
mov rax, rcx
cvttss2si rdx, xmm0
xorps xmm0, xmm0
add rdx, rax
js 0x14006abef
cvtsi2ss xmm0, rdx
jmp 0x14006ac07
mov rax, rdx
mov rcx, rdx
shr rcx, 1
and eax, 1
or rcx, rax
cvtsi2ss xmm0, rcx
addss xmm0, xmm0
mulss xmm0, xmm3
lea rax, [rdx + 1]
mov edi, 8
comiss xmm1, xmm0
cmovbe rax, rdx
cmp rax, r9
cmovb rax, r9
cmp rdi, rax
jae 0x14006ac2f
add rdi, rdi
cmp rdi, rax
jb 0x14006ac27
cmp rdi, qword [r14]
jne 0x14006ac3f
cmp qword [r14 + 8], 0
jne 0x14006ad61
movzx eax, byte [str..PEAU__chained_hash_node_U__pair_QEBDPEBVFileDescriptor_protobuf_google___blz___blz__]
lea rcx, [0x140127051]
mov qword [rsp + 0x40], rbx
mov r9d, 0x811c9dc5
mov qword [rsp + 0x48], rsi
test eax, eax
je 0x14006ac77
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x14006ac61
lea rbx, [rdi*8]
mov dword [rsp + 0x28], 0
mov rcx, rbx
mov dword [rsp + 0x20], 0xfffffffa
lea r8, str..PEAU__chained_hash_node_U__pair_QEBDPEBVFileDescriptor_protobuf_google___blz___blz__
mov edx, ntohs
call fcn.140025e30
mov rsi, rax
test rdi, rdi
je 0x14006acbc
and rbx, 0xfffffffffffffff8
xor edx, edx
mov r8, rbx
mov rcx, rax
call fcn.1400be550
mov rax, qword [r14 + 8]
mov rbx, qword [rsp + 0x40]
mov rcx, rax
test rax, rax
je 0x14006ad42
xor r9d, r9d
cmp qword [r14], r9
jbe 0x14006ad42
nop word [rax + rax]
mov r8, qword [rax + r9*8]
mov rcx, rax
test r8, r8
je 0x14006ad37
nop dword [rax]
mov rdx, qword [r8 + 8]
xor ecx, ecx
movzx eax, byte [rdx]
test al, al
je 0x14006ad16
nop dword [rax]
movsx rax, al
lea rcx, [rcx + rcx*4]
add rcx, rax
lea rdx, [rdx + 1]
movzx eax, byte [rdx]
test al, al
jne 0x14006ad00
lea rdx, [rdi - 1]
and rdx, rcx
mov rcx, qword [r8]
mov rax, qword [rsi + rdx*8]
mov qword [r8], rax
mov qword [rsi + rdx*8], r8
mov r8, rcx
test rcx, rcx
jne 0x14006acf0
mov rcx, qword [r14 + 8]
inc r9
mov rax, rcx
cmp r9, qword [r14]
jb 0x14006ace0
xor r9d, r9d
lea rdx, str..PEAU__chained_hash_node_U__pair_QEBDPEBVFileDescriptor_protobuf_google___blz___blz__
lea r8d, [r9 - 6]
call fcn.140025f00
mov qword [r14 + 8], rsi
mov rsi, qword [rsp + 0x48]
mov qword [r14], rdi
mov rdi, qword [rsp + 0x50]
add rsp, 0x30
pop r14
ret
Function at 0x14006ad70
Capabilities:
Encode data using xor
Encrypt data using rc4 prga
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x30
mov r8, qword [rcx + 0x10]
mov r9, rdx
movss xmm3, dword [rcx + 0x18]
mov r14, rcx
xorps xmm1, xmm1
test r8, r8
js 0x14006ad99
cvtsi2ss xmm1, r8
jmp 0x14006adaf
mov rax, r8
and r8d, 1
shr rax, 1
or rax, r8
cvtsi2ss xmm1, rax
addss xmm1, xmm1
movss xmm2, dword [0x1400deb28]
movaps xmm0, xmm1
divss xmm0, xmm3
xor eax, eax
comiss xmm0, xmm2
jb 0x14006addb
subss xmm0, xmm2
comiss xmm0, xmm2
jae 0x14006addb
movabs rcx, 0x8000000000000000
mov rax, rcx
cvttss2si rdx, xmm0
xorps xmm0, xmm0
add rdx, rax
js 0x14006adef
cvtsi2ss xmm0, rdx
jmp 0x14006ae07
mov rax, rdx
mov rcx, rdx
shr rcx, 1
and eax, 1
or rcx, rax
cvtsi2ss xmm0, rcx
addss xmm0, xmm0
mulss xmm0, xmm3
lea rax, [rdx + 1]
mov edi, 8
comiss xmm1, xmm0
cmovbe rax, rdx
cmp rax, r9
cmovb rax, r9
cmp rdi, rax
jae 0x14006ae2f
add rdi, rdi
cmp rdi, rax
jb 0x14006ae27
cmp rdi, qword [r14]
jne 0x14006ae3f
cmp qword [r14 + 8], 0
jne 0x14006af61
movzx eax, byte [str..PEAU__chained_hash_node_U__pair_QEBDUSymbol__A0xdbaf4b5f_protobuf_google___blz___blz__]
lea rcx, [0x140126fe1]
mov qword [rsp + 0x40], rbx
mov r9d, 0x811c9dc5
mov qword [rsp + 0x48], rsi
test eax, eax
je 0x14006ae77
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x14006ae61
lea rbx, [rdi*8]
mov dword [rsp + 0x28], 0
mov rcx, rbx
mov dword [rsp + 0x20], 0xfffffffa
lea r8, str..PEAU__chained_hash_node_U__pair_QEBDUSymbol__A0xdbaf4b5f_protobuf_google___blz___blz__
mov edx, ntohs
call fcn.140025e30
mov rsi, rax
test rdi, rdi
je 0x14006aebc
and rbx, 0xfffffffffffffff8
xor edx, edx
mov r8, rbx
mov rcx, rax
call fcn.1400be550
mov rax, qword [r14 + 8]
mov rbx, qword [rsp + 0x40]
mov rcx, rax
test rax, rax
je 0x14006af42
xor r9d, r9d
cmp qword [r14], r9
jbe 0x14006af42
nop word [rax + rax]
mov r8, qword [rax + r9*8]
mov rcx, rax
test r8, r8
je 0x14006af37
nop dword [rax]
mov rdx, qword [r8 + 8]
xor ecx, ecx
movzx eax, byte [rdx]
test al, al
je 0x14006af16
nop dword [rax]
movsx rax, al
lea rcx, [rcx + rcx*4]
add rcx, rax
lea rdx, [rdx + 1]
movzx eax, byte [rdx]
test al, al
jne 0x14006af00
lea rdx, [rdi - 1]
and rdx, rcx
mov rcx, qword [r8]
mov rax, qword [rsi + rdx*8]
mov qword [r8], rax
mov qword [rsi + rdx*8], r8
mov r8, rcx
test rcx, rcx
jne 0x14006aef0
mov rcx, qword [r14 + 8]
inc r9
mov rax, rcx
cmp r9, qword [r14]
jb 0x14006aee0
xor r9d, r9d
lea rdx, str..PEAU__chained_hash_node_U__pair_QEBDUSymbol__A0xdbaf4b5f_protobuf_google___blz___blz__
lea r8d, [r9 - 6]
call fcn.140025f00
mov qword [r14 + 8], rsi
mov rsi, qword [rsp + 0x48]
mov qword [r14], rdi
mov rdi, qword [rsp + 0x50]
add rsp, 0x30
pop r14
ret
Function at 0x14006af70
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
sub rsp, 0x30
movss xmm3, dword [rcx + 0x18]
mov rsi, rcx
mov rcx, qword [rcx + 0x10]
mov r8, rdx
xorps xmm1, xmm1
test rcx, rcx
js 0x14006af98
cvtsi2ss xmm1, rcx
jmp 0x14006afad
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
movss xmm2, dword [0x1400deb28]
movaps xmm0, xmm1
divss xmm0, xmm3
xor eax, eax
comiss xmm0, xmm2
jb 0x14006afd9
subss xmm0, xmm2
comiss xmm0, xmm2
jae 0x14006afd9
movabs rcx, 0x8000000000000000
mov rax, rcx
cvttss2si rdx, xmm0
xorps xmm0, xmm0
add rdx, rax
js 0x14006afed
cvtsi2ss xmm0, rdx
jmp 0x14006b005
mov rax, rdx
mov rcx, rdx
shr rcx, 1
and eax, 1
or rcx, rax
cvtsi2ss xmm0, rcx
addss xmm0, xmm0
mulss xmm0, xmm3
lea rax, [rdx + 1]
mov ebx, 8
comiss xmm1, xmm0
cmovbe rax, rdx
cmp rax, r8
cmovb rax, r8
cmp rbx, rax
jae 0x14006b02d
add rbx, rbx
cmp rbx, rax
jb 0x14006b025
cmp rbx, qword [rsi]
jne 0x14006b03d
cmp qword [rsi + 8], 0
jne 0x14006b14b
movzx eax, byte [str..PEAU__chained_hash_node_U__pair___CBU__pair_PEBVDescriptor_protobuf_google__H_blz__PEBVFieldDescriptor_protobuf_google___blz___blz__]
lea rcx, [0x140127361]
mov qword [rsp + 0x40], rbp
mov r9d, 0x811c9dc5
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], r14
test eax, eax
je 0x14006b086
nop dword [rax]
nop dword [rax + rax]
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x14006b070
xor edi, edi
lea rbp, [rbx*8]
mov dword [rsp + 0x28], edi
lea r8, str..PEAU__chained_hash_node_U__pair___CBU__pair_PEBVDescriptor_protobuf_google__H_blz__PEBVFieldDescriptor_protobuf_google___blz___blz__
mov rcx, rbp
mov dword [rsp + 0x20], 0xfffffffa
lea edx, [rdi + 0xb]
call fcn.140025e30
mov r14, rax
test rbx, rbx
je 0x14006b0c7
and rbp, 0xfffffffffffffff8
xor edx, edx
mov r8, rbp
mov rcx, rax
call fcn.1400be550
mov rax, qword [rsi + 8]
mov rbp, qword [rsp + 0x40]
mov rcx, rax
test rax, rax
je 0x14006b127
cmp qword [rsi], rdi
jbe 0x14006b127
nop dword [rax]
mov r8, qword [rax + rdi*8]
mov rcx, rax
test r8, r8
je 0x14006b11c
lea r9, [rbx - 1]
imul rax, qword [r8 + 8], 0xffff
movsxd rdx, dword [r8 + 0x10]
mov rcx, qword [r8]
add rdx, rax
and rdx, r9
mov rax, qword [r14 + rdx*8]
mov qword [r8], rax
mov qword [r14 + rdx*8], r8
mov r8, rcx
test rcx, rcx
jne 0x14006b0f0
mov rcx, qword [rsi + 8]
inc rdi
mov rax, rcx
cmp rdi, qword [rsi]
jb 0x14006b0e0
xor r9d, r9d
lea rdx, str..PEAU__chained_hash_node_U__pair___CBU__pair_PEBVDescriptor_protobuf_google__H_blz__PEBVFieldDescriptor_protobuf_google___blz___blz__
lea r8d, [r9 - 6]
call fcn.140025f00
mov rdi, qword [rsp + 0x48]
mov qword [rsi + 8], r14
mov r14, qword [rsp + 0x50]
mov qword [rsi], rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x30
pop rsi
ret