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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c3b89
mov eax, dword fs:[0]
push eax
sub esp, 0xd4
mov eax, dword [0x100f0364]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x44], 0
mov eax, dword [0x10135d00]
movss xmm0, dword [eax]
comiss xmm0, dword [0x100e580c]
jbe 0x10017891
cmp byte [0x10139865], 0
jne 0x10017891
mov ecx, dword [0x10135ca4]
test ecx, ecx
je 0x100176d0
mov eax, dword [ecx]
push str.clear
mov eax, dword [eax + 0x1b0]
call eax
mov eax, dword [0x10135ca0]
test eax, eax
je 0x100176f0
mov eax, dword [eax + 0x34]
mov eax, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
je 0x100176f0
and dword [eax + 0x14], 0xffffffed
mov eax, dword [eax + 4]
test eax, eax
jne 0x100176e5
call fcn.10017230
sub esp, 0x18
xorps xmm0, xmm0
mov esi, esp
push 0x20
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
call fcn.1000e610
mov dword [esi], eax
mov dword [esi + 0x10], 0x19
mov dword [esi + 0x14], 0x1f
movups xmm0, xmmword [str.Stackbeater_was_inject_._n]
movups xmmword [eax], xmm0
movq xmm0, qword [0x100df400]
movq qword [eax + 0x10], xmm0
mov cl, byte [0x100df408]
mov byte [eax + 0x18], cl
mov byte [eax + 0x19], 0
call fcn.1001c030
sub esp, 0x18
mov dword [ebp - 0xe0], 0x100df778
mov esi, esp
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x48], esi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
push 0
push 0
lea eax, [ebp - 0xdc]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x44], 2
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xe0], 0x100df738
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xe4], eax
lea ecx, [ebp - 0xdc]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov dword [ebp - 0xdc], 0x100df73c
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 4
mov dword [ebp - 4], 2
lea eax, [ebp - 0x1c]
push 1
push eax
mov edx, str.build_time:__s_n
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x1c], str.Sep_27_2023
mov dword [ebp - 0x18], 0x1001de60
mov dword [ebp - 0x14], fcn.10003df0
call fcn.10016360
add esp, 8
lea ecx, [ebp - 0xdc]
push esi
call fcn.1001cf00
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xe0], 0x100df738
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xe4], eax
lea ecx, [ebp - 0xdc]
call fcn.1001cb10
lea ecx, [ebp - 0xd8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x90]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
call fcn.1001c030
mov byte [0x10139865], 1
mov eax, dword [0x100df430]
xorps xmm0, xmm0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0xc
movq xmm0, qword [0x100df428]
mov dword [ebp - 0x2c], 0xf
movq qword [ebp - 0x40], xmm0
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x34], 0
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 3
push eax
mov ecx, 0x10139720
call fcn.1000dd80
mov eax, dword [eax]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2c]
mov dword [0x10130770], eax
cmp ecx, 0x10
jb 0x10017918
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001790e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1001790e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100c0328
add esp, 8
mov ecx, dword [0x10135ca4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x10017e73
cmp dword [0x101305e0], 0
je 0x10017e73
mov ecx, dword [0x10135ca4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x10017e73
mov eax, dword [0x10139940]
test al, 1
jne 0x100179cb
or eax, 1
mov dword [0x10139940], eax
mov eax, dword [0x10135ca0]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x100179b6
nop
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10017980
xor edx, edx
test ecx, ecx
je 0x100179ac
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10017990
cmp esi, 0xc5764f31
je 0x100179c0
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 4]
mov dword [ebp - 0x44], eax
test eax, eax
jne 0x10017970
xor ecx, ecx
mov dword [0x1013994c], ecx
jmp 0x100179d1
mov ecx, dword [ebp - 0x44]
mov dword [0x1013994c], ecx
jmp 0x100179d1
mov ecx, dword [0x1013994c]
mov eax, dword [ecx]
push 1
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x10139940]
test al, 2
jne 0x10017a4d
or eax, 2
mov dword [0x10139940], eax
mov eax, dword [0x10135ca0]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x10017a46
nop word [eax + eax]
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10017a10
xor edx, edx
test ecx, ecx
je 0x10017a3c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10017a20
mov eax, dword [ebp - 0x44]
cmp esi, 0xe58a742f
je 0x10017a48
mov eax, dword [eax + 4]
mov dword [ebp - 0x44], eax
test eax, eax
jne 0x10017a00
xor eax, eax
mov dword [0x10139930], eax
mov eax, dword [0x100df440]
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x18], 0xc
movq xmm0, qword [str.mat_drawgray]
mov dword [ebp - 0x14], 0xf
movq qword [ebp - 0x28], xmm0
mov dword [ebp - 0x20], eax
mov byte [ebp - 0x1c], 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 4
push eax
mov ecx, 0x10139700
call fcn.1000dda0
mov ecx, dword [0x10139930]
xor edx, edx
cmp byte [eax], dl
mov eax, dword [ecx]
setne dl
push edx
mov eax, dword [eax + 0x40]
call eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x10017ae2
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017ad8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10017ad8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100c0328
add esp, 8
mov eax, dword [0x10139940]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
test al, 4
jne 0x10017b6b
or eax, 4
mov dword [0x10139940], eax
mov eax, dword [0x10135ca0]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x10017b56
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + edi], 0
jne 0x10017b20
xor edx, edx
test ecx, ecx
je 0x10017b4c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10017b30
cmp esi, 0x5855078
je 0x10017b60
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 4]
mov dword [ebp - 0x44], eax
test eax, eax
jne 0x10017b14
xor ecx, ecx
mov dword [0x10139944], ecx
jmp 0x10017b71
mov ecx, dword [ebp - 0x44]
mov dword [0x10139944], ecx
jmp 0x10017b71
mov ecx, dword [0x10139944]
test ecx, ecx
je 0x10017b8c
mov eax, dword [ecx + 0x14]
and eax, 0xfffffffd
and eax, 0xffffffef
mov dword [ecx + 0x14], eax
test ecx, ecx
je 0x10017b8c
mov dword [ecx + 0x50], 0
xorps xmm0, xmm0
mov dword [ecx + 0x3c], 0
movups xmmword [ebp - 0x40], xmm0
mov dword [ecx + 0x40], 0x7f7fffff
movq xmm0, qword [str.mat_picmip]
mov ax, word [0x100df450]
mov dword [ebp - 0x30], 0xa
mov dword [ebp - 0x2c], 0xf
movq qword [ebp - 0x40], xmm0
mov word [ebp - 0x38], ax
mov byte [ebp - 0x36], 0
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 5
push eax
mov ecx, 0x10139720
call fcn.1000dd80
mov ecx, dword [0x10139944]
mov edx, dword [eax]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x40]
call eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x10017c2c
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017c22
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10017c22
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100c0328
add esp, 8
mov eax, dword [0x10139940]
test al, 8
jne 0x10017c9d
or eax, 8
mov dword [0x10139940], eax
mov eax, dword [0x10135ca0]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x10017c96
nop dword [eax]
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10017c60
xor edx, edx
test ecx, ecx
je 0x10017c8c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10017c70
mov eax, dword [ebp - 0x44]
cmp esi, 0xcd89567
je 0x10017c98
mov eax, dword [eax + 4]
mov dword [ebp - 0x44], eax
test eax, eax
jne 0x10017c50
xor eax, eax
mov dword [0x10139948], eax
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push 0x20
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0xf
call fcn.1000e610
movups xmm0, xmmword [str.cl_threaded_bone_setup]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], 0x16
mov dword [ebp - 0x14], 0x1f
movups xmmword [eax], xmm0
mov edx, dword [0x100df464]
mov dword [eax + 0x10], edx
mov dx, word [0x100df468]
mov word [eax + 0x14], dx
mov byte [eax + 0x16], 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 6
push eax
mov ecx, 0x10139720
call fcn.1000dd80
mov ecx, dword [0x10139948]
mov edx, dword [eax]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x40]
call eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x10017d4e
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017d44
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10017d44
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100c0328
add esp, 8
mov eax, dword [0x10139940]
test al, 0x10
jne 0x10017dbd
or eax, 0x10
mov dword [0x10139940], eax
mov eax, dword [0x10135ca0]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x10017db6
nop
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10017d80
xor edx, edx
test ecx, ecx
je 0x10017dac
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10017d90
mov eax, dword [ebp - 0x44]
cmp esi, 0xb6e6ca30
je 0x10017db8
mov eax, dword [eax + 4]
mov dword [ebp - 0x44], eax
test eax, eax
jne 0x10017d70
xor eax, eax
mov dword [0x10139934], eax
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push 0x20
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0xf
call fcn.1000e610
movups xmm0, xmmword [str.mat_showlowresimage]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], 0x13
mov dword [ebp - 0x14], 0x1f
movups xmmword [eax], xmm0
mov dx, word [0x100df47c]
mov word [eax + 0x10], dx
mov dl, byte [0x100df47e]
mov byte [eax + 0x12], dl
mov byte [eax + 0x13], 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 7
push eax
mov ecx, 0x10139700
call fcn.1000dda0
mov ecx, dword [0x10139934]
xor edx, edx
cmp byte [eax], dl
mov eax, dword [ecx]
setne dl
push edx
mov eax, dword [eax + 0x40]
call eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x10017e73
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017e69
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10017e69
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100c0328
add esp, 8
mov ecx, dword [0x10135ca4]
push 0x10130670
push 0x1013066c
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
call eax
call fcn.100ad270
mov ecx, 0x10139818
call fcn.10086710
mov ax, word [0x100df218]
xorps xmm0, xmm0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0xa
movq xmm0, qword [str.menu_color]
mov dword [ebp - 0x2c], 0xf
movq qword [ebp - 0x40], xmm0
mov word [ebp - 0x38], ax
mov byte [ebp - 0x36], 0
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 8
push eax
mov ecx, 0x10139760
call fcn.1000dd60
movss xmm1, dword [0x100e5940]
movss xmm0, dword [eax + 0xc]
mulss xmm0, xmm1
cvttss2si ecx, xmm0
movss xmm0, dword [eax + 8]
mulss xmm0, xmm1
mov dword [ebp - 0x48], ecx
cvttss2si edx, xmm0
movss xmm0, dword [eax + 4]
mulss xmm0, xmm1
mov byte [ebp - 0x42], dl
cvttss2si ecx, xmm0
movss xmm0, dword [eax]
mulss xmm0, xmm1
mov byte [ebp - 0x43], cl
cvttss2si eax, xmm0
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x48]
mov byte [ebp - 0x41], al
push dword [ebp - 0x44]
call fcn.10016b00
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x10017f70
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017f66
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10017f66
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100c0328
add esp, 8
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.100173e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100bfdfa
mov esp, ebp
pop ebp
ret