Function at 0x140049370
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 + 0x358]
test rdx, rdx
je 0x140049491
cmp qword [rcx + 0x368], 0
je 0x140049491
cmp qword [rcx + 0x1a0], 0
je 0x140049491
mov rcx, qword [rcx + 8]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov r10, qword [rbx + 0x358]
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 0x140049420
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 0x1400493f0
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 0x140049491
nop dword [rax]
mov r8d, 0xffffffff
mov edx, edi
mov rcx, rbx
call fcn.14003fbb0
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 0x140049474
inc rcx
test edx, edx
jne 0x140049460
test r8d, r8d
je 0x1400496a7
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 0x140049440
mov rdx, qword [rbx + 0x360]
mov qword [rsp + 0xf0], rbp
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0xa0], r15
test rdx, rdx
je 0x140049670
cmp qword [rbx + 0x368], 0
je 0x140049670
cmp qword [rbx + 0x1a0], 0
je 0x140049670
mov rcx, qword [rbx + 8]
mov qword [rsp + 0xa8], r13
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rcx, qword [rbx + 8]
mov rdx, qword [rbx + 0x360]
add rdx, 4
mov ebp, eax
mov r8, qword [rcx]
call qword [r8 + 0x28]
mov rcx, qword [rbx + 8]
mov r15d, eax
mov rdx, qword [rbx + 0x360]
add rdx, 8
mov r8, qword [rcx]
call qword [r8 + 0x28]
mov rcx, qword [rbx + 8]
mov rdx, qword [rbx + 0x360]
add rdx, 0xc
mov r13d, eax
mov r8, qword [rcx]
call qword [r8 + 0x28]
mov r10, qword [rbx + 0x360]
mov r12d, ebp
movzx edx, byte [r14]
add r10, 0x10
mov dword [rsp + 0x30], eax
mov rcx, r14
mov edi, 0x1505
lea rsi, [r10 + r13*8]
test dl, dl
je 0x140049573
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 0x140049560
mov rcx, qword [rbx + 8]
lea edx, [r13 - 1]
mov r8d, edi
shr r8, 6
and r8, rdx
mov r9, qword [rcx]
lea rdx, [r10 + r8*8]
call qword [r9 + 0x30]
mov ecx, dword [rsp + 0x30]
mov edx, edi
mov r13, qword [rsp + 0xa8]
mov r8, rax
shr edx, cl
and edx, 0x3f
movzx ecx, dl
shr r8, cl
mov ecx, edi
and ecx, 0x3f
shr rax, cl
and r8b, al
test r8b, 1
je 0x140049670
mov rcx, qword [rbx + 8]
xor edx, edx
mov eax, edi
div ebp
mov r9, qword [rcx]
lea rdx, [rsi + rdx*4]
call qword [r9 + 0x28]
test eax, eax
je 0x140049670
mov ecx, eax
sub eax, r15d
add rax, r12
lea rdx, [rcx + rcx*2]
mov rcx, qword [rbx + 0x368]
lea rsi, [rsi + rax*4]
lea rbp, [rcx + rdx*8]
nop dword [rax]
mov rcx, qword [rbx + 8]
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + 0x28]
xor eax, edi
cmp eax, 2
jae 0x140049657
mov rcx, qword [rbx + 8]
mov rdx, rbp
mov rax, qword [rcx]
call qword [rax + 0x28]
cmp dword [rbx + 0x39c], eax
jbe 0x1400496bd
mov r8d, eax
mov rax, r14
add r8, qword [rbx + 0x1a0]
sub r8, r14
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140049653
inc rax
test ecx, ecx
jne 0x140049640
test edx, edx
je 0x1400496b8
mov rcx, qword [rbx + 8]
mov rdx, rsi
add rbp, 0x18
mov rax, qword [rcx]
call qword [rax + 0x28]
add rsi, 4
test al, 1
je 0x140049600
xor eax, eax
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
mov rax, qword [rbx + 0x368]
lea rcx, [r9 + r9*2]
lea rax, [rax + rcx*8]
jmp 0x14004968a
mov rax, rbp
jmp 0x140049672
mov r9d, eax
mov dword [rsp + 0x20], 0xffffffff
lea r8, str.bad_.st_name__x_in_DT_SYMTAB__d_
mov edx, 0x46
lea rcx, [rsp + 0x40]
call fcn.14001ec50
lea rcx, [rsp + 0x40]
call fcn.14000d3a0
int3