Function at 0x14003efa0
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 0x14003efd7
mov rdi, qword [rdx]
test r14, r14
mov dword [rbp - 4], r8d
mov qword [rbp - 0x38], rdx
je 0x14003f00d
lea rax, [r14 - 1]
mov r8d, r14d
and r8d, 3
movabs r9, 0x100000001b3
cmp rax, 3
jae 0x14003f019
movabs rax, 0xcbf29ce484222325
xor ecx, ecx
jmp 0x14003f068
movabs rbx, 0xcbf29ce484222325
jmp 0x14003f097
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 0x14003f030
mov rbx, rax
test r8, r8
je 0x14003f097
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 0x14003f080
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 0x14003f104
add rbx, rbx
mov rsi, qword [rax + rbx*8]
cmp r14, qword [r15 + 0x20]
jne 0x14003f0f3
nop word cs:[rax + rax]
nop
cmp qword [r15 + 0x28], 0x10
jb 0x14003f0e0
mov rdx, qword [r15 + 0x10]
jmp 0x14003f0e4
lea rdx, [r15 + 0x10]
mov rcx, rdi
mov r8, r14
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14003f107
cmp r15, rsi
je 0x14003f104
mov r15, qword [r15 + 8]
cmp r14, qword [r15 + 0x20]
je 0x14003f0d0
jmp 0x14003f0f3
xor r15d, r15d
test r15, r15
cmove r15, r13
cmp r15, r13
je 0x14003f198
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 0x14003f15e
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_strtol]
mov esi, eax
call rdi
cmp dword [rax], 0
jne 0x14003f187
mov rax, qword [rbp - 0x40]
cmp byte [rax], 0
je 0x14003f224
test byte [0x14018ae2e], 0x20
jne 0x14003f1a0
mov esi, dword [rbp - 4]
jmp 0x14003f224
mov esi, dword [rbp - 4]
jmp 0x14003f25f
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, 0x193
xor r9d, r9d
call fcn.1400205a0
mov esi, dword [rbp - 4]
mov ecx, 0x198
add rcx, qword [rbp - 0x10]
lea rdx, str.Malformed_int_value
call fcn.140001b20
mov r8, qword [rbp - 0x20]
cmp qword [rbp - 0x18], 0x10
jb 0x14003f1e7
mov rdx, qword [rbp - 0x30]
jmp 0x14003f1eb
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 0x14003f210
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 0x14003f25f
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14003f25a
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14003f275
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1400651e0
mov eax, esi
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