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

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x90], rbx
mov rax, qword [0x1403e5188]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rbx, rdx
mov rcx, rdx
call fcn.14009f850
dec eax
cmp eax, 9
ja case.default.0x1401069ff
cdqe
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x106c3c]
add rcx, rdx
jmp rcx
mov r9d, 0x316
lea r8, str.G:protobuf_cpp_3.9.1protobuf_3.9.1_srcgoogle_protobuf_map_field.h
mov edx, 3
lea rcx, [rbp - 0x48]
call fcn.140077fb0
nop
lea rdx, str.Unsupported
mov rcx, rax
call fcn.140078cb0
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.1400781b0
nop
lea rcx, [rbp - 0x48]
call fcn.1400780e0
mov r9d, 0x325
lea r8, str.G:protobuf_cpp_3.9.1protobuf_3.9.1_srcgoogle_protobuf_map_field.h
mov edx, 3
lea rcx, [rbp - 0x48]
call fcn.140077fb0
nop
lea rdx, str.Cant_get_here.
mov rcx, rax
call fcn.140078cb0
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.1400781b0
nop
lea rcx, [rbp - 0x48]
call fcn.1400780e0
xor eax, eax
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.14026fc70
mov rbx, qword [rsp + 0x90]
add rsp, 0x80
pop rbp
ret
mov rcx, rbx
call fcn.14009ab70
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140106ab7
mov rdx, qword [rax]
xor eax, eax
movzx ecx, byte [rdx]
test cl, cl
je 0x140106a85
lea rax, [rax + rax*4]
movsx rcx, cl
add rax, rcx
lea rdx, [rdx + 1]
movzx ecx, byte [rdx]
test cl, cl
jne 0x140106ac0
jmp 0x140106a85
mov rcx, rbx
call fcn.14009a7e0
mov qword [rbp - 0x60], rax
movzx edx, al
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs r8, 0x100000001b3
imul rdx, r8
movzx eax, byte [rbp - 0x5f]
xor rdx, rax
imul rdx, r8
movzx eax, byte [rbp - 0x5e]
xor rdx, rax
imul rdx, r8
movzx eax, byte [rbp - 0x5d]
xor rdx, rax
imul rdx, r8
movzx eax, byte [rbp - 0x5c]
xor rdx, rax
imul rdx, r8
movzx eax, byte [rbp - 0x5b]
xor rax, rdx
imul rax, r8
movzx ecx, byte [rbp - 0x5a]
xor rax, rcx
imul rax, r8
movzx ecx, byte [rbp - 0x59]
xor rax, rcx
imul rax, r8
jmp 0x140106a85
mov rcx, rbx
call fcn.14009a580
mov dword [rbp - 0x60], eax
movzx edx, al
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs r8, 0x100000001b3
imul rdx, r8
movzx eax, byte [rbp - 0x5f]
xor rax, rdx
imul rax, r8
movzx ecx, byte [rbp - 0x5e]
xor rax, rcx
imul rax, r8
movzx ecx, byte [rbp - 0x5d]
xor rax, rcx
imul rax, r8
jmp 0x140106a85
mov rcx, rbx
call fcn.14009b030
mov qword [rbp - 0x60], rax
movzx edx, al
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs r8, 0x100000001b3
imul rdx, r8
movzx eax, byte [rbp - 0x5f]
xor rdx, rax
imul rdx, r8
movzx eax, byte [rbp - 0x5e]
xor rdx, rax
imul rdx, r8
movzx eax, byte [rbp - 0x5d]
xor rdx, rax
imul rdx, r8
movzx eax, byte [rbp - 0x5c]
xor rdx, rax
imul rdx, r8
movzx eax, byte [rbp - 0x5b]
xor rax, rdx
imul rax, r8
movzx ecx, byte [rbp - 0x5a]
xor rax, rcx
imul rax, r8
movzx ecx, byte [rbp - 0x59]
xor rax, rcx
imul rax, r8
jmp 0x140106a85
mov rcx, rbx
call fcn.14009add0
jmp 0x140106b5c
mov rcx, rbx
call fcn.14009a320
movzx eax, al
jmp 0x140106a85
Function at 0x14014c690
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov qword [rax - 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov r12, r9
movzx r15d, r8b
mov r14, rdx
mov r10, rcx
mov r13, qword [rcx]
mov rsi, r13
mov rbx, qword [r13 + 8]
mov dil, 1
cmp byte [rbx + 0x19], 0
jne 0x14014c71e
mov rsi, rbx
test r15b, r15b
je 0x14014c6f3
lea rcx, [rbx + 0x20]
mov rdx, r12
call fcn.14009f790
mov edi, eax
shr edi, 0x1f
xor dil, 1
jmp 0x14014c705
lea rdx, [rbx + 0x20]
mov rcx, r12
call fcn.14009f790
shr eax, 0x1f
movzx edi, al
test dil, dil
je 0x14014c70f
mov rbx, qword [rbx]
jmp 0x14014c713
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x19], 0
je 0x14014c6d4
mov r10, qword [rsp + 0x70]
mov rbx, rsi
mov rcx, rsi
test dil, dil
je 0x14014c7e0
cmp rsi, qword [r13]
jne 0x14014c76a
movzx eax, byte [rsp + 0x90]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], r12
mov r9, rsi
mov r8b, 1
lea rdx, [rsp + 0x70]
mov rcx, r10
call fcn.14014b090
mov rax, qword [rax]
mov qword [r14], rax
mov byte [r14 + 8], 1
mov rax, r14
jmp 0x14014c835
cmp byte [rsi + 0x19], 0
je 0x14014c776
mov rbx, qword [rsi + 0x10]
jmp 0x14014c7dd
mov rax, qword [rsi]
cmp byte [rax + 0x19], 0
je 0x14014c7bf
mov rax, qword [rsi + 8]
cmp byte [rax + 0x19], 0
jne 0x14014c7b1
mov rdx, rsi
nop dword [rax]
mov r8, rax
mov r9, rax
mov rcx, rdx
cmp rdx, qword [rax]
jne 0x14014c7b1
mov rbx, rax
mov rax, qword [rax + 8]
mov rdx, rbx
mov rcx, rbx
cmp byte [rax + 0x19], 0
je 0x14014c790
cmp byte [rbx + 0x19], 0
jne 0x14014c7e0
mov rbx, rax
mov rcx, rax
jmp 0x14014c7e0
mov rbx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
jne 0x14014c7dd
nop dword [rax]
mov rbx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x14014c7d0
mov rcx, rbx
add rcx, 0x20
mov rdx, r12
call fcn.14009f790
shr eax, 0x1f
test al, al
je 0x14014c82a
movzx eax, byte [rsp + 0x90]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], r12
mov r9, rsi
movzx r8d, dil
lea rdx, [rsp + 0x38]
mov rcx, qword [rsp + 0x70]
call fcn.14014b090
mov rax, qword [rax]
mov qword [r14], rax
mov byte [r14 + 8], 1
mov rax, r14
jmp 0x14014c835
mov qword [r14], rbx
mov byte [r14 + 8], 0
mov rax, r14
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x14014c860
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov qword [rax - 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov r12, r9
movzx r15d, r8b
mov r14, rdx
mov r10, rcx
mov r13, qword [rcx]
mov rsi, r13
mov rbx, qword [r13 + 8]
mov dil, 1
cmp byte [rbx + 0x19], 0
jne 0x14014c8ee
mov rsi, rbx
test r15b, r15b
je 0x14014c8c3
lea rcx, [rbx + 0x20]
mov rdx, r12
call fcn.14009f790
mov edi, eax
shr edi, 0x1f
xor dil, 1
jmp 0x14014c8d5
lea rdx, [rbx + 0x20]
mov rcx, r12
call fcn.14009f790
shr eax, 0x1f
movzx edi, al
test dil, dil
je 0x14014c8df
mov rbx, qword [rbx]
jmp 0x14014c8e3
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x19], 0
je 0x14014c8a4
mov r10, qword [rsp + 0x70]
mov rbx, rsi
mov rcx, rsi
test dil, dil
je 0x14014c9b0
cmp rsi, qword [r13]
jne 0x14014c93a
movzx eax, byte [rsp + 0x90]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], r12
mov r9, rsi
mov r8b, 1
lea rdx, [rsp + 0x70]
mov rcx, r10
call fcn.14014b320
mov rax, qword [rax]
mov qword [r14], rax
mov byte [r14 + 8], 1
mov rax, r14
jmp 0x14014ca05
cmp byte [rsi + 0x19], 0
je 0x14014c946
mov rbx, qword [rsi + 0x10]
jmp 0x14014c9ad
mov rax, qword [rsi]
cmp byte [rax + 0x19], 0
je 0x14014c98f
mov rax, qword [rsi + 8]
cmp byte [rax + 0x19], 0
jne 0x14014c981
mov rdx, rsi
nop dword [rax]
mov r8, rax
mov r9, rax
mov rcx, rdx
cmp rdx, qword [rax]
jne 0x14014c981
mov rbx, rax
mov rax, qword [rax + 8]
mov rdx, rbx
mov rcx, rbx
cmp byte [rax + 0x19], 0
je 0x14014c960
cmp byte [rbx + 0x19], 0
jne 0x14014c9b0
mov rbx, rax
mov rcx, rax
jmp 0x14014c9b0
mov rbx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
jne 0x14014c9ad
nop dword [rax]
mov rbx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x14014c9a0
mov rcx, rbx
add rcx, 0x20
mov rdx, r12
call fcn.14009f790
shr eax, 0x1f
test al, al
je 0x14014c9fa
movzx eax, byte [rsp + 0x90]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], r12
mov r9, rsi
movzx r8d, dil
lea rdx, [rsp + 0x38]
mov rcx, qword [rsp + 0x70]
call fcn.14014b320
mov rax, qword [rax]
mov qword [r14], rax
mov byte [r14 + 8], 1
mov rax, r14
jmp 0x14014ca05
mov qword [r14], rbx
mov byte [r14 + 8], 0
mov rax, r14
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x14014ca30
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov qword [rax - 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov r12, r9
movzx r15d, r8b
mov r14, rdx
mov r10, rcx
mov r13, qword [rcx]
mov rsi, r13
mov rbx, qword [r13 + 8]
mov dil, 1
cmp byte [rbx + 0x19], 0
jne 0x14014cabe
mov rsi, rbx
test r15b, r15b
je 0x14014ca93
lea rcx, [rbx + 0x20]
mov rdx, r12
call fcn.14009f790
mov edi, eax
shr edi, 0x1f
xor dil, 1
jmp 0x14014caa5
lea rdx, [rbx + 0x20]
mov rcx, r12
call fcn.14009f790
shr eax, 0x1f
movzx edi, al
test dil, dil
je 0x14014caaf
mov rbx, qword [rbx]
jmp 0x14014cab3
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x19], 0
je 0x14014ca74
mov r10, qword [rsp + 0x70]
mov rbx, rsi
mov rcx, rsi
test dil, dil
je 0x14014cb80
cmp rsi, qword [r13]
jne 0x14014cb0a
movzx eax, byte [rsp + 0x90]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], r12
mov r9, rsi
mov r8b, 1
lea rdx, [rsp + 0x70]
mov rcx, r10
call fcn.14014b5b0
mov rax, qword [rax]
mov qword [r14], rax
mov byte [r14 + 8], 1
mov rax, r14
jmp 0x14014cbd5
cmp byte [rsi + 0x19], 0
je 0x14014cb16
mov rbx, qword [rsi + 0x10]
jmp 0x14014cb7d
mov rax, qword [rsi]
cmp byte [rax + 0x19], 0
je 0x14014cb5f
mov rax, qword [rsi + 8]
cmp byte [rax + 0x19], 0
jne 0x14014cb51
mov rdx, rsi
nop dword [rax]
mov r8, rax
mov r9, rax
mov rcx, rdx
cmp rdx, qword [rax]
jne 0x14014cb51
mov rbx, rax
mov rax, qword [rax + 8]
mov rdx, rbx
mov rcx, rbx
cmp byte [rax + 0x19], 0
je 0x14014cb30
cmp byte [rbx + 0x19], 0
jne 0x14014cb80
mov rbx, rax
mov rcx, rax
jmp 0x14014cb80
mov rbx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
jne 0x14014cb7d
nop dword [rax]
mov rbx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x14014cb70
mov rcx, rbx
add rcx, 0x20
mov rdx, r12
call fcn.14009f790
shr eax, 0x1f
test al, al
je 0x14014cbca
movzx eax, byte [rsp + 0x90]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], r12
mov r9, rsi
movzx r8d, dil
lea rdx, [rsp + 0x38]
mov rcx, qword [rsp + 0x70]
call fcn.14014b5b0
mov rax, qword [rax]
mov qword [r14], rax
mov byte [r14 + 8], 1
mov rax, r14
jmp 0x14014cbd5
mov qword [r14], rbx
mov byte [r14 + 8], 0
mov rax, r14
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x14014cc00
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov qword [rax - 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov r12, r9
movzx r15d, r8b
mov r14, rdx
mov r10, rcx
mov r13, qword [rcx]
mov rsi, r13
mov rbx, qword [r13 + 8]
mov dil, 1
cmp byte [rbx + 0x19], 0
jne 0x14014cc8e
mov rsi, rbx
test r15b, r15b
je 0x14014cc63
lea rcx, [rbx + 0x20]
mov rdx, r12
call fcn.14009f790
mov edi, eax
shr edi, 0x1f
xor dil, 1
jmp 0x14014cc75
lea rdx, [rbx + 0x20]
mov rcx, r12
call fcn.14009f790
shr eax, 0x1f
movzx edi, al
test dil, dil
je 0x14014cc7f
mov rbx, qword [rbx]
jmp 0x14014cc83
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x19], 0
je 0x14014cc44
mov r10, qword [rsp + 0x70]
mov rbx, rsi
mov rcx, rsi
test dil, dil
je 0x14014cd50
cmp rsi, qword [r13]
jne 0x14014ccda
movzx eax, byte [rsp + 0x90]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], r12
mov r9, rsi
mov r8b, 1
lea rdx, [rsp + 0x70]
mov rcx, r10
call fcn.14014b840
mov rax, qword [rax]
mov qword [r14], rax
mov byte [r14 + 8], 1
mov rax, r14
jmp 0x14014cda5
cmp byte [rsi + 0x19], 0
je 0x14014cce6
mov rbx, qword [rsi + 0x10]
jmp 0x14014cd4d
mov rax, qword [rsi]
cmp byte [rax + 0x19], 0
je 0x14014cd2f
mov rax, qword [rsi + 8]
cmp byte [rax + 0x19], 0
jne 0x14014cd21
mov rdx, rsi
nop dword [rax]
mov r8, rax
mov r9, rax
mov rcx, rdx
cmp rdx, qword [rax]
jne 0x14014cd21
mov rbx, rax
mov rax, qword [rax + 8]
mov rdx, rbx
mov rcx, rbx
cmp byte [rax + 0x19], 0
je 0x14014cd00
cmp byte [rbx + 0x19], 0
jne 0x14014cd50
mov rbx, rax
mov rcx, rax
jmp 0x14014cd50
mov rbx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
jne 0x14014cd4d
nop dword [rax]
mov rbx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x14014cd40
mov rcx, rbx
add rcx, 0x20
mov rdx, r12
call fcn.14009f790
shr eax, 0x1f
test al, al
je 0x14014cd9a
movzx eax, byte [rsp + 0x90]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], r12
mov r9, rsi
movzx r8d, dil
lea rdx, [rsp + 0x38]
mov rcx, qword [rsp + 0x70]
call fcn.14014b840
mov rax, qword [rax]
mov qword [r14], rax
mov byte [r14 + 8], 1
mov rax, r14
jmp 0x14014cda5
mov qword [r14], rbx
mov byte [r14 + 8], 0
mov rax, r14
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x140154c70
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rdi
push r14
push r15
sub rsp, 0x40
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rsi
mov rdi, r9
mov r10, r8
mov r14, rdx
mov rsi, rcx
movzx r9d, byte [r8]
movabs rax, 0xcbf29ce484222325
xor r9, rax
movabs rcx, 0x100000001b3
imul r9, rcx
movzx eax, byte [r8 + 1]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 2]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 3]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 4]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 5]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 6]
xor r9, rax
imul r9, rcx
movzx eax, byte [r8 + 7]
xor r9, rax
imul r9, rcx
mov r8, qword [rsi + 0x30]
and r8, r9
mov rbx, qword [rsi + 8]
mov rax, r8
add rax, rax
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rdx + rax*8]
cmp rbx, rcx
je 0x140154d88
mov rbx, qword [rdx + rax*8 + 8]
mov rbx, qword [rbx]
nop dword [rax + rax]
cmp rbx, rcx
je 0x140154d88
mov rbx, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
cmp qword [r10], rax
jne 0x140154d40
mov rcx, qword [rdi + 8]
mov rax, qword [rdi]
mov qword [rcx], rax
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
dec qword [rsi + 0x10]
mov edx, 0x20
mov rcx, rdi
call fcn.14026f798
mov qword [r14], rbx
mov byte [r14 + 8], 0
mov rax, r14
jmp 0x140154ebb
mov qword [rsp + 0x20], rdi
mov rax, qword [rdi]
cmp rbx, rax
je 0x140154dc2
mov rcx, qword [rdi + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov rdx, qword [rbx + 8]
mov rcx, qword [rax + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
add r8, r8
mov rdx, qword [rsi + 0x18]
mov rax, qword [rdx + r8*8]
cmp rax, qword [rsi + 8]
jne 0x140154de2
mov qword [rdx + r8*8], rdi
mov rax, qword [rsi + 0x18]
mov qword [rax + r8*8 + 8], rdi
jmp 0x140154e11
cmp rax, rbx
jne 0x140154ded
mov qword [rdx + r8*8], rdi
jmp 0x140154e11
mov rax, qword [rdx + r8*8 + 8]
mov rcx, qword [rax]
mov qword [rdx + r8*8 + 8], rcx
cmp rcx, rdi
je 0x140154e11
mov rdx, qword [rsi + 0x18]
mov rax, qword [rdx + r8*8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r8*8 + 8], rcx
mov rax, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x38]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movss xmm1, dword [0x1402e4a04]
test rax, rax
jns 0x140154e32
addss xmm0, xmm1
xorps xmm2, xmm2
cvtsi2ss xmm2, rdx
test rdx, rdx
jns 0x140154e43
addss xmm2, xmm1
divss xmm0, xmm2
comiss xmm0, dword [rsi]
jbe 0x140154eb0
cmp rdx, 0x200
jae 0x140154e5f
lea rdx, [rdx*8]
jmp 0x140154e71
movabs rax, 0xfffffffffffffff
cmp rdx, rax
jae 0x140154e71
add rdx, rdx
mov rcx, rsi
call fcn.140156d10
mov rax, qword [rsi + 8]
cmp qword [rax], rax
je 0x140154eb0
mov r15, qword [rax + 8]
nop word [rax + rax]
mov rbx, qword [rsi + 8]
mov rbx, qword [rbx]
lea r8, [rbx + 0x10]
mov r9, rbx
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.140154c70
cmp rbx, r15
jne 0x140154e90
mov qword [r14], rdi
mov byte [r14 + 8], 1
mov rax, r14
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret
Function at 0x140154ed0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
movzx r9d, byte [r8 + 0x10]
mov r10, rcx
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
xor r9, rax
mov rdi, rdx
movzx eax, byte [r8 + 0x11]
mov rdx, qword [r10 + 0x30]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 0x12]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 0x13]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 0x14]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 0x15]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 0x16]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 0x17]
imul r9, rcx
xor r9, rax
imul r9, rcx
mov rcx, qword [r10 + 0x18]
and rdx, r9
shl rdx, 4
add rcx, rdx
mov rax, qword [rcx]
cmp qword [rcx + 8], r8
jne 0x140154f94
cmp rax, r8
jne 0x140154f8a
mov rax, qword [r10 + 8]
mov qword [rcx], rax
mov rcx, qword [r10 + 0x18]
mov rax, qword [r10 + 8]
mov qword [rdx + rcx + 8], rax
jmp 0x140154f9f
mov rax, qword [r8 + 8]
mov qword [rcx + 8], rax
jmp 0x140154f9f
cmp rax, r8
jne 0x140154f9f
mov rax, qword [r8]
mov qword [rcx], rax
mov rax, qword [r8 + 8]
mov edx, 0x20
mov rbx, qword [r8]
mov qword [rax], rbx
mov rcx, qword [r8]
mov rax, qword [r8 + 8]
mov qword [rcx + 8], rax
mov rcx, r8
dec qword [r10 + 0x10]
call fcn.14026f798
mov qword [rdi], rbx
mov rax, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x140172800
Capabilities:
Accept command line arguments

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x1403e5188]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rdi, rdx
mov r12, rcx
mov qword [rsp + 0x38], rcx
lea rax, vtable.base::WCommandLine.0
mov qword [rcx], rax
lea rbx, [rcx + 8]
mov qword [rsp + 0x30], rbx
xor ebp, ebp
mov qword [rbx], rbp
mov qword [rbx + 8], rbp
lea ecx, [rbp + 0x60]
call fcn.14026fc98
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbx], rax
mov qword [r12 + 0x18], rbp
mov qword [r12 + 0x20], rbp
mov qword [r12 + 0x28], rbp
test rdi, rdi
je 0x140172a23
mov dword [rsp + 0x20], ebp
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov qword [rsp + 0x30], rax
test rax, rax
je 0x140172a23
mov r15d, ebp
mov dword [rsp + 0x24], ebp
cmp dword [rsp + 0x20], ebp
jle 0x140172a19
mov r14, rax
mov rdx, qword [r14]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], bp
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x1401728d4
lea rcx, [rsp + 0x40]
call fcn.14003fb20
nop
mov rbx, qword [r12 + 0x20]
cmp rbx, qword [r12 + 0x28]
je 0x140172995
mov qword [rbx], rbp
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], rbp
lea r13, [rsp + 0x40]
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x58]
cmp rbp, 8
cmovae r13, rdi
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
cmp rax, 8
jae 0x14017293c
movups xmm0, xmmword [r13]
movups xmmword [rbx], xmm0
mov r15d, 7
jmp 0x140172980
mov r15, rax
or r15, 7
movabs rax, 0x7ffffffffffffffe
cmp r15, rax
cmova r15, rax
lea rdx, [r15 + 1]
mov rcx, rbx
call fcn.1400377f0
mov qword [rbx], rax
mov r8, qword [rsp + 0x28]
lea r8, [r8*2 + 2]
mov rdx, r13
mov rcx, rax
call fcn.1402b61df
mov rax, qword [rsp + 0x28]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], r15
add qword [r12 + 0x20], 0x20
mov r15d, dword [rsp + 0x24]
jmp 0x1401729b1
lea r8, [rsp + 0x40]
mov rdx, rbx
lea rcx, [r12 + 0x18]
call fcn.14010cb00
mov rbp, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x40]
cmp rbp, 8
jb 0x1401729e8
lea rdx, [rbp*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1401729e0
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140172a0d
mov rcx, rdi
call fcn.14026f798
mov rdx, qword [r14]
mov rcx, r12
call fcn.140173f10
inc r15d
mov dword [rsp + 0x24], r15d
add r14, 8
cmp r15d, dword [rsp + 0x20]
jge 0x140172a14
xor ebp, ebp
jmp 0x1401728b2
call qword [0x1402da078]
int3
mov rax, qword [rsp + 0x30]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LocalFree]
nop
mov rax, r12
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14026fc70
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1401759b0
Capabilities:
Get file version info

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x278
mov rax, qword [0x1403e5188]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov r14, r9
mov rbp, r8
mov r12, rdx
mov r15, rcx
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x50]
call fcn.1402b61f1
mov r8d, 0x104
lea rdx, [rsp + 0x50]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor r13d, r13d
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], r13w
lea rax, [rsp + 0x50]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], r13w
jne 0x140175a30
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.14003fb20
nop
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rcx, qword [rsp + 0x30]
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov esi, eax
test eax, eax
jne 0x140175a6f
xor bl, bl
jmp 0x140175baa
mov rdi, rsi
cmp rsi, 0x1000
jb 0x140175aa4
lea rcx, [rsi + 0x27]
cmp rcx, rsi
jbe 0x140175c1d
call fcn.14026fc98
test rax, rax
je 0x140175bea
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140175aaf
mov rcx, rdi
call fcn.14026fc98
mov rbx, rax
mov r8, rdi
xor edx, edx
mov rcx, rbx
call fcn.1402b61f1
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rcx, qword [rsp + 0x30]
mov r9, rbx
mov r8d, esi
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
jne 0x140175b1a
test rbx, rbx
je 0x140175b13
cmp rdi, 0x1000
jb 0x140175b08
add rdi, 0x27
mov rcx, qword [rbx - 8]
sub rbx, rcx
lea rax, [rbx - 8]
cmp rax, 0x1f
ja 0x140175bea
mov rbx, rcx
mov rdx, rdi
mov rcx, rbx
call fcn.14026f798
xor bl, bl
jmp 0x140175baa
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r13d
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
lea rdx, [0x1402fa7f0]
mov rcx, rbx
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x140175ade
mov rcx, qword [rsp + 0x28]
test r15, r15
je 0x140175b52
movzx eax, word [rcx + 0xa]
mov dword [r15], eax
test r12, r12
je 0x140175b5f
movzx eax, word [rcx + 8]
mov dword [r12], eax
test rbp, rbp
je 0x140175b6b
movzx eax, word [rcx + 0xe]
mov dword [rbp], eax
test r14, r14
je 0x140175b77
movzx eax, word [rcx + 0xc]
mov dword [r14], eax
test rbx, rbx
je 0x140175ba8
cmp rdi, 0x1000
jb 0x140175b9d
add rdi, 0x27
mov rcx, qword [rbx - 8]
sub rbx, rcx
lea rax, [rbx - 8]
cmp rax, 0x1f
ja 0x140175bea
mov rbx, rcx
mov rdx, rdi
mov rcx, rbx
call fcn.14026f798
mov bl, 1
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x140175bf6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140175bf1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140175bf1
call qword [0x1402da078]
nop
call qword [0x1402da078]
nop
call fcn.14026f798
movzx eax, bl
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.14026fc70
add rsp, 0x278
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.140037360
nop
int3
Function at 0x14017edb0
Capabilities:
Encode data using xor

Disassembly:
xor r8d, r8d
cmp rcx, rdx
je 0x14017edea
nop dword [rax + rax]
movsx r9d, byte [rcx]
mov rax, r8
shl rax, 6
sub r9d, 0x61c88647
add r9, rax
inc rcx
mov rax, r8
shr rax, 2
add r9, rax
xor r8, r9
cmp rcx, rdx
jne 0x14017edc0
movabs rax, 0x200000005
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 0x1e
imul eax, eax, 0x7fffffff
sub r8d, eax
bts r8d, 0x1e
mov eax, r8d
ret
Function at 0x14019a720
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
movabs rax, 0xcbf29ce484222325
mov r9d, 0
sub r8, rdx
je 0x14019a754
movabs r10, 0x100000001b3
nop
movzx ecx, byte [r9 + rdx]
inc r9
xor rax, rcx
imul rax, r10
cmp r9, r8
jb 0x14019a740
ret