Function at 0x435560
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
push ebx
push esi
mov eax, ecx
push edi
mov dword [ebp - 0x38], eax
add eax, 0x38
push 0x721ef7
push str.virtualdesktops
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.00465fd0
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x1c]
push ebx
mov esi, eax
call fcn.00464b00
push esi
mov ecx, eax
call fcn.00464cb0
lea ecx, [ebp - 0x1c]
call fcn.00465f40
mov eax, dword [ebp - 0x10]
xorps xmm0, xmm0
movlpd qword [ebp - 0x1c], xmm0
test eax, eax
je 0x4355bb
push eax
call fcn.004672a0
lea ecx, [ebp - 0x68]
call fcn.00438990
cmp byte [ebx + 8], 7
mov edi, 0x16
jne 0x435850
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
call fcn.00466a30
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x44]
je 0x435848
nop dword [eax]
cmp dword [eax + 0x14], 0xf
xorps xmm0, xmm0
mov esi, dword [eax + 0x10]
mov ebx, eax
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
jbe 0x435612
mov ebx, dword [eax]
cmp esi, 0x7fffffff
ja 0x435d4b
cmp esi, 0xf
ja 0x435637
mov edi, 0xf
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], edi
movups xmm0, xmmword [ebx]
movups xmmword [ebp - 0x1c], xmm0
jmp 0x435680
mov eax, esi
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x43564a
mov eax, 0x7fffffff
jmp 0x435650
cmp eax, 0x16
cmovb eax, edi
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00414510
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 8], ecx
lea ecx, [esi + 1]
push ecx
push ebx
push eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc], esi
call fcn.005c3580
mov edi, dword [ebp - 8]
add esp, 0x14
mov esi, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x1c]
cmp edi, 0xf
mov edx, esi
push 5
cmova ecx, ebx
push str.login
call fcn.004108e0
add esp, 8
test al, al
je 0x4356d0
cmp edi, 0xf
jbe 0x435830
inc edi
mov eax, ebx
cmp edi, 0x1000
jb 0x4356c9
mov ebx, dword [eax - 4]
add edi, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x435d46
push edi
push ebx
jmp 0x435828
cmp edi, 0xf
lea ecx, [ebp - 0x1c]
lea eax, [ebp - 0x1c]
cmova ecx, ebx
add ecx, esi
cmp edi, 0xf
push ecx
mov ecx, dword [ebp + 8]
cmova eax, ebx
push eax
call fcn.00466230
mov esi, eax
test esi, esi
jne 0x4356fb
call fcn.00464440
mov esi, eax
mov ecx, esi
call fcn.00466b80
test al, al
je 0x4357fc
mov ecx, esi
call fcn.004652e0
mov ebx, eax
shr eax, 0x10
mov ecx, ebx
movzx eax, al
shr ecx, 8
movzx edx, cl
movzx ecx, bl
xor ecx, 0x811c9dc5
mov dword [ebp - 0x24], ebx
imul ecx, ecx, 0x1000193
xor edx, ecx
imul ecx, edx, 0x1000193
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
lea eax, [ebp - 0x24]
imul esi, ecx, 0x1000193
lea ecx, [ebp - 0x68]
push esi
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.004301e0
cmp dword [ebp - 0x2c], 0
jne 0x4357fc
cmp dword [ebp - 0x60], 0x15555555
je 0x435d3c
push 0xc
call fcn.005ab82c
mov edi, eax
add esp, 4
mov dword [edi + 8], ebx
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x4c]
inc ecx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x739f30]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebp - 0x68]
jbe 0x4357ee
lea ecx, [ebp - 0x68]
call fcn.0043acb0
push esi
lea eax, [edi + 8]
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x68]
call fcn.004301e0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
jmp 0x4357f1
mov ecx, dword [ebp - 0x30]
push edi
push ecx
push esi
lea ecx, [ebp - 0x68]
call fcn.0040fa90
mov ecx, dword [ebp - 8]
cmp ecx, 0xf
jbe 0x435830
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x435826
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x435d46
push ecx
push edx
call fcn.005ab85c
add esp, 8
mov eax, dword [ebp - 0x20]
add eax, 0x18
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x44]
je 0x435848
mov edi, 0x16
jmp 0x4355f0
lea ecx, [ebp - 0x48]
call fcn.0040bf20
mov edi, dword [ebp - 0x64]
mov esi, dword [edi]
cmp esi, edi
je 0x4359ff
mov ebx, dword [ebp - 0x38]
add ebx, 0x70
mov dword [ebp - 0x24], ebx
mov edx, dword [esi + 8]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp + 8], edx
imul eax, eax, 0x1000193
mov dword [ebp - 0x20], ebx
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x38]
xor eax, edx
lea ecx, [ecx + 0x6c]
imul eax, eax, 0x1000193
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.004301e0
mov eax, dword [eax + 4]
test eax, eax
je 0x4358cd
cmp eax, dword [ebx]
jne 0x4359f5
jmp 0x4358d3
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
push 0x18
call fcn.005ab82c
mov ebx, eax
lea ecx, [ebp - 0x88]
xorps xmm0, xmm0
add esp, 4
movups xmmword [ebx], xmm0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0xf
mov byte [ebx], 0
mov edx, dword [ebp + 8]
call fcn.00440f30
push 0x11
push str.wallpaperconfigvd
push 0
mov ecx, eax
call fcn.0042bd10
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x14], xmm0
movups xmmword [ebp - 0xa8], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0x74]
movq qword [ebp - 0x34], xmm0
movq qword [ebp - 0x98], xmm0
cmp ecx, 0xf
jbe 0x43597c
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x435972
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x435d46
push ecx
push edx
call fcn.005ab85c
add esp, 8
lea eax, [ebp - 0xa8]
cmp ebx, eax
je 0x4359a0
mov ecx, ebx
call fcn.004143d0
movups xmm0, xmmword [ebp - 0x14]
movups xmmword [ebx], xmm0
movq xmm0, qword [ebp - 0x34]
movq qword [ebx + 0x10], xmm0
jmp 0x4359da
mov ecx, dword [ebp - 0x94]
cmp ecx, 0xf
jbe 0x4359da
mov edx, dword [ebp - 0xa8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4359d0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x435d46
push ecx
push edx
call fcn.005ab85c
add esp, 8
mov ecx, dword [ebp - 0x38]
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ecx + 0x6c]
call fcn.0042fc90
mov eax, dword [eax]
mov dword [eax + 0xc], ebx
mov ebx, dword [ebp - 0x20]
mov esi, dword [esi]
cmp esi, edi
jne 0x435866
mov ebx, dword [ebp - 0x3c]
mov ecx, ebx
push 0x721009
push str.wpropertiesvd
call fcn.00466230
test eax, eax
je 0x435d2b
push 0x721009
push str.wpropertiesvd
mov ecx, ebx
call fcn.00465fd0
cmp byte [eax + 8], 7
jne 0x435d2b
push ecx
lea eax, [ebp + 8]
mov dword [ebp + 8], 0
push eax
lea ecx, [ebp - 0x90]
call fcn.00428d60
push 0x721009
push str.wpropertiesvd
mov ecx, ebx
call fcn.00465fd0
lea ecx, [ebp - 0x34]
push ecx
mov ecx, eax
call fcn.00466a30
mov esi, dword [ebp - 0x34]
cmp esi, dword [ebp - 0x30]
je 0x435bce
cmp dword [esi + 0x14], 0xf
xorps xmm0, xmm0
mov edi, dword [esi + 0x10]
mov ebx, esi
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
jbe 0x435a97
mov ebx, dword [esi]
cmp edi, 0x7fffffff
ja 0x435d4b
cmp edi, 0xf
ja 0x435abc
mov ecx, 0xf
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], ecx
movups xmm0, xmmword [ebx]
movups xmmword [ebp - 0x1c], xmm0
jmp 0x435b07
mov eax, edi
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x435acf
mov eax, 0x7fffffff
jmp 0x435ada
cmp eax, 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00414510
mov ecx, dword [ebp + 8]
mov dword [ebp - 8], ecx
lea ecx, [edi + 1]
push ecx
push ebx
push eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc], edi
call fcn.005c3580
mov ecx, dword [ebp - 8]
add esp, 0x14
cmp ecx, 0xf
lea eax, [ebp - 0x1c]
cmova eax, dword [ebp - 0x1c]
add eax, 2
push eax
call fcn.005cef57
mov ebx, eax
add esp, 4
mov ecx, ebx
shr eax, 0x10
shr ecx, 8
movzx edx, cl
movzx ecx, bl
xor ecx, 0x811c9dc5
movzx eax, al
imul ecx, ecx, 0x1000193
mov dword [ebp + 8], ebx
shr ebx, 0x18
xor edx, ecx
imul ecx, edx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [ebp - 0x68]
xor eax, ebx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.004301e0
mov ecx, dword [ebp - 0x64]
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
cmp ecx, dword [ebp - 0x64]
jne 0x435b8e
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x90]
call fcn.0042a550
mov ecx, dword [ebp - 8]
cmp ecx, 0xf
jbe 0x435bc2
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x435bb8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x435d46
push ecx
push edx
call fcn.005ab85c
add esp, 8
add esi, 0x18
cmp esi, dword [ebp - 0x30]
jne 0x435a75
lea ecx, [ebp - 0x34]
call fcn.0040bf20
mov edi, dword [ebp - 0x8c]
mov esi, dword [edi]
cmp esi, edi
je 0x435d05
cmp dword [esi + 0x1c], 0xf
lea ebx, [esi + 8]
mov eax, dword [ebx + 0x10]
xorps xmm0, xmm0
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0x20], eax
jbe 0x435c0c
mov ebx, dword [ebx]
cmp eax, 0x7fffffff
ja 0x435d4b
cmp eax, 0xf
ja 0x435c2f
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], 0xf
movups xmm0, xmmword [ebx]
movups xmmword [ebp - 0x1c], xmm0
jmp 0x435c78
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x435c40
mov eax, 0x7fffffff
jmp 0x435c4b
cmp eax, 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00414510
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x1c], eax
lea ecx, [edx + 1]
mov dword [ebp - 0xc], edx
push ecx
push ebx
push eax
call fcn.005c3580
add esp, 0x14
mov ecx, dword [ebp - 0x3c]
push 0x721009
push str.wpropertiesvd
call fcn.00465fd0
mov edx, dword [ebp - 8]
lea ebx, [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
cmp edx, 0xf
mov dword [ebp + 8], eax
cmova ebx, ecx
cmp byte [eax + 8], 0
je 0x435cd1
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x435ca7
sub ecx, edx
mov dword [ebp - 0x30], ebx
lea eax, [ecx*4]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ecx]
call fcn.00467050
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
cmp edx, 0xf
jbe 0x435cfb
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x435cf1
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x435d46
push edx
push ecx
call fcn.005ab85c
add esp, 8
mov esi, dword [esi]
cmp esi, edi
jne 0x435be6
lea ecx, [ebp - 0x84]
call fcn.0040aea0
mov edx, dword [ebp - 0x8c]
call fcn.0042b0b0
push 0x20
push dword [ebp - 0x8c]
call fcn.005ab85c
add esp, 8
lea ecx, [ebp - 0x68]
call fcn.00435d60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.unordered_map_set_too_long
call fcn.005acb94
call fcn.005c695f
call fcn.00414440
int3