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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
mov qword [rbp], 0xfffffffffffffffe
mov r12, rcx
mov r14, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
mov rdi, rdx
jb 0x14003f337
mov rdi, qword [rdx]
test r14, r14
mov qword [rbp - 8], r8
mov qword [rbp - 0x38], rdx
je 0x14003f36d
lea rax, [r14 - 1]
mov r8d, r14d
and r8d, 3
movabs r9, 0x100000001b3
cmp rax, 3
jae 0x14003f379
movabs rax, 0xcbf29ce484222325
xor ecx, ecx
jmp 0x14003f3c8
movabs rbx, 0xcbf29ce484222325
jmp 0x14003f3f7
mov rsi, r14
and rsi, 0xfffffffffffffffc
movabs rax, 0xcbf29ce484222325
xor ecx, ecx
nop dword [rax]
movzx ebx, byte [rdi + rcx]
xor rbx, rax
imul rbx, r9
movzx eax, byte [rdi + rcx + 1]
xor rax, rbx
imul rax, r9
movzx ebx, byte [rdi + rcx + 2]
xor rbx, rax
imul rbx, r9
movzx eax, byte [rdi + rcx + 3]
xor rax, rbx
imul rax, r9
add rcx, 4
cmp rsi, rcx
jne 0x14003f390
mov rbx, rax
test r8, r8
je 0x14003f3f7
add rcx, rdi
xor esi, esi
nop word cs:[rax + rax]
nop
movzx ebx, byte [rcx + rsi]
xor rbx, rax
imul rbx, r9
add rsi, 1
mov rax, rbx
cmp r8, rsi
jne 0x14003f3e0
and rbx, qword [r12 + 0x30]
mov r13, qword [r12 + 8]
mov rax, qword [r12 + 0x18]
mov rcx, rbx
shl rcx, 4
mov r15, qword [rax + rcx + 8]
cmp r15, r13
je 0x14003f464
add rbx, rbx
mov rsi, qword [rax + rbx*8]
cmp r14, qword [r15 + 0x20]
jne 0x14003f453
nop word cs:[rax + rax]
nop
cmp qword [r15 + 0x28], 0x10
jb 0x14003f440
mov rdx, qword [r15 + 0x10]
jmp 0x14003f444
lea rdx, [r15 + 0x10]
mov rcx, rdi
mov r8, r14
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14003f467
cmp r15, rsi
je 0x14003f464
mov r15, qword [r15 + 8]
cmp r14, qword [r15 + 0x20]
je 0x14003f430
jmp 0x14003f453
xor r15d, r15d
test r15, r15
cmove r15, r13
cmp r15, r13
je 0x14003f4fa
lea rax, [0x14013faa2]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 0
lea rsi, [rbp - 0x30]
lea r9, [rbp - 0x50]
mov rcx, r12
mov rdx, rsi
mov rbx, qword [rbp - 0x38]
mov r8, rbx
call fcn.14003e8e0
mov rdi, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
call rdi
mov dword [rax], 0
cmp qword [rbp - 0x18], 0x10
jb 0x14003f4be
mov rsi, qword [rbp - 0x30]
lea rdx, [rbp - 0x40]
mov rcx, rsi
mov r8d, 0xa
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoll]
mov rsi, rax
call rdi
cmp dword [rax], 0
jne 0x14003f4e8
mov rax, qword [rbp - 0x40]
cmp byte [rax], 0
je 0x14003f588
test byte [0x14018ae2e], 0x20
jne 0x14003f503
mov rsi, qword [rbp - 8]
jmp 0x14003f588
mov rsi, qword [rbp - 8]
jmp 0x14003f5c3
mov byte [rsp + 0x20], 0
lea rdx, str.C:_buildbot_src_android_emu_32_release_external_qemu_android_android_emu_base_android_base_files_IniFile.cpp
lea rcx, [rbp - 0x10]
mov r8d, 0x1a4
xor r9d, r9d
call fcn.1400205a0
mov rsi, qword [rbp - 8]
mov ecx, 0x198
add rcx, qword [rbp - 0x10]
lea rdx, str.Malformed_int64_value
call fcn.140001b20
mov r8, qword [rbp - 0x20]
cmp qword [rbp - 0x18], 0x10
jb 0x14003f54b
mov rdx, qword [rbp - 0x30]
jmp 0x14003f54f
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.140008b30
lea rdx, str._for_key
mov rcx, rax
call fcn.140001b20
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x14003f574
mov rbx, qword [rbx]
mov rcx, rax
mov rdx, rbx
call fcn.140008b30
lea rcx, [rbp - 0x10]
call fcn.140020640
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
jb 0x14003f5c3
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14003f5be
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14003f5da
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1400651e0
mov rax, rsi
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3