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

Disassembly:
mov qword [rsp + 0x18], rbp
push rsi
push r14
push r15
sub rsp, 0x60
mov rax, qword [rcx]
mov r15, r9
mov rbp, r8
mov rsi, rdx
mov r14, rcx
call qword [rax + 0x20]
test al, al
jne 0x18017ab0c
mov rcx, r14
call fcn.1800a53c0
mov r8, qword [r14 + 0x38]
mov rdx, qword [r14 + 0x30]
mov rax, r8
mov rcx, qword [r14 + 0x48]
sub rax, rdx
sub rax, rcx
cmp r15, rax
jb 0x18017aceb
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x88], rdi
nop word [rax + rax]
sub r8, rdx
lea r10, [rdx + rcx]
sub r8, rcx
mov rdi, r8
mov rdx, r8
and edi, 0x1f
sub rdx, rdi
je 0x18017abe3
mov r11, rsi
mov r9, rbp
sub r11, r10
mov rcx, r10
sub r9, r10
nop dword [rax + rax]
movups xmm0, xmmword [r11 + rcx]
xor eax, eax
movups xmm1, xmmword [r11 + rcx + 0x10]
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
nop dword [rax + rax]
movdqu xmm0, xmmword [rsp + rax + 0x20]
movdqu xmm1, xmmword [rsp + rax + 0x40]
xorps xmm1, xmm0
movdqu xmmword [rsp + rax + 0x20], xmm1
add rax, 0x10
cmp rax, 0x20
jl 0x18017aba0
movups xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [r9 + rcx], xmm0
movups xmmword [r9 + rcx + 0x10], xmm1
add rcx, 0x20
mov rax, rcx
sub rax, r10
cmp rax, rdx
jne 0x18017ab70
cmp rdx, r8
je 0x18017ac95
cmp rdi, 8
jb 0x18017ac65
lea r9, [rbp - 1]
lea rax, [rsi - 1]
add r9, r8
add rax, r8
lea r11, [rdx + rbp]
lea rcx, [rdx + rsi]
cmp r11, rax
ja 0x18017ac12
cmp r9, rcx
jae 0x18017ac65
lea rax, [r10 - 1]
add rax, r8
lea rbx, [r10 + rdx]
cmp r11, rax
ja 0x18017ac27
cmp r9, rbx
jae 0x18017ac65
and edi, 7
mov r9, r8
sub r9, rdi
mov r11, r10
mov rbx, rbp
sub r11, rsi
sub rbx, rsi
nop dword [rax]
movq xmm1, qword [r11 + rcx]
add rdx, 8
movq xmm0, qword [rcx]
lea rcx, [rcx + 8]
xorps xmm1, xmm0
movq qword [rbx + rcx - 8], xmm1
cmp rdx, r9
jne 0x18017ac40
cmp rdx, r8
je 0x18017ac95
mov r9, rbp
lea rcx, [rdx + rsi]
sub r9, rsi
sub r10, rsi
sub r8, rdx
nop word [rax + rax]
movzx eax, byte [rcx + r10]
xor al, byte [rcx]
mov byte [rcx + r9], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x18017ac80
mov r8, qword [r14 + 0x38]
mov rcx, r14
mov rax, qword [r14 + 0x30]
sub rax, r8
sub r8, qword [r14 + 0x30]
sub r8, qword [r14 + 0x48]
add rax, qword [r14 + 0x48]
add rsi, r8
add rbp, r8
add r15, rax
call fcn.18017ad80
mov r8, qword [r14 + 0x38]
mov rcx, qword [r14 + 0x48]
mov rax, r8
mov rdx, qword [r14 + 0x30]
sub rax, rcx
sub rax, rdx
cmp r15, rax
jae 0x18017ab40
mov rdi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
lea r8, [rdx + rcx]
mov r9, r15
mov rdx, rsi
mov rcx, rbp
call fcn.1800f7260
add qword [r14 + 0x48], r15
mov rbp, qword [rsp + 0x90]
add rsp, 0x60
pop r15
pop r14
pop rsi
ret
Function at 0x180189520
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x70
mov rax, qword [rcx]
mov r14, r8
mov rbp, rdx
mov rsi, rcx
call qword [rax + 0x20]
test al, al
jne 0x180189544
mov rcx, rsi
call fcn.1800a53c0
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx + 0x48]
cmp qword [rcx + 0x40], rax
je 0x18018970f
mov qword [rsp + 0x68], r13
mov r13, qword [rsi + 0x58]
test r14, r14
je 0x180189701
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0x60], r15
nop word [rax + rax]
cmp qword [rsi + 0x60], r14
mov r15, r14
mov rdx, qword [rsi + 0x18]
cmovb r15, qword [rsi + 0x60]
mov rcx, qword [rsi + 0x10]
mov rbx, r15
mov r8, r15
imul rbx, r13
call fcn.18018a960
mov r11, qword [rsi + 0x20]
mov rdi, rbx
mov r9, rbp
and edi, 0x1f
sub r9, r11
mov r8, rbx
mov r12, rax
sub r8, rdi
je 0x18018963f
mov rcx, r11
movups xmm0, xmmword [rcx]
xor eax, eax
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [r9 + rcx]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [r9 + rcx + 0x10]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
nop dword [rax]
movdqu xmm0, xmmword [rsp + rax + 0x20]
movdqu xmm1, xmmword [rsp + rax + 0x40]
xorps xmm1, xmm0
movdqu xmmword [rsp + rax + 0x20], xmm1
add rax, 0x10
cmp rax, 0x20
jl 0x180189600
movups xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
add rcx, 0x20
mov rax, rcx
sub rax, r11
cmp rax, r8
jne 0x1801895d1
cmp r8, rbx
je 0x1801896c1
cmp rdi, 8
jb 0x1801896a4
lea rdx, [r11 - 1]
lea rax, [rbp - 1]
add rdx, rbx
add rax, rbx
lea rcx, [r8 + r11]
lea r10, [r8 + rbp]
cmp rcx, rax
ja 0x18018966a
cmp rdx, r10
jae 0x1801896a4
and edi, 7
mov rax, rbx
sub rax, rdi
nop dword [rax]
nop word [rax + rax]
movq xmm0, qword [rcx]
add r8, 8
movq xmm1, qword [r9 + rcx]
lea rcx, [rcx + 8]
xorps xmm1, xmm0
movq qword [rcx - 8], xmm1
cmp r8, rax
jne 0x180189680
cmp r8, rbx
je 0x1801896c1
mov rdx, rbx
lea rcx, [r8 + r11]
sub rdx, r8
nop
movzx eax, byte [r9 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1801896b0
mov rcx, qword [rsi + 8]
mov r9, r15
mov r8, r12
mov rdx, rbp
mov rax, qword [rcx]
call qword [rax + 0x58]
add qword [rsi + 0x18], r15
add rbp, rbx
sub r14, r15
jne 0x180189590
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x90]
mov r13, qword [rsp + 0x68]
add rsp, 0x70
pop r14
pop rsi
pop rbp
ret
lea r8, [0x1803e3c70]
lea rdx, str.encrypt
lea rcx, str.m_L__initialized__
call fcn.1800d2170
int3
Function at 0x180189c90
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x60
mov rax, qword [rcx]
mov r14, r8
mov rbp, rdx
mov rsi, rcx
call qword [rax + 0x20]
test al, al
jne 0x180189cb4
mov rcx, rsi
call fcn.1800a53c0
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx + 0x48]
cmp qword [rcx + 0x40], rax
je 0x180189e7a
mov qword [rsp + 0x90], r12
mov r12, qword [rsi + 0x58]
test r14, r14
je 0x180189e69
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x98], r15
nop dword [rax]
nop word [rax + rax]
cmp qword [rsi + 0x60], r14
mov r15, r14
mov rdx, qword [rsi + 0x18]
cmovb r15, qword [rsi + 0x60]
mov rcx, qword [rsi + 0x10]
mov rbx, r15
mov r8, r15
imul rbx, r12
call fcn.18018a960
mov rcx, qword [rsi + 8]
mov r9, r15
mov r8, rax
mov rdx, rbp
mov r10, qword [rcx]
call qword [r10 + 0x60]
mov r11, qword [rsi + 0x20]
mov rdi, rbx
mov r9, rbp
and edi, 0x1f
sub r9, r11
mov rdx, rbx
sub rdx, rdi
je 0x180189dbf
mov rcx, r11
movups xmm0, xmmword [rcx]
xor eax, eax
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [r9 + rcx]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [r9 + rcx + 0x10]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
nop word [rax + rax]
movdqu xmm0, xmmword [rsp + rax + 0x20]
movdqu xmm1, xmmword [rsp + rax + 0x40]
xorps xmm1, xmm0
movdqu xmmword [rsp + rax + 0x20], xmm1
add rax, 0x10
cmp rax, 0x20
jl 0x180189d80
movups xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
add rcx, 0x20
mov rax, rcx
sub rax, r11
cmp rax, rdx
jne 0x180189d52
cmp rdx, rbx
je 0x180189e41
cmp rdi, 8
jb 0x180189e24
lea r8, [r11 - 1]
lea rax, [rbp - 1]
add r8, rbx
add rax, rbx
lea rcx, [rdx + r11]
lea r10, [rdx + rbp]
cmp rcx, rax
ja 0x180189dea
cmp r8, r10
jae 0x180189e24
and edi, 7
mov rax, rbx
sub rax, rdi
nop dword [rax]
nop word [rax + rax]
movq xmm0, qword [rcx]
add rdx, 8
movq xmm1, qword [r9 + rcx]
lea rcx, [rcx + 8]
xorps xmm1, xmm0
movq qword [rcx - 8], xmm1
cmp rdx, rax
jne 0x180189e00
cmp rdx, rbx
je 0x180189e41
mov r8, rbx
lea rcx, [rdx + r11]
sub r8, rdx
nop
movzx eax, byte [r9 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x180189e30
add qword [rsi + 0x18], r15
add rbp, rbx
sub r14, r15
jne 0x180189d00
mov r15, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
mov r12, qword [rsp + 0x90]
add rsp, 0x60
pop r14
pop rsi
pop rbp
ret
lea r8, [0x1803e3c70]
lea rdx, str.decrypt
lea rcx, str.m_L__initialized__
call fcn.1800d2170
int3
Function at 0x18018ef50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push r14
sub rsp, 0x20
mov rsi, qword [rdx + 8]
mov r14, rdx
mov rbx, rcx
lea rax, [rsi - 1]
cmp rax, 0xf
ja 0x18018f088
mov rax, qword [rcx]
mov qword [rsp + 0x30], rdi
call qword [rax + 0x20]
test al, al
jne 0x18018ef8f
mov rcx, rbx
call fcn.1800a53c0
mov r9, qword [rbx + 0xa0]
lea rdi, [rbx + 0x38]
mov r8, qword [rbx + 0x98]
mov rdx, rdi
mov rcx, rbx
call fcn.18018f460
xor eax, eax
cmp rsi, 8
jb 0x18018f032
mov rdx, qword [r14]
lea r8, [rsi - 1]
mov r10, qword [rdi]
lea rcx, [rsi - 1]
add r8, rdx
lea r9, [rbx + 0x50]
add rcx, r10
cmp rdx, rcx
ja 0x18018efd6
cmp r8, r10
jae 0x18018f032
mov r11, qword [r9]
lea rcx, [rsi - 1]
add rcx, r11
cmp rdx, rcx
ja 0x18018efea
cmp r8, r11
jae 0x18018f032
cmp rdx, rdi
ja 0x18018eff4
cmp r8, rdi
jae 0x18018f032
cmp rdx, r9
ja 0x18018effe
cmp r8, r9
jae 0x18018f032
mov rcx, rsi
and rcx, 0xfffffffffffffff8
nop word [rax + rax]
movq xmm1, qword [r11 + rax]
movq xmm0, qword [r10 + rax]
xorps xmm1, xmm0
movq qword [rdx + rax], xmm1
add rax, 8
cmp rax, rcx
jne 0x18018f010
cmp rax, rsi
je 0x18018f05a
mov r8, qword [r14]
nop word [rax + rax]
mov rdx, qword [rdi]
mov rcx, qword [rbx + 0x50]
movzx edx, byte [rdx + rax]
xor dl, byte [rax + rcx]
mov byte [r8 + rax], dl
inc rax
cmp rax, rsi
jne 0x18018f040
mov rax, qword [rdi]
cmp rax, qword [rdi + 8]
je 0x18018f067
mov qword [rdi + 8], rax
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
mov qword [rbx + 0xa0], 0
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop r14
ret
lea r8, [0x1803e3300]
lea rdx, str.final
lea rcx, str.GHASH_output_length
call fcn.1800d20d0
int3
Function at 0x180190e10
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x180428208]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rdi, rdx
mov rbp, rcx
mov qword [rsp + 0x28], rdx
xor r14d, r14d
lea rdx, [rsp + 0x30]
mov rcx, r8
call fcn.1801188b0
nop
mov qword [rsp + 0x28], rbp
mov rcx, rbp
call fcn.1800a73f8
test eax, eax
jne 0x180191031
mov eax, dword [rbp + 0x4c]
cmp eax, 0x7fffffff
je 0x18019101b
lea r8, [rsp + 0x30]
mov r15, qword [rsp + 0x30]
mov r12, qword [rsp + 0x48]
cmp r12, 0x10
cmovae r8, r15
movabs rdx, 0xcbf29ce484222325
mov ecx, r14d
mov rsi, qword [rsp + 0x40]
test rsi, rsi
je 0x180190ec4
movabs r9, 0x100000001b3
nop dword [rax]
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r9
inc rcx
cmp rcx, rsi
jb 0x180190eb0
mov rcx, qword [rbp + 0xc0]
and rcx, rdx
add rcx, rcx
mov rax, qword [rbp + 0xa8]
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, qword [rbp + 0x98]
je 0x180190f33
mov r14, qword [rax + rcx*8]
nop word [rax + rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x180190f02
mov rdx, qword [rdx]
lea rcx, [rsp + 0x30]
cmp r12, 0x10
cmovae rcx, r15
cmp rsi, rax
jne 0x180190f20
mov r8, rsi
call fcn.180282bf0
test eax, eax
je 0x180190f2b
cmp rbx, r14
je 0x180190f30
mov rbx, qword [rbx + 8]
jmp 0x180190ef0
xor r14d, r14d
jmp 0x180190f36
xor r14d, r14d
mov rbx, r14
test rbx, rbx
je 0x180190fc4
cmp rbx, qword [rbp + 0x98]
je 0x180190fc4
lea rdx, [rbx + 0x30]
mov rcx, rdi
call fcn.18007bf20
nop
mov rcx, rbp
call fcn.1800a7400
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x180190f9b
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180190f96
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18019102b
call fcn.1800a58b8
mov rax, rdi
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1800a5910
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], 0
mov rcx, rbp
call fcn.1800a7400
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x180190f9b
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180190f96
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18019102b
jmp 0x180190f96
dec eax
mov dword [rbp + 0x4c], eax
mov ecx, 6
call fcn.1800a7608
nop
call fcn.1802986cc
nop
mov ecx, 5
call fcn.1800a7608
int3
Function at 0x180191040
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x180428208]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x28], rdx
xor r12d, r12d
mov qword [rsp + 0x28], rcx
call fcn.1800a73f8
test eax, eax
jne 0x1801911b7
mov eax, dword [rdi + 0x4c]
cmp eax, 0x7fffffff
je 0x1801911c2
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
mov r8, qword [rsi + 8]
mov rdx, qword [rsi]
lea rcx, [rsp + 0x40]
call fcn.18000334a
lea rdx, [rsp + 0x40]
mov rbp, qword [rsp + 0x40]
mov r14, qword [rsp + 0x58]
cmp r14, 0x10
cmovae rdx, rbp
movabs r9, 0xcbf29ce484222325
mov ecx, r12d
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x180191103
movabs r10, 0x100000001b3
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x1801910f0
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rdi + 0x50]
call fcn.180192160
mov rsi, qword [rax + 8]
test rsi, rsi
jne 0x180191123
mov rsi, qword [rdi + 0x58]
cmp r14, 0x10
jb 0x180191156
lea rdx, [r14 + 1]
mov rax, rbp
cmp rdx, 0x1000
jb 0x18019114e
add rdx, 0x27
mov rbp, qword [rbp - 8]
sub rax, rbp
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801911b1
mov rcx, rbp
call fcn.1800a58b8
cmp rsi, qword [rdi + 0x58]
je 0x18019116a
lea rdx, [rsi + 0x30]
mov rcx, rbx
call fcn.180118b90
jmp 0x18019118a
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
lea rax, vtable.Botan::OID.0
mov qword [rbx], rax
mov qword [rbx + 8], r12
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], r12
mov rcx, rdi
call fcn.1800a7400
mov rax, rbx
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1800a5910
add rsp, 0x70
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.1802986cc
nop
mov ecx, 5
call fcn.1800a7608
int3
dec eax
mov dword [rdi + 0x4c], eax
mov ecx, 6
call fcn.1800a7608
int3
Function at 0x1801916e0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push r15
sub rsp, 0x68
mov rbp, r8
mov r15, rdx
mov r10, rcx
cmp rdx, r8
je 0x1801918f9
cmp qword [rdx + 0x28], 0x10
lea r8, [rdx + 0x10]
mov r11, qword [rcx + 0x18]
mov r9, qword [r8 + 0x10]
mov qword [rax - 0x18], rbx
mov rbx, rdx
mov qword [rax - 0x20], rsi
mov qword [rax - 0x28], rdi
mov qword [rax - 0x30], r12
mov qword [rax - 0x38], r13
mov qword [rax - 0x40], r14
lea r14, [rcx + 8]
mov rax, qword [r14]
mov qword [rsp + 0x90], rax
mov rax, qword [rdx + 8]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x20], r11
jb 0x180191751
mov r8, qword [r8]
xor ecx, ecx
movabs rdx, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
test r9, r9
je 0x180191784
nop dword [rax]
movzx eax, byte [rcx + r8]
inc rcx
xor rdx, rax
imul rdx, rdi
cmp rcx, r9
jb 0x180191770
mov r12, qword [r10 + 0x30]
and r12, rdx
shl r12, 4
add r12, r11
mov rax, qword [r12 + 8]
mov r13, qword [r12]
mov qword [rsp + 0x98], rax
nop dword [rax]
nop word [rax + rax]
mov rdi, rbx
mov rsi, rbx
mov rbx, qword [rbx]
mov rcx, r14
lea rdx, [rdi + 0x10]
call fcn.180192230
mov edx, 0x50
mov rcx, rdi
call fcn.1800a58b8
dec qword [r14 + 8]
cmp rdi, qword [rsp + 0x98]
je 0x180191802
cmp rbx, rbp
jne 0x1801917b0
cmp r13, r15
jne 0x1801917ee
mov qword [r12], rbx
mov rax, qword [rsp + 0x88]
mov qword [rax], rbx
mov qword [rbx + 8], rax
jmp 0x1801918db
cmp r13, r15
mov r13, qword [rsp + 0x88]
jne 0x18019181d
mov rax, qword [rsp + 0x90]
mov qword [r12], rax
jmp 0x180191820
mov rax, r13
mov qword [r12 + 8], rax
cmp rbx, rbp
je 0x1801918d3
nop
cmp qword [rbx + 0x28], 0x10
lea r8, [rbx + 0x10]
mov r9, qword [r8 + 0x10]
jb 0x180191842
mov r8, qword [r8]
xor edx, edx
movabs rcx, 0xcbf29ce484222325
test r9, r9
je 0x18019187c
movabs r13, 0x100000001b3
nop dword [rax]
movzx eax, byte [rdx + r8]
inc rdx
xor rcx, rax
imul rcx, r13
cmp rdx, r9
jb 0x180191860
mov r13, qword [rsp + 0x88]
mov rax, qword [rsp + 0x80]
mov r15, qword [rax + 0x30]
and r15, rcx
shl r15, 4
add r15, qword [rsp + 0x20]
mov r12, qword [r15 + 8]
nop dword [rax + rax]
mov rdi, rbx
mov rsi, rbx
mov rbx, qword [rbx]
mov rcx, r14
lea rdx, [rdi + 0x10]
call fcn.180192230
mov edx, 0x50
mov rcx, rdi
call fcn.1800a58b8
dec qword [r14 + 8]
cmp rdi, r12
je 0x180191904
cmp rbx, rbp
jne 0x1801918a0
mov qword [r15], rbx
mov qword [r13], rbx
mov qword [rbx + 8], r13
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov r14, qword [rsp + 0x38]
mov rax, rbp
add rsp, 0x68
pop r15
pop rbp
ret
mov rcx, qword [rsp + 0x90]
mov qword [r15], rcx
mov qword [r15 + 8], rcx
cmp rbx, rbp
jne 0x180191830
jmp 0x1801918d3
Function at 0x180191d60
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push r15
sub rsp, 0x68
mov rbp, r8
mov r15, rdx
mov r10, rcx
cmp rdx, r8
je 0x180191f79
cmp qword [rdx + 0x28], 0x10
lea r8, [rdx + 0x10]
mov r11, qword [rcx + 0x18]
mov r9, qword [r8 + 0x10]
mov qword [rax - 0x18], rbx
mov rbx, rdx
mov qword [rax - 0x20], rsi
mov qword [rax - 0x28], rdi
mov qword [rax - 0x30], r12
mov qword [rax - 0x38], r13
mov qword [rax - 0x40], r14
lea r14, [rcx + 8]
mov rax, qword [r14]
mov qword [rsp + 0x90], rax
mov rax, qword [rdx + 8]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x20], r11
jb 0x180191dd1
mov r8, qword [r8]
xor ecx, ecx
movabs rdx, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
test r9, r9
je 0x180191e04
nop dword [rax]
movzx eax, byte [rcx + r8]
inc rcx
xor rdx, rax
imul rdx, rdi
cmp rcx, r9
jb 0x180191df0
mov r12, qword [r10 + 0x30]
and r12, rdx
shl r12, 4
add r12, r11
mov rax, qword [r12 + 8]
mov r13, qword [r12]
mov qword [rsp + 0x98], rax
nop dword [rax]
nop word [rax + rax]
mov rdi, rbx
mov rsi, rbx
mov rbx, qword [rbx]
mov rcx, r14
lea rdx, [rdi + 0x10]
call fcn.1801922e0
mov edx, 0x50
mov rcx, rdi
call fcn.1800a58b8
dec qword [r14 + 8]
cmp rdi, qword [rsp + 0x98]
je 0x180191e82
cmp rbx, rbp
jne 0x180191e30
cmp r13, r15
jne 0x180191e6e
mov qword [r12], rbx
mov rax, qword [rsp + 0x88]
mov qword [rax], rbx
mov qword [rbx + 8], rax
jmp 0x180191f5b
cmp r13, r15
mov r13, qword [rsp + 0x88]
jne 0x180191e9d
mov rax, qword [rsp + 0x90]
mov qword [r12], rax
jmp 0x180191ea0
mov rax, r13
mov qword [r12 + 8], rax
cmp rbx, rbp
je 0x180191f53
nop
cmp qword [rbx + 0x28], 0x10
lea r8, [rbx + 0x10]
mov r9, qword [r8 + 0x10]
jb 0x180191ec2
mov r8, qword [r8]
xor edx, edx
movabs rcx, 0xcbf29ce484222325
test r9, r9
je 0x180191efc
movabs r13, 0x100000001b3
nop dword [rax]
movzx eax, byte [rdx + r8]
inc rdx
xor rcx, rax
imul rcx, r13
cmp rdx, r9
jb 0x180191ee0
mov r13, qword [rsp + 0x88]
mov rax, qword [rsp + 0x80]
mov r15, qword [rax + 0x30]
and r15, rcx
shl r15, 4
add r15, qword [rsp + 0x20]
mov r12, qword [r15 + 8]
nop dword [rax + rax]
mov rdi, rbx
mov rsi, rbx
mov rbx, qword [rbx]
mov rcx, r14
lea rdx, [rdi + 0x10]
call fcn.1801922e0
mov edx, 0x50
mov rcx, rdi
call fcn.1800a58b8
dec qword [r14 + 8]
cmp rdi, r12
je 0x180191f84
cmp rbx, rbp
jne 0x180191f20
mov qword [r15], rbx
mov qword [r13], rbx
mov qword [rbx + 8], r13
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov r14, qword [rsp + 0x38]
mov rax, rbp
add rsp, 0x68
pop r15
pop rbp
ret
mov rcx, qword [rsp + 0x90]
mov qword [r15], rcx
mov qword [r15 + 8], rcx
cmp rbx, rbp
jne 0x180191eb0
jmp 0x180191f53
Function at 0x1801a2540
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rax, qword [0x180428208]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov r8, rcx
mov rax, qword [rcx - 0x18]
sub rax, qword [rcx - 0x20]
cmp rax, 0x20
jne 0x1801a270f
mov byte [rbp], 1
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 1], xmm0
mov qword [rbp + 0x11], rax
mov dword [rbp + 0x19], eax
mov word [rbp + 0x1d], ax
mov byte [rbp + 0x1f], al
mov byte [rsp + 0x30], al
xor ebx, ebx
mov edx, ebx
nop
mov rax, qword [r8 - 0x20]
movzx ecx, byte [rax + rdx]
xor cl, byte [rbp + rdx]
movzx eax, byte [rsp + 0x30]
or al, cl
mov byte [rsp + 0x30], al
inc rdx
cmp rdx, 0x20
jne 0x1801a25a0
movzx eax, byte [rsp + 0x30]
test al, al
je 0x1801a270f
mov dword [rbp - 0x20], 0x5cf5d3ed
mov dword [rbp - 0x1c], 0x5812631a
mov dword [rbp - 0x18], 0xa2f79cd6
mov qword [rbp - 0x14], 0x14def9de
mov qword [rbp - 0xc], rbx
mov dword [rbp - 4], 0x10000000
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
mov rdx, qword [r8 - 0x20]
test rdx, rdx
je 0x1801a2731
mov r8d, 0x20
lea rcx, [rbp + 0x20]
call fcn.180282cf0
xor byte [rbp + 0x3f], 0x80
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x40], ebx
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], rax
mov dword [rsp + 0x68], ebx
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x70], ebx
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x48], ebx
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.180224a30
test eax, eax
jne 0x1801a26ca
lea r9, [rbp + 0x40]
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x60]
call fcn.1802252b0
mov byte [rsp + 0x30], 0
nop word [rax + rax]
movzx ecx, byte [rbp + rbx + 0x60]
xor cl, byte [rbp + rbx]
movzx eax, byte [rsp + 0x30]
or cl, al
mov byte [rsp + 0x30], cl
inc rbx
cmp rbx, 0x20
jne 0x1801a26a0
movzx eax, byte [rsp + 0x30]
test al, al
jne 0x1801a26ca
mov bl, 1
jmp 0x1801a26cc
xor bl, bl
mov edx, 0x28
lea rcx, [rbp - 0x48]
call fcn.1800ddf30
nop
mov edx, 0x28
lea rcx, [rbp - 0x70]
call fcn.1800ddf30
nop
mov edx, 0x28
lea rcx, [rsp + 0x68]
call fcn.1800ddf30
nop
mov edx, 0x28
lea rcx, [rsp + 0x40]
call fcn.1800ddf30
nop
movzx eax, bl
jmp 0x1801a2711
xor al, al
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.1800a5910
mov rbx, qword [rsp + 0x1a8]
add rsp, 0x190
pop rbp
ret
mov dword [rsp + 0x20], 0x7b
lea r9, [0x1803e49b0]
lea r8, str.copy_mem
lea rdx, str.If_n___0_then_args_are_not_null
lea rcx, str.n___0_implies_in___nullptr__out___nullptr
call fcn.1800d1f70
int3