Function at 0x140004478
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x248]
sub rsp, 0x308
mov rdi, qword [rcx + 0x28]
lea rbx, [rcx + 0x50]
mov r14, qword [rcx]
xor r11d, r11d
movups xmm0, xmmword [rdx]
mov rsi, rcx
mov qword [rbp + 0x268], rdi
movaps xmmword [rax - 0x58], xmm6
mov r15d, r11d
movaps xmmword [rax - 0x68], xmm7
lea r13d, [r11 + 1]
mov rax, qword [rcx + 0x20]
lea r12d, [r11 + 2]
mov qword [rsp + 0x60], rax
movdqu xmmword [rcx + 0x50], xmm0
mov rax, qword [rcx + 0x30]
mov qword [rcx + 0x60], rax
mov dword [rcx + 0x68], r11d
mov dword [rcx + 0x6c], 3
mov eax, dword [rcx + 0x3c]
mov dword [rcx + 0x70], eax
mov dword [rbp + 0x250], r11d
mov qword [rbp + 0x258], r11
mov r10, qword [rbx + 8]
movups xmm1, xmmword [rbx]
test r10, r10
je 0x140004547
movq r9, xmm1
mov cl, byte [r9]
call fcn.140006cd4
test eax, eax
jne 0x14000451e
cmp cl, 0x2c
jne 0x14000454c
movdqa xmmword [rsp + 0x40], xmm1
lea rax, [r9 + 1]
sub qword [rsp + 0x48], r13
mov qword [rsp + 0x40], rax
movaps xmm1, xmmword [rsp + 0x40]
movdqa xmm0, xmm1
psrldq xmm0, 8
movq r10, xmm0
jne 0x140004508
movq r9, xmm1
mov r8, r11
test r10, r10
jle 0x14000456e
mov cl, byte [r9 + r8]
call fcn.140006cd4
test eax, eax
jne 0x14000456e
cmp cl, 0x2c
je 0x14000456e
add r8, r13
cmp r8, r10
jl 0x140004554
movdqa xmmword [rsp + 0x40], xmm1
lea rax, [r9 + r8]
mov qword [rsp + 0x48], r8
movaps xmm6, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm1
sub qword [rsp + 0x48], r8
mov qword [rsp + 0x40], rax
test r8, r8
jne 0x1400045c1
test r15, r15
je 0x1400045a7
mov edx, dword [rbx + 0x20]
test edx, edx
jne 0x140004b1e
sub dword [rbp + 0x250], r13d
sub r15, r13
mov qword [rbp + 0x258], r15
sub rbx, 0x28
jmp 0x140004a2d
movaps xmm0, xmmword [rsp + 0x40]
movdqu xmmword [rbx], xmm0
cmp dword [rbx + 0x20], r11d
je 0x140004661
cmp dword [rsi + 0x48], r11d
jne 0x140004638
mov rax, qword [rbx + 0x10]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm6
movups xmm0, xmmword [rax + 0x98]
movdqu xmmword [rsp + 0x30], xmm0
call fcn.14000187c
mov edx, dword [rbx + 0x20]
mov r8d, eax
sub edx, 1
je 0x14000462a
sub edx, 1
je 0x140004653
sub edx, 1
je 0x140004645
cmp edx, 1
je 0x140004628
xor r11d, r11d
test r8d, r8d
mov eax, r11d
setg al
jmp 0x140004630
not eax
shr eax, 0x1f
xor r11d, r11d
test eax, eax
je 0x140004b2b
mov qword [rbx + 0x10], r11
mov dword [rbx + 0x20], r11d
jmp 0x140004a2d
xor r11d, r11d
test r8d, r8d
mov eax, r11d
sete al
jmp 0x140004630
xor r11d, r11d
test r8d, r8d
mov eax, r11d
setle al
jmp 0x140004630
lea rax, [0x14000867c]
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x70], rax
lea rdx, [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0x70]
lea rcx, [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x30], xmm6
call fcn.140004f4c
test eax, eax
je 0x14000469e
mov eax, r13d
jmp 0x140004782
lea rax, [0x140008680]
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x80], rax
lea rdx, [rsp + 0x30]
movaps xmm0, xmmword [rbp - 0x80]
lea rcx, [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x30], xmm6
call fcn.140004f4c
test eax, eax
je 0x1400046d8
mov eax, r12d
jmp 0x140004782
lea rax, [0x140008684]
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x70], rax
lea rdx, [rsp + 0x30]
movaps xmm0, xmmword [rbp - 0x70]
lea rcx, [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x30], xmm6
call fcn.140004f4c
test eax, eax
je 0x140004711
mov eax, 3
jmp 0x140004782
lea rax, [0x140008688]
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x60], rax
lea rdx, [rsp + 0x30]
movaps xmm0, xmmword [rbp - 0x60]
lea rcx, [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x30], xmm6
call fcn.140004f4c
test eax, eax
je 0x14000474a
mov eax, 4
jmp 0x140004782
lea rax, [0x14000868c]
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0x50]
lea rcx, [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x30], xmm6
call fcn.140004f4c
neg eax
sbb eax, eax
and eax, 5
mov dword [rbx + 0x20], eax
test eax, eax
je 0x140004798
cmp qword [rbx + 0x10], r11
je 0x140004a7a
jmp 0x140004a2d
mov r12d, dword [rbx + 0x18]
lea rdx, [rsp + 0x30]
add r12d, r13d
movdqa xmmword [rsp + 0x30], xmm6
mov r13d, dword [rbx + 0x1c]
lea rcx, [rbp - 0x50]
call fcn.140004300
xor ecx, ecx
mov r15, rdi
mov r11d, 0x811c9dc5
movups xmm7, xmmword [rax]
mov r8, qword [rax + 8]
movaps xmmword [rsp + 0x30], xmm7
test r8, r8
jle 0x1400047ee
mov rdx, qword [rsp + 0x30]
movzx eax, byte [rdx + rcx]
inc rcx
xor eax, r11d
imul r11d, eax, 0x1000193
cmp rcx, r8
jl 0x1400047d8
mov rdi, qword [rdi]
test rdi, rdi
je 0x140004830
movdqu xmmword [rsp + 0x30], xmm7
movups xmm0, xmmword [rdi + 0x38]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
movdqu xmmword [rsp + 0x40], xmm0
call fcn.140004f4c
test eax, eax
jne 0x140004872
mov eax, r11d
shr rax, 0x1e
shl r11d, 2
lea r15, [rdi + rax*8]
mov rdi, qword [r15]
test rdi, rdi
jne 0x1400047fc
mov rcx, qword [rbp + 0x260]
mov edx, 0x108
mov r8d, 1
call fcn.140001000
mov rdx, qword [rbp + 0x268]
mov qword [r15], rax
movdqu xmmword [rax + 0x38], xmm7
inc qword [rdx + 0x18]
mov rax, qword [r15]
mov rcx, qword [rdx + 0x10]
mov qword [rcx], rax
mov rax, qword [r15]
add rax, 0x20
mov qword [rdx + 0x10], rax
mov rdi, qword [r15]
xor r11d, r11d
mov qword [rbx + 0x10], rdi
cmp qword [rdi + 0x48], r11
je 0x14000490a
test r13b, 2
je 0x140004a11
mov eax, dword [rdi + 0x60]
test al, 2
jne 0x140004a11
or eax, 2
mov dword [rdi + 0x60], eax
cmp dword [rsi + 0x44], r11d
je 0x140004a11
cmp r12d, dword [rsi + 0x38]
jge 0x140004a11
mov r8d, dword [rbp + 0x250]
cmp r8d, 0xff
jge 0x140004b47
mov r15, qword [rbp + 0x258]
inc r8d
inc r15
add rbx, 0x28
movups xmm0, xmmword [rdi + 0xa8]
mov eax, r13d
mov qword [rbp + 0x258], r15
and eax, 0xfffffffe
mov dword [rbp + 0x250], r8d
movdqu xmmword [rbx], xmm0
mov qword [rbx + 0x10], r11
mov dword [rbx + 0x18], r12d
mov dword [rbx + 0x1c], eax
mov dword [rbx + 0x20], r11d
jmp 0x140004a18
mov r15, qword [rbp + 0x260]
lea r9, [rsp + 0x30]
mov r8, r14
mov qword [rsp + 0x20], r15
lea rdx, [rsi + 8]
movdqa xmmword [rsp + 0x30], xmm6
lea rcx, [rbp + 0xd0]
call fcn.1400024e4
mov edx, 2
lea rcx, [rbp - 0x40]
lea r8d, [rdx + 0x7e]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x40], xmm0
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x50], xmm1
movups xmm1, xmmword [rax + 0x70]
add rax, r8
movups xmmword [rcx + 0x60], xmm0
add rcx, r8
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x140004941
mov rax, qword [rax]
mov qword [rcx], rax
cmp dword [rsi + 0x40], edx
je 0x1400049a2
mov rdx, r15
lea rcx, [rbp - 0x40]
call fcn.140004f88
mov rax, qword [rsp + 0x60]
lea r9, [rbp - 0x40]
mov r8, rdi
mov qword [rsp + 0x20], r15
mov rcx, r14
mov rdx, qword [rax]
call fcn.140002120
xor r11d, r11d
cmp dword [rsi + 0x44], r11d
je 0x140004a11
cmp r12d, dword [rsi + 0x38]
jge 0x140004a11
mov r8d, dword [rbp + 0x250]
cmp r8d, 0xfe
jge 0x140004a66
movups xmm0, xmmword [rdi + 0xb8]
mov r15, qword [rbp + 0x258]
add r8d, 2
add r15, 2
mov qword [rbx + 0x38], r11
movdqu xmmword [rbx + 0x28], xmm0
mov dword [rbx + 0x40], r12d
mov qword [rbx + 0x44], r11
add rbx, 0x50
jmp 0x1400048d7
mov r15, qword [rbp + 0x258]
or dword [rdi + 0x60], r13d
mov r13d, 1
mov rdi, qword [rbp + 0x268]
lea r12d, [r13 + 1]
test r15, r15
jns 0x1400044fc
mov rax, qword [rsi + 0x60]
lea r11, [rsp + 0x308]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
mov qword [rsi + 0x30], rax
mov eax, dword [rsi + 0x70]
mov dword [rsi + 0x3c], eax
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rdx, [rsp + 0x30]
mov rcx, r14
movdqu xmmword [rsp + 0x30], xmm6
call fcn.140002234
int3
lea rax, str.pkg_config:
mov qword [rsp + 0x58], 0xc
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0x50]
mov rcx, r14
movdqa xmmword [rsp + 0x30], xmm0
call fcn.1400043a8
lea rax, str.unexpected_operator_
mov qword [rsp + 0x58], 0x15
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0x50]
mov rcx, r14
movdqa xmmword [rsp + 0x30], xmm0
call fcn.1400043a8
lea rdx, [rsp + 0x30]
mov rcx, r14
movdqu xmmword [rsp + 0x30], xmm6
call fcn.1400043a8
lea rax, [0x1400085ac]
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0x50]
mov rcx, r14
movdqa xmmword [rsp + 0x30], xmm0
call fcn.1400043a8
mov rcx, r14
call fcn.140002c84
call fcn.140003b44
int3
mov r8, qword [rbx + 0x10]
mov rcx, r14
call fcn.140004b5c
int3
mov r8d, dword [rbx + 0x20]
lea r9, [rsp + 0x30]
mov rdx, qword [rbx + 0x10]
mov rcx, r14
movdqu xmmword [rsp + 0x30], xmm6
call fcn.1400022cc
int3
lea rdx, [rsp + 0x30]
mov rcx, r14
movdqu xmmword [rsp + 0x30], xmm6
call fcn.140002234
int3