Function at 0x140017e50
Capabilities:
Encode data using xor
Get thread local storage value
Hash data using fnv

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x398]
sub rsp, 0x498
mov rax, qword [0x140137010]
xor rax, rsp
mov qword [rbp + 0x380], rax
mov r13d, r9d
mov r12d, r8d
mov r15, rdx
mov qword [rbp - 0x78], rcx
call fcn.14004ae10
xor edi, edi
movabs r14, 0xcbf29ce484222325
cmp eax, 1
je 0x140018178
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
lea r8d, [rdi + 3]
lea rdx, [0x1400bbf90]
lea rcx, [rsp + 0x58]
call fcn.140004240
nop
mov dword [rsp + 0x20], 2
lea rdx, [rsp + 0x58]
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 0x140018018
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x140017f6b
cmp qword [0x140137680], rdi
je 0x140017f66
lea rdx, [rsp + 0x28]
cmp qword [rsp + 0x40], 0x10
cmovae rdx, qword [rsp + 0x28]
mov r9, r14
mov ecx, edi
test rbx, rbx
je 0x140017f45
movabs r8, 0x100000001b3
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r8
inc rcx
cmp rcx, rbx
jb 0x140017f32
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x78]
lea rcx, [0x140137670]
call fcn.140016da0
cmp qword [rax + 8], 0
je 0x140018018
test rbx, rbx
jne 0x140017fa9
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x20]
call fcn.1400b4880
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x140017f88
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 - 0x20]
jmp 0x140018012
lea rdx, [rbp]
lea rcx, [rsp + 0x20]
call fcn.1400b4880
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x140017fc6
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]
call fcn.140003b00
nop
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x140018037
lea rdx, str.Assertion__
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x140018056
lea rdx, str.glfwInit____1
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x140018075
lea rdx, str.__failed_at
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x140018094
lea rdx, str.C:Userso2f4p0r9m0g4k2r1_source_reposl2mapconv2l2mapconv2_application_srcWindowSystem.cpp
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x1400180b3
lea rdx, [0x1400bc210]
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x1400180d1
mov edx, 0x5e
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 0x1400180f0
lea rdx, [0x1400bc2a0]
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x14001810f
lea rdx, str.Cant_initialize_GLFW
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x140018163
mov rbx, qword [rsp + 0x48]
xor r8d, r8d
lea rdx, [rbp + 0x20]
call fcn.1400b4b50
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14001813d
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 + 0x20]
call fcn.140003b00
nop
lea rcx, [rsp + 0x28]
call fcn.140003b00
nop
lea rcx, [rsp + 0x58]
call fcn.140003b00
mov eax, dword [0x14013edc0]
test eax, eax
jne 0x140018196
xor edx, edx
mov ecx, 0x10001
call fcn.14004aaa0
mov eax, dword [0x14013edc0]
jmp 0x1400181a0
mov dword [0x14013f168], 3
test eax, eax
jne 0x1400181b8
xor edx, edx
mov ecx, 0x10001
call fcn.14004aaa0
mov eax, dword [0x14013edc0]
jmp 0x1400181c2
mov dword [0x14013f16c], 3
test eax, eax
jne 0x1400181da
xor edx, edx
mov ecx, 0x10001
call fcn.14004aaa0
mov eax, dword [0x14013edc0]
jmp 0x1400181e4
mov dword [0x14013f17c], 0x32001
test eax, eax
jne 0x1400181fc
xor edx, edx
mov ecx, 0x10001
call fcn.14004aaa0
mov eax, dword [0x14013edc0]
jmp 0x140018206
mov dword [0x14013f170], 1
test eax, eax
jne 0x14001821e
xor edx, edx
mov ecx, 0x10001
call fcn.14004aaa0
mov eax, dword [0x14013edc0]
jmp 0x140018228
mov dword [0x14013ee30], 1
test eax, eax
jne 0x140018240
xor edx, edx
mov ecx, 0x10001
call fcn.14004aaa0
mov eax, dword [0x14013edc0]
jmp 0x14001824a
mov dword [0x14013ee08], 4
cmp qword [r15 + 0x18], 0x10
jb 0x140018254
mov r15, qword [r15]
test eax, eax
jne 0x140018269
xor edx, edx
mov ecx, 0x10001
call fcn.14004aaa0
jmp 0x14001845f
test r12d, r12d
jle 0x140018448
test r13d, r13d
jle 0x140018448
movups xmm0, xmmword [0x14013edd8]
movaps xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [0x14013ede8]
movaps xmmword [rbp - 0x60], xmm1
movups xmm0, xmmword [0x14013edf8]
movaps xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [0x14013ee08]
movaps xmmword [rbp - 0x40], xmm1
movsd xmm0, qword [0x14013ee18]
movsd qword [rbp - 0x30], xmm0
movaps xmm1, xmmword [0x14013f160]
movups xmmword [rsp + 0x20], xmm1
movaps xmm0, xmmword [0x14013f170]
movups xmmword [rsp + 0x30], xmm0
movaps xmm1, xmmword [0x14013f180]
movups xmmword [rsp + 0x40], xmm1
movsd xmm0, qword [0x14013f190]
movsd qword [rsp + 0x50], xmm0
lea rax, [rbp + 0x40]
lea rcx, [0x14013ee20]
mov edx, 6
nop word [rax + rax]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax - 0x10], xmm1
lea rcx, [rcx + 0x80]
sub rdx, 1
jne 0x140018300
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
mov dword [rbp + 0x40], r12d
mov dword [rbp + 0x44], r13d
mov qword [rbp + 0x48], r15
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x20]
call fcn.1400488c0
test eax, eax
je 0x14001845f
mov edx, 0x398
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rbx, rax
mov rax, qword [0x14013f1b0]
mov qword [rbx], rax
mov qword [0x14013f1b0], rbx
mov dword [rbx + 0x2c], r12d
mov dword [rbx + 0x30], r13d
mov eax, dword [rbp - 0x70]
mov dword [rbx + 0x34], eax
mov eax, dword [rbp - 0x6c]
mov dword [rbx + 0x38], eax
mov eax, dword [rbp - 0x68]
mov dword [rbx + 0x3c], eax
mov eax, dword [0x14013f198]
mov dword [rbx + 0x40], eax
mov qword [rbx + 0x48], rdi
mov eax, dword [rbp + 0x50]
mov dword [rbx + 8], eax
mov eax, dword [rbp + 0x58]
mov dword [rbx + 0xc], eax
mov eax, dword [rbp + 0x60]
mov dword [rbx + 0x10], eax
mov eax, dword [rbp + 0x64]
mov dword [rbx + 0x14], eax
mov eax, dword [rbp + 0x70]
mov dword [rbx + 0x18], eax
mov dword [rbx + 0x7c], 0x34001
mov eax, dword [rbp - 0x38]
mov dword [rbx + 0x28], eax
mov qword [rbx + 0x58], 0xffffffffffffffff
mov qword [rbx + 0x60], 0xffffffffffffffff
mov qword [rbx + 0x68], 0xffffffffffffffff
lea r9, [rbp - 0x70]
lea r8, [rsp + 0x20]
lea rdx, [rbp + 0x40]
mov rcx, rbx
call fcn.140053270
test eax, eax
jne 0x14001874e
mov rcx, rbx
call fcn.1400541e0
jmp 0x14001845f
mov r9d, r13d
mov r8d, r12d
lea rdx, str.Invalid_window_size__ix_i
mov ecx, 0x10004
call fcn.14004aaa0
mov rbx, rdi
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
mov r8d, 3
lea rdx, [0x1400bbf90]
lea rcx, [rsp + 0x58]
call fcn.140004240
nop
mov dword [rsp + 0x20], 2
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x28]
call fcn.1400038d0
nop
mov r15, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x48], r15
cmp dword [rsp + 0x20], 4
jg 0x1400185ee
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x140018541
cmp qword [0x140137680], 0
je 0x14001853c
lea rdx, [rsp + 0x28]
cmp qword [rsp + 0x40], 0x10
cmovae rdx, qword [rsp + 0x28]
test rsi, rsi
je 0x140018518
movabs r15, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdi + rdx]
xor r14, rax
imul r14, r15
inc rdi
cmp rdi, rsi
jb 0x140018500
mov r15, qword [rsp + 0x78]
mov r9, r14
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x78]
lea rcx, [0x140137670]
call fcn.140016da0
cmp qword [rax + 8], 0
je 0x1400185ee
test rsi, rsi
jne 0x14001857f
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.1400b4880
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14001855e
mov rax, qword [rax]
mov rdx, rax
mov rcx, r15
call fcn.140004f80
mov rcx, rax
lea rdx, [0x1400bbc98]
call fcn.140003f20
nop
lea rcx, [rbp + 0x20]
jmp 0x1400185e8
lea rdx, [rbp]
lea rcx, [rsp + 0x20]
call fcn.1400b4880
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14001859c
mov rax, qword [rax]
mov rdx, rax
mov rcx, r15
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]
call fcn.140003b00
nop
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x14001860d
lea rdx, str.Assertion__
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x14001862c
lea rdx, str.window___nullptr
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x14001864b
lea rdx, str.__failed_at
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x14001866a
lea rdx, str.C:Userso2f4p0r9m0g4k2r1_source_reposl2mapconv2l2mapconv2_application_srcWindowSystem.cpp
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x140018689
lea rdx, [0x1400bc210]
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x1400186a7
mov edx, 0x6e
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 0x1400186c6
lea rdx, [0x1400bc2a0]
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x1400186e5
lea rdx, str.Cant_create_window
mov rcx, qword [rsp + 0x48]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x140018739
mov rdi, qword [rsp + 0x48]
xor r8d, r8d
lea rdx, [rbp - 0x20]
call fcn.1400b4b50
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x140018713
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
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 - 0x20]
call fcn.140003b00
nop
lea rcx, [rsp + 0x28]
call fcn.140003b00
nop
lea rcx, [rsp + 0x58]
call fcn.140003b00
cmp dword [0x14013edc0], 0
jne 0x140018765
xor edx, edx
mov ecx, 0x10001
call fcn.14004aaa0
jmp 0x1400187c3
mov ecx, dword [0x1401403e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, rax
test rbx, rbx
je 0x140018795
cmp dword [rbx + 0x200], 0
jne 0x140018795
lea rdx, str.Cannot_make_current_with_a_window_that_has_no_OpenGL_or_OpenGL_ES_context
mov ecx, 0x1000a
call fcn.14004aaa0
jmp 0x1400187c3
test rdx, rdx
je 0x1400187b5
test rbx, rbx
je 0x1400187ad
mov eax, dword [rax + 0x204]
cmp dword [rbx + 0x204], eax
je 0x1400187ba
xor ecx, ecx
call qword [rdx + 0x248]
test rbx, rbx
je 0x1400187c3
mov rcx, rbx
call qword [rbx + 0x248]
mov rcx, qword [rbp - 0x78]
mov rcx, qword [rcx + 8]
mov qword [rcx + 0x38], rbx
mov rax, rbx
mov rcx, qword [rbp + 0x380]
xor rcx, rsp
call fcn.1400b5770
add rsp, 0x498
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret