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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x140]
sub rsp, 0x240
mov rax, qword [0x140137010]
xor rax, rsp
mov qword [rbp + 0x130], rax
mov r12, r8
mov r15, rdx
mov qword [rbp - 0x80], rdx
xor r14d, r14d
xorps xmm0, xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x118], xmm1
mov qword [rbp + 0x128], r14
movups xmmword [rbp - 0x28], xmm0
movdqu xmmword [rbp - 0x18], xmm1
lea r8d, [r14 + 0xb]
lea rdx, str.TerrainInfo
lea rcx, [rbp - 0x28]
call fcn.140004240
nop
lea r8, [rbp + 0x118]
lea rdx, [rbp - 0x28]
mov rcx, qword [r12]
call fcn.140016720
nop
lea rcx, [rbp - 0x28]
call fcn.140003b00
movabs rdi, 0xcbf29ce484222325
movabs r13, 0x100000001b3
mov rsi, qword [rbp + 0x118]
cmp rsi, qword [rbp + 0x120]
jne 0x14000f89a
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 8], xmm1
lea r8d, [r14 + 3]
lea rdx, [0x1400bbf90]
lea rcx, [rbp - 8]
call fcn.140004240
nop
mov dword [rsp + 0x20], 2
lea rdx, [rbp - 8]
lea rcx, [rsp + 0x28]
call fcn.1400038d0
nop
mov rsi, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov qword [rsp + 0x48], rsi
cmp dword [rsp + 0x20], 4
jg 0x14000f6d5
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x14000f628
cmp qword [0x140137680], r14
je 0x14000f623
lea rdx, [rsp + 0x28]
cmp qword [rsp + 0x40], 0x10
cmovae rdx, qword [rsp + 0x28]
mov r9, rdi
mov ecx, r14d
test rbx, rbx
je 0x14000f603
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r13
inc rcx
cmp rcx, rbx
jb 0x14000f5f0
lea r8, [rsp + 0x28]
lea rdx, [rbp + 0x38]
lea rcx, [0x140137670]
call fcn.140016da0
cmp qword [rax + 8], 0
je 0x14000f6d5
test rbx, rbx
jne 0x14000f666
lea rdx, [rbp + 0x58]
lea rcx, [rsp + 0x20]
call fcn.1400b4880
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14000f645
mov rax, qword [rax]
mov rdx, rax
mov rcx, rsi
call fcn.140004f80
mov rcx, rax
lea rdx, [0x1400bbc98]
call fcn.140003f20
nop
lea rcx, [rbp + 0x58]
jmp 0x14000f6cf
lea rdx, [rbp + 0x78]
lea rcx, [rsp + 0x20]
call fcn.1400b4880
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14000f683
mov rax, qword [rax]
mov rdx, rax
mov rcx, rsi
call fcn.140004f80
lea rdx, [0x140101238]
mov rcx, rax
call fcn.140003f20
lea rdx, [rsp + 0x28]
cmp qword [rsp + 0x40], 0x10
cmovae rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x38]
mov rcx, rax
call fcn.140004f80
mov rcx, rax
lea rdx, [0x1400bc2a0]
call fcn.140003f20
nop
lea rcx, [rbp + 0x78]
call fcn.140003b00
nop
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x14000f6f4
lea rdx, str.Assertion__
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x14000f713
lea rdx, str._terrains.empty__
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x14000f732
lea rdx, str.__failed_at
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x14000f751
lea rdx, str.C:Userso2f4p0r9m0g4k2r1_source_reposl2mapconv2l2mapconv2_application_srcUnrealLoader.cpp
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x14000f770
lea rdx, [0x1400bc210]
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x14000f78e
mov edx, 0x4e
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x14000f7ad
lea rdx, [0x1400bc2a0]
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x14000f7cc
lea rdx, str.No_terrains_in_package:
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
mov rdx, qword [r12]
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x58], xmm1
mov r8, qword [rdx + 0x60]
mov rdx, qword [rdx + 0x58]
lea rcx, [rbp - 0x68]
call fcn.140004240
nop
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x14000f81b
lea rdx, [rbp - 0x68]
cmp qword [rbp - 0x50], 0x10
cmovae rdx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x58]
mov rcx, qword [rsp + 0x48]
call fcn.140004f80
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x14000f875
mov rbx, qword [rsp + 0x48]
xor r8d, r8d
lea rdx, [rbp + 0x98]
call fcn.1400b4b50
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14000f84c
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.140004f80
lea rdx, [0x140003e00]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp + 0x98]
call fcn.140003b00
nop
lea rcx, [rbp - 0x68]
call fcn.140003b00
nop
lea rcx, [rsp + 0x28]
call fcn.140003b00
nop
lea rcx, [rbp - 8]
call fcn.140003b00
mov rsi, qword [rbp + 0x118]
mov rcx, qword [rsi]
add rcx, 0xa0
lea rdx, [rbp - 0x80]
call fcn.140015bc0
mov r14, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x14000f8ee
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14000f8ee
mov rbx, qword [rbp - 0x78]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14000f8ee
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [r14 + 0x160]
cmp qword [r14 + 0x158], rax
jne 0x14000fc43
xorps xmm0, xmm0
movups xmmword [rbp + 0x18], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x28], xmm1
mov r8d, 3
lea rdx, [0x1400bbf90]
lea rcx, [rbp + 0x18]
call fcn.140004240
nop
mov dword [rsp + 0x50], 2
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x58]
call fcn.1400038d0
nop
mov r14, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov qword [rsp + 0x78], r14
cmp dword [rsp + 0x50], 4
jg 0x14000fa85
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x14000f9cc
cmp qword [0x140137680], 0
je 0x14000f9c7
lea r8, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae r8, qword [rsp + 0x58]
xor edx, edx
test rbx, rbx
je 0x14000f9a4
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r8]
xor rdi, rax
imul rdi, r13
inc rdx
cmp rdx, rbx
jb 0x14000f990
mov r9, rdi
lea r8, [rsp + 0x58]
lea rdx, [rbp + 0x48]
lea rcx, [0x140137670]
call fcn.140016da0
cmp qword [rax + 8], 0
je 0x14000fa85
test rbx, rbx
jne 0x14000fa10
lea rdx, [rbp + 0xb8]
lea rcx, [rsp + 0x50]
call fcn.1400b4880
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14000f9ec
mov rax, qword [rax]
mov rdx, rax
mov rcx, r14
call fcn.140004f80
mov rcx, rax
lea rdx, [0x1400bbc98]
call fcn.140003f20
nop
lea rcx, [rbp + 0xb8]
jmp 0x14000fa7f
lea rdx, [rbp + 0xd8]
lea rcx, [rsp + 0x50]
call fcn.1400b4880
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14000fa30
mov rax, qword [rax]
mov rdx, rax
mov rcx, r14
call fcn.140004f80
lea rdx, [0x140101238]
mov rcx, rax
call fcn.140003f20
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x68]
mov rcx, rax
call fcn.140004f80
mov rcx, rax
lea rdx, [0x1400bc2a0]
call fcn.140003f20
nop
lea rcx, [rbp + 0xd8]
call fcn.140003b00
nop
lea rcx, [rsp + 0x50]
call fcn.1400b4ac0
test al, al
je 0x14000faa4
lea rdx, str.Assertion__
mov rcx, qword [rsp + 0x78]
call fcn.140003f20
lea rcx, [rsp + 0x50]
call fcn.1400b4ac0
test al, al
je 0x14000fac3
lea rdx, str._mips.empty__
mov rcx, qword [rsp + 0x78]
call fcn.140003f20
lea rcx, [rsp + 0x50]
call fcn.1400b4ac0
test al, al
je 0x14000fae2
lea rdx, str.__failed_at
mov rcx, qword [rsp + 0x78]
call fcn.140003f20
lea rcx, [rsp + 0x50]
call fcn.1400b4ac0
test al, al
je 0x14000fb01
lea rdx, str.C:Userso2f4p0r9m0g4k2r1_source_reposl2mapconv2l2mapconv2_application_srcUnrealLoader.cpp
mov rcx, qword [rsp + 0x78]
call fcn.140003f20
lea rcx, [rsp + 0x50]
call fcn.1400b4ac0
test al, al
je 0x14000fb20
lea rdx, [0x1400bc210]
mov rcx, qword [rsp + 0x78]
call fcn.140003f20
lea rcx, [rsp + 0x50]
call fcn.1400b4ac0
test al, al
je 0x14000fb3e
mov edx, 0x54
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rcx, [rsp + 0x50]
call fcn.1400b4ac0
test al, al
je 0x14000fb5d
lea rdx, [0x1400bc2a0]
mov rcx, qword [rsp + 0x78]
call fcn.140003f20
lea rcx, [rsp + 0x50]
call fcn.1400b4ac0
test al, al
je 0x14000fb7c
lea rdx, str.Cant_load_terrain_heightmap_in_package:
mov rcx, qword [rsp + 0x78]
call fcn.140003f20
mov rdx, qword [r12]
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x38], xmm1
mov r8, qword [rdx + 0x60]
mov rdx, qword [rdx + 0x58]
lea rcx, [rbp - 0x48]
call fcn.140004240
nop
lea rcx, [rsp + 0x50]
call fcn.1400b4ac0
test al, al
je 0x14000fbcb
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae rdx, qword [rbp - 0x48]
mov r8, qword [rbp - 0x38]
mov rcx, qword [rsp + 0x78]
call fcn.140004f80
lea rcx, [rsp + 0x50]
call fcn.1400b4ac0
test al, al
je 0x14000fc25
mov rbx, qword [rsp + 0x78]
xor r8d, r8d
lea rdx, [rbp + 0xf8]
call fcn.1400b4b50
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14000fbfc
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.140004f80
lea rdx, [0x140003e00]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp + 0xf8]
call fcn.140003b00
nop
lea rcx, [rbp - 0x48]
call fcn.140003b00
nop
lea rcx, [rsp + 0x58]
call fcn.140003b00
nop
lea rcx, [rbp + 0x18]
call fcn.140003b00
xor eax, eax
mov qword [r15], rax
mov qword [r15 + 8], rax
mov rax, qword [rsi + 8]
test rax, rax
je 0x14000fc59
lock inc dword [rax + 8]
mov rax, qword [rsi]
mov qword [r15], rax
mov rax, qword [rsi + 8]
mov qword [r15 + 8], rax
mov rdi, qword [rbp + 0x118]
test rdi, rdi
je 0x14000fd09
mov rsi, qword [rbp + 0x120]
cmp rdi, rsi
je 0x14000fccb
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14000fcbb
mov eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14000fcbb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14000fcbb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
add rdi, 0x10
cmp rdi, rsi
jne 0x14000fc83
mov rdi, qword [rbp + 0x118]
mov rdx, qword [rbp + 0x128]
sub rdx, rdi
and rdx, 0xfffffffffffffff0
mov rax, rdi
cmp rdx, 0x1000
jb 0x14000fd01
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000fd01
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.1400b5af4
mov rax, r15
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.1400b5770
mov rbx, qword [rsp + 0x280]
add rsp, 0x240
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret