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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a4670
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x100b9008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor eax, eax
mov dword [ebp - 0x20], 0
xorps xmm0, xmm0
mov dword [ebp - 0x2c], eax
movq qword [ebp - 0x28], xmm0
xor esi, esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], esi
xor ebx, ebx
movq qword [ebp - 0x1c], xmm0
xor edi, edi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 1
mov eax, dword [0x10118334]
test al, 1
jne 0x10090072
or eax, 1
mov dword [0x10118334], eax
mov eax, dword [0x10112024]
mov ebx, dword [eax + 0x30]
test ebx, ebx
je 0x1009006a
nop dword [eax]
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10090030
xor edx, edx
test ecx, ecx
je 0x1009005d
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10090040
cmp edi, 0xe6a08fc9
je 0x1009010e
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10090020
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x18]
xor ebx, ebx
mov dword [0x10118338], ebx
mov ecx, dword [0x10112058]
mov eax, dword [ecx]
mov eax, dword [eax + 0x158]
call eax
mov ecx, dword [0x10112058]
movzx ebx, ax
mov dword [ebp - 0x34], ebx
mov eax, dword [ecx]
mov eax, dword [eax + 0x160]
call eax
cmp bx, ax
je 0x100901d5
mov ecx, dword [0x10112058]
push ebx
mov eax, dword [ecx]
mov eax, dword [eax + 0x164]
call eax
mov ebx, eax
mov dword [ebp - 0x2c], ebx
test ebx, ebx
je 0x10090197
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
mov ecx, ebx
call edx
mov esi, eax
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100900d1
xor edx, edx
test ecx, ecx
je 0x1009012e
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100900e0
cmp edi, 0xbb2da711
jne 0x1009012e
mov esi, dword [ebp - 0x24]
cmp dword [ebp - 0x40], esi
je 0x10090119
mov dword [esi], ebx
add esi, 4
mov dword [ebp - 0x24], esi
jmp 0x10090194
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x18]
jmp 0x1009006c
lea eax, [ebp - 0x2c]
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.100225b0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
jmp 0x10090191
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 4]
call eax
mov esi, eax
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10090140
xor edx, edx
test ecx, ecx
je 0x10090191
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10090150
cmp edi, 0xd402d032
jne 0x10090191
mov edi, dword [ebp - 0x18]
cmp dword [ebp - 0x3c], edi
je 0x1009017e
mov esi, dword [ebp - 0x24]
mov dword [edi], ebx
add edi, 4
mov dword [ebp - 0x18], edi
jmp 0x10090197
lea eax, [ebp - 0x2c]
push eax
push edi
lea ecx, [ebp - 0x1c]
call fcn.100225b0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x3c], eax
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x18]
mov ecx, dword [0x10112058]
push dword [ebp - 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 0x15c]
call eax
mov ecx, dword [0x10112058]
movzx ebx, ax
mov dword [ebp - 0x34], ebx
mov eax, dword [ecx]
mov eax, dword [eax + 0x160]
call eax
cmp bx, ax
jne 0x100900a1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov ecx, dword [0x100c2dec]
mov edx, dword [0x100c2c9c]
mov eax, dword [0x100c2d30]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x48], ecx
mov ecx, dword [0x100c2c98]
mov dword [ebp - 0x34], eax
cmp ecx, edx
je 0x10090210
nop dword [eax]
cmp dword [ecx], 0
je 0x10090367
add ecx, 4
cmp ecx, edx
jne 0x10090200
mov eax, dword [ebp - 0x2c]
mov ebx, esi
sub ebx, eax
xor ecx, ecx
add ebx, 3
shr ebx, 2
cmp eax, esi
mov esi, eax
cmova ebx, ecx
test ebx, ebx
je 0x1009025e
xor edi, edi
nop dword [eax]
mov ecx, dword [esi]
sub esp, 0xc
mov eax, dword [ecx]
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
mov eax, dword [eax + 0x70]
call eax
inc edi
lea esi, [esi + 4]
cmp edi, ebx
jne 0x10090230
mov edi, dword [ebp - 0x18]
mov ecx, dword [0x10112124]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
cmp eax, 0xffffffff
je 0x1009027f
mov ecx, dword [0x10112124]
push 0xffffffffffffffff
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [ebp - 0x30]
mov esi, edi
sub esi, eax
xor ecx, ecx
add esi, 3
xor ebx, ebx
shr esi, 2
cmp eax, edi
mov edi, eax
cmova esi, ecx
test esi, esi
je 0x100902ce
nop dword [eax + eax]
mov ecx, dword [edi]
sub esp, 0xc
mov eax, dword [ecx]
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
mov eax, dword [eax + 0x70]
call eax
inc ebx
lea edi, [edi + 4]
cmp ebx, esi
jne 0x100902a0
mov eax, dword [ebp - 0x30]
movss xmm0, dword [0x100c2bb4]
xor edi, edi
mulss xmm0, dword [0x100ad678]
mov ebx, eax
movss dword [ebp - 0x38], xmm0
test esi, esi
je 0x1009030c
nop dword [eax + eax]
mov ecx, dword [ebx]
push ecx
movss dword [esp], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
movss xmm0, dword [ebp - 0x38]
lea ebx, [ebx + 4]
inc edi
cmp edi, esi
jne 0x100902f0
mov ecx, dword [0x10112124]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
je 0x1009032c
mov ecx, dword [0x10112124]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x100904e5
mov edx, dword [ebp - 0x3c]
mov eax, ecx
sub edx, ecx
and edx, 0xfffffffc
cmp edx, 0x1000
jb 0x100904db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100904db
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
cmp ecx, edx
je 0x10090210
mov ecx, dword [ebp - 0x2c]
mov ebx, esi
movss xmm0, dword [0x100ad66c]
sub ebx, ecx
add ebx, 3
xor edx, edx
shr ebx, 2
cmp ecx, esi
mov esi, ecx
cmova ebx, edx
test ebx, ebx
je 0x10090408
movzx ecx, byte [ebp - 0x32]
xor edi, edi
movd xmm1, ecx
movzx ecx, ah
movzx eax, al
cvtdq2ps xmm1, xmm1
movd xmm2, ecx
movd xmm3, eax
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm3, xmm3
mulss xmm1, xmm0
mulss xmm2, xmm0
mulss xmm3, xmm0
movss dword [ebp - 0x34], xmm1
movss dword [ebp - 0x4c], xmm2
movss dword [ebp - 0x44], xmm3
mov ecx, dword [esi]
sub esp, 0xc
mov eax, dword [ecx]
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm2
movss dword [esp], xmm3
mov eax, dword [eax + 0x70]
call eax
movss xmm1, dword [ebp - 0x34]
lea esi, [esi + 4]
movss xmm2, dword [ebp - 0x4c]
inc edi
movss xmm3, dword [ebp - 0x44]
cmp edi, ebx
jne 0x100903d1
mov edi, dword [ebp - 0x18]
mov ecx, dword [0x10112124]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
je 0x10090428
mov ecx, dword [0x10112124]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [ebp - 0x30]
mov esi, edi
sub esi, eax
xor ecx, ecx
add esi, 3
xor ebx, ebx
shr esi, 2
cmp eax, edi
mov edi, eax
cmova esi, ecx
test esi, esi
je 0x100904c4
movzx eax, byte [ebp - 0x46]
movss xmm3, dword [0x100ad66c]
movd xmm0, eax
mov eax, dword [ebp - 0x38]
movzx ecx, ah
movzx eax, al
cvtdq2ps xmm0, xmm0
movd xmm1, ecx
movd xmm2, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm2, xmm2
mulss xmm0, xmm3
mulss xmm1, xmm3
mulss xmm2, xmm3
movss dword [ebp - 0x48], xmm0
movss dword [ebp - 0x38], xmm1
movss dword [ebp - 0x44], xmm2
nop dword [eax]
mov ecx, dword [edi]
sub esp, 0xc
mov eax, dword [ecx]
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm2
mov eax, dword [eax + 0x70]
call eax
movss xmm0, dword [ebp - 0x48]
lea edi, [edi + 4]
movss xmm1, dword [ebp - 0x38]
inc ebx
movss xmm2, dword [ebp - 0x44]
cmp ebx, esi
jne 0x10090490
mov ecx, dword [0x10118338]
push str.sky_csgo_night02
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
jmp 0x100902cb
push edx
push ecx
call fcn.1009b7cf
add esp, 8
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x1009051e
mov edx, dword [ebp - 0x40]
mov eax, ecx
sub edx, ecx
and edx, 0xfffffffc
cmp edx, 0x1000
jb 0x10090514
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10090514
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.1009b7cf
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1009b337
mov esp, ebp
pop ebp
ret