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

Disassembly:
mov eax, dword [0x1013d978]
push ebx
push esi
push edi
test al, 1
jne 0x10035318
or eax, 1
mov dword [0x1013d978], eax
mov eax, dword [0x10137b54]
mov esi, dword [eax + 0x30]
jmp 0x1003530c
mov edi, dword [esi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x100352e0
xor edx, edx
test ecx, ecx
je 0x10035309
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x100352f0
cmp ebx, 0xa17fa712
je 0x10035310
mov esi, dword [esi + 4]
test esi, esi
jne 0x100352d0
mov dword [0x1013d698], esi
jmp 0x1003531e
mov esi, dword [0x1013d698]
mov eax, dword [esi]
mov ecx, esi
push 0
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x1013d978]
test al, 2
jne 0x10035388
or eax, 2
mov dword [0x1013d978], eax
mov eax, dword [0x10137b54]
mov edx, dword [eax + 0x30]
jmp 0x1003537c
mov edi, dword [edx + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [edi + ecx], 0
jne 0x10035350
xor esi, esi
test ecx, ecx
je 0x10035379
nop dword [eax]
movsx eax, byte [edi + esi]
inc esi
xor eax, ebx
imul ebx, eax, 0x1000193
cmp esi, ecx
jb 0x10035360
cmp ebx, 0xe6a08fc9
je 0x10035380
mov edx, dword [edx + 4]
test edx, edx
jne 0x10035344
mov dword [0x1013d97c], edx
jmp 0x1003538e
mov edx, dword [0x1013d97c]
mov eax, dword [0x100d4cec]
add eax, 0xfffffffe
cmp eax, 0x11
ja case.default.0x1003539f
jmp dword [eax*4 + 0x100354ec]
mov eax, dword [edx]
mov ecx, edx
push str.embassy
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret
mov eax, dword [edx]
mov ecx, edx
push str.italy
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret
mov eax, dword [edx]
mov ecx, edx
push str.sky_cs15_daylight01_hdr
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret
mov eax, dword [edx]
mov ecx, edx
push str.sky_csgo_cloudy01
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret
mov eax, dword [edx]
mov ecx, edx
push str.sky_csgo_night02
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret
mov eax, dword [edx]
mov ecx, edx
push str.sky_csgo_night02b
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret
mov eax, dword [edx]
mov ecx, edx
push str.sky_csgo_night_flat
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret
mov eax, dword [edx]
mov ecx, edx
push str.sky_day02_05_hdr
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret
mov eax, dword [edx]
mov ecx, edx
push str.sky_day02_05
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret
mov eax, dword [edx]
mov ecx, edx
push str.sky_l4d_rural02_ldr
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret
mov eax, dword [edx]
mov ecx, edx
push str.vertigo_hdr
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret
mov eax, dword [edx]
mov ecx, edx
push str.vertigoblue_hdr
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret
mov eax, dword [edx]
mov ecx, edx
push str.vertigo
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret
mov eax, dword [edx]
mov ecx, edx
push str.vietnam
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret
mov eax, dword [edx]
mov ecx, edx
push str.sky_dust
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret
mov eax, dword [edx]
mov ecx, edx
push str.jungle
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret
mov eax, dword [edx]
mov ecx, edx
push str.nukeblank
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret
mov eax, dword [edx]
mov ecx, edx
push str.office
mov eax, dword [eax + 0x38]
call eax
pop edi
pop esi
pop ebx
ret