Function at 0x140049000
Capabilities:
Encode data using xor
Hash data using djb2

Disassembly:
push rbx
push rsi
push rdi
push r14
sub rsp, 0xb8
mov rax, qword [0x140209040]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r14, rdx
mov rbx, rcx
mov rdx, qword [rcx + 0x338]
test rdx, rdx
je 0x140049121
cmp qword [rcx + 0x348], 0
je 0x140049121
cmp qword [rcx + 0x1a0], 0
je 0x140049121
mov rcx, qword [rcx + 8]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov r10, qword [rbx + 0x338]
xor r8d, r8d
movzx ecx, byte [r14]
add r10, 8
mov r11d, eax
mov rdx, r14
lea rsi, [r10 + r11*4]
test cl, cl
je 0x1400490b0
nop dword [rax + rax]
shl r8d, 4
lea rdx, [rdx + 1]
movsx eax, cl
add r8d, eax
mov ecx, r8d
mov eax, r8d
and ecx, 0xf0000000
mov r8d, ecx
shr ecx, 0x18
not r8d
and r8d, eax
xor r8d, ecx
movzx ecx, byte [rdx]
test cl, cl
jne 0x140049080
mov rcx, qword [rbx + 8]
xor edx, edx
mov eax, r8d
div r11d
mov r9, qword [rcx]
lea rdx, [r10 + rdx*4]
call qword [r9 + 0x28]
mov edi, eax
test eax, eax
je 0x140049121
nop dword [rax]
mov r8d, 0xffffffff
mov edx, edi
mov rcx, rbx
call fcn.14003fd70
mov r9d, edi
mov rcx, r14
sub rax, r14
nop dword [rax]
movzx r8d, byte [rcx]
movzx edx, byte [rcx + rax]
sub r8d, edx
jne 0x140049104
inc rcx
test edx, edx
jne 0x1400490f0
test r8d, r8d
je 0x14004932f
mov rcx, qword [rbx + 8]
lea rdx, [rsi + r9*4]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov edi, eax
test eax, eax
jne 0x1400490d0
mov rdx, qword [rbx + 0x340]
mov qword [rsp + 0xf0], rbp
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xa0], r15
test rdx, rdx
je 0x1400492f0
cmp qword [rbx + 0x348], 0
je 0x1400492f0
cmp qword [rbx + 0x1a0], 0
je 0x1400492f0
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rcx, qword [rbx + 8]
mov rdx, qword [rbx + 0x340]
add rdx, 4
mov esi, eax
mov r8, qword [rcx]
call qword [r8 + 0x28]
mov rcx, qword [rbx + 8]
mov r13d, eax
mov rdx, qword [rbx + 0x340]
add rdx, 8
mov r8, qword [rcx]
call qword [r8 + 0x28]
mov rcx, qword [rbx + 8]
mov rdx, qword [rbx + 0x340]
add rdx, 0xc
mov edi, eax
mov r8, qword [rcx]
call qword [r8 + 0x28]
mov r15, qword [rbx + 0x340]
lea rbp, [rdi + rsi]
movzx edx, byte [r14]
add r15, 0x10
mov dword [rsp + 0x34], eax
mov r12d, edi
mov rcx, r14
mov edi, 0x1505
test dl, dl
je 0x140049203
nop word [rax + rax]
imul edi, edi, 0x21
lea rcx, [rcx + 1]
movzx eax, dl
movzx edx, byte [rcx]
add edi, eax
test dl, dl
jne 0x1400491f0
mov rcx, qword [rbx + 8]
lea edx, [r12 - 1]
mov r8d, edi
shr r8, 5
and r8, rdx
mov r9, qword [rcx]
lea rdx, [r15 + r8*4]
call qword [r9 + 0x28]
mov ecx, dword [rsp + 0x34]
mov edx, edi
shr edx, cl
mov r8d, eax
and edx, 0x1f
movzx ecx, dl
shr r8d, cl
mov ecx, edi
and ecx, 0x1f
shr eax, cl
and r8d, eax
test r8b, 1
je 0x1400492f0
mov rcx, qword [rbx + 8]
xor edx, edx
mov eax, edi
div esi
mov r9, qword [rcx]
mov r8d, edx
add r8, r12
lea rdx, [r15 + r8*4]
call qword [r9 + 0x28]
test eax, eax
je 0x1400492f0
mov esi, eax
sub eax, r13d
shl rsi, 4
add rsi, qword [rbx + 0x348]
add rax, rbp
lea rbp, [r15 + rax*4]
mov rcx, qword [rbx + 8]
mov rdx, rbp
mov rax, qword [rcx]
call qword [rax + 0x28]
xor eax, edi
cmp eax, 2
jae 0x1400492d7
mov rcx, qword [rbx + 8]
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + 0x28]
cmp dword [rbx + 0x37c], eax
jbe 0x140049344
mov r8d, eax
mov rax, r14
add r8, qword [rbx + 0x1a0]
sub r8, r14
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400492d3
inc rax
test ecx, ecx
jne 0x1400492c0
test edx, edx
je 0x14004933f
mov rcx, qword [rbx + 8]
mov rdx, rbp
add rsi, 0x10
mov rax, qword [rcx]
call qword [rax + 0x28]
add rbp, 4
test al, 1
je 0x140049283
xor eax, eax
mov r13, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xf0]
mov r15, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.14008b4b0
add rsp, 0xb8
pop r14
pop rdi
pop rsi
pop rbx
ret
shl r9, 4
add r9, qword [rbx + 0x348]
mov rax, r9
jmp 0x140049312
mov rax, rsi
jmp 0x1400492f2
mov r9d, eax
mov dword [rsp + 0x20], 0xffffffff
lea r8, str.bad_.st_name__x_in_DT_SYMTAB__d__n
mov edx, 0x46
lea rcx, [rsp + 0x40]
call fcn.14001ec50
lea rcx, [rsp + 0x40]
call fcn.14000d3a0
int3