Function at 0x403e12
Capabilities:
Get graphical window text

Disassembly:
push 0x478
mov eax, 0x5944fc
call fcn.00571895
mov esi, ecx
mov dword [ebp - 0x474], esi
mov eax, dword [esi + 0x84]
mov ebx, dword [ebp + 8]
cmp eax, 1
je 0x404b75
cmp eax, 2
je 0x404b75
mov edi, dword [sym.imp.USER32.dll_GetPropA]
push str.BITMAP
push dword [esi + 0x20]
call edi
test byte [ebx + 0x10], 1
mov dword [ebp - 0x46c], eax
je 0x403e8d
mov edx, dword [0x602ab4]
lea esi, [ebx + 0x1c]
mov ecx, dword [ebx + 0x18]
sub esp, 0x10
mov edi, esp
push dword [0x602ac0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0xff
call fcn.00403453
add esp, 0x18
jmp 0x404164
push 0x5d8eac
push dword [ebx + 0x14]
call edi
push str.DEF_BTN
push dword [ebx + 0x14]
test eax, eax
je 0x403fbd
call edi
test eax, eax
jne 0x403f4c
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [ebx + 0x14]
je 0x403f4c
mov ecx, esi
call fcn.00437671
mov ecx, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
sub esp, 0x10
mov edx, 0xededed
mov edi, esp
push 0xdddddd
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
test eax, eax
je 0x403eeb
push 0xff
jmp 0x403ef0
push 0x80
call fcn.00403453
movsd xmm0, qword [0x602ab8]
lea esi, [ebx + 0x1c]
mulsd xmm0, qword [0x5e15e0]
lea edi, [ebp - 0x420]
movsd dword es:[edi], dword [esi]
add esp, 0x18
mov edx, dword [0x602ab4]
sub esp, 0x10
mov ecx, dword [ebx + 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movd xmm1, dword [ebp - 0x414]
lea esi, [ebp - 0x420]
cvtdq2pd xmm1, xmm1
mov edi, esp
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x41c], 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]
jmp 0x404144
mov ecx, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
sub esp, 0x10
mov edx, 0xededed
mov edi, esp
push 0xdddddd
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.00403453
movsd xmm0, qword [0x602ab8]
lea esi, [ebx + 0x1c]
mulsd xmm0, qword [0x5e15e0]
lea edi, [ebp - 0x420]
movsd dword es:[edi], dword [esi]
add esp, 8
mov ecx, dword [ebx + 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movd xmm1, dword [ebp - 0x414]
lea esi, [ebp - 0x420]
cvtdq2pd xmm1, xmm1
mov edi, esp
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x41c], 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]
jmp 0x40413e
call edi
test eax, eax
jne 0x4040cc
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [ebx + 0x14]
je 0x4040cc
cmp dword [esi + 0x84], 0xa
jne 0x40401d
mov ecx, esi
call fcn.00437671
test eax, eax
jne 0x40401d
mov ecx, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
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]
cmp dword [0x61db30], eax
je 0x404010
push 0x808080
mov edx, 0x191919
jmp 0x403e7b
mov eax, 0xdddddd
push eax
mov edx, eax
jmp 0x403e7b
cmp dword [0x61db30], 0
je 0x404042
mov ecx, esi
call fcn.00437671
test eax, eax
jne 0x404042
sub esp, 0x10
mov edx, 0x191919
mov edi, esp
push 0x808080
jmp 0x404051
sub esp, 0x10
mov edx, 0xfcfcfc
mov edi, esp
push 0xdddddd
mov ecx, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
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.00403453
lea esi, [ebx + 0x1c]
add esp, 0x18
cmp dword [0x61db30], 0
lea edi, [ebp - 0x420]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movd xmm0, dword [ebp - 0x414]
cvtdq2pd xmm0, xmm0
subsd xmm0, qword [0x602ab8]
cvttsd2si eax, xmm0
mov dword [ebp - 0x41c], eax
jne 0x404164
mov ecx, dword [ebp - 0x474]
call fcn.00437671
mov edx, dword [0x602ab4]
lea esi, [ebp - 0x420]
mov ecx, dword [ebx + 0x18]
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]
test eax, eax
jne 0x404144
jmp 0x40415a
mov ecx, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
sub esp, 0x10
mov edx, 0xfcfcfc
mov edi, esp
push 0xdddddd
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.00403453
lea esi, [ebx + 0x1c]
mov ecx, dword [ebp - 0x474]
lea edi, [ebp - 0x420]
add esp, 0x18
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movd xmm0, dword [ebp - 0x414]
cvtdq2pd xmm0, xmm0
subsd xmm0, qword [0x602ab8]
cvttsd2si eax, xmm0
mov dword [ebp - 0x41c], eax
call fcn.00437671
mov ecx, dword [ebx + 0x18]
lea esi, [ebp - 0x420]
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]
test eax, eax
je 0x404154
mov edx, dword [0x602ac0]
mov esi, 0xff
push esi
call fcn.00426926
add esp, 0x14
jmp 0x404169
mov edx, dword [0x602ab4]
push 0x40
call fcn.004112dc
add esp, 0x14
mov esi, 0xff
mov edi, dword [ebp - 0x474]
lea eax, [ebp - 0x210]
push esi
push eax
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetWindowTextW]
push dword [0x61db50]
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
xor eax, eax
push dword [ebx + 0x18]
mov word [ebp - 0x14], ax
call esi
cmp dword [edi + 0x84], 0xa
jne 0x4041ab
push dword [0x61db4c]
push dword [ebx + 0x18]
call esi
xor eax, eax
mov esi, 0xffffff
test byte [ebx + 0x10], 1
mov dword [ebp - 0x470], eax
je 0x4041c1
push esi
jmp 0x4041c2
push eax
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, edi
mov dword [ebp - 0x478], 0xff
call fcn.00437671
test eax, eax
jne 0x404208
cmp dword [0x61db30], eax
je 0x4041fe
push esi
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetTextColor]
mov dword [ebp - 0x478], 0x80
jmp 0x404208
mov dword [ebp - 0x478], 0x40
lea esi, [ebx + 0x1c]
lea edi, [ebp - 0x450]
movsd dword es:[edi], dword [esi]
push str.ICON
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x474]
mov edi, dword [sym.imp.USER32.dll_GetPropA]
push dword [esi + 0x20]
call edi
mov ecx, esi
mov dword [ebp - 0x47c], eax
call fcn.00437671
test eax, eax
jne 0x40424a
push str.ICONGREY
push dword [esi + 0x20]
call edi
mov edx, eax
jmp 0x404250
mov edx, dword [ebp - 0x47c]
test edx, edx
je 0x4042bb
movsd xmm0, qword [0x602ab8]
xor ecx, ecx
mulsd xmm0, qword [0x5e1670]
push 3
push ecx
push ecx
cvttsd2si eax, xmm0
push eax
push eax
mov eax, dword [ebp - 0x444]
sub eax, dword [ebp - 0x44c]
push edx
sub eax, 0x1a
cdq
sub eax, edx
sar eax, 1
push eax
push 0xa
push dword [ebx + 0x18]
call dword [sym.imp.USER32.dll_DrawIconEx]
movd xmm0, dword [ebp - 0x450]
movsd xmm1, qword [0x602ab8]
mulsd xmm1, qword [0x5e1670]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x450], eax
mov eax, dword [ebp - 0x46c]
test eax, eax
je 0x4043ee
lea ecx, [ebp - 0x468]
xorps xmm0, xmm0
push ecx
push 0x18
push eax
movups xmmword [ebp - 0x430], xmm0
call dword [sym.imp.GDI32.dll_GetObjectW]
mov eax, dword [ebx + 0x24]
sub eax, dword [ebp - 0x464]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x420], eax
add eax, dword [ebp - 0x464]
mov dword [ebp - 0x418], eax
mov eax, dword [ebx + 0x28]
sub eax, dword [ebp - 0x460]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x41c], eax
add eax, dword [ebp - 0x460]
test byte [ebx + 0x10], 1
mov dword [ebp - 0x414], eax
je 0x40438a
push 0x2000
xor eax, eax
push eax
push eax
push eax
mov eax, dword [ebp - 0x46c]
push eax
call dword [sym.imp.USER32.dll_CopyImage]
mov edx, 0xffffff
mov ecx, eax
mov dword [ebp - 0x46c], eax
call fcn.004032c9
mov ecx, esi
call fcn.00437671
sub esp, 0x10
lea esi, [ebp - 0x420]
mov edi, esp
sub esp, 0x10
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, esp
lea esi, [ebp - 0x430]
sub esp, 0xc
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 [ebp - 0x46c]
mov edx, esi
test eax, eax
jne 0x4043d3
push 0x48
jmp 0x4043d8
push 0x5d8eac
push dword [ebx + 0x14]
call edi
push 0x2000
test eax, eax
je 0x4043b7
xor eax, eax
push eax
push eax
push eax
mov eax, dword [ebp - 0x46c]
push eax
call dword [sym.imp.USER32.dll_CopyImage]
mov edx, dword [0x602ab4]
jmp 0x404345
xor eax, eax
push eax
push eax
push eax
mov eax, dword [ebp - 0x46c]
push eax
call dword [sym.imp.USER32.dll_CopyImage]
mov edx, 0x505050
jmp 0x404345
push 0xff
push ecx
mov ecx, dword [ebx + 0x18]
call fcn.0040ba74
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov esi, dword [ebp - 0x474]
mov eax, dword [esi + 0x84]
cmp eax, 9
je 0x4045ed
cmp eax, 0xb
je 0x4045ed
cmp eax, 0xa
jne 0x404643
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x46c]
call fcn.00403242
xor eax, eax
lea ecx, [ebp - 0x46c]
push eax
push 0xa
mov dword [ebp - 4], eax
call fcn.0040504d
mov dword [ebp - 0x480], eax
test eax, eax
jle 0x4045d9
push eax
lea eax, [ebp - 0x47c]
push eax
lea ecx, [ebp - 0x46c]
call fcn.00402815
push eax
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 1
call fcn.00402f00
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x47c]
lea ecx, [ecx - 0x10]
call fcn.0040241e
movd xmm0, dword [ebp - 0x44c]
movsd xmm1, qword [0x602ab8]
mulsd xmm1, qword [0x5e1600]
mov edi, dword [ebp - 0x478]
cmp edi, 0x40
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x44c], eax
mov eax, 0xc8
cmove edi, eax
lea eax, [ebp - 0x450]
push edi
push 0x21
push eax
push 0xffffffffffffffff
push dword [ebp - 0x46c]
mov dword [ebp - 0x478], edi
push dword [ebx + 0x18]
call fcn.0042850c
push dword [0x61db48]
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SelectObject]
lea eax, [ebp - 0x210]
push eax
call fcn.00402fe1
pop ecx
push eax
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x46c]
call fcn.00403189
mov eax, dword [ebp - 0x46c]
lea ecx, [ebp - 0x46c]
mov eax, dword [eax - 0xc]
sub eax, dword [ebp - 0x480]
dec eax
push eax
lea eax, [ebp - 0x480]
push eax
call fcn.00404ffb
push eax
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 2
call fcn.00402f00
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x480]
lea ecx, [ecx - 0x10]
call fcn.0040241e
test byte [ebx + 0x10], 1
jne 0x40457b
mov ecx, esi
call fcn.00437671
test eax, eax
jne 0x40456d
cmp dword [0x61db30], eax
je 0x404566
push 0xc8c8c8
jmp 0x404572
push 0x191919
jmp 0x404572
push 0x3c3c3c
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetTextColor]
movd xmm0, dword [ebp - 0x44c]
movsd xmm1, qword [0x602ab8]
mulsd xmm1, qword [0x5e16a0]
push edi
cvtdq2pd xmm0, xmm0
push 0x21
addsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x444]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x44c], eax
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x444], eax
lea eax, [ebp - 0x450]
push eax
push 0xffffffffffffffff
push dword [ebp - 0x46c]
push dword [ebx + 0x18]
call fcn.0042850c
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x46c]
lea ecx, [ecx - 0x10]
call fcn.0040241e
jmp 0x404663
dec dword [ebp - 0x44c]
dec dword [ebp - 0x444]
push 2
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0xfffffffffffffffe
pop ecx
sub ecx, eax
mov eax, dword [ebp - 0x448]
add eax, ecx
cmp dword [esi + 0x84], 9
mov dword [ebp - 0x448], eax
jne 0x404643
movsd xmm0, qword [0x602ab8]
mulsd xmm0, qword [0x5e1670]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x448], eax
push dword [ebp - 0x478]
lea eax, [ebp - 0x450]
push 0x25
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x210]
push eax
push dword [ebx + 0x18]
call fcn.0042850c
mov eax, dword [esi + 0x84]
cmp eax, 9
je 0x404677
cmp eax, 0xb
jne 0x404ff3
movsd xmm0, qword [0x602ab8]
xor eax, eax
mulsd xmm0, qword [0x5e1628]
push 0x5d8ef0
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_CreateFontA]
push eax
push dword [ebx + 0x18]
mov dword [ebp - 0x47c], eax
call dword [sym.imp.GDI32.dll_SelectObject]
lea esi, [ebx + 0x1c]
mov dword [ebp - 0x480], eax
lea edi, [ebp - 0x430]
movsd dword es:[edi], dword [esi]
push 2
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
dec dword [ebp - 0x42c]
dec dword [ebp - 0x424]
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [ebp - 0x428]
movsd xmm0, qword [0x602ab8]
sub ecx, eax
test byte [ebx + 0x10], 1
mulsd xmm0, qword [0x5e1600]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x430], eax
je 0x404728
mov esi, 0xffffff
push esi
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetTextColor]
jmp 0x404738
push 0
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetTextColor]
mov esi, 0xffffff
mov edi, dword [ebp - 0x474]
mov ecx, edi
call fcn.00437671
test eax, eax
jne 0x40475f
cmp dword [0x61db30], eax
je 0x40475f
push 0xc8c8c8
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetTextColor]
push dword [ebp - 0x478]
lea eax, [ebp - 0x430]
push 0x8025
push eax
push 0xffffffffffffffff
push 0x5d8f24
push dword [ebx + 0x18]
call fcn.0042850c
push dword [ebp - 0x480]
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0x47c]
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp dword [edi + 0x84], 9
jne 0x404ff3
movsd xmm2, qword [0x602ab8]
movd xmm1, dword [ebp - 0x430]
movaps xmm0, xmm2
mulsd xmm0, qword [0x5e1658]
push 0x13
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
movd xmm0, dword [ebp - 0x42c]
cvtdq2pd xmm0, xmm0
cvttsd2si edx, xmm1
movaps xmm1, xmm2
mulsd xmm2, qword [0x5e1600]
mov dword [ebp - 0x430], edx
mulsd xmm1, qword [0x5e1608]
addsd xmm1, xmm0
movd xmm0, dword [ebp - 0x424]
cvtdq2pd xmm0, xmm0
cvttsd2si ecx, xmm1
subsd xmm0, xmm2
sub edx, ecx
mov dword [ebp - 0x42c], ecx
cvttsd2si eax, xmm0
add edx, eax
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x428], edx
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SelectObject]
push 0x12
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SelectObject]
push 0xdddddd
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetDCPenColor]
push 0x5d8f28
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x404928
push ecx
mov edi, 0x5d8990
mov edx, str.CustomColourTextureMenu
push edi
push 0
mov ecx, 0x5d89ac
call fcn.0040df52
add esp, 0xc
test eax, eax
je 0x404ab6
push ecx
push edi
push 0
mov edx, str.CustomColourTextureMenu
mov ecx, 0x5d89ac
call fcn.0040df52
add esp, 0xc
cmp eax, 2
jne 0x4048c9
mov eax, dword [0x602ac0]
and eax, esi
push eax
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetDCPenColor]
mov eax, dword [0x602ac0]
and eax, esi
jmp 0x404b1e
push ecx
push edi
push 0
mov edx, str.CustomColourTextureMenu
mov ecx, 0x5d89ac
call fcn.0040df52
add esp, 0xc
cmp eax, 3
jne 0x4048fc
mov eax, dword [0x61db44]
and eax, esi
push eax
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetDCPenColor]
mov eax, dword [0x61db44]
jmp 0x4048c2
push ecx
push edi
mov esi, 0x5d89ac
mov edx, str.CustomColourTextureMenuV
push 0
mov ecx, esi
call fcn.0040df52
add esp, 0xc
push eax
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetDCPenColor]
mov edx, str.CustomColourTextureMenuV
jmp 0x404b10
push str.TASK4
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x4049cb
push ecx
mov edi, 0x5d8990
mov edx, str.CustomColourTile
push edi
push 0
mov ecx, 0x5d89ac
call fcn.0040df52
add esp, 0xc
test eax, eax
je 0x404ab6
push ecx
push edi
push 0
mov edx, str.CustomColourTile
mov ecx, 0x5d89ac
call fcn.0040df52
add esp, 0xc
cmp eax, 2
je 0x4048ac
push ecx
push edi
push 0
mov edx, str.CustomColourTile
mov ecx, 0x5d89ac
call fcn.0040df52
add esp, 0xc
cmp eax, 3
je 0x4048e4
push ecx
push edi
mov esi, 0x5d89ac
mov edx, str.CustomColourTileV
push 0
mov ecx, esi
call fcn.0040df52
add esp, 0xc
push eax
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetDCPenColor]
mov edx, str.CustomColourTileV
jmp 0x404b10
push str.TASK2
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x404a4b
push ecx
mov edi, 0x5d8990
mov edx, str.CustomColourTexture
push edi
push 0
mov ecx, 0x5d89ac
call fcn.0040df52
add esp, 0xc
test eax, eax
je 0x404ab6
push ecx
push edi
push 0
mov edx, str.CustomColourTexture
mov ecx, 0x5d89ac
call fcn.0040df52
add esp, 0xc
cmp eax, 2
je 0x4048ac
push ecx
push edi
mov esi, 0x5d89ac
mov edx, str.CustomColourTextureV
push 0
mov ecx, esi
call fcn.0040df52
add esp, 0xc
push eax
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetDCPenColor]
mov edx, str.CustomColourTextureV
jmp 0x404b10
push str.TASK
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetPropW]
mov edi, 0x5d8990
push ecx
mov ecx, 0x5d89ac
push edi
push 0
test eax, eax
je 0x404aa5
mov edx, str.CustomColourTaskbar
call fcn.0040df52
add esp, 0xc
test eax, eax
je 0x404ab6
push ecx
push edi
mov esi, 0x5d89ac
mov edx, str.CustomColourTaskbarV
push 0
mov ecx, esi
call fcn.0040df52
add esp, 0xc
push eax
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetDCPenColor]
mov edx, str.CustomColourTaskbarV
jmp 0x404b10
mov edx, str.CustomColour
call fcn.0040df52
add esp, 0xc
test eax, eax
jne 0x404ae9
push 0xdddddd
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetDCPenColor]
push esi
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetDCBrushColor]
push esi
push 5
call dword [sym.imp.GDI32.dll_CreateHatchBrush]
push eax
push dword [ebx + 0x18]
mov dword [ebp - 0x470], eax
call dword [sym.imp.GDI32.dll_SelectObject]
jmp 0x404b28
push ecx
push edi
mov esi, 0x5d89ac
mov edx, str.CustomColourV
push 0
mov ecx, esi
call fcn.0040df52
add esp, 0xc
push eax
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetDCPenColor]
mov edx, str.CustomColourV
push ecx
push edi
push 0
mov ecx, esi
call fcn.0040df52
add esp, 0xc
push eax
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SetDCBrushColor]
push dword [ebp - 0x424]
push dword [ebp - 0x428]
push dword [ebp - 0x42c]
push dword [ebp - 0x430]
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_Rectangle]
push 0x12
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0x470]
test eax, eax
je 0x404ff3
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x404ff3
push 6
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_GetCurrentObject]
push dword [ebx + 0x18]
mov esi, eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edx, dword [ebx + 0x28]
mov edi, eax
mov ecx, dword [ebx + 0x24]
sub edx, dword [ebx + 0x20]
sub ecx, dword [ebx + 0x1c]
mov dword [ebp - 0x46c], edi
call fcn.0042ae12
push eax
push edi
mov dword [ebp - 0x478], eax
call dword [sym.imp.GDI32.dll_SelectObject]
push esi
push edi
mov dword [ebp - 0x47c], eax
call dword [sym.imp.GDI32.dll_SelectObject]
cmp dword [0x61db30], 0
je 0x404bdb
push 0
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov ecx, eax
mov dword [ebp - 0x470], ecx
jmp 0x404bee
push 0xffffff
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov ecx, eax
mov dword [ebp - 0x470], eax
lea esi, [ebx + 0x1c]
lea edi, [ebp - 0x440]
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 eax, dword [ebp - 0x43c]
sub dword [ebp - 0x434], eax
mov eax, dword [ebp - 0x440]
sub dword [ebp - 0x438], eax
xor eax, eax
mov esi, dword [ebp - 0x46c]
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x43c], eax
lea eax, [ebp - 0x440]
push eax
push esi
call dword [sym.imp.USER32.dll_FillRect]
push dword [ebp - 0x470]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edi, dword [ebp - 0x474]
mov eax, 0xff
push eax
mov dword [ebp - 0x470], eax
lea eax, [ebp - 0x410]
push eax
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetWindowTextW]
push dword [0x61db3c]
xor eax, eax
push esi
mov word [ebp - 0x214], ax
call dword [sym.imp.GDI32.dll_SelectObject]
cmp dword [0x61db30], 0
je 0x404c8a
push 0xffffff
jmp 0x404c8c
push 0
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, edi
call fcn.00437671
test eax, eax
jne 0x404cb4
cmp dword [0x61db30], 0
push 0x40
pop eax
push 0x60
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x470], eax
cmp dword [0x602ac4], 0
movd xmm0, dword [ebp - 0x440]
movsd xmm1, qword [0x602ab8]
mulsd xmm1, qword [0x5e1658]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x438]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x440], eax
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x438], eax
je 0x404d0d
dec dword [ebp - 0x43c]
dec dword [ebp - 0x434]
lea esi, [ebp - 0x440]
lea edi, [ebp - 0x460]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x460]
push 0x424
push eax
push 0xffffffffffffffff
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x410]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x46c]
push edi
call dword [sym.imp.USER32.dll_DrawTextW]
mov eax, dword [ebp - 0x458]
sub eax, dword [ebp - 0x460]
movsd xmm0, qword [0x602ab8]
mulsd xmm0, qword [0x5e1658]
mov ecx, dword [ebp - 0x474]
movd xmm1, eax
push dword [ebp - 0x470]
cvtdq2pd xmm1, xmm1
push 0x24
addsd xmm1, xmm0
movd xmm0, dword [ebp - 0x440]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ecx + 0x88], eax
lea eax, [ebp - 0x440]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x410]
push eax
push edi
call fcn.0042850c
cmp dword [0x602ac4], 0
je 0x404dba
inc dword [ebp - 0x43c]
inc dword [ebp - 0x434]
movsd xmm0, qword [0x602ab8]
xor eax, eax
mulsd xmm0, qword [0x5e1678]
push 0x5d8ef0
push eax
push 5
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_CreateFontA]
push eax
push edi
mov dword [ebp - 0x484], eax
call dword [sym.imp.GDI32.dll_SelectObject]
movsd xmm3, qword [0x602ab8]
lea esi, [ebx + 0x1c]
movaps xmm1, xmm3
mov dword [ebp - 0x480], eax
mulsd xmm1, qword [0x5e15e8]
lea edi, [ebp - 0x420]
movsd dword es:[edi], dword [esi]
mulsd xmm3, qword [0x5e1600]
xorps xmm2, xmm2
movaps xmm0, xmm2
movsd dword es:[edi], dword [esi]
subsd xmm0, xmm1
subsd xmm2, xmm3
movsd dword es:[edi], dword [esi]
cvttsd2si eax, xmm0
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x41c]
sub dword [ebp - 0x414], ecx
mov ecx, dword [ebp - 0x420]
sub dword [ebp - 0x418], ecx
cmp dword [0x61db30], 0
mov dword [ebp - 0x41c], eax
cvttsd2si eax, xmm2
mov dword [ebp - 0x420], eax
mov eax, dword [ebp - 0x474]
je 0x404ee7
cmp dword [eax + 0x80], 0
je 0x404ebb
test byte [ebx + 0x10], 1
je 0x404e8d
push 0x404040
jmp 0x404f47
push 0x5d8eac
push dword [ebx + 0x14]
call dword [sym.imp.USER32.dll_GetPropA]
mov esi, dword [ebp - 0x46c]
test eax, eax
je 0x404eb0
push dword [0x602ac0]
jmp 0x404f4d
push dword [0x602ab4]
jmp 0x404f4d
test byte [ebx + 0x10], 1
jne 0x404e83
push 0x5d8eac
push dword [ebx + 0x14]
call dword [sym.imp.USER32.dll_GetPropA]
mov esi, dword [ebp - 0x46c]
test eax, eax
je 0x404ee0
push 0xc8c8c8
jmp 0x404f4d
push 0x5a5a5a
jmp 0x404f4d
cmp dword [eax + 0x80], 0
je 0x404f1f
test byte [ebx + 0x10], 1
je 0x404efd
mov ecx, 0x404040
jmp 0x404f41
push 0x5d8eac
push dword [ebx + 0x14]
call dword [sym.imp.USER32.dll_GetPropA]
test eax, eax
je 0x404f17
mov ecx, dword [0x602ac0]
jmp 0x404f41
mov ecx, dword [0x602ab4]
jmp 0x404f41
test byte [ebx + 0x10], 1
jne 0x404ef6
push 0x5d8eac
push dword [ebx + 0x14]
call dword [sym.imp.USER32.dll_GetPropA]
mov ecx, 0xc8c8c8
test eax, eax
jne 0x404f41
mov ecx, 0xe6e6e6
call fcn.00403da4
push eax
mov esi, dword [ebp - 0x46c]
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov eax, dword [ebp - 0x474]
push dword [ebp - 0x470]
add dword [ebp - 0x41c], 2
add dword [ebp - 0x414], 2
cmp dword [eax + 0x84], 1
lea eax, [ebp - 0x420]
push 0x8024
push eax
push 0xffffffffffffffff
jne 0x404f8c
push 0x5d8ef8
jmp 0x404f91
push 0x5d8efc
push esi
call fcn.0042850c
push dword [ebp - 0x480]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push esi
call edi
push 0xcc0020
xor eax, eax
push eax
push eax
mov eax, dword [ebx + 0x28]
sub eax, dword [ebx + 0x20]
push esi
push eax
mov eax, dword [ebx + 0x24]
sub eax, dword [ebx + 0x1c]
push eax
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x47c]
push esi
call edi
push dword [ebp - 0x478]
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
call edi
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [ebp - 0x484]
call edi
call fcn.0057183f
ret 4