Function at 0x453450
Capabilities:
Create thread
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x48
push esi
push edi
mov edi, dword [ebx + 8]
mov ecx, edi
push 0x72215e
push str.adjustdwmcolormode
mov dword [ebp - 8], 0
call fcn.00465fd0
lea ecx, [ebp - 0x48]
push ecx
mov ecx, eax
call fcn.00465130
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x48]
mov esi, dword [ebp - 0x38]
cmp eax, 0xf
mov dword [ebp - 0xc], eax
mov edx, esi
mov eax, dword [ebp - 0x48]
cmova ecx, eax
push 0xa
push str.everything
mov dword [ebp - 0x10], eax
call fcn.004108e0
add esp, 8
test al, al
je 0x4534c5
mov esi, 2
jmp 0x453539
cmp dword [ebp - 0xc], 0xf
lea ecx, [ebp - 0x48]
cmova ecx, dword [ebp - 0x10]
cmp esi, 6
jne 0x453534
mov edx, str.accent
sub esi, 4
jb 0x4534f1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4534f6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4534e0
cmp esi, 0xfffffffc
je 0x45352a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x453523
cmp esi, 0xfffffffd
je 0x45352a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x453523
cmp esi, 0xfffffffe
je 0x45352a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x453523
cmp esi, 0xffffffff
je 0x45352a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x45352a
sbb eax, eax
or eax, 1
jmp 0x45352c
xor eax, eax
test eax, eax
jne 0x453534
mov al, 1
jmp 0x453536
xor al, al
movzx esi, al
cmp dword [0x74b774], esi
mov ecx, edi
push 0x721fa5
push str.playbackfocus
setne byte [ebp - 2]
call fcn.00465fd0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, eax
call fcn.00465130
mov ecx, eax
call fcn.004ef810
mov ecx, dword [ebp - 0x1c]
mov dword [0x74b75c], eax
cmp ecx, 0xf
jbe 0x45359f
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x453595
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x453f0f
push ecx
push edx
call fcn.005ab85c
add esp, 8
push 0x721fb9
push str.playbackmaximized
mov ecx, edi
call fcn.00465fd0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, eax
call fcn.00465130
mov ecx, eax
call fcn.004ef810
mov ecx, dword [ebp - 0x1c]
mov dword [0x74b760], eax
cmp ecx, 0xf
jbe 0x4535fb
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4535f1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x453f14
push ecx
push edx
call fcn.005ab85c
add esp, 8
push 0x721fce
push str.playbackfullscreen
mov ecx, edi
call fcn.00465fd0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, eax
call fcn.00465130
mov ecx, eax
call fcn.004ef810
mov ecx, dword [ebp - 0x1c]
mov dword [0x74b764], eax
cmp ecx, 0xf
jbe 0x453657
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45364d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x453f19
push ecx
push edx
call fcn.005ab85c
add esp, 8
push 0x721ff1
push str.playbacksleep
mov ecx, edi
call fcn.00465fd0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, eax
call fcn.00465130
mov ecx, eax
call fcn.004ef810
mov ecx, dword [ebp - 0x1c]
mov dword [0x74b768], eax
cmp ecx, 0xf
jbe 0x4536b3
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4536a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x453f1e
push ecx
push edx
call fcn.005ab85c
add esp, 8
push 0x721fe1
push str.playbackonbattery
mov ecx, edi
call fcn.00465fd0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, eax
call fcn.00465130
mov ecx, eax
call fcn.004ef810
mov ecx, dword [ebp - 0x1c]
mov dword [0x74b76c], eax
cmp ecx, 0xf
jbe 0x45370f
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x453705
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x453f23
push ecx
push edx
call fcn.005ab85c
add esp, 8
push 0x722001
push str.playbackaudio
mov ecx, edi
call fcn.00465fd0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, eax
call fcn.00465130
mov ecx, eax
call fcn.004ef810
mov ecx, dword [ebp - 0x1c]
mov dword [0x74b770], eax
cmp ecx, 0xf
jbe 0x45376b
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x453761
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x453f28
push ecx
push edx
call fcn.005ab85c
add esp, 8
push 0x721533
push str.unpauseaero
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465720
push 0x72207c
push str.audioinputdevice
mov ecx, edi
mov byte [0x74b6f0], al
mov dword [0x74b774], esi
call fcn.00465fd0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, eax
call fcn.00465130
mov esi, eax
cmp esi, 0x74b860
je 0x4537e6
mov ecx, 0x74b860
call fcn.004143d0
movups xmm0, xmmword [esi]
movups xmmword [0x74b860], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x74b870], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x45381a
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x453810
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x453f2d
push ecx
push edx
call fcn.005ab85c
add esp, 8
cmp dword [0x74b8c4], 0
je 0x45387f
cmp dword [0x74b938], 0xf
mov esi, 0x74b924
cmova esi, dword [0x74b924]
mov edx, esi
lea ecx, [edx + 1]
nop dword [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x453840
sub edx, ecx
cmp dword [0x74b874], 0xf
push edx
mov edx, dword [0x74b870]
mov ecx, 0x74b860
cmova ecx, dword [0x74b860]
push esi
call fcn.004108e0
add esp, 8
test al, al
jne 0x45387f
mov ecx, 0x74b87c
call fcn.004a3ae0
call fcn.00455110
push 0x72206b
push 0x722068
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.004652e0
movss xmm1, dword [0x739a70]
sub esp, 8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [ebp - 0x14], xmm1
fld dword [ebp - 0x14]
fstp qword [esp]
call fcn.006d3790
movss xmm2, dword [0x739a28]
add esp, 8
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [ebp - 0x14]
movss xmm1, dword [ebp - 0x14]
mulss xmm1, dword [0x7398c0]
comiss xmm2, xmm1
jbe 0x4538fa
movss xmm0, dword [0x7399b4]
comiss xmm0, xmm1
ja 0x4538fd
comiss xmm2, xmm1
jbe 0x4538fa
movaps xmm0, xmm1
jmp 0x4538fd
movaps xmm0, xmm2
cvttss2si eax, xmm0
push 0x722098
push str.audioinputvolume
mov ecx, edi
mov dword [0x74b88c], eax
call fcn.00465fd0
mov ecx, eax
call fcn.004652e0
push 0x7220af
push str.audioinputthreshold
mov ecx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x739858]
movss dword [0x74b884], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465660
mulss xmm0, dword [0x739840]
mov ecx, edi
push 0x722172
push str.highprecisiontimer
movss dword [0x74b888], xmm0
call fcn.00465fd0
mov ecx, eax
call fcn.00465720
test al, al
je 0x453985
or dword [0x74b6e4], 0x20000
jmp 0x45398f
and dword [0x74b6e4], 0xfffdffff
push 0x722265
push str.webmframework
mov ecx, edi
call fcn.00465fd0
cmp byte [eax + 8], 4
jne 0x4539ee
push 0x722265
push str.webmframework
mov ecx, edi
call fcn.00465fd0
mov ecx, 1
mov dword [ebp - 8], ecx
lea ecx, [ebp - 0x30]
push ecx
mov ecx, eax
call fcn.00465130
cmp dword [eax + 0x14], 0xf
mov edx, dword [eax + 0x10]
jbe 0x4539d5
mov eax, dword [eax]
push 6
push str.native
mov ecx, eax
call fcn.004108e0
add esp, 8
test al, al
je 0x4539ee
mov al, 1
jmp 0x4539f0
xor al, al
mov byte [0x74bf98], al
mov eax, dword [ebp - 8]
test al, 1
je 0x453a0a
and eax, 0xfffffffe
lea ecx, [ebp - 0x30]
mov dword [ebp - 8], eax
call fcn.004143d0
push 0x720c5c
push str.apprules
mov ecx, edi
call fcn.00465fd0
push eax
mov ecx, 0x74b778
call fcn.004df1c0
cmp dword [0x74b770], 0
jne 0x453a3c
cmp byte [0x74b790], 0
jne 0x453a3c
xor cl, cl
jmp 0x453a3e
mov cl, 1
mov al, byte [0x74be40]
mov byte [ebp - 1], cl
cmp cl, al
jne 0x453aa5
test al, al
je 0x453b1a
cmp dword [0x74be60], 0xf
mov esi, 0x74be4c
cmova esi, dword [0x74be4c]
mov edx, esi
lea ecx, [edx + 1]
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x453a70
sub edx, ecx
cmp dword [0x74b874], 0xf
push edx
mov edx, dword [0x74b870]
mov ecx, 0x74b860
cmova ecx, dword [0x74b860]
push esi
call fcn.004108e0
add esp, 8
test al, al
jne 0x453b1a
mov al, byte [0x74be40]
test al, al
je 0x453abf
mov ecx, 0x74be40
mov byte [0x74be40], 0
call fcn.004e24b0
mov al, byte [0x74be40]
cmp byte [ebp - 1], 0
je 0x453b05
cmp dword [0x74b874], 0xf
mov eax, 0x74b860
push dword [0x74b870]
cmova eax, dword [0x74b860]
mov ecx, 0x74be4c
push eax
call fcn.0040c060
cmp byte [0x74be40], 0
jne 0x453b1a
mov ecx, 0x74be40
mov byte [0x74be40], 1
call fcn.004e23d0
jmp 0x453b1a
test al, al
je 0x453b1a
mov ecx, 0x74be40
mov byte [0x74be40], 0
call fcn.004e24b0
mov byte [0x74befc], 1
call fcn.00455110
cmp byte [ebp - 2], 0
je 0x453b69
lea eax, [ebp - 0x24]
mov dword [ebp - 0x1c], 0
xorps xmm0, xmm0
push eax
movq qword [ebp - 0x24], xmm0
call fcn.004555c0
test al, al
je 0x453b69
cmp dword [0x74b774], 2
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
sete al
push 0
movzx eax, al
push eax
push dword [ebp - 0x1c]
call fcn.0042efe0
add esp, 0xc
push 0x72212f
push str.processpriority
mov ecx, edi
call fcn.00465fd0
cmp byte [eax + 8], 4
jne 0x453bc4
push 0x72212f
push str.processpriority
mov ecx, edi
call fcn.00465fd0
or dword [ebp - 8], 2
lea ecx, [ebp - 0x30]
push ecx
mov ecx, eax
call fcn.00465130
cmp dword [eax + 0x14], 0xf
mov edx, dword [eax + 0x10]
jbe 0x453bab
mov eax, dword [eax]
push 0xb
push str.belownormal
mov ecx, eax
call fcn.004108e0
add esp, 8
mov byte [ebp - 1], 1
test al, al
jne 0x453bc8
mov byte [ebp - 1], 0
mov ecx, dword [ebp - 8]
test cl, 2
je 0x453bd8
lea ecx, [ebp - 0x30]
call fcn.004143d0
cmp byte [ebp - 1], 0
mov ecx, 0x4000
mov eax, 0x20
cmovne eax, ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
push edi
mov ecx, 0x74bf00
call fcn.004429d0
push 0x722195
push str.pausevram
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465720
test al, al
je 0x453c2e
mov eax, dword [0x74b6e4]
shr eax, 0xe
test al, 1
jne 0x453c2e
mov dl, 1
jmp 0x453c30
xor dl, dl
xor ecx, ecx
movzx eax, dl
cmp dword [0x74bffc], ecx
setne cl
cmp eax, ecx
je 0x453d00
test dl, dl
je 0x453cec
push 0x1c
call fcn.005ab82c
mov esi, eax
xorps xmm0, xmm0
add esp, 4
mov al, 1
mov byte [esi], 0
movq qword [esi + 8], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
xchg byte [esi], al
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push 8
mov dword [esi + 4], eax
call fcn.005ab82c
add esp, 4
lea ecx, [ebp - 0x14]
mov dword [eax], esi
push ecx
push 0
push eax
push 0x4b8f70
push 0
push 0
mov dword [eax + 4], 0x4ef490
call fcn.005cf765
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x453f37
cmp dword [esi + 0xc], 0
jne 0x453f32
mov eax, dword [ebp - 0x14]
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
or dword [0x74b6e4], 0x200
mov dword [0x74bffc], esi
jmp 0x453d00
mov ecx, 0x74bffc
call fcn.004ef690
and dword [0x74b6e4], 0xfffff9ff
push 0x7221b7
push str.reloadaudio
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465720
mov cl, al
xor edx, edx
mov eax, dword [0x74bf9c]
test eax, eax
mov byte [ebp - 2], cl
setne dl
movzx ecx, cl
cmp ecx, edx
je 0x453e8e
cmp byte [ebp - 2], 0
je 0x453d6a
sub esp, 0x28
mov ecx, 0x74bea0
mov eax, esp
mov dword [eax], 0x724168
mov dword [eax + 4], 0x4501e0
mov dword [eax + 8], 0x74b6e0
mov dword [eax + 0x24], eax
call fcn.004a3650
mov dword [0x74bf9c], eax
jmp 0x453e8e
mov cl, byte [0x74bf9e]
movzx esi, byte [0x74bf9f]
mov dword [ebp - 8], eax
shr eax, 8
mov dword [ebp - 0x14], eax
mov al, byte [0x74bf9c]
push 0x74bec4
mov byte [ebp - 1], cl
mov byte [ebp - 2], al
call fcn.005adc82
add esp, 4
test eax, eax
jne 0x453f45
mov eax, dword [0x74bef0]
cmp eax, 0x7fffffff
je 0x453f4c
movzx eax, byte [ebp - 2]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
movzx eax, al
xor ecx, eax
movzx eax, byte [ebp - 1]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x74bea0
xor eax, esi
imul eax, eax, 0x1000193
push eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.004301e0
mov esi, dword [eax + 4]
test esi, esi
je 0x453e77
mov ecx, dword [ebp - 0x14]
and ecx, dword [0x74beb8]
mov edx, dword [0x74beac]
mov eax, dword [edx + ecx*8]
cmp dword [edx + ecx*8 + 4], esi
jne 0x453e31
cmp eax, esi
jne 0x453e28
mov eax, dword [0x74bea4]
mov dword [edx + ecx*8], eax
mov dword [edx + ecx*8 + 4], eax
jmp 0x453e3a
mov eax, dword [esi + 4]
mov dword [edx + ecx*8 + 4], eax
jmp 0x453e3a
cmp eax, esi
jne 0x453e3a
mov eax, dword [esi]
mov dword [edx + ecx*8], eax
mov ecx, dword [esi]
dec dword [0x74bea8]
mov eax, dword [esi + 4]
mov dword [eax], ecx
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
lea eax, [esi + 0x10]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x453e6c
mov edx, dword [ecx]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [esi + 0x34], 0
push 0x38
push esi
call fcn.005ab85c
add esp, 8
push 0x74bec4
call fcn.005adcb4
add esp, 4
mov dword [0x74bf9c], 0
push 0x7221c8
push str.mediaintegration
mov ecx, edi
call fcn.00465fd0
mov ecx, eax
call fcn.00465720
mov byte [ebp - 0x14], al
mov ecx, 0x74b878
push dword [ebp - 0x14]
call fcn.0049f0e0
push 0x72403a
push str.mediablocklist
mov ecx, edi
call fcn.00465fd0
push eax
mov ecx, 0x74b878
call fcn.0049f430
mov eax, dword [ebp - 0xc]
cmp eax, 0xf
jbe 0x453f04
mov edx, dword [ebp - 0x10]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x453efa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x453f59
push ecx
push edx
call fcn.005ab85c
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
call fcn.005c695f
call fcn.005c695f
call fcn.005c695f
call fcn.005c695f
call fcn.005c695f
call fcn.005c695f
call fcn.005c695f
call fcn.004122d0
push 6
mov dword [ebp - 0x14], 0
call fcn.005adc4d
push 5
call fcn.005adc4d
dec eax
push 6
mov dword [0x74bef0], eax
call fcn.005adc4d
call fcn.005c695f
int3