Function at 0x14003f670
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, 0xa8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x10], xmm7
movaps xmmword [rbp], xmm6
mov qword [rbp - 8], 0xfffffffffffffffe
movaps xmm6, xmm2
mov r15, rcx
mov r13, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
mov rsi, rdx
jb 0x14003f6b2
mov rsi, qword [rdx]
test r13, r13
mov qword [rbp - 0x38], rdx
je 0x14003f6e4
lea rax, [r13 - 1]
mov r8d, r13d
and r8d, 3
movabs r9, 0x100000001b3
cmp rax, 3
jae 0x14003f6f3
movabs rax, 0xcbf29ce484222325
xor ecx, ecx
jmp 0x14003f748
movabs rdi, 0xcbf29ce484222325
jmp 0x14003f777
mov rbx, r13
and rbx, 0xfffffffffffffffc
movabs rax, 0xcbf29ce484222325
xor ecx, ecx
nop word cs:[rax + rax]
movzx edi, byte [rsi + rcx]
xor rdi, rax
imul rdi, r9
movzx eax, byte [rsi + rcx + 1]
xor rax, rdi
imul rax, r9
movzx edi, byte [rsi + rcx + 2]
xor rdi, rax
imul rdi, r9
movzx eax, byte [rsi + rcx + 3]
xor rax, rdi
imul rax, r9
add rcx, 4
cmp rbx, rcx
jne 0x14003f710
mov rdi, rax
test r8, r8
je 0x14003f777
add rcx, rsi
xor ebx, ebx
nop word cs:[rax + rax]
nop
movzx edi, byte [rcx + rbx]
xor rdi, rax
imul rdi, r9
add rbx, 1
mov rax, rdi
cmp r8, rbx
jne 0x14003f760
and rdi, qword [r15 + 0x30]
mov r12, qword [r15 + 8]
mov rax, qword [r15 + 0x18]
mov rcx, rdi
shl rcx, 4
mov r14, qword [rax + rcx + 8]
cmp r14, r12
je 0x14003f7e4
add rdi, rdi
mov rbx, qword [rax + rdi*8]
cmp r13, qword [r14 + 0x20]
jne 0x14003f7d3
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp qword [r14 + 0x28], 0x10
jb 0x14003f7c0
mov rdx, qword [r14 + 0x10]
jmp 0x14003f7c4
lea rdx, [r14 + 0x10]
mov rcx, rsi
mov r8, r13
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14003f7e7
cmp r14, rbx
je 0x14003f7e4
mov r14, qword [r14 + 8]
cmp r13, qword [r14 + 0x20]
je 0x14003f7b0
jmp 0x14003f7d3
xor r14d, r14d
test r14, r14
cmove r14, r12
cmp r14, r12
je 0x14003f930
lea rax, [0x14013faa2]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 0
lea rsi, [rbp - 0x30]
lea r9, [rbp - 0x50]
mov rcx, r15
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 0x14003f83e
mov rsi, qword [rbp - 0x30]
lea rdx, [rbp - 0x40]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtod]
movaps xmm7, xmm0
call rdi
cmp dword [rax], 0
jne 0x14003f862
mov rax, qword [rbp - 0x40]
cmp byte [rax], 0
je 0x14003f8f2
test byte [0x14018ae2e], 0x20
je 0x14003f8f5
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, 0x1b5
xor r9d, r9d
call fcn.1400205a0
mov ecx, 0x198
add rcx, qword [rbp - 0x10]
lea rdx, str.Malformed_double_value
call fcn.140001b20
mov r8, qword [rbp - 0x20]
cmp qword [rbp - 0x18], 0x10
jb 0x14003f8b3
mov rdx, qword [rbp - 0x30]
jmp 0x14003f8b7
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 0x14003f8dc
mov rbx, qword [rbx]
mov rcx, rax
mov rdx, rbx
call fcn.140008b30
lea rcx, [rbp - 0x10]
call fcn.140020640
jmp 0x14003f8f5
movaps xmm6, xmm7
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
jb 0x14003f930
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14003f92b
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14003f94f
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1400651e0
movaps xmm0, xmm6
movaps xmm6, xmmword [rbp]
movaps xmm7, xmmword [rbp + 0x10]
add rsp, 0xa8
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