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

Disassembly:
mov byte [rsp + 0x20], r9b
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x58
mov r8d, edx
mov r10, rcx
mov dword [rbp - 0x28], 1
mov r13, qword [rcx + 0x430]
mov r12, qword [rbp + 0x68]
lea rax, [r12 + 0x18]
mov dword [r12 + 4], 0
mov qword [r12 + 0xc], 0
mov dword [r12 + 0x14], 0
mov dword [rax + 4], 0
mov qword [rax + 0x14], 0
mov dword [rax + 0x1c], 0
mov dword [r12 + 8], 2
mov dword [r12], 0xffffffff
mov qword [rbp + 0x68], rax
mov qword [rax], 0
mov qword [rax + 8], 0
mov dword [rax + 0x10], 0x10
mov ecx, 4
mov word [rax + 0x14], cx
mov byte [rax + 0x16], 1
mov dword [r12], 0xc000000
test r13, r13
je 0x180071519
mov dword [rbp - 0x20], edx
lea rdx, [rbp - 0x20]
mov ecx, 0x1505
nop dword [rax]
imul ecx, ecx, 0x21
movzx eax, byte [rdx]
xor ecx, eax
inc rdx
lea rax, [rbp - 0x1c]
cmp rdx, rax
jb 0x180071330
xor edx, edx
mov eax, ecx
div dword [r13 + 0x20]
movsxd rcx, edx
mov rax, qword [r13 + 0x18]
movsxd rdx, dword [rax + rcx*4]
cmp edx, 0xffffffff
je 0x18007174d
lea rcx, [rdx + rdx*2]
mov rax, qword [r13]
lea r14, [rax + rcx*4]
mov r15d, dword [r14 + 8]
test r14, r14
je 0x18007174d
mov rsi, qword [rbp + 0x58]
nop dword [rax]
mov ebx, dword [r14]
and ebx, 0xffffff
mov qword [rbp + 0x68], 0
mov qword [rbp - 0x10], 0
mov edi, 1
mov edx, r8d
mov rcx, r10
call fcn.180063be0
test eax, eax
je 0x180071744
lea rcx, [r10 + 0x918]
mov rax, qword [rcx]
lea r8, [rbp - 0x18]
mov edx, ebx
mov rax, qword [rax + 0xa8]
call qword [0x180102408]
test eax, eax
js 0x18007149d
mov r10, qword [rbp + 0x48]
mov rax, qword [r10 + 0x1a0]
movzx ecx, byte [rax + 1]
add rcx, qword [rbp - 0x18]
cmp byte [rax + 2], 2
jne 0x1800713f4
movzx ecx, word [rcx]
jmp 0x1800713f6
mov ecx, dword [rcx]
mov eax, ecx
and eax, 0x1f
cmp eax, 0x18
jb 0x180071407
mov ecx, 0x6000000
jmp 0x180071414
shr ecx, 5
lea rdx, [0x18010c180]
or ecx, dword [rdx + rax*4]
cmp dword [rbp + 0x50], ecx
jne 0x1800714a8
lea r9, [rbp - 0x10]
lea r8, [rbp + 0x68]
mov edx, ebx
mov rcx, r10
call fcn.18006ef70
test eax, eax
jne 0x18007149b
lea ebx, [rax - 1]
mov rdx, qword [rbp + 0x68]
cmp byte [rdx], al
je 0x18007146f
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdx + rbx], 0
jne 0x180071445
movsxd rsi, ebx
mov r8, rsi
mov rcx, qword [rbp + 0x58]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1800714a4
mov rax, qword [rbp + 0x58]
cmp byte [rsi + rax], 0x2e
mov rsi, rax
jne 0x1800714a8
movsxd rax, ebx
lea rcx, [rsi + 1]
add rcx, rax
mov r8, qword [rbp - 0x10]
sub r8, rcx
movzx edx, byte [rcx]
movzx eax, byte [rcx + r8]
sub edx, eax
jne 0x180071493
inc rcx
test eax, eax
jne 0x180071480
test edx, edx
jne 0x1800714a8
xor edi, edi
jmp 0x1800714a8
jns 0x1800714a8
mov edi, eax
jmp 0x180071750
mov rsi, qword [rbp + 0x58]
test edi, edi
jne 0x1800714e1
mov dword [rbp - 0x28], edi
mov ebx, dword [r14]
or ebx, 0xc000000
lea rcx, [r12 + 0x18]
call fcn.18008d130
test rax, rax
je 0x18007173b
mov dword [rax], ebx
inc dword [r12 + 4]
inc dword [r12 + 0x10]
cmp byte [rbp + 0x60], dil
jne 0x180071749
cmp r15d, 0xffffffff
je 0x180071507
movsxd rax, r15d
lea rcx, [rax + rax*2]
mov rax, qword [r13]
lea r14, [rax + rcx*4]
mov r15d, dword [r14 + 8]
mov r10, qword [rbp + 0x48]
mov r8d, dword [rbp + 0x50]
jmp 0x180071380
mov eax, dword [rbp - 0x28]
test edi, edi
jns 0x180071750
mov eax, edi
jmp 0x180071750
mov eax, dword [r10 + 0x18]
shr rax, 0xc
lea rbx, [0x18010c180]
test al, 1
je 0x1800715ba
mov rcx, qword [r10 + 0x1a0]
movzx eax, word [rcx]
mov word [rbp + 0x68], ax
movzx eax, byte [rcx + 2]
mov byte [rbp + 0x6a], al
mov ecx, edx
and ecx, 0xff000000
xor eax, eax
nop
cmp dword [rbx + rax*4], ecx
je 0x180071563
inc rax
cmp rax, 0x18
jb 0x180071550
xor r9d, r9d
jmp 0x180071574
mov r9d, edx
and r9d, 0xffffff
shl r9d, 5
or r9d, eax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x68]
mov edx, 0xc
mov rcx, r10
call fcn.18006f610
mov edi, eax
test eax, eax
js 0x180071749
mov esi, dword [rbp - 0x18]
test esi, esi
je 0x18007174d
mov r10, qword [rbp + 0x48]
mov r15d, dword [rbp - 0x10]
mov r8d, dword [rbp + 0x50]
jmp 0x1800715c6
mov esi, 1
mov r15d, dword [r10 + 0x50]
inc r15d
mov eax, 0x1a0
mov rcx, r10
lea r13, [rcx + rax]
cmp esi, r15d
jae 0x18007174d
nop dword [rax + rax]
mov qword [rbp + 0x68], 0
mov qword [rbp - 0x10], 0
mov r14d, 1
mov edx, r8d
mov rcx, r10
call fcn.180063be0
test eax, eax
je 0x180071744
lea rcx, [r10 + 0x918]
mov rax, qword [rcx]
lea r8, [rbp - 0x18]
mov edx, esi
mov rax, qword [rax + 0xa8]
call qword [0x180102408]
mov edi, eax
test eax, eax
js 0x180071749
mov rax, qword [r13]
movzx ecx, byte [rax + 1]
add rcx, qword [rbp - 0x18]
cmp byte [rax + 2], 2
jne 0x180071647
movzx ecx, word [rcx]
jmp 0x180071649
mov ecx, dword [rcx]
mov eax, ecx
and eax, 0x1f
cmp eax, 0x18
jb 0x18007165a
mov ecx, 0x6000000
jmp 0x180071660
shr ecx, 5
or ecx, dword [rbx + rax*4]
cmp dword [rbp + 0x50], ecx
jne 0x1800716ee
lea r9, [rbp - 0x10]
lea r8, [rbp + 0x68]
mov edx, esi
mov rcx, qword [rbp + 0x48]
call fcn.18006ef70
mov edi, eax
test eax, eax
jne 0x1800716ec
lea ebx, [rax - 1]
mov rdx, qword [rbp + 0x68]
cmp byte [rdx], al
je 0x1800716bb
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdx + rbx], 0
jne 0x180071694
movsxd rdi, ebx
mov r8, rdi
mov rcx, qword [rbp + 0x58]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1800716ee
mov rax, qword [rbp + 0x58]
cmp byte [rdi + rax], 0x2e
jne 0x1800716ee
movsxd rax, ebx
mov rcx, qword [rbp + 0x58]
inc rcx
add rcx, rax
mov r8, qword [rbp - 0x10]
sub r8, rcx
nop
movzx edx, byte [rcx]
movzx eax, byte [rcx + r8]
sub edx, eax
jne 0x1800716e3
inc rcx
test eax, eax
jne 0x1800716d0
test edx, edx
jne 0x1800716ee
xor r14d, r14d
jmp 0x1800716ee
js 0x180071749
test r14d, r14d
jne 0x180071720
mov dword [rbp - 0x28], r14d
mov ebx, esi
or ebx, 0xc000000
lea rcx, [r12 + 0x18]
call fcn.18008d130
test rax, rax
je 0x18007173b
mov dword [rax], ebx
inc dword [r12 + 4]
inc dword [r12 + 0x10]
cmp byte [rbp + 0x60], r14b
jne 0x18007174d
inc esi
cmp esi, r15d
jae 0x18007174d
mov r10, qword [rbp + 0x48]
mov r8d, dword [rbp + 0x50]
lea rbx, [0x18010c180]
jmp 0x1800715e0
mov edi, 0x8007000e
mov eax, edi
jmp 0x180071750
mov edi, 0x8007000b
mov eax, edi
jmp 0x180071750
mov eax, dword [rbp - 0x28]
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret