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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
mov rax, qword [0x1401060c0]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r15, rcx
mov qword [rbp - 0x79], rcx
xor edi, edi
mov esi, edi
mov dword [rsp + 0x40], edi
movsxd rdx, dword [0x14010b21c]
add rdx, rcx
mov dword [rsp + 0x30], edi
mov rax, qword [0x14010a2b0]
mov rcx, qword [rax + 0x1b0]
lea ebx, [rdi + 4]
test rcx, rcx
je 0x140054c27
mov rax, qword [0x14010a0c8]
mov qword [rsp + 0x20], rdi
mov r9d, ebx
lea r8, [rsp + 0x30]
mov rcx, qword [rcx + 0xa0]
call rax
test eax, eax
je 0x140054c27
mov edx, dword [rsp + 0x30]
jmp 0x140054c2d
mov edx, edi
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x3c], edx
movsxd r10, dword [0x14010b284]
mov dword [rsp + 0x38], edi
mov rax, qword [0x14010a2b0]
mov rcx, qword [rax + 0x1b0]
test rcx, rcx
je 0x140054c80
mov rax, qword [0x14010a0c8]
mov qword [rsp + 0x20], rdi
mov r9, rbx
lea r8, [rsp + 0x38]
lea rdx, [r10 + 8]
add rdx, r15
mov rcx, qword [rcx + 0xa0]
call rax
mov edx, dword [rsp + 0x3c]
test eax, eax
mov r14d, dword [rsp + 0x38]
jne 0x140054c83
mov r14d, edi
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], edx
movabs rcx, 0xcbf29ce484222325
mov r8, rdi
movzx eax, byte [rsp + r8 + 0x30]
xor rcx, rax
movabs r9, 0x100000001b3
imul rcx, r9
inc r8
cmp r8, rbx
jb 0x140054c99
and rcx, qword [0x140107090]
add rcx, rcx
mov r9, qword [0x140107078]
mov rax, qword [r9 + rcx*8 + 8]
mov r8, qword [0x140107068]
cmp rax, r8
je 0x140054cf0
mov r10, qword [r9 + rcx*8]
jmp 0x140054ce9
cmp rax, r10
je 0x140054cf0
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x140054ce0
jmp 0x140054cf3
mov rax, rdi
mov rcx, r8
test rax, rax
cmovne rcx, rax
cmp rcx, r8
je 0x140054d0b
cmp dword [rcx + 0x14], r14d
setae al
jmp 0x140054d0e
mov al, dil
test al, al
jne 0x140055399
lea r8, [rsp + 0x3c]
lea rdx, [rbp - 0x31]
call fcn.140060774
mov rcx, qword [rax]
mov dword [rcx + 0x14], r14d
mov r12, rdi
mov rbx, qword [0x140107010]
mov r13d, reloc.OLEAUT32.dll_SafeArrayDestroy
cmp rbx, qword [0x140107018]
je 0x140054d95
xor edx, edx
lea r8d, [r13 + 0x69]
mov rcx, rbx
call fcn.1400a90b0
mov qword [rbx + 0x18], r13
mov qword [rbx + 0x30], rdi
mov qword [rbx + 0x38], r13
mov byte [rbx + 0x20], dil
xorps xmm0, xmm0
movups xmmword [rbx + 0x40], xmm0
mov qword [rbx + 0x50], rdi
mov qword [rbx + 0x58], r13
mov byte [rbx + 0x40], dil
mov qword [rbx + 0x60], rdi
mov qword [rbx + 0x68], rdi
mov qword [rbx + 0x70], rdi
mov r13, qword [0x140107010]
lea rax, [r13 + 0x78]
mov qword [0x140107010], rax
jmp 0x140054da0
mov rdx, rbx
call fcn.1400621a0
mov r13, rax
movsxd rdx, dword [0x14010b284]
add rdx, r15
mov qword [rsp + 0x48], rdi
mov rcx, qword [0x14010a2b0]
mov rcx, qword [rcx + 0x1b0]
test rcx, rcx
je 0x140054df1
mov rax, qword [0x14010a0c8]
mov qword [rsp + 0x20], rdi
mov r9d, 8
lea r8, [rsp + 0x48]
mov rcx, qword [rcx + 0xa0]
call rax
test eax, eax
je 0x140054df1
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x31], rax
jmp 0x140054dfa
mov qword [rbp - 0x31], rdi
mov qword [rsp + 0x48], rdi
mov rdx, r15
lea rcx, [rbp - 0x71]
call fcn.140053fdc
lea rbx, [r13 + 0x20]
mov rdx, rax
mov rcx, rbx
call fcn.14001aa58
mov r15d, 0x1000
mov rdx, qword [rbp - 0x59]
cmp rdx, 0xf
jbe 0x140054e52
inc rdx
mov rcx, qword [rbp - 0x71]
mov rax, rcx
cmp rdx, r15
jb 0x140054e4d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400553cc
call fcn.140082e60
mov rdx, qword [rbx + 0x10]
mov r8, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140054e63
mov r8, qword [rbx]
or rdi, 0xffffffffffffffff
test rdx, rdx
je 0x140054e91
lea rax, [rdx - 1]
mov rcx, rdi
cmp rax, rdi
cmovb rcx, rax
add rcx, r8
jmp 0x140054e87
cmp rcx, r8
je 0x140054e91
dec rcx
cmp byte [rcx], 0x20
jne 0x140054e7f
sub rcx, r8
jmp 0x140054e94
mov rcx, rdi
xorps xmm0, xmm0
xorps xmm1, xmm1
cmp rcx, rdi
je 0x140054ee4
inc rcx
movups xmmword [rbp - 0x71], xmm0
movdqu xmmword [rbp - 0x61], xmm1
cmp rdx, rcx
jb 0x1400553d2
sub rdx, rcx
mov r8, rdi
cmp rdx, rdi
cmovb r8, rdx
cmp qword [rbx + 0x18], 0xf
jbe 0x140054ecb
mov rbx, qword [rbx]
lea rdx, [rcx + rbx]
lea rcx, [rbp - 0x71]
call fcn.140013490
or esi, 0x20
lea rdx, [rbp - 0x71]
or esi, 1
jmp 0x140054f0d
movups xmmword [rbp - 0x11], xmm0
movdqu xmmword [rbp - 1], xmm1
mov r8, rdx
cmp qword [rbx + 0x18], 0xf
jbe 0x140054efa
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, [rbp - 0x11]
call fcn.140013680
lea rdx, [rbp - 0x11]
or esi, 2
mov rcx, r13
call fcn.14001aa58
test sil, 2
je 0x140054f56
and esi, 0xfffffffd
mov rdx, qword [rbp + 7]
cmp rdx, 0xf
jbe 0x140054f56
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, r15
jb 0x140054f50
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400553d8
call fcn.140082e60
nop
test sil, 1
je 0x140054f96
and esi, 0xfffffffe
mov rdx, qword [rbp - 0x59]
cmp rdx, 0xf
jbe 0x140054f96
inc rdx
mov rcx, qword [rbp - 0x71]
mov rax, rcx
cmp rdx, r15
jb 0x140054f91
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400553c6
call fcn.140082e60
xor ebx, ebx
mov r15d, ebx
test r14d, r14d
je 0x1400551e0
xor r14d, r14d
mov dword [rsp + 0x30], r14d
mov rax, qword [0x14010a2b0]
mov rcx, qword [rax + 0x1b0]
mov rbx, qword [rbp - 0x31]
test rcx, rcx
je 0x140054ff5
mov r10, qword [0x14010a0c8]
mov edx, r15d
shl edx, 4
add rdx, rbx
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 4]
lea r8, [rsp + 0x30]
mov rcx, qword [rcx + 0xa0]
call r10
test eax, eax
je 0x140054ff5
mov edx, dword [rsp + 0x30]
jmp 0x140054ffc
mov edx, r14d
mov dword [rsp + 0x30], edx
lea rcx, [rbp - 0x51]
call fcn.140053c1c
nop
lea r8, [rbp - 0x51]
cmp qword [rbp - 0x39], 0xf
cmova r8, qword [rbp - 0x51]
mov rdx, qword [rbp - 0x41]
test rdx, rdx
je 0x140055042
lea rax, [rdx - 1]
mov rcx, rdi
cmp rax, rdi
cmovb rcx, rax
add rcx, r8
jmp 0x140055038
cmp rcx, r8
je 0x140055042
dec rcx
cmp byte [rcx], 0x3a
jne 0x140055030
sub rcx, r8
jmp 0x140055045
mov rcx, rdi
cmp rcx, rdi
je 0x1400550de
inc rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x71], xmm0
mov qword [rbp - 0x61], r14
mov qword [rbp - 0x59], r14
cmp rdx, rcx
jb 0x1400553e4
sub rdx, rcx
mov r8, rdi
cmp rdx, rdi
cmovb r8, rdx
lea rdx, [rbp - 0x51]
cmp qword [rbp - 0x39], 0xf
cmova rdx, qword [rbp - 0x51]
add rdx, rcx
lea rcx, [rbp - 0x71]
call fcn.140013490
or esi, 0x10
mov rdx, qword [rbp - 0x39]
cmp rdx, 0xf
jbe 0x1400550ce
inc rdx
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400550c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400553de
call fcn.140082e60
movups xmm0, xmmword [rbp - 0x71]
movups xmmword [rbp - 0x51], xmm0
movups xmm1, xmmword [rbp - 0x61]
movups xmmword [rbp - 0x41], xmm1
mov qword [rsp + 0x40], r14
mov rax, qword [0x14010a2b0]
mov rcx, qword [rax + 0x1b0]
test rcx, rcx
je 0x14005512d
mov r10, qword [0x14010a0c8]
mov edx, r15d
shl edx, 4
add rdx, 8
add rdx, rbx
mov qword [rsp + 0x20], r14
mov r9d, 8
lea r8, [rsp + 0x40]
mov rcx, qword [rcx + 0xa0]
call r10
test eax, eax
je 0x14005512d
mov r14, qword [rsp + 0x40]
mov qword [rsp + 0x40], r14
cmp r14, r12
cmova r12, r14
lea rcx, [r13 + 0x60]
mov rbx, qword [r13 + 0x68]
cmp rbx, qword [r13 + 0x70]
je 0x14005517c
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
and qword [rbx + 0x10], 0
and qword [rbx + 0x18], 0
lea rdx, [rbp - 0x51]
cmp qword [rbp - 0x39], 0xf
cmova rdx, qword [rbp - 0x51]
mov r8, qword [rbp - 0x41]
mov rcx, rbx
call fcn.140013680
mov qword [rbx + 0x20], r14
add qword [r13 + 0x68], 0x28
jmp 0x14005518e
lea r9, [rsp + 0x40]
lea r8, [rbp - 0x51]
mov rdx, rbx
call fcn.1400623d0
nop
mov rdx, qword [rbp - 0x39]
mov r14d, reloc.OLEAUT32.dll_SafeArrayDestroy
cmp rdx, r14
jbe 0x1400551ce
inc rdx
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400551c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400553ea
call fcn.140082e60
inc r15d
cmp r15d, dword [rsp + 0x38]
jb 0x140054fa4
xor ebx, ebx
jmp 0x1400551e6
mov r14d, reloc.OLEAUT32.dll_SafeArrayDestroy
lea rax, str.int32_t
lea rdx, str.uint8_t
cmp r12, 0x100
cmova rdx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x31], xmm0
mov qword [rbp - 0x21], rbx
mov qword [rbp - 0x19], rbx
inc rdi
cmp byte [rdx + rdi], bl
jne 0x14005520e
mov r8, rdi
lea rcx, [rbp - 0x31]
call fcn.140013490
nop
mov rdx, qword [rbp - 0x79]
lea rcx, [rbp + 0xf]
call fcn.140053f60
nop
mov r8d, 3
lea rdx, [0x1400f21d8]
mov rcx, rax
call fcn.14001b450
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 1], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x11], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 1], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], r14
mov byte [rax], bl
lea rdx, [rbp - 0x31]
cmp qword [rbp - 0x19], r14
cmova rdx, qword [rbp - 0x31]
mov r8, qword [rbp - 0x21]
lea rcx, [rbp - 0x11]
call fcn.14001b450
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x71], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x61], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], r14
mov byte [rax], bl
lea rcx, [r13 + 0x40]
lea rdx, [rbp - 0x71]
call fcn.14001aa58
mov rdx, qword [rbp - 0x59]
mov edi, 0x1000
cmp rdx, r14
jbe 0x1400552ea
inc rdx
mov rcx, qword [rbp - 0x71]
mov rax, rcx
cmp rdx, rdi
jb 0x1400552e4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400553f0
call fcn.140082e60
nop
mov rdx, qword [rbp + 7]
cmp rdx, r14
jbe 0x140055320
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, rdi
jb 0x14005531b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400553f6
call fcn.140082e60
movdqa xmm0, xmmword [0x1400f5f80]
movdqu xmmword [rbp - 1], xmm0
mov byte [rbp - 0x11], bl
mov rdx, qword [rbp + 0x27]
cmp rdx, r14
jbe 0x140055367
inc rdx
mov rcx, qword [rbp + 0xf]
mov rax, rcx
cmp rdx, rdi
jb 0x140055361
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400553fc
call fcn.140082e60
nop
mov rdx, qword [rbp - 0x19]
cmp rdx, r14
jbe 0x140055399
inc rdx
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, rdi
jb 0x140055394
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400553c6
call fcn.140082e60
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140082e40
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140089d74
int3
call fcn.140089d74
int3
call fcn.14001bba4
nop
call fcn.140089d74
nop
call fcn.140089d74
int3
call fcn.14001bba4
nop
call fcn.140089d74
nop
call fcn.140089d74
nop
call fcn.140089d74
nop
call fcn.140089d74
int3