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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x550
mov eax, dword [0x601ff0]
xor eax, esp
mov dword [esp + 0x54c], eax
movsd xmm0, qword [0x602ab8]
push esi
push edi
lea esi, [ebp + 8]
mov dword [esp + 0x128], ecx
lea edi, [esp + 0xc8]
movsd qword [esp + 0x78], xmm0
movsd dword es:[edi], dword [esi]
push 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [sym.imp.USER32.dll_GetDC]
push eax
mov dword [esp + 0x148], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edi, dword [esp + 0xd0]
mov esi, eax
sub edi, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov ecx, edi
sub edx, dword [esp + 0xd4]
dec edx
mov dword [esp + 0xc], esi
mov dword [esp + 0xa0], edi
call fcn.0042ae12
push eax
push esi
mov dword [esp + 0x148], eax
call dword [sym.imp.GDI32.dll_SelectObject]
and dword [esp + 0x54], 0
and dword [esp + 0x58], 0
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0xd4]
sub eax, dword [esp + 0xcc]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], eax
call fcn.00419f37
push 9
mov dword [esp + 0x38], eax
call dword [sym.imp.USER32.dll_GetSysColor]
call fcn.00419d84
push 0xff
mov dword [esp + 0x4c], eax
xor edi, edi
lea eax, [esp + 0x454]
mov dword [esp + 0x68], 0xd2d2d2
push edi
push eax
call fcn.005744c0
add esp, 0xc
lea eax, [esp + 0x450]
push 0xff
push eax
push dword [0x61e590]
call dword [sym.imp.USER32.dll_GetClassNameA]
push ecx
call fcn.00419cd8
pop ecx
xor ecx, ecx
mov esi, eax
inc ecx
mov dword [esp + 0x98], esi
mov dword [esp + 0x10c], ecx
cmp dword [0x61d9c4], edi
jne 0x41a8e8
test esi, esi
jne 0x41a8ef
mov dword [esp + 0x34], 0xffffff
jmp 0x41a8ef
mov dword [esp + 0x98], ecx
cmp dword [ebp + 0x18], edi
je 0x41a978
push ecx
mov esi, 0x5d89e8
mov edx, str.CustomColour
push esi
push edi
mov ecx, str.Groupy
call fcn.0040df52
xor ecx, ecx
add esp, 0xc
inc ecx
cmp eax, ecx
jne 0x41a940
push ecx
push esi
push edi
mov edx, str.CustomColourV
mov ecx, str.Groupy
call fcn.0040df52
mov dword [esp + 0x40], eax
add esp, 0xc
mov dword [esp + 0x48], eax
xor eax, eax
inc eax
mov dword [esp + 0x98], eax
push ecx
push esi
push edi
mov edx, str.CustomColourNon
mov ecx, str.Groupy
call fcn.0040df52
xor ecx, ecx
add esp, 0xc
inc ecx
cmp eax, ecx
jne 0x41a978
push ecx
push esi
push edi
mov edx, str.CustomColourNonV
mov ecx, str.Groupy
call fcn.0040df52
xor ecx, ecx
mov dword [esp + 0x70], eax
add esp, 0xc
inc ecx
xor eax, eax
mov dword [esp + 0x94], eax
cmp dword [0x61d9c0], eax
je 0x41a996
cmp dword [ebp + 0x18], eax
cmovne eax, ecx
mov dword [esp + 0x94], eax
cmp byte [0x61d769], 0
mov ecx, 0xa0
mov byte [esp + 0x40], 0xff
je 0x41a9b9
cmp dword [0x61db98], edi
lea eax, [ecx + 0x46]
cmovne eax, ecx
mov byte [esp + 0x40], al
mov ecx, dword [esp + 0xc]
lea esi, [esp + 0x54]
sub esp, 0x10
xor edx, edx
mov edi, esp
push 0
movsd dword es:[edi], dword [esi]
push 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
mov eax, dword [esp + 0x34]
xor esi, esi
mov cx, ax
movsd xmm3, qword [0x5e1570]
mov edx, eax
shr cx, 8
movzx eax, cl
shr edx, 0x10
mov word [esp + 0x2e], cx
mov byte [esp + 0xa9], cl
lea ecx, [esp + 0xa8]
movd xmm1, eax
movzx eax, dl
cvtdq2pd xmm1, xmm1
mov dword [esp + 0x70], edx
mov dword [esp + 0x9c], 0xb4b4b4
mov byte [esp + 0xa4], 0xff
mov byte [esp + 0xaa], dl
movd xmm0, eax
mulsd xmm1, qword [0x5e1590]
mov eax, dword [esp + 0x34]
cvtdq2pd xmm0, xmm0
movzx eax, al
mulsd xmm0, xmm3
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, 0xffffff
mulsd xmm0, qword [0x5e1578]
addsd xmm1, xmm0
comisd xmm1, xmmword [0x5e1728]
cmova eax, esi
mov esi, 0x202020
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x64]
shr eax, 8
movzx eax, al
movd xmm1, eax
mov eax, dword [esp + 0x64]
shr eax, 0x10
movzx eax, al
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mulsd xmm1, qword [0x5e1590]
mov eax, dword [esp + 0x64]
cvtdq2pd xmm0, xmm0
movzx eax, al
mulsd xmm0, xmm3
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, 0xdfdfdf
mulsd xmm0, qword [0x5e1578]
addsd xmm1, xmm0
comisd xmm1, xmmword [0x5e1728]
cmova eax, esi
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x34]
mov byte [esp + 0xa8], al
shr eax, 0x18
mov dword [esp + 0x84], eax
mov byte [esp + 0xab], al
call fcn.00409b7a
movsd xmm0, qword [esp + 0xb0]
mov eax, 0xe6e6e6
comisd xmm0, xmmword [0x5e15a0]
mov ecx, 0xc8c8c8
cmova eax, ecx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x48]
lea esi, [esp + 0x1b0]
mov eax, ecx
mov byte [esp + 0x1b0], cl
shr eax, 8
lea edi, [esp + 0xa8]
mov byte [esp + 0x1b1], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x1b2], al
mov eax, ecx
push 8
shr eax, 0x18
pop ecx
mov byte [esp + 0x1b3], al
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xa8]
call fcn.00409b7a
movsd xmm0, qword [0x5e1580]
lea ecx, [esp + 0xa8]
movsd qword [esp + 0xb0], xmm0
movsd xmm0, qword [esp + 0xb8]
mulsd xmm0, qword [0x5e1598]
movsd qword [esp + 0xb8], xmm0
call fcn.00409d5f
movzx ecx, byte [esp + 0xaa]
mov edx, 0xf8f8f8
movzx eax, byte [esp + 0xa9]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0xa8]
shl ecx, 8
or ecx, eax
mov eax, dword [0x61d9bc]
mov dword [esp + 0x68], ecx
test eax, eax
mov ecx, dword [esp + 0x90]
cmovne ecx, edx
cmp dword [esp + 0x94], 0
mov dword [esp + 0x90], ecx
je 0x41af5c
cmp dword [0x61d9e4], 0
je 0x41ac1c
mov edx, dword [0x602aac]
sub esp, 0x10
mov edi, esp
push 0
push 0xff
jmp 0x41acd1
test eax, eax
je 0x41ac9b
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0xa8]
mov byte [esp + 0xa8], al
mov ax, word [esp + 0x2e]
mov byte [esp + 0xa9], al
mov eax, dword [esp + 0x70]
mov byte [esp + 0xaa], al
mov eax, dword [esp + 0x84]
mov byte [esp + 0xab], al
call fcn.00409b7a
xorps xmm0, xmm0
lea ecx, [esp + 0xa8]
movsd qword [esp + 0xb8], xmm0
call fcn.00409d5f
movzx edx, byte [esp + 0xaa]
sub esp, 0x10
movzx eax, byte [esp + 0xb9]
shl edx, 8
or edx, eax
movzx eax, byte [esp + 0xb8]
shl edx, 8
or edx, eax
jmp 0x41aca2
mov edx, dword [esp + 0x34]
sub esp, 0x10
mov ecx, dword [esp + 0x1c]
lea esi, [esp + 0x64]
mov edi, esp
push 0
push 0xff
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
mov edx, dword [esp + 0x90]
sub esp, 0x10
xor eax, eax
mov edi, esp
inc eax
push eax
push 0xe6
mov ecx, dword [esp + 0x24]
lea esi, [esp + 0x6c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
push 0
push 0
push dword [esp + 0x14]
call dword [sym.imp.GDI32.dll_GetPixel]
mov cx, ax
mov byte [esp + 0xa8], al
shr cx, 8
lea esi, [esp + 0xa8]
mov word [esp + 0x2e], cx
lea edi, [esp + 0x1e0]
mov byte [esp + 0xa9], cl
mov edx, eax
mov ecx, eax
shr edx, 0x18
shr ecx, 0x10
mov dword [esp + 0x70], ecx
mov byte [esp + 0xaa], cl
mov byte [esp + 0xab], dl
push 8
pop ecx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0xa8]
lea esi, [esp + 0x54]
sub esp, 0x10
movzx eax, al
mov edi, esp
mov dword [esp + 0x40], eax
mov eax, ecx
shr ecx, 8
shr eax, 0x10
movzx edx, al
movsd dword es:[edi], dword [esi]
shl edx, 8
movzx eax, cl
mov ecx, dword [esp + 0x1c]
or edx, eax
movsd dword es:[edi], dword [esi]
push 0
shl edx, 8
or edx, dword [esp + 0x44]
movsd dword es:[edi], dword [esi]
push 0xff
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
mov edx, dword [esp + 0x34]
lea esi, [esp + 0x54]
sub esp, 0x10
xor eax, eax
mov edi, esp
inc eax
push eax
movsd dword es:[edi], dword [esi]
push 0x80
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x24]
mov ecx, esi
call fcn.0040cda1
push 5
push 5
push esi
call dword [sym.imp.GDI32.dll_GetPixel]
cmp dword [0x61d9e4], 0
je 0x41adbf
mov edx, dword [0x602aac]
jmp 0x41adea
cmp dword [0x602a9c], 0
je 0x41ade5
mov eax, dword [esp + 0x70]
movzx edx, al
mov ax, word [esp + 0x2e]
shl edx, 8
movzx eax, al
or edx, eax
shl edx, 8
or edx, dword [esp + 0x30]
jmp 0x41adea
mov edx, 0xd2d1d0
mov ecx, dword [esp + 0xc]
lea esi, [esp + 0x54]
sub esp, 0x10
mov edi, esp
push 0
push dword [esp + 0x54]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
mov eax, dword [esp + 0xa0]
lea esi, [esp + 0x54]
lea edi, [esp + 0x200]
dec eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
inc dword [esp + 0x204]
mov dword [esp + 0x200], eax
mov eax, dword [0x61d9c0]
test eax, eax
je 0x41ae5c
mov edx, dword [esp + 0x68]
lea esi, [esp + 0x200]
mov ecx, dword [esp + 0xc]
sub esp, 0x10
mov edi, esp
xor eax, eax
inc eax
push eax
movsd dword es:[edi], dword [esi]
push 0x4c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
mov eax, dword [0x61d9c0]
lea esi, [esp + 0x54]
xor ecx, ecx
lea edi, [esp + 0x200]
inc ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x20c], ecx
test eax, eax
je 0x41aea1
mov edx, dword [esp + 0x68]
lea esi, [esp + 0x200]
sub esp, 0x10
mov edi, esp
push ecx
mov ecx, dword [esp + 0x20]
movsd dword es:[edi], dword [esi]
push 0x4c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
mov eax, dword [0x61d9c0]
xor ecx, ecx
inc ecx
lea esi, [esp + 0x54]
lea edi, [esp + 0x200]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
inc dword [esp + 0x204]
mov dword [esp + 0x208], ecx
test eax, eax
je 0x41aee2
mov edx, dword [esp + 0x68]
lea esi, [esp + 0x200]
sub esp, 0x10
mov edi, esp
push ecx
mov ecx, dword [esp + 0x20]
movsd dword es:[edi], dword [esi]
push 0x4c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
push 5
push 5
push dword [esp + 0x14]
call dword [sym.imp.GDI32.dll_GetPixel]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
movd xmm1, ecx
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
cvtdq2pd xmm1, xmm1
movzx eax, al
movd xmm0, ecx
mov ecx, 0x202020
mulsd xmm1, qword [0x5e1590]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x5e1570]
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, 0xdfdfdf
mulsd xmm0, qword [0x5e1578]
addsd xmm1, xmm0
comisd xmm1, xmmword [0x5e1728]
cmova eax, ecx
mov dword [esp + 0xe8], eax
jmp 0x41b172
mov ecx, dword [esp + 0xc]
lea esi, [esp + 0x54]
sub esp, 0x10
cmp dword [0x61d9e4], 0
mov edi, esp
push 0
movsd dword es:[edi], dword [esi]
push 0xff
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
je 0x41af85
mov edx, dword [0x602aac]
jmp 0x41afaf
mov edx, dword [esp + 0x4c]
call fcn.0040cda1
mov edx, dword [esp + 0x90]
lea esi, [esp + 0x54]
mov ecx, dword [esp + 0xc]
sub esp, 0x10
mov edi, esp
xor eax, eax
inc eax
push eax
movsd dword es:[edi], dword [esi]
push 0xe6
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
push 0
push 0
push dword [esp + 0x14]
call dword [sym.imp.GDI32.dll_GetPixel]
mov cx, ax
mov byte [esp + 0xa8], al
shr cx, 8
lea esi, [esp + 0xa8]
mov word [esp + 0x2e], cx
lea edi, [esp + 0x1e0]
mov byte [esp + 0xa9], cl
mov ecx, eax
shr ecx, 0x10
mov dword [esp + 0x70], ecx
mov byte [esp + 0xaa], cl
mov ecx, eax
shr ecx, 0x18
cmp dword [0x61d9e4], 0
mov byte [esp + 0xab], cl
push 8
pop ecx
mov dword [esp + 0x84], eax
rep movsd dword es:[edi], dword [esi]
je 0x41b03e
mov edx, dword [0x602aac]
lea esi, [esp + 0x54]
mov ecx, dword [esp + 0xc]
sub esp, 0x10
mov edi, esp
push 0
movsd dword es:[edi], dword [esi]
push 0xff
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
mov edx, dword [esp + 0x34]
lea esi, [esp + 0x54]
sub esp, 0x10
xor eax, eax
mov edi, esp
inc eax
push eax
movsd dword es:[edi], dword [esi]
push 0x80
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x24]
mov ecx, esi
call fcn.0040cda1
push 5
push 5
push esi
call dword [sym.imp.GDI32.dll_GetPixel]
cmp dword [0x61d9e4], 0
je 0x41b07f
mov edx, dword [0x602aac]
jmp 0x41b0b2
cmp dword [0x602a9c], 0
je 0x41b0ad
mov eax, dword [esp + 0x70]
movzx edx, al
mov ax, word [esp + 0x2e]
shl edx, 8
movzx eax, al
or edx, eax
mov eax, dword [esp + 0x84]
shl edx, 8
movzx eax, al
or edx, eax
jmp 0x41b0b2
mov edx, 0xd2d1d0
mov ecx, dword [esp + 0xc]
lea esi, [esp + 0x54]
sub esp, 0x10
mov edi, esp
push 0
push dword [esp + 0x54]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
push 5
push 5
push dword [esp + 0x14]
call dword [sym.imp.GDI32.dll_GetPixel]
mov ecx, eax
mov byte [esp + 0xa4], 0xa9
shr ecx, 8
lea esi, [esp + 0x54]
movzx ecx, cl
movd xmm1, ecx
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
cvtdq2pd xmm1, xmm1
movzx eax, al
movd xmm0, ecx
mov ecx, 0x202020
mulsd xmm1, qword [0x5e1590]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x5e1570]
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, 0xdfdfdf
mulsd xmm0, qword [0x5e1578]
addsd xmm1, xmm0
comisd xmm1, xmmword [0x5e1728]
cmova eax, ecx
mov ecx, dword [esp + 0xc]
sub esp, 0x10
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x58]
mov edi, esp
xor edx, edx
mov dword [esp + 0xac], eax
push 0
movsd dword es:[edi], dword [esi]
push 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
movsd xmm0, qword [esp + 0x78]
lea esi, [esp + 0x54]
mulsd xmm0, qword [0x5e1628]
lea edi, [esp + 0x1c]
push str.Segoe_UI
xor eax, eax
movsd dword es:[edi], dword [esi]
push eax
push 6
push eax
push 4
xor ecx, ecx
movsd dword es:[edi], dword [esi]
inc ecx
push ecx
push eax
push eax
push eax
push 0x190
push eax
push eax
push eax
cvttsd2si eax, xmm0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
call dword [sym.imp.GDI32.dll_CreateFontW]
mov esi, dword [esp + 0xc]
push 0
push esi
mov dword [esp + 0x78], eax
call dword [sym.imp.GDI32.dll_SetTextColor]
mov edi, dword [sym.imp.UxTheme.dll_OpenThemeData]
push str.BUTTON
push 0
call edi
mov dword [esp + 0x44], eax
test eax, eax
jne 0x41b1f7
push str.STATIC
push eax
call edi
mov dword [esp + 0x44], eax
test eax, eax
jne 0x41b1f7
push str.SPIN
push eax
call edi
mov dword [esp + 0x44], eax
push 0x3c
lea eax, [esp + 0x168]
push 0
push eax
call fcn.005744c0
add esp, 0xc
mov dword [esp + 0x160], 0x40
mov dword [esp + 0x164], 0x2000
push dword [esp + 0x70]
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
and dword [esp + 0x84], 0
push 0x1fe
mov dword [esp + 0x128], eax
lea eax, [esp + 0x254]
push 0
push eax
call fcn.005744c0
movsd xmm0, qword [esp + 0x84]
add esp, 0xc
mulsd xmm0, qword [0x5e1568]
mov byte [esp + 0x13], 0
cvttsd2si eax, xmm0
movsd xmm0, qword [0x5e15b8]
mov edi, eax
mov dword [esp + 0x120], eax
xor eax, eax
mov dword [esp + 0x14], edi
inc eax
movsd qword [esp + 0x158], xmm0
cmp dword [0x61e5e0], 0xffffffff
mov byte [esp + 0x2e], al
jne 0x41b2af
cmp dword [0x61e5d4], 0
jne 0x41b2af
mov dword [0x61e380], 2
jmp 0x41b2b6
and dword [0x61e380], 0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], eax
cmp dword [ebp + 0x18], 0
je 0x41b32d
cmp dword [esp + 0x98], 0
jne 0x41b32d
cmp dword [0x61d9c0], 0
je 0x41b32d
cmp dword [esp + 0x94], 0
je 0x41b32d
mov eax, dword [esp + 0x60]
lea esi, [esp + 0x54]
lea edi, [esp + 0x1d0]
mov edx, dword [esp + 0x48]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1e4], eax
lea esi, [esp + 0x1e0]
mov edi, esp
inc eax
mov dword [esp + 0x1ec], eax
push 0
push 0xff
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x24]
mov ecx, esi
call fcn.0040cda1
mov edi, dword [esp + 0x14]
and dword [0x61e5d8], 0
cmp dword [0x602aa4], 0
mov byte [esp + 0x3b], 0
setne byte [esp + 0x2d]
xor ecx, ecx
mov dword [esp + 0x3c], ecx
push dword [ecx*4 + 0x61e31c]
call dword [sym.imp.USER32.dll_IsWindow]
mov ecx, dword [esp + 0x3c]
test eax, eax
jne 0x41b375
cmp dword [ecx*4 + 0x61e31c], 2
je 0x41b375
mov edx, dword [0x61e5a0]
jmp 0x41c69d
movsd xmm0, qword [esp + 0x78]
mulsd xmm0, qword [0x5e17b0]
and dword [esp + 0x210], 0
and dword [esp + 0x214], 0
mov dword [esp + 0x1c], edi
mov dword [esp + 0x21c], 0x3e8
cvttsd2si eax, xmm0
mov dword [esp + 0x218], eax
xor eax, eax
mov word [esp + 0x250], ax
cmp ecx, 0x19
je 0x41b3de
mov eax, dword [ecx*4 + 0x61e31c]
cmp eax, 2
je 0x41b3e9
push 0xff
lea ecx, [esp + 0x254]
push ecx
push eax
call dword [sym.imp.USER32.dll_InternalGetWindowText]
jmp 0x41b3e9
mov dword [esp + 0x250], 0x2b
push 0x400
lea eax, [esp + 0x214]
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x25c]
push eax
push esi
call dword [sym.imp.USER32.dll_DrawTextW]
mov eax, dword [esp + 0x218]
sub eax, dword [esp + 0x210]
cmp byte [0x602aa1], 0
movsd xmm2, qword [esp + 0x78]
movaps xmm3, xmm2
movaps xmm0, xmm2
mulsd xmm3, qword [0x5e1648]
mulsd xmm0, qword [0x5e15f0]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsd qword [esp + 0x110], xmm3
addsd xmm1, xmm3
addsd xmm1, xmm0
cvttsd2si eax, xmm1
je 0x41b466
movaps xmm0, xmm2
mulsd xmm0, qword [0x5e1748]
cvttsd2si eax, xmm0
cmp byte [esp + 0x2d], 0
je 0x41b495
cmp dword [0x61d9c8], 0
je 0x41b495
movaps xmm1, xmm2
movd xmm0, eax
mulsd xmm1, qword [0x5e15e8]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm3
addsd xmm1, xmm0
cvttsd2si eax, xmm1
movd xmm1, eax
movaps xmm0, xmm2
mulsd xmm0, qword [0x5e1760]
xor ecx, ecx
inc ecx
cvtdq2pd xmm1, xmm1
movsd xmm3, qword [0x5e1670]
minsd xmm1, xmm0
movaps xmm0, xmm2
mulsd xmm0, qword [0x5e1748]
cvttsd2si eax, xmm1
movd xmm1, eax
cvtdq2pd xmm1, xmm1
maxsd xmm1, xmm0
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [esp + 0x158]
maxsd xmm0, xmm3
cvttsd2si eax, xmm0
movaps xmm0, xmm2
mulsd xmm0, qword [0x5e16c8]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
comisd xmm0, xmm1
jb 0x41b51c
movaps xmm0, xmm2
mov byte [esp + 0x2d], 0
mulsd xmm0, xmm3
mov byte [esp + 0x3b], cl
cvttsd2si eax, xmm0
mov edx, dword [esp + 0x3c]
cmp edx, 0x19
jne 0x41b53d
movaps xmm0, xmm2
mov byte [esp + 0x2d], 0
mulsd xmm0, qword [0x5e1688]
mov byte [esp + 0x3b], cl
cvttsd2si eax, xmm0
lea ecx, [eax + edi]
mov dword [esp + 0x24], ecx
lea esi, [esp + 0x1c]
lea edi, [esp + 0x1b0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, edx
lea esi, [esp + 0x1c]
shl edi, 4
add edi, 0x61e3ec
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp dword [0x61e5e0], edx
jne 0x41b5a7
movd xmm0, dword [esp + 0x14]
movaps xmm1, xmm2
mulsd xmm1, qword [0x5e1740]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], eax
addsd xmm0, xmm1
cvttsd2si ecx, xmm0
mov dword [esp + 0x24], ecx
mov eax, dword [0x61e5d4]
mov edi, dword [0x61e590]
test eax, eax
je 0x41b844
cmp dword [edx*4 + 0x61e31c], edi
je 0x41b844
mov esi, 0x61e3ec
lea edi, [esp + 0x1a0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x1a0]
mov esi, dword [esp + 0x1a8]
add edi, eax
add esi, eax
mov dword [esp + 0x1a0], edi
mov dword [esp + 0x68], esi
mov dword [esp + 0x1a8], esi
lea eax, [esi + edi]
cdq
sub eax, edx
mov edx, dword [esp + 0x3c]
sar eax, 1
test edx, edx
jns 0x41b810
cmp eax, ecx
jge 0x41b83b
sub esi, edi
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x14]
add esi, dword [esp + 0x68]
add ecx, dword [esp + 0x68]
dec dword [0x61e5d8]
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], ecx
mov edi, dword [0x61e590]
mov edx, dword [esp + 0x21c]
xor eax, eax
sub edx, dword [esp + 0x214]
and dword [esp + 0x4c], eax
cmp dword [0x61e5e0], 0xffffffff
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x68], eax
jne 0x41ba5d
mov eax, dword [edx*4 + 0x61e31c]
cmp eax, edi
jne 0x41ba59
xor ecx, ecx
inc ecx
cmp byte [esp + 0x2d], 0
mov byte [esp + 0x13], cl
jne 0x41b693
cmp dword [0x61e5b0], eax
jne 0x41b697
mov dword [esp + 0x68], ecx
sub esp, 0x10
mov dword [esp + 0x5c], ecx
cmp dword [ebp + 0x18], 0
mov edi, esp
push 0
push 0xff
je 0x41b8db
mov edx, dword [esp + 0x7c]
lea esi, [esp + 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.0040cda1
cmp dword [esp + 0x3c], 0
jne 0x41b88c
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
lea esi, [ecx + 1]
push esi
lea edx, [eax + 1]
push edx
push ecx
push eax
mov dword [esp + 0x40], edx
call dword [sym.imp.GDI32.dll_CreateRectRgn]
push 3
push eax
push edi
mov dword [esp + 0x94], eax
call dword [sym.imp.GDI32.dll_ExtSelectClipRgn]
mov edx, dword [esp + 0x34]
mov eax, esi
sub esp, 0x10
mov dword [esp + 0x28], eax
cmp dword [0x61d9c0], 0
lea esi, [esp + 0x2c]
mov ecx, edi
mov dword [esp + 0x38], eax
mov edi, esp
je 0x41b84d
inc dword [esp + 0x34]
movsd dword es:[edi], dword [esi]
push 0
push 0xff
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
dec dword [esp + 0x24]
cmp dword [esp + 0x98], 0
jne 0x41b864
mov eax, dword [esp + 0x30]
lea esi, [esp + 0x1c]
lea edi, [esp + 0xec]
mov edx, dword [esp + 0x48]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov ecx, dword [esp + 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
mov dword [esp + 0x104], eax
lea esi, [esp + 0xfc]
push 0
push 0xff
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
mov eax, dword [esp + 0x24]
lea esi, [esp + 0x1c]
lea edi, [esp + 0xec]
mov edx, dword [esp + 0x48]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov ecx, dword [esp + 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
inc dword [esp + 0x104]
lea esi, [esp + 0xfc]
mov edi, esp
mov dword [esp + 0xfc], eax
push 0
push 0xff
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
mov eax, dword [esp + 0x20]
lea esi, [esp + 0x1c]
lea edi, [esp + 0xec]
mov edx, dword [esp + 0x48]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov ecx, dword [esp + 0x1c]
inc eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
mov dword [esp + 0x108], eax
lea esi, [esp + 0xfc]
push 0
push 0xff
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
jmp 0x41b864
mov esi, dword [esp + 0x14]
cmp eax, esi
jle 0x41b63b
sub edi, dword [esp + 0x68]
add esi, edi
add ecx, edi
inc dword [0x61e5d8]
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], ecx
jmp 0x41b63b
mov esi, dword [esp + 0x14]
jmp 0x41b63b
mov esi, dword [esp + 0x14]
jmp 0x41b641
movsd dword es:[edi], dword [esi]
mov eax, 0xff
push eax
push dword [esp + 0x5c]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0041a079
add esp, 0x1c
mov esi, dword [esp + 0x18]
push 0
push dword [esp + 0x10]
dec esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], esi
call dword [sym.imp.GDI32.dll_SelectClipRgn]
push dword [esp + 0x88]
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x41b8ce
mov eax, dword [esp + 0x18]
lea esi, [esp + 0x1c]
mov edx, dword [esp + 0x34]
sub esp, 0x10
mov ecx, dword [esp + 0x1c]
mov edi, esp
inc eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], eax
mov eax, 0xff
movsd dword es:[edi], dword [esi]
push eax
push dword [esp + 0x5c]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0041a079
mov eax, dword [esp + 0x34]
add esp, 0x1c
dec eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x30], eax
jmp 0x41bf7f
movd xmm0, dword [esp + 0x38]
movaps xmm1, xmm2
mov eax, dword [esp + 0x30]
addsd xmm1, xmm2
cvtdq2pd xmm0, xmm0
inc eax
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x40], eax
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x24]
movsd qword [esp + 0xa0], xmm1
addsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, esi
lea esi, [esp + 0x34]
cvtdq2pd xmm0, xmm0
mov dword [esp + 0x38], eax
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x34], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
movd xmm0, dword [esp + 0x20]
lea esi, [esp + 0x1c]
cvtdq2pd xmm0, xmm0
lea edi, [esp + 0x130]
push dword [0x61e590]
subsd xmm0, qword [esp + 0x8c]
cvttsd2si eax, xmm0
movd xmm0, dword [esp + 0x20]
cvtdq2pd xmm0, xmm0
mov dword [esp + 0x24], eax
subsd xmm0, qword [esp + 0x8c]
cvttsd2si eax, xmm0
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x2c], eax
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1c], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
jne 0x41b9ab
mov esi, dword [esp + 0x20]
inc esi
mov dword [esp + 0x134], esi
jmp 0x41b9b2
mov esi, dword [esp + 0x134]
inc dword [esp + 0x130]
cmp dword [esp + 0x98], 0
je 0x41b9fb
mov ecx, dword [esp + 0xc]
sub esp, 0x10
cmp dword [0x61d9c4], 0
mov edx, 0xffffff
mov edi, esp
je 0x41ba38
lea esi, [esp + 0x2c]
movsd dword es:[edi], dword [esi]
push 0x80
push 0x808080
push 0xff
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0041a079
add esp, 0x1c
jmp 0x41ba4f
push 0xd
call dword [sym.imp.USER32.dll_GetSysColor]
call fcn.0041a2b6
movsd xmm1, qword [esp + 0x78]
sub esp, 0x10
mulsd xmm1, qword [0x5e15e8]
mov edi, esp
mov edx, eax
movd xmm0, esi
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [esp + 0x14c], ecx
mov ecx, dword [esp + 0x1c]
lea esi, [esp + 0x140]
movsd dword es:[edi], dword [esi]
push 0
push 0xff
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
and dword [esp + 0x30], 0
jmp 0x41bf7f
mov eax, dword [esp + 0x68]
cmp dword [0x61d9d0], 0
cmovne eax, dword [esp + 0x10c]
mov dword [esp + 0x68], eax
mov eax, dword [0x61e5b0]
cmp eax, dword [edx*4 + 0x61e31c]
jne 0x41bb8d
xor eax, eax
inc eax
cmp dword [ebp + 0x18], 0
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x30], eax
je 0x41bb54
mov edx, dword [esp + 0x18]
lea eax, [edx + 1]
push eax
lea eax, [ecx + 1]
push eax
push edx
push esi
call dword [sym.imp.GDI32.dll_CreateRectRgn]
mov edi, dword [esp + 0xc]
push 3
push eax
push edi
mov dword [esp + 0x94], eax
call dword [sym.imp.GDI32.dll_ExtSelectClipRgn]
cmp byte [esp + 0x13], 0
je 0x41bafa
push dword [esp + 0x18]
lea eax, [esi + 1]
mov byte [esp + 0x17], 0
push eax
mov eax, dword [esp + 0x28]
push eax
push esi
call dword [sym.imp.GDI32.dll_CreateRectRgn]
push 3
mov esi, eax
push esi
push edi
call dword [sym.imp.GDI32.dll_ExtSelectClipRgn]
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [esp + 0x64]
lea esi, [esp + 0x1c]
mov ecx, dword [esp + 0xc]
sub esp, 0x10
mov edi, esp
push 0
push dword [esp + 0x54]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
sub esp, 0x10
lea esi, [esp + 0x2c]
mov edi, esp
mov edx, 0xe6e6e6
push dword [esp + 0xb4]
movsd dword es:[edi], dword [esi]
push dword [esp + 0xb0]
push dword [esp + 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.0041a079
add esp, 0x1c
push 0
push esi
jmp 0x41bdd1
inc dword [esp + 0x20]
lea esi, [esp + 0x1c]
mov ecx, dword [esp + 0xc]
sub esp, 0x10
mov edi, esp
mov edx, 0xc0c0c0
push 0
movsd dword es:[edi], dword [esi]
push 0x60
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
mov eax, dword [esp + 0x50]
dec dword [esp + 0x20]
mov dword [esp + 0x30], eax
mov byte [esp + 0x13], 0
jmp 0x41bf7f
cmp byte [esp + 0x13], 0
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x30], eax
je 0x41bbdb
push dword [esp + 0x18]
lea eax, [esi + 1]
mov byte [esp + 0x17], 0
push eax
mov eax, dword [esp + 0x28]
push eax
push esi
call dword [sym.imp.GDI32.dll_CreateRectRgn]
mov edi, dword [esp + 0xc]
mov esi, eax
push 3
push esi
push edi
call dword [sym.imp.GDI32.dll_ExtSelectClipRgn]
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
movsd xmm2, qword [esp + 0x78]
mov edx, dword [esp + 0x3c]
jmp 0x41bbdf
mov edi, dword [esp + 0xc]
cmp dword [ebp + 0x18], 0
je 0x41bde9
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
lea eax, [ecx + 1]
push eax
mov eax, dword [esp + 0x28]
inc eax
push eax
push ecx
push esi
call dword [sym.imp.GDI32.dll_CreateRectRgn]
push 3
push eax
push edi
mov dword [esp + 0x94], eax
call dword [sym.imp.GDI32.dll_ExtSelectClipRgn]
cmp dword [0x61d9dc], 0
mov eax, dword [esp + 0x94]
jne 0x41bc31
cmp dword [0x61d9d8], 0
jne 0x41bc31
test eax, eax
je 0x41bc46
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x19
je 0x41bd96
test eax, eax
jne 0x41bcd8
sub esp, 0x10
lea esi, [esp + 0x2c]
cmp dword [0x602a9c], 0
mov edi, esp
push 0
push dword [esp + 0x54]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jne 0x41bc68
mov edx, dword [esp + 0x7c]
jmp 0x41bc87
movzx edx, byte [esp + 0x1fa]
mov ecx, dword [esp + 0x1f8]
shl edx, 8
movzx eax, ch
or edx, eax
movzx eax, cl
shl edx, 8
or edx, eax
mov ecx, dword [esp + 0x24]
call fcn.0040cda1
mov ecx, dword [esp + 0xc]
lea esi, [esp + 0x1c]
sub esp, 0x10
cmp dword [0x602a9c], 0
mov edi, esp
push dword [esp + 0xb4]
movsd dword es:[edi], dword [esi]
push dword [esp + 0xb0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
je 0x41bcc0
mov edx, dword [esp + 0x4c]
push 0
jmp 0x41bccb
push dword [esp + 0x58]
mov edx, dword [esp + 0x80]
call fcn.0041a079
add esp, 0x1c
jmp 0x41bdcb
movd xmm0, dword [esp + 0x20]
lea esi, [esp + 0x1c]
movsd xmm1, qword [esp + 0x78]
lea edi, [esp + 0x148]
mulsd xmm1, qword [0x5e1608]
movsd dword es:[edi], dword [esi]
cvtdq2pd xmm0, xmm0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
addsd xmm0, xmm1
movsd dword es:[edi], dword [esi]
cvttsd2si eax, xmm0
movd xmm0, dword [esp + 0x154]
cvtdq2pd xmm0, xmm0
mov dword [esp + 0x14c], eax
subsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x150]
dec eax
mov dword [esp + 0x148], eax
cmp ecx, 0x19
je 0x41bdcb
mov eax, dword [0x61e5b0]
test eax, eax
je 0x41bd5d
cmp dword [ecx*4 + 0x61e320], 0
jne 0x41bd5d
cmp eax, dword [0x61e380]
je 0x41bdcb
mov eax, dword [0x61e590]
cmp eax, dword [ecx*4 + 0x61e320]
je 0x41bdcb
mov edx, dword [esp + 0x90]
lea esi, [esp + 0x148]
mov ecx, dword [esp + 0xc]
sub esp, 0x10
mov edi, esp
xor eax, eax
inc eax
push eax
movsd dword es:[edi], dword [esi]
push 0xe6
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
jmp 0x41bdcb
test eax, eax
jne 0x41bdcb
mov ecx, dword [esp + 0xc]
inc esi
sub esp, 0x10
mov dword [esp + 0x24], esi
mov edi, esp
mov dword [esp + 0x2c], esi
lea esi, [esp + 0x2c]
xor edx, edx
push eax
movsd dword es:[edi], dword [esi]
inc eax
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
mov eax, dword [esp + 0x14]
dec eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], eax
push 0
push dword [esp + 0x10]
call dword [sym.imp.GDI32.dll_SelectClipRgn]
push dword [esp + 0x88]
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x41bf7f
cmp dword [0x61d9dc], 0
movaps xmm1, xmm2
movd xmm0, dword [esp + 0x20]
addsd xmm1, xmm2
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x88], xmm1
addsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [esp + 0x14]
cvtdq2pd xmm0, xmm0
mov dword [esp + 0x20], eax
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], eax
jne 0x41be65
cmp edx, 0x19
jne 0x41be65
mov ecx, dword [esp + 0xc]
lea esi, [esp + 0x1c]
sub esp, 0x10
inc eax
mov edi, esp
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], eax
xor edx, edx
xor eax, eax
push 0
movsd dword es:[edi], dword [esi]
inc eax
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
mov eax, dword [esp + 0x30]
dec eax
jmp 0x41be8a
mov edx, dword [esp + 0x34]
lea esi, [esp + 0x1c]
mov ecx, dword [esp + 0xc]
sub esp, 0x10
mov edi, esp
push 0
movsd dword es:[edi], dword [esi]
push 0xff
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
mov eax, dword [esp + 0x30]
movd xmm0, dword [esp + 0x20]
lea esi, [esp + 0x1c]
cvtdq2pd xmm0, xmm0
lea edi, [esp + 0xd8]
movsd xmm1, qword [esp + 0x78]
subsd xmm0, qword [esp + 0x88]
mulsd xmm1, qword [0x5e1608]
cvttsd2si edx, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov dword [esp + 0x20], edx
subsd xmm0, qword [esp + 0x88]
cvttsd2si eax, xmm0
movd xmm0, edx
mov dword [esp + 0x1c], eax
movsd dword es:[edi], dword [esi]
cvtdq2pd xmm0, xmm0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x50]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x3c]
movsd dword es:[edi], dword [esi]
addsd xmm0, xmm1
movsd dword es:[edi], dword [esi]
cvttsd2si eax, xmm0
movd xmm0, dword [esp + 0xe4]
cvtdq2pd xmm0, xmm0
mov dword [esp + 0xdc], eax
subsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe0]
dec eax
mov dword [esp + 0xd8], eax
cmp edx, 0x19
je 0x41bf7f
mov eax, dword [0x61e5b0]
test eax, eax
je 0x41bf4d
cmp dword [edx*4 + 0x61e320], 0
jne 0x41bf4d
cmp eax, dword [0x61e380]
je 0x41bf7f
mov eax, dword [0x61e590]
cmp eax, dword [edx*4 + 0x61e320]
je 0x41bf7f
mov ecx, dword [esp + 0xc]
lea esi, [esp + 0xd8]
sub esp, 0x10
xor eax, eax
mov edi, esp
inc eax
mov edx, 0xc0c0c0
push eax
movsd dword es:[edi], dword [esi]
push 0x60
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040cda1
mov eax, dword [esp + 0xd4]
lea esi, [esp + 0x1c]
sub eax, dword [esp + 0x74]
lea edi, [esp + 0x200]
sub eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x20]
movsd dword es:[edi], dword [esi]
cdq
sub eax, edx
xor edx, edx
sar eax, 1
movsd dword es:[edi], dword [esi]
add eax, ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x204], eax
add eax, dword [esp + 0x74]
mov dword [esp + 0x20c], eax
cmp edi, 0x19
je 0x41bfda
mov ecx, dword [edi*4 + 0x61e31c]
call fcn.0041a30a
mov ecx, dword [esp + 0x20]
mov edx, eax
movd xmm0, dword [esp + 0x200]
movsd xmm2, qword [esp + 0x78]
movaps xmm3, xmm2
mulsd xmm3, qword [0x5e15f8]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm3
cvttsd2si esi, xmm0
movd xmm0, dword [esp + 0x208]
mov dword [esp + 0x200], esi
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm3
cvttsd2si eax, xmm0
mov dword [esp + 0x208], eax
test edx, edx
je 0x41c0a4
movaps xmm0, xmm2
mov esi, dword [esp + 0xc]
mulsd xmm0, qword [0x5e1638]
push ecx
cvttsd2si eax, xmm0
push eax
push eax
mov eax, dword [esp + 0x24]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mov ecx, esi
mulsd xmm1, qword [0x5e1588]
addsd xmm1, xmm0
movd xmm0, dword [esp + 0x20]
cvtdq2pd xmm0, xmm0
cvttsd2si eax, xmm1
addsd xmm0, xmm3
push eax
cvttsd2si eax, xmm0
push eax
call fcn.0041a491
movsd xmm2, qword [esp + 0x8c]
add esp, 0x14
movd xmm0, dword [esp + 0x200]
movaps xmm1, xmm2
mulsd xmm1, qword [0x5e1658]
jmp 0x41c0b3
movaps xmm1, xmm2
movd xmm0, esi
mov esi, dword [esp + 0xc]
addsd xmm1, xmm2
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [esp + 0x200], eax
xor eax, eax
inc eax
or dword [esp + 0x164], eax
xor eax, eax
cmp byte [esp + 0x3b], al
cmove eax, dword [esp + 0x68]
test eax, eax
je 0x41c3f6
cmp edi, 0x19
je 0x41c3f6
push str.Marlett
xor eax, eax
movaps xmm0, xmm2
mulsd xmm0, qword [0x5e1620]
push eax
push 6
push eax
push 4
push 2
push eax
push eax
push eax
push 0x190
push eax
push eax
push eax
cvttsd2si eax, xmm0
push eax
call dword [sym.imp.GDI32.dll_CreateFontW]
push eax
push esi
mov dword [esp + 0x90], eax
call dword [sym.imp.GDI32.dll_SelectObject]
movd xmm0, dword [esp + 0x208]
lea esi, [esp + 0x200]
movsd xmm1, qword [esp + 0x78]
lea edi, [esp + 0x220]
mulsd xmm1, qword [0x5e15e8]
mov edx, dword [esp + 0x30]
cvtdq2pd xmm0, xmm0
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x74], eax
mov eax, dword [0x61e5b0]
mov dword [esp + 0x168], edx
movsd dword es:[edi], dword [esi]
movsd qword [esp + 0x68], xmm1
subsd xmm0, qword [esp + 0x110]
movsd dword es:[edi], dword [esi]
addsd xmm0, xmm1
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x3c]
cvttsd2si ecx, xmm0
mov dword [esp + 0x220], ecx
cmp eax, dword [edi*4 + 0x61e31c]
jne 0x41c242
mov eax, dword [0x61e5b4]
cmp al, 1
jne 0x41c1b8
mov edx, 0x5050c8
mov dword [esp + 0x4c], 1
mov dword [esp + 0x168], edx
cmp al, 2
jne 0x41c1ce
push 0x64
pop edx
mov dword [esp + 0x168], edx
mov dword [esp + 0x4c], 1
test al, al
je 0x41c24d
lea esi, [esp + 0x220]
sub esp, 0x10
lea edi, [esp + 0x10c]
movsd dword es:[edi], dword [esi]
lea eax, [ecx - 2]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub dword [esp + 0x110], 2
lea esi, [esp + 0x10c]
inc dword [esp + 0x114]
mov edi, esp
inc dword [esp + 0x118]
mov dword [esp + 0x10c], eax
push 0xc8
movsd dword es:[edi], dword [esi]
push 0x5050c8
push 0xff
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.0041a079
mov edi, dword [esp + 0x58]
add esp, 0x1c
mov dword [esp + 0x168], 0xffffff
jmp 0x41c251
mov eax, dword [esp + 0x30]
mov dword [esp + 0x168], eax
mov esi, dword [esp + 0xc]
cmp dword [esp + 0x4c], 0
lea eax, [esp + 0x160]
je 0x41c282
push eax
lea eax, [esp + 0x224]
push eax
push 0x25
push 0xffffffffffffffff
push 0x5dc4e0
push 0
push 0
push esi
push dword [esp + 0x64]
call dword [sym.imp.UxTheme.dll_DrawThemeTextEx]
jmp 0x41c2a6
push 0x80
push eax
lea eax, [esp + 0x228]
mov edx, esi
push eax
push 0x25
push ecx
mov ecx, dword [esp + 0x58]
push 0x5dc4e0
call fcn.0041a38b
add esp, 0x18
cmp dword [0x61d9c8], 0
je 0x41c3bd
movd xmm0, dword [esp + 0x208]
lea esi, [esp + 0x200]
cvtdq2pd xmm0, xmm0
lea edi, [esp + 0x240]
xor edx, edx
subsd xmm0, qword [esp + 0x110]
cvttsd2si eax, xmm0
mov dword [esp + 0x208], eax
movsd dword es:[edi], dword [esi]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
subsd xmm0, qword [esp + 0x110]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x3c]
addsd xmm0, qword [esp + 0x68]
mov ecx, dword [edi*4 + 0x61e31c]
cmp ecx, dword [0x61e590]
cvttsd2si eax, xmm0
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x50]
cmovne eax, edx
mov dword [esp + 0x168], eax
cmp dword [0x61e5b0], ecx
jne 0x41c363
mov eax, dword [0x61e5b5]
xor ecx, ecx
inc ecx
cmp al, cl
jne 0x41c34c
mov dword [esp + 0x168], 0x5050c8
mov dword [esp + 0x4c], ecx
cmp al, 2
jne 0x41c363
mov eax, ecx
mov dword [esp + 0x168], 0x64
mov dword [esp + 0x4c], eax
jmp 0x41c367
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0xc]
test eax, eax
lea eax, [esp + 0x160]
je 0x41c399
push eax
lea eax, [esp + 0x244]
push eax
push 0x25
push 0xffffffffffffffff
push 0x5d8f24
push 0
push 0
push esi
push dword [esp + 0x64]
call dword [sym.imp.UxTheme.dll_DrawThemeTextEx]
jmp 0x41c3bd
push 0x80
push eax
lea eax, [esp + 0x248]
mov edx, esi
push eax
push 0x25
push ecx
mov ecx, dword [esp + 0x58]
push 0x5d8f24
call fcn.0041a38b
add esp, 0x18
push dword [esp + 0x74]
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [esp + 0x88]
call dword [sym.imp.GDI32.dll_DeleteObject]
movd xmm0, dword [esp + 0x208]
cvtdq2pd xmm0, xmm0
subsd xmm0, qword [esp + 0x110]
cvttsd2si eax, xmm0
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x168], eax
cmp edi, 0x19
jne 0x41c5f5
movsd xmm0, qword [esp + 0x78]
xor eax, eax
mulsd xmm0, qword [0x5e1618]
push str.Marlett
push eax
push 6
push eax
push 4
push 2
push eax
push eax
push eax
push 0x190
push eax
push eax
push eax
cvttsd2si eax, xmm0
push eax
call dword [sym.imp.GDI32.dll_CreateFontW]
push eax
push esi
mov dword [esp + 0x70], eax
call dword [sym.imp.GDI32.dll_SelectObject]
cmp dword [esp + 0x4c], 0
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x204], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20c], eax
jne 0x41c488
mov ecx, dword [0x61e5b0]
cmp ecx, dword [0x61e380]
je 0x41c488
cmp dword [0x61d9dc], 0
jne 0x41c5db
mov eax, dword [esp + 0x200]
lea esi, [esp + 0x200]
lea edi, [esp + 0x230]
add eax, 0x3e8
movsd dword es:[edi], dword [esi]
push 0x400
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x10]
mov edi, 0x5dc4e4
mov dword [esp + 0x23c], eax
mov eax, dword [esp + 0x238]
add eax, 0x3e8
mov dword [esp + 0x240], eax
lea eax, [esp + 0x234]
push eax
push 0xffffffffffffffff
push edi
push esi
call dword [sym.imp.USER32.dll_DrawTextW]
push 0xa0
mov edx, esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x5e15d0]
cvttsd2si eax, xmm0
mov dword [esp + 0x78], eax
lea eax, [esp + 0x164]
push eax
lea eax, [esp + 0x208]
push eax
push 0x25
push ecx
mov ecx, dword [esp + 0x58]
push edi
call fcn.0041a38b
mov eax, dword [esp + 0x8c]
lea esi, [esp + 0x218]
lea edi, [esp + 0xc0]
cdq
movsd dword es:[edi], dword [esi]
add esp, 0x18
sub eax, edx
mov edx, dword [esp + 0xc]
sar eax, 1
mov dword [esp + 0x74], eax
movsd dword es:[edi], dword [esi]
push 0xa0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub dword [esp + 0x210], eax
sub dword [esp + 0x208], eax
lea eax, [esp + 0x164]
push eax
lea eax, [esp + 0x208]
push eax
push 0x25
push ecx
mov ecx, dword [esp + 0x58]
push 0x5dc4e4
call fcn.0041a38b
mov ecx, dword [esp + 0x8c]
lea esi, [esp + 0xc0]
mov eax, dword [esp + 0xcc]
lea edi, [esp + 0x218]
movsd dword es:[edi], dword [esi]
add esp, 0x18
add eax, ecx
movsd dword es:[edi], dword [esi]
push 0xa0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add dword [esp + 0x208], ecx
mov dword [esp + 0x210], eax
lea eax, [esp + 0x164]
push eax
lea eax, [esp + 0x208]
push eax
push 0x25
push ecx
mov esi, dword [esp + 0x20]
mov edx, esi
mov ecx, dword [esp + 0x58]
push 0x5dc4e4
call fcn.0041a38b
add esp, 0x18
push dword [esp + 0x88]
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [esp + 0x68]
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x41c623
lea eax, [esp + 0x160]
push eax
lea eax, [esp + 0x204]
push eax
push 0x8000
push 0xffffffffffffffff
lea eax, [esp + 0x260]
push eax
push 0
push 0
push esi
push dword [esp + 0x64]
call dword [sym.imp.UxTheme.dll_DrawThemeTextEx]
inc dword [esp + 0x84]
lea esi, [esp + 0x1b0]
mov ecx, dword [esp + 0x3c]
lea edi, [esp + 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp dword [0x61e5e0], ecx
jne 0x41c680
movd xmm0, dword [esp + 0x1b0]
movsd xmm1, qword [esp + 0x78]
mulsd xmm1, qword [0x5e1740]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [esp + 0x24]
cvtdq2pd xmm0, xmm0
mov dword [esp + 0x1c], eax
addsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x41c684
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1b8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
mov dword [0x61e5a0], edx
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0xc]
inc ecx
mov edi, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
cmp ecx, 0x1a
jl 0x41b34b
cmp byte [esp + 0x2e], 0
mov eax, dword [esp + 0xa0]
je 0x41c7a7
cmp edx, eax
jle 0x41c7a7
movd xmm2, dword [esp + 0xd0]
lea esi, [esp + 0x54]
movd xmm0, dword [esp + 0xc8]
lea edi, [esp + 0x1c]
movsd xmm1, qword [esp + 0x78]
xor ecx, ecx
mulsd xmm1, qword [0x5e1688]
mov eax, dword [esp + 0x120]
cvtdq2pd xmm0, xmm0
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x14], eax
mov byte [esp + 0x2e], cl
movsd dword es:[edi], dword [esi]
cvtdq2pd xmm2, xmm2
movsd dword es:[edi], dword [esi]
subsd xmm2, xmm0
movsd dword es:[edi], dword [esi]
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mov eax, dword [esp + 0x28]
add eax, 0xa
mov dword [esp + 0x18], eax
subsd xmm2, xmm1
subsd xmm0, xmm1
divsd xmm2, xmm0
movsd qword [esp + 0x158], xmm2
cmp dword [ebp + 0x18], ecx
je 0x41c777
push dword [0x61e590]
call dword [sym.imp.USER32.dll_IsZoomed]
sub esp, 0x10
lea esi, [esp + 0x64]
mov edi, esp
push 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x20]
mov ecx, esi
test eax, eax
je 0x41c773
mov edx, dword [esp + 0x78]
push 0xff
jmp 0x41c78e
push 0
jmp 0x41c78c
sub esp, 0x10
lea esi, [esp + 0x64]
mov edi, esp
push ecx
movsd dword es:[edi], dword [esi]
push ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x24]
mov ecx, esi
xor edx, edx
call fcn.0040cda1
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
sub eax, 0xa
mov dword [esp + 0x28], eax
jmp 0x41b2ba
and dword [0x61e380], 0
cmp dword [ebp + 0x18], 0
je 0x41c855
mov ecx, dword [0x61d9c0]
test ecx, ecx
jne 0x41c7ce
cmp dword [0x61d9dc], ecx
jne 0x41c855
and dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xe4], eax
mov eax, dword [0x61e3f4]
inc eax
mov dword [0x61e3f4], eax
mov dword [esp + 0xd8], eax
test ecx, ecx
jne 0x41c823
movsd xmm1, qword [esp + 0x78]
mulsd xmm1, qword [0x5e1688]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0xc]
lea esi, [esp + 0xd8]
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0041a6b3
mov esi, 0x61e3ec
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.0041a741
add esp, 0x10
push dword [esp + 0x44]
call dword [sym.imp.UxTheme.dll_CloseThemeData]
push dword [esp + 0x124]
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [esp + 0x70]
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
call edi
cmp dword [ebp + 0x18], 0
mov eax, dword [esp + 0x60]
je 0x41c884
inc eax
xor ecx, ecx
mov byte [esp + 0x52], 0xff
xor edx, edx
inc ecx
mov byte [esp + 0x53], cl
mov ecx, dword [esp + 0xa0]
mov word [esp + 0x50], dx
push dword [esp + 0x50]
push eax
push ecx
push edx
push edx
push esi
push eax
push ecx
push dword [esp + 0xec]
push dword [esp + 0xec]
push dword [esp + 0x150]
call dword [sym.imp.MSIMG32.dll_AlphaBlend]
push dword [esp + 0x12c]
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [esp + 0x140]
call edi
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [esp + 0x144]
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [esp + 0x554]
pop edi
pop esi
xor ecx, esp
call fcn.00570fd6
mov esp, ebp
pop ebp
ret