Function at 0x453f60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xb8
cmp byte [ebp + 8], 0
push esi
push edi
mov dword [esp + 0x10], 0
je 0x454007
mov ecx, 0x74b878
call fcn.0049d420
cmp byte [0x74bfa0], 0
je 0x453fda
mov edi, dword [0x74b714]
mov byte [0x74bfa0], 0
mov esi, dword [edi]
cmp esi, edi
je 0x453fc0
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x453fb4
mov eax, dword [ecx]
push 1
call dword [eax + 0x2c]
mov esi, dword [esi]
cmp esi, edi
jne 0x453fa6
mov edi, dword [0x74b714]
mov esi, dword [edi]
cmp esi, edi
je 0x453fda
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x453fd4
mov eax, dword [ecx]
push 0
call dword [eax + 0x2c]
mov esi, dword [esi]
cmp esi, edi
jne 0x453fc6
push 0
mov ecx, 0x74b778
call fcn.004df840
cmp dword [0x74b79c], 0
jne 0x454000
mov eax, dword [0x74b7b4]
cmp eax, dword [0x74b7b8]
jne 0x454000
xor al, al
jmp 0x454002
mov al, 1
mov byte [0x74b6f1], al
xor edi, edi
mov byte [esp + 0xa], 0
mov ecx, 0x74b778
mov dword [esp + 0xc], edi
mov byte [esp + 0xb], 0
call fcn.004dfd40
mov ecx, 0x74b6f0
call fcn.0042ec60
mov edi, dword [0x74b6e0]
mov esi, dword [0x74b700]
mov edx, dword [0x74b6fc]
test edi, edi
je 0x454049
or edx, esi
mov dword [0x74b6fc], edx
mov eax, dword [0x74b764]
dec eax
cmp eax, 3
ja case.default.0x454054
jmp dword [eax*4 + 0x4550d0]
test esi, esi
setne byte [esp + 0xa]
jmp case.default.0x454054
mov ecx, esi
neg ecx
sbb ecx, ecx
mov dword [esp + 0xc], ecx
jmp 0x45409f
mov eax, edi
sub eax, 1
je 0x454084
sub eax, 1
je 0x454084
mov ecx, esi
mov dword [esp + 0xc], ecx
jmp 0x45409f
xor ecx, ecx
cmp dword [0x74b6ec], esi
setne cl
dec ecx
mov dword [esp + 0xc], ecx
jmp 0x45409f
test esi, esi
setne byte [esp + 0xb]
xor ecx, ecx
mov eax, dword [0x74b760]
dec eax
cmp eax, 3
ja case.default.0x4540aa
jmp dword [eax*4 + 0x4550e0]
cmp byte [esp + 0xa], 0
jne 0x4540c4
test edx, edx
jne 0x4540c4
xor al, al
mov byte [esp + 0xa], al
jmp case.default.0x4540aa
mov al, 1
mov byte [esp + 0xa], al
jmp case.default.0x4540aa
neg edx
sbb edx, edx
or ecx, edx
mov dword [esp + 0xc], ecx
jmp case.default.0x4540aa
mov eax, edi
sub eax, 1
je 0x4540ea
sub eax, 1
je 0x4540ea
or edx, ecx
mov edi, edx
jmp 0x454115
xor eax, eax
cmp dword [0x74b6ec], edx
setne al
lea edi, [eax - 1]
or edi, ecx
jmp 0x454115
cmp byte [esp + 0xb], 0
jne 0x45410c
mov byte [esp + 0xb], 0
test edx, edx
je case.default.0x4540aa
mov byte [esp + 0xb], 1
mov edi, dword [esp + 0xc]
mov eax, dword [0x74b6f8]
test eax, eax
je 0x45414e
mov ecx, dword [0x74b75c]
sub ecx, 1
je 0x454149
sub ecx, 1
je 0x454138
sub ecx, 1
jne 0x45414e
or edi, 0xffffffff
jmp 0x45414e
cmp dword [0x74b6e0], 0
je 0x454145
neg eax
sbb eax, eax
or edi, eax
jmp 0x45414e
mov byte [esp + 0xb], 1
cmp byte [0x74be40], 0
je 0x454190
cmp byte [ebp + 8], 0
je 0x45416e
push 0x74b778
mov ecx, 0x74be40
call fcn.004e1eb0
jmp 0x454173
mov al, byte [0x74be80]
test al, al
je 0x454190
mov eax, dword [0x74b770]
sub eax, 1
je 0x45418b
sub eax, 1
jne 0x454190
or edi, 0xffffffff
jmp 0x454190
mov byte [esp + 0xb], 1
mov esi, dword [0x74b6e4]
mov ecx, 0xffffffff
mov eax, esi
mov dword [esp + 0xc], esi
shr eax, 1
test al, 1
mov eax, 0
cmovne edi, eax
mov eax, esi
shr eax, 0x16
test al, 1
mov eax, esi
cmovne edi, ecx
shr eax, 4
mov dword [esp + 0x3c], edi
test al, 1
je 0x4541df
mov eax, dword [0x74b76c]
cmp eax, 4
jne 0x4541d5
mov byte [esp + 0xa], 1
jmp 0x4541df
cmp eax, 2
cmove edi, ecx
mov dword [esp + 0x3c], edi
lea eax, [esp + 0x3c]
mov ecx, 0x74b778
push eax
lea eax, [esp + 0xe]
push eax
lea eax, [esp + 0x13]
push eax
call fcn.004dff30
cmp byte [ebp + 8], 0
je 0x45435e
mov eax, esi
shr eax, 9
test al, 1
je 0x45435e
mov ecx, dword [0x74bffc]
test ecx, ecx
je 0x45435e
mov edi, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub edi, eax
sar edi, 3
cmp edi, 2
jb 0x45435e
push 0
push 0xf4240
push dword [eax + 4]
push dword [eax]
call fcn.005ecd20
mov edx, dword [0x74bffc]
mov dword [esp + 0x1c], eax
mov ecx, dword [edx + 0x10]
mov edx, dword [ecx + edi*8 - 8]
lea ecx, [edx - 0x200]
cmp ecx, 0x1fdff
ja 0x45435e
cmp edx, 0x800
jbe 0x45435e
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
mov eax, edx
shr eax, 0x1f
cvtpd2ps xmm1, xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
movss dword [esp + 0x18], xmm1
addsd xmm0, qword [eax*8 + 0x739f30]
mov eax, esi
shr eax, 0xa
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x14], xmm0
mulss xmm0, dword [0x7398e0]
comiss xmm1, xmm0
jb 0x4542f5
test al, 1
jne 0x4542dd
push edx
push dword [esp + 0x20]
push str.VRAM_exhausted___u_of__u_._n
call fcn.00473960
mov esi, dword [0x74b6e4]
add esp, 0xc
or esi, 0x400
mov dword [0x74c010], 0
mov dword [0x74b6e4], esi
jmp 0x45435a
test al, 1
je 0x45435e
mov ecx, 0x74c000
call fcn.00443b20
movss xmm0, dword [0x74c010]
comiss xmm0, dword [0x7399d0]
movss xmm1, dword [esp + 0x18]
jbe 0x45432d
movss xmm0, dword [esp + 0x14]
mulss xmm0, dword [0x7398d0]
comiss xmm0, xmm1
ja 0x454340
movss xmm0, dword [esp + 0x14]
mulss xmm0, dword [0x7398b0]
comiss xmm0, xmm1
jbe 0x454354
mov esi, dword [0x74b6e4]
and esi, 0xfffffbff
mov dword [0x74b6e4], esi
jmp 0x45435a
mov esi, dword [0x74b6e4]
mov dword [esp + 0xc], esi
movzx edx, byte [esp + 0xa]
test esi, 0x408
mov edi, 1
mov eax, esi
cmovne edx, edi
shr eax, 2
and al, 1
mov dword [esp + 0x18], edx
cmp al, dl
je 0x4543a5
test dl, dl
je 0x454389
or esi, 4
jmp 0x45438c
and esi, 0xfffffffb
mov dword [0x74b6e4], esi
call fcn.00458ad0
mov esi, dword [0x74b6e4]
mov edx, dword [esp + 0x18]
mov dword [esp + 0xc], esi
test dl, dl
jne 0x454e1f
mov eax, esi
shr eax, 5
test al, 1
jne 0x454e1f
mov edx, dword [esp + 0x3c]
mov cl, byte [esp + 0xb]
cmp edx, dword [0x74b6e8]
jne 0x4543d5
mov eax, esi
shr eax, 7
and al, 1
cmp cl, al
je 0x454402
mov dword [0x74b6e8], edx
test cl, cl
je 0x4543e7
or esi, 0x80
jmp 0x4543ed
and esi, 0xffffff7f
mov dword [0x74b6e4], esi
call fcn.004589b0
mov esi, dword [0x74b6e4]
mov dword [esp + 0xc], esi
cmp byte [ebp + 8], 0
je 0x454f22
lea eax, [esp + 0x70]
mov dword [esp + 0x80], 0
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x88], 0xf
push eax
xorps xmm0, xmm0
lea eax, [esp + 0x24]
movaps xmmword [esp + 0x78], xmm0
mov ecx, 0x74b778
push eax
mov byte [esp + 0x7c], 0
call fcn.004e0120
test al, al
je 0x454ce6
mov eax, dword [0x74bff8]
cmp eax, 0xffffffff
jne 0x4544ba
mov edi, dword [0x74b714]
mov esi, dword [edi]
cmp esi, edi
je 0x4544ba
mov eax, dword [esi + 0x20]
test eax, eax
je 0x4544af
add eax, 0x94
lea ecx, [esi + 0x68]
cmp ecx, eax
je 0x45448b
cmp dword [eax + 0x14], 0xf
mov edx, dword [eax + 0x10]
jbe 0x454484
mov eax, dword [eax]
push edx
push eax
call fcn.0040c060
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x80]
add eax, 0xc4
cmp ecx, eax
je 0x4544af
cmp dword [eax + 0x14], 0xf
mov edx, dword [eax + 0x10]
jbe 0x4544a8
mov eax, dword [eax]
push edx
push eax
call fcn.0040c060
mov esi, dword [esi]
cmp esi, edi
jne 0x454466
mov eax, dword [0x74bff8]
mov esi, dword [esp + 0x1c]
cmp eax, esi
je 0x454dc1
cmp byte [0x7481d8], 7
je 0x454515
push 0x74bfa8
lea ecx, [esp + 0xac]
call fcn.00464b00
push 0x7481d0
mov ecx, eax
call fcn.00464cb0
lea ecx, [esp + 0xa8]
call fcn.00465f40
mov eax, dword [esp + 0xb4]
xorps xmm0, xmm0
movlpd qword [esp + 0xa8], xmm0
test eax, eax
je 0x454515
push eax
call fcn.004672a0
mov byte [esp + 0x98], 7
and dword [esp + 0x98], 0xfffffeff
push 8
mov dword [0x74bff8], esi
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
call fcn.005ab82c
mov esi, eax
add esp, 4
push 0x30
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.005ab82c
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x90], esi
sub eax, 0
je 0x454992
sub eax, 1
je 0x4546bb
sub eax, 1
jne 0x454c65
push eax
lea ecx, [esp + 0x44]
call fcn.00464790
lea eax, [esp + 0x40]
mov ecx, 0x748180
push eax
push str.profiles
call fcn.004365d0
test al, al
je 0x4546a0
cmp byte [esp + 0x48], 6
jne 0x4546a0
lea ecx, [esp + 0x40]
xor esi, esi
call fcn.00465800
test eax, eax
je 0x4546a0
nop dword [eax]
push esi
lea ecx, [esp + 0x44]
call fcn.00465b20
mov edi, eax
push 0x720af0
push str.name
mov ecx, edi
call fcn.00465fd0
cmp byte [eax + 8], 4
jne 0x45465b
or dword [esp + 0x10], 2
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
call fcn.00465130
cmp dword [esp + 0x84], 0xf
lea ecx, [esp + 0x70]
cmova ecx, dword [esp + 0x70]
cmp dword [eax + 0x14], 0xf
mov edx, dword [eax + 0x10]
jbe 0x454640
mov eax, dword [eax]
push dword [esp + 0x80]
push ecx
mov ecx, eax
call fcn.004108e0
add esp, 8
mov byte [esp + 0xa], 1
test al, al
jne 0x454660
mov byte [esp + 0xa], 0
mov eax, dword [esp + 0x10]
test al, 2
je 0x454678
and eax, 0xfffffffd
lea ecx, [esp + 0x20]
mov dword [esp + 0x10], eax
call fcn.004143d0
cmp byte [esp + 0xa], 0
jne 0x454693
lea ecx, [esp + 0x40]
inc esi
call fcn.00465800
cmp esi, eax
jb 0x4545f0
jmp 0x4546a0
push edi
lea ecx, [esp + 0x94]
call fcn.00464c40
lea ecx, [esp + 0x40]
call fcn.00465f40
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x454c65
push eax
jmp 0x454c60
push 0
lea ecx, [esp + 0x44]
call fcn.00464790
lea eax, [esp + 0x40]
mov ecx, 0x748180
push eax
push str.playlists
call fcn.004365d0
test al, al
je 0x454977
cmp byte [esp + 0x48], 6
jne 0x454977
lea ecx, [esp + 0x40]
xor esi, esi
call fcn.00465800
test eax, eax
je 0x454977
mov edi, dword [esp + 0x80]
nop word [eax + eax]
push esi
lea ecx, [esp + 0x44]
call fcn.00465b20
push 0x720af0
push str.name
mov ecx, eax
mov dword [esp + 0x24], eax
call fcn.00465fd0
cmp byte [eax + 8], 4
jne 0x454777
or dword [esp + 0x10], 1
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
call fcn.00465130
cmp dword [esp + 0x84], 0xf
lea ecx, [esp + 0x70]
cmova ecx, dword [esp + 0x70]
cmp dword [eax + 0x14], 0xf
mov edx, dword [eax + 0x10]
jbe 0x454762
mov eax, dword [eax]
push edi
push ecx
mov ecx, eax
call fcn.004108e0
add esp, 8
mov byte [esp + 0xa], 1
test al, al
jne 0x45477c
mov byte [esp + 0xa], 0
mov eax, dword [esp + 0x10]
test al, 1
je 0x454794
and eax, 0xfffffffe
lea ecx, [esp + 0x20]
mov dword [esp + 0x10], eax
call fcn.004143d0
cmp byte [esp + 0xa], 0
jne 0x4547b2
lea ecx, [esp + 0x40]
inc esi
call fcn.00465800
cmp esi, eax
jb 0x454710
jmp 0x454977
xor edi, edi
mov byte [esp + 0x60], 7
and dword [esp + 0x60], 0xfffffeff
push 8
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
call fcn.005ab82c
mov esi, eax
add esp, 4
push 0x30
mov dword [esi], edi
mov dword [esi + 4], edi
call fcn.005ab82c
add esp, 4
mov dword [esp + 0x58], esi
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
mov eax, dword [0x74d734]
mov ecx, dword [0x74d730]
sub eax, ecx
sar eax, 3
imul eax, eax, 0xc4ec4ec5
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
test eax, eax
jle 0x454916
push 0
lea ecx, [esp + 0xac]
call fcn.00464790
push 0x720144
push str.playlist
lea ecx, [esp + 0xb0]
call fcn.00465fd0
push dword [esp + 0x1c]
lea ecx, [esp + 0x24]
mov esi, eax
call fcn.00464b00
push esi
mov ecx, eax
call fcn.00464cb0
lea ecx, [esp + 0x20]
call fcn.00465f40
mov eax, dword [esp + 0x2c]
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
test eax, eax
je 0x45487d
push eax
call fcn.004672a0
mov eax, dword [esp + 0x10]
add eax, 0x18
add eax, edi
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x454895
add ecx, dword [eax]
mov eax, dword [eax]
jmp 0x454897
add ecx, eax
push ecx
push eax
lea ecx, [esp + 0x60]
call fcn.00465fd0
mov esi, eax
lea ecx, [esp + 0x20]
lea eax, [esp + 0xa8]
push eax
call fcn.00464b00
push esi
mov ecx, eax
call fcn.00464cb0
lea ecx, [esp + 0x20]
call fcn.00465f40
mov eax, dword [esp + 0x2c]
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
test eax, eax
je 0x4548dd
push eax
call fcn.004672a0
lea ecx, [esp + 0xa8]
call fcn.00465f40
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x4548fa
push eax
call fcn.004672a0
add edi, 0x68
sub dword [esp + 0x14], 1
je 0x454912
mov eax, dword [0x74d730]
mov dword [esp + 0x10], eax
jmp 0x454822
mov edi, dword [esp + 0x64]
push 0x720b6a
push str.selectedwallpapers
lea ecx, [esp + 0x98]
call fcn.00465fd0
mov esi, eax
lea ecx, [esp + 0x20]
lea eax, [esp + 0x58]
push eax
call fcn.00464b00
push esi
mov ecx, eax
call fcn.00464cb0
lea ecx, [esp + 0x20]
call fcn.00465f40
mov eax, dword [esp + 0x2c]
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
test eax, eax
je 0x454964
push eax
call fcn.004672a0
lea ecx, [esp + 0x58]
call fcn.00465f40
test edi, edi
je 0x454977
push edi
call fcn.004672a0
lea ecx, [esp + 0x40]
call fcn.00465f40
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x454c65
push eax
jmp 0x454c60
xor edi, edi
mov byte [esp + 0x48], 7
and dword [esp + 0x48], 0xfffffeff
push 8
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
call fcn.005ab82c
mov esi, eax
add esp, 4
push 0x30
mov dword [esi], edi
mov dword [esi + 4], edi
call fcn.005ab82c
add esp, 4
mov dword [esp + 0x40], esi
mov dword [esp + 0x14], edi
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
mov eax, dword [0x74d734]
sub eax, dword [0x74d730]
sar eax, 3
imul eax, eax, 0xc4ec4ec5
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x454c04
mov dword [esp + 0x10], edi
nop dword [eax]
nop dword [eax + eax]
mov byte [esp + 0x60], 7
and dword [esp + 0x60], 0xfffffeff
push 8
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
call fcn.005ab82c
mov esi, eax
add esp, 4
push 0x30
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.005ab82c
add esp, 4
mov dword [esp + 0x58], esi
lea ecx, [esp + 0x20]
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
lea eax, [esp + 0x70]
push eax
call fcn.00464a40
push 0x720050
push str.file
lea ecx, [esp + 0x60]
call fcn.00465fd0
push eax
lea ecx, [esp + 0x24]
call fcn.00464cb0
lea ecx, [esp + 0x20]
call fcn.00465f40
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x454aae
push eax
call fcn.004672a0
mov eax, dword [0x74d730]
add eax, 0x18
add eax, edi
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x454ac7
add ecx, dword [eax]
mov eax, dword [eax]
jmp 0x454ac9
add ecx, eax
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.00465fd0
mov esi, eax
lea ecx, [esp + 0x20]
lea eax, [esp + 0x58]
push eax
call fcn.00464b00
push esi
mov ecx, eax
call fcn.00464cb0
lea ecx, [esp + 0x20]
call fcn.00465f40
mov eax, dword [esp + 0x2c]
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
test eax, eax
je 0x454b0c
push eax
call fcn.004672a0
movzx eax, byte [esp + 0x60]
cmp eax, 7
ja case.default.0x454b16
jmp dword [eax*4 + 0x4550f0]
mov eax, dword [esp + 0x60]
shr eax, 8
test al, 1
je case.0x454b16.0
push dword [esp + 0x58]
call fcn.005c69b0
add esp, 4
jmp case.0x454b16.0
mov esi, dword [esp + 0x58]
test esi, esi
je case.0x454b16.0
mov eax, dword [esi]
mov ecx, esi
push dword [eax + 4]
push esi
call fcn.00467a30
push 0x30
push dword [esi]
call fcn.005ab85c
push 8
push esi
call fcn.005ab85c
add esp, 0x10
jmp case.0x454b16.0
push 0x407
push str.D:devwewindows_srcjson_srcjson_value.cpp
push str.false
call fcn.005d018c
add esp, 0xc
mov eax, dword [esp + 0x64]
test eax, eax
je 0x454be6
mov edi, 3
lea esi, [eax + 0x48]
mov ecx, dword [esi - 4]
lea esi, [esi - 0x18]
dec edi
cmp ecx, 0xf
jbe 0x454bbf
mov eax, dword [esi]
inc ecx
cmp ecx, 0x1000
jb 0x454bb5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4550ca
mov eax, edx
push ecx
push eax
call fcn.005ab85c
add esp, 8
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
test edi, edi
jne 0x454b88
push 0x48
push dword [esp + 0x68]
call fcn.005ab85c
mov edi, dword [esp + 0x18]
add esp, 8
mov eax, dword [esp + 0x14]
add edi, 0x68
inc eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x1c]
jl 0x454a10
mov edi, dword [esp + 0x4c]
push 0x720b6a
push str.selectedwallpapers
lea ecx, [esp + 0x98]
call fcn.00465fd0
mov esi, eax
lea ecx, [esp + 0x20]
lea eax, [esp + 0x40]
push eax
call fcn.00464b00
push esi
mov ecx, eax
call fcn.00464cb0
lea ecx, [esp + 0x20]
call fcn.00465f40
mov eax, dword [esp + 0x2c]
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
test eax, eax
je 0x454c52
push eax
call fcn.004672a0
lea ecx, [esp + 0x40]
call fcn.00465f40
test edi, edi
je 0x454c65
push edi
call fcn.004672a0
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x24]
call fcn.00464b00
push 0x74bfc0
mov ecx, eax
call fcn.00464cb0
lea ecx, [esp + 0x20]
call fcn.00465f40
mov eax, dword [esp + 0x2c]
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
test eax, eax
je 0x454ca2
push eax
call fcn.004672a0
lea eax, [esp + 0x90]
mov ecx, 0x74b6e0
push eax
call fcn.00451780
lea ecx, [esp + 0x90]
call fcn.00465f40
mov eax, dword [esp + 0x9c]
xorps xmm0, xmm0
movlpd qword [esp + 0x90], xmm0
test eax, eax
je 0x454dc1
push eax
call fcn.004672a0
jmp 0x454dc1
cmp dword [0x74bff8], 0xffffffff
je 0x454dc1
cmp byte [0x7481d8], 7
mov dword [0x74bff8], 0xffffffff
jne 0x454dc1
push 0
lea ecx, [esp + 0xac]
call fcn.00464790
push 0x7481d0
lea ecx, [esp + 0x24]
call fcn.00464b00
lea ecx, [esp + 0xa8]
push ecx
mov ecx, eax
call fcn.00464cb0
lea ecx, [esp + 0x20]
call fcn.00465f40
mov eax, dword [esp + 0x2c]
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
test eax, eax
je 0x454d55
push eax
call fcn.004672a0
push 0
lea ecx, [esp + 0x24]
call fcn.00464790
push 0x7481d0
mov ecx, eax
call fcn.00464cb0
lea ecx, [esp + 0x20]
call fcn.00465f40
mov eax, dword [esp + 0x2c]
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
test eax, eax
je 0x454d8c
push eax
call fcn.004672a0
lea eax, [esp + 0xa8]
mov ecx, 0x748180
push eax
push str.selectedwallpapers
call fcn.00436670
lea eax, [esp + 0xa8]
mov ecx, 0x74b6e0
push eax
call fcn.00451780
lea ecx, [esp + 0xa8]
call fcn.00464c10
mov al, byte [ebp + 0xc]
xor al, 1
movzx eax, al
push eax
push dword [esp + 0x40]
call fcn.0045b010
mov eax, dword [esp + 0x84]
cmp eax, 0xf
jbe 0x454e0e
mov edx, dword [esp + 0x70]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x454e04
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4550ca
push ecx
push edx
call fcn.005ab85c
add esp, 8
mov ecx, dword [0x74b6e4]
mov edi, 1
mov edx, dword [esp + 0x18]
jmp 0x454e2d
cmp byte [ebp + 8], 0
mov ecx, dword [esp + 0xc]
je 0x454f26
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [esp + 0x1c], eax
mov eax, ecx
shr eax, 0x11
test al, 1
je 0x454e63
test byte [0x74b6e4], 0x2d
jne 0x454e63
mov eax, dword [0x74b6e8]
cmp eax, dword [0x74b6ec]
je 0x454e63
mov byte [esp + 0xa], 1
test dl, dl
je 0x454e68
mov byte [esp + 0xa], 0
mov eax, ecx
mov edx, ecx
shr eax, 4
and eax, 0xffffff01
shr edx, 0x13
mov dword [esp + 0x18], eax
and dl, 1
mov al, byte [esp + 0xa]
cmp byte [esp + 0x1c], al
mov eax, dword [esp + 0x18]
jne 0x454ebc
cmp byte [esp + 0xa], 0
je 0x454f26
cmp al, dl
je 0x454f26
test dl, dl
mov eax, edi
mov esi, 8
cmovne eax, esi
push eax
call dword [sym.imp.WINMM.dll_timeEndPeriod]
cmp byte [esp + 0x18], 0
cmovne edi, esi
jmp 0x454ecd
cmp byte [esp + 0xa], 0
je 0x454ee2
test al, al
mov ecx, 8
cmovne edi, ecx
push edi
call dword [sym.imp.WINMM.dll_timeBeginPeriod]
mov ecx, dword [0x74b6e4]
or ecx, 0x40000
jmp 0x454eff
test dl, dl
mov eax, 8
cmovne edi, eax
push edi
call dword [sym.imp.WINMM.dll_timeEndPeriod]
mov ecx, dword [0x74b6e4]
and ecx, 0xfffbffff
cmp byte [esp + 0x18], 0
je 0x454f14
or ecx, 0x80000
mov dword [0x74b6e4], ecx
jmp 0x454f26
and ecx, 0xfff7ffff
mov dword [0x74b6e4], ecx
jmp 0x454f26
mov ecx, dword [esp + 0xc]
mov edx, dword [0x74b708]
cmp dword [0x74b704], edx
je 0x4550bd
shr ecx, 0x17
test cl, 1
je 0x454f4b
call fcn.00459e50
mov edx, dword [0x74b708]
mov ecx, dword [0x74b704]
mov eax, edx
sub eax, ecx
xor edi, edi
sar eax, 2
mov dword [esp + 0x14], edi
test eax, eax
je 0x4550bd
nop word [eax + eax]
mov esi, dword [ecx + edi*4]
cmp byte [esi + 0x26], 0
je 0x4550a9
test esi, esi
je 0x455080
cmp byte [esi + 0x25], 0
mov byte [esi + 0x26], 1
jne 0x454f9a
push 0
push 0
mov ecx, esi
call fcn.00444230
cmp dword [esi + 0x2c], 0
je 0x454fa8
lea ecx, [esi + 0x28]
call fcn.00412280
cmp byte [esi + 0xf8], 0
je 0x454fcf
mov edx, dword [esi + 0xf0]
mov ecx, dword [esi + 0xec]
push 1
push 0
push dword [esi + 0xf4]
call fcn.0042efe0
add esp, 0xc
lea eax, [esi + 0x88]
push eax
call fcn.0040b8a0
add esp, 4
lea eax, [esi + 0x60]
push eax
call fcn.0040b8a0
add esp, 4
cmp dword [esi + 0x2c], 0
jne 0x4550c5
mov ecx, dword [esi + 0x1c]
cmp ecx, 0xf
jbe 0x455028
mov eax, dword [esi + 8]
inc ecx
cmp ecx, 0x1000
jb 0x45501e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4550ca
mov eax, edx
push ecx
push eax
call fcn.005ab85c
add esp, 8
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0xf
mov byte [esi + 8], 0
mov edi, dword [esi + 4]
test edi, edi
je 0x455062
or eax, 0xffffffff
lock xadd dword [edi + 4], eax
jne 0x455062
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
jne 0x455062
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push 0x100
push esi
call fcn.005ab85c
mov edx, dword [0x74b708]
add esp, 8
mov edi, dword [esp + 0x14]
mov ecx, dword [0x74b704]
lea ecx, [ecx + edi*4]
lea eax, [ecx + 4]
sub edx, eax
push edx
push eax
push ecx
call fcn.005c3580
mov edx, dword [0x74b708]
add esp, 0xc
mov ecx, dword [0x74b704]
sub edx, 4
mov dword [0x74b708], edx
dec edi
mov eax, edx
inc edi
sub eax, ecx
mov dword [esp + 0x14], edi
sar eax, 2
cmp edi, eax
jb 0x454f70
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
call fcn.004122d0
call fcn.005c695f
nop
xchg esi, eax
inc eax
inc ebp
add byte [eax + 0x40], dh
inc ebp
add byte [eax + eax*2 + 0x45], ah
add byte [ebx + 0x40], bl
inc ebp
add ah, bh
inc eax
inc ebp
add al, bl
inc eax
inc ebp
add ah, cl
inc eax
inc ebp
add byte [ecx + 0x78004540], dh
dec ebx
inc ebp
add byte [eax + 0x4b], bh
inc ebp
add byte [eax + 0x4b], bh
inc ebp
add byte [eax + 0x4b], bh
inc ebp
add byte [0x7800454b], bl
dec ebx
inc ebp
add byte [esi], dh
dec ebx
inc ebp
add byte [esi], dh
dec ebx
inc ebp
add byte [ebx - 0x75], dl
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8