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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x1f8
mov eax, dword [0x4c75d0]
xor eax, esp
mov dword [esp + 0x1f4], eax
mov ecx, dword [ebx]
push esi
push edi
lea eax, [esp + 0x90]
push eax
push ecx
mov dword [esp + 0x5c], 0
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebx]
lea edx, [esp + 0xa0]
push edx
push eax
call dword [sym.imp.USER32.dll_BeginPaint]
mov edi, eax
mov ecx, ebx
mov dword [esp + 0x64], edi
call fcn.00460c50
push edi
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
mov edi, esi
mov ecx, ebx
mov dword [esp + 0x34], esi
call fcn.00460c50
mov ecx, dword [esp + 0x9c]
sub ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
sub edx, dword [esp + 0x90]
mov eax, dword [esp + 0x64]
push ecx
push edx
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push eax
push esi
mov dword [esp + 0x7c], eax
call edi
push 1
push esi
mov dword [esp + 0x94], eax
call dword [sym.imp.GDI32.dll_SetBkMode]
mov ecx, dword [ebx + 0x34]
push ecx
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push eax
lea edx, [esp + 0x94]
push edx
push esi
mov dword [esp + 0x4c], eax
call dword [sym.imp.USER32.dll_FillRect]
mov eax, dword [esp + 0x40]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebx + 0x1c]
push ecx
push 1
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
push eax
push esi
mov dword [esp + 0x58], eax
call edi
mov edx, dword [ebx + 0x20]
push edx
mov dword [esp + 0x50], eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push eax
push esi
mov dword [esp + 0x48], eax
call edi
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x64]
add eax, 0xfffffffe
push eax
push eax
push 2
push 2
push esi
call dword [sym.imp.GDI32.dll_Ellipse]
mov eax, dword [esp + 0x4c]
push eax
push esi
call edi
mov ecx, dword [esp + 0x50]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [esp + 0x48]
push edx
push esi
call edi
mov eax, dword [esp + 0x40]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov esi, ebx
call fcn.00460b60
mov edx, dword [ebx + 0x5c]
test edx, edx
je 0x4610cc
lea edi, [esp + 0x44]
mov ecx, 0x64
mov dword [esp + 0x44], 0
call fcn.0049ed30
mov edx, dword [ebx + 0x3c]
mov esi, dword [esp + 0x34]
xor ecx, ecx
test eax, eax
sets cl
push edx
push esi
dec ecx
and ecx, dword [esp + 0x4c]
mov dword [esp + 0x44], ecx
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0xe
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
mov eax, dword [ebx + 0x68]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push eax
push esi
call edi
mov edx, dword [esp + 0x3c]
mov ecx, dword [ebx + 0x64]
mov dword [esp + 0x54], eax
mov eax, dword [ebx + 0x5c]
push edx
push eax
lea edx, [ecx + ecx]
mov eax, 0x66666667
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
push esi
call dword [sym.imp.GDI32.dll_TextOutA]
mov ecx, dword [esp + 0x54]
push ecx
push esi
call edi
jmp 0x4610d0
mov esi, dword [esp + 0x34]
test byte [ebx + 4], 4
je 0x461143
mov edx, dword [ebx + 0x40]
push edx
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
push 6
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
mov eax, dword [ebx + 0x74]
push eax
push esi
call edi
fld dword [ebx + 0x50]
push ecx
fstp dword [esp]
push ebx
mov edi, 0xff
lea esi, [esp + 0x100]
call fcn.00460cd0
mov ecx, dword [ebx + 0x64]
push eax
mov edx, esi
mov esi, dword [esp + 0x38]
push edx
lea eax, [ecx + ecx*2]
cdq
and edx, 3
add eax, edx
sar eax, 2
push eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
push esi
call dword [sym.imp.GDI32.dll_TextOutA]
mov eax, dword [esp + 0x54]
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [ebx + 0x60]
test edx, edx
je 0x4611d0
lea edi, [esp + 0x44]
mov ecx, 0x64
mov dword [esp + 0x44], 0
call fcn.0049ed30
mov edx, dword [ebx + 0x38]
xor ecx, ecx
test eax, eax
sets cl
push edx
push esi
dec ecx
and ecx, dword [esp + 0x4c]
mov dword [esp + 0x44], ecx
call dword [sym.imp.GDI32.dll_SetTextColor]
push 6
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
mov eax, dword [ebx + 0x70]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push eax
push esi
call edi
mov edx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x60]
mov ecx, dword [ebx + 0x64]
push edx
push eax
lea edx, [ecx*4]
mov eax, 0x66666667
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
push esi
call dword [sym.imp.GDI32.dll_TextOutA]
mov ecx, dword [esp + 0x54]
push ecx
push esi
call edi
push 6
push esi
mov byte [esp + 0x100], 0
call dword [sym.imp.GDI32.dll_SetTextAlign]
mov edx, dword [ebx + 0x78]
push edx
push esi
call edi
test byte [ebx + 4], 0x10
je 0x4612ab
mov eax, dword [ebx + 0x44]
push eax
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov edx, str.Min:
mov eax, 0xff
lea ecx, [esp + 0xf8]
call fcn.004a0810
lea edi, [esp + 0x44]
mov ecx, 0xff
lea edx, [esp + 0xf8]
mov dword [esp + 0x44], 0
call fcn.0049ed30
fld dword [ebx + 0x54]
xor ecx, ecx
test eax, eax
sets cl
mov edi, 0xff
dec ecx
and ecx, dword [esp + 0x44]
mov eax, ecx
push ecx
fstp dword [esp]
sub edi, eax
lea esi, [esp + eax + 0xfc]
push ebx
mov dword [esp + 0x48], eax
call fcn.00460cd0
mov edx, dword [esp + 0x40]
mov ecx, dword [ebx + 0x64]
add edx, eax
push edx
lea edx, [esp + 0xfc]
push edx
lea edx, [ecx + ecx]
mov eax, 0x55555556
imul edx
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
lea ecx, [ecx + ecx*8]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x40]
push ecx
push edx
call dword [sym.imp.GDI32.dll_TextOutA]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
mov esi, dword [esp + 0x34]
test byte [ebx + 4], 8
je 0x461372
mov eax, dword [ebx + 0x48]
push eax
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov edx, str.Max:
mov eax, 0xff
lea ecx, [esp + 0xf8]
call fcn.004a0810
lea edi, [esp + 0x44]
mov ecx, 0xff
lea edx, [esp + 0xf8]
mov dword [esp + 0x44], 0
call fcn.0049ed30
fld dword [ebx + 0x58]
xor ecx, ecx
test eax, eax
sets cl
mov edi, 0xff
dec ecx
and ecx, dword [esp + 0x44]
mov eax, ecx
push ecx
fstp dword [esp]
sub edi, eax
lea esi, [esp + eax + 0xfc]
push ebx
mov dword [esp + 0x48], eax
call fcn.00460cd0
mov ecx, dword [esp + 0x40]
mov esi, dword [ebx + 0x64]
add ecx, eax
push ecx
lea edx, [esp + 0xfc]
push edx
lea ecx, [esi + esi]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov ecx, esi
shl ecx, 4
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x40]
push ecx
push edx
call dword [sym.imp.GDI32.dll_TextOutA]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x54]
push eax
push esi
call edi
mov ecx, dword [ebx + 0x2c]
push ecx
push 1
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
mov edx, dword [ebx + 0x30]
push edx
push 1
push 0
mov dword [esp + 0x5c], eax
call dword [sym.imp.GDI32.dll_CreatePen]
fld dword [ebx + 0x14]
mov dword [esp + 0x3c], eax
fstp dword [esp + 0x44]
mov eax, dword [ebx + 0x28]
push eax
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [ebx + 0x6c]
push ecx
push esi
call edi
cmp dword [ebx + 0x7c], 0
mov dword [esp + 0x48], 0
jbe 0x461684
lea esp, [esp]
fld dword [ebx + 0x18]
mov edx, dword [esp + 0x48]
fsub dword [ebx + 0x14]
fild dword [esp + 0x48]
test edx, edx
jns 0x4613e8
fadd dword [0x4bf190]
mov eax, dword [ebx + 0x7c]
fmul st(1)
dec eax
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
jns 0x4613fe
fadd dword [0x4bf190]
fdivp st(1)
mov ecx, dword [esp + 0x50]
push ecx
push esi
fadd dword [ebx + 0x14]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fsub dword [ebx + 0x14]
fdivrp st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fld dword [ebx + 0x10]
fsub dword [ebx + 0xc]
fmulp st(1)
fadd dword [ebx + 0xc]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fsub qword [0x4bf060]
fstp dword [esp + 0x48]
call edi
mov eax, dword [ebx + 0x64]
fld dword [esp + 0x40]
cdq
sub eax, edx
sar eax, 1
lea edx, [eax - 0xb]
push edx
lea ecx, [eax - 3]
push ecx
push eax
push eax
push ecx
mov edi, esi
fstp dword [esp]
call fcn.00477820
fld dword [esp + 0x54]
mov eax, dword [ebx + 0x64]
fmul qword [0x4bf058]
cdq
sub eax, edx
mov edi, eax
fdiv qword [0x4bf050]
sar edi, 1
lea edx, [edi - 0xe]
mov dword [esp + 0x4c], edx
add esp, 0x14
fstp dword [esp + 0x60]
fild dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [esp + 0x60]
call sub.MSVCR100.dll__CIcos
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul dword [esp + 0x38]
call fcn.0042e180
fld dword [esp + 0x60]
add eax, edi
mov dword [esp + 0x58], eax
call sub.MSVCR100.dll__CIsin
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul dword [esp + 0x38]
call fcn.0042e180
fld dword [esp + 0x40]
add eax, edi
fchs
push ecx
fstp dword [esp]
mov dword [esp + 0x60], eax
call fcn.00460650
push eax
push esi
call dword [sym.imp.GDI32.dll_SetTextAlign]
fld dword [esp + 0x34]
fld1
call sub.MSVCR100.dll__CIfmod
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x461529
fld dword [esp + 0x34]
call fcn.0042e180
push eax
push 0x4b824c
lea eax, [esp + 0x100]
push 0xff
push eax
call fcn.004010b0
add esp, 0x10
jmp 0x461551
fld dword [esp + 0x34]
mov ecx, dword [ebx + 0x4c]
sub esp, 8
fstp qword [esp]
push ecx
push 0x4b8250
lea edx, [esp + 0x108]
push 0xff
push edx
call fcn.004010b0
add esp, 0x18
mov ecx, 0xff
lea eax, [esp + 0xf8]
lea ecx, [ecx]
cmp byte [eax], 0
je 0x461dae
inc eax
dec ecx
jne 0x461560
xor eax, eax
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
push eax
lea eax, [esp + 0xfc]
push eax
push ecx
push edx
push esi
call dword [sym.imp.GDI32.dll_TextOutA]
cmp dword [esp + 0x48], 0
je 0x461664
mov eax, 1
mov dword [esp + 0x40], eax
cmp dword [ebx + 0x80], eax
jbe 0x461664
fld dword [esp + 0x34]
fsub dword [esp + 0x44]
fstp qword [esp + 0x68]
mov eax, dword [esp + 0x40]
fild dword [esp + 0x40]
test eax, eax
jns 0x4615c7
fadd dword [0x4bf190]
mov ecx, dword [ebx + 0x80]
fmul qword [esp + 0x68]
fild dword [ebx + 0x80]
test ecx, ecx
jns 0x4615e1
fadd dword [0x4bf190]
fdivp st(1)
mov edx, dword [esp + 0x3c]
push edx
push esi
fadd dword [esp + 0x4c]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fsub dword [ebx + 0x14]
fld dword [ebx + 0x18]
fsub dword [ebx + 0x14]
fdivp st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fld dword [ebx + 0x10]
fsub dword [ebx + 0xc]
fmulp st(1)
fadd dword [ebx + 0xc]
fstp dword [esp + 0x38]
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebx + 0x64]
fld dword [esp + 0x30]
fsub qword [0x4bf060]
cdq
sub eax, edx
sar eax, 1
lea ecx, [eax - 8]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
push ecx
lea edx, [eax - 3]
push edx
push eax
push eax
push ecx
mov edi, esi
fstp dword [esp]
call fcn.00477820
mov eax, dword [esp + 0x54]
inc eax
add esp, 0x14
mov dword [esp + 0x40], eax
cmp eax, dword [ebx + 0x80]
jb 0x4615b5
mov eax, dword [esp + 0x48]
fld dword [esp + 0x34]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
fstp dword [esp + 0x44]
inc eax
mov dword [esp + 0x48], eax
cmp eax, dword [ebx + 0x7c]
jb 0x4613d0
mov eax, dword [esp + 0x54]
push eax
push esi
call edi
mov ecx, dword [esp + 0x4c]
push ecx
push esi
call edi
mov edx, dword [esp + 0x50]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x3c]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
push 1
push esi
call dword [sym.imp.GDI32.dll_SetArcDirection]
mov ecx, dword [ebx + 0x1c]
push ecx
push 2
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
push eax
push esi
mov dword [esp + 0x58], eax
call edi
fld dword [ebx + 0x18]
fsub dword [ebx + 0x14]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x64]
lea ecx, [eax - 1]
fst qword [esp + 0x80]
mov dword [esp + 0x38], ecx
fld dword [ebx + 0x10]
cdq
fsub dword [ebx + 0xc]
sub eax, edx
sar eax, 1
mov dword [esp + 0x44], ecx
fst qword [esp + 0x78]
mov dword [esp + 0x34], eax
fld st(1)
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x30]
fmul dword [esp + 0x30]
fadd dword [ebx + 0xc]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fsub qword [0x4bf060]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul qword [0x4bf058]
fdiv qword [0x4bf050]
fstp dword [esp + 0x3c]
fild dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [esp + 0x3c]
call sub.MSVCR100.dll__CIcos
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul dword [esp + 0x38]
call fcn.0042e180
fld dword [esp + 0x3c]
add eax, dword [esp + 0x34]
mov dword [esp + 0x58], eax
call sub.MSVCR100.dll__CIsin
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul dword [esp + 0x38]
call fcn.0042e180
fld dword [ebx + 0x14]
fsubr st(0), st(0)
add eax, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x5c], eax
fdiv qword [esp + 0x80]
mov dword [esp + 0x38], edx
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul qword [esp + 0x78]
fadd dword [ebx + 0xc]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fsub qword [0x4bf060]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul qword [0x4bf058]
fdiv qword [0x4bf050]
fstp dword [esp + 0x3c]
fild dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [esp + 0x3c]
call sub.MSVCR100.dll__CIcos
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul dword [esp + 0x38]
call fcn.0042e180
fld dword [esp + 0x3c]
add eax, dword [esp + 0x34]
mov dword [esp + 0x68], eax
call sub.MSVCR100.dll__CIsin
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul dword [esp + 0x38]
call fcn.0042e180
add eax, dword [esp + 0x34]
mov edx, dword [esp + 0x5c]
mov ecx, dword [ebx + 0x64]
push eax
mov eax, dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x60]
push edx
push eax
add ecx, 0xfffffffe
push ecx
push ecx
push 2
push 2
push esi
call dword [sym.imp.GDI32.dll_Arc]
mov ecx, dword [esp + 0x4c]
push ecx
push esi
call edi
mov edx, dword [esp + 0x50]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
test byte [ebx + 4], 0x40
je 0x461a62
mov ecx, dword [ebx + 0x88]
sub ecx, dword [ebx + 0x84]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x40], 0
je 0x461a62
mov dword [esp + 0x48], 0
mov eax, dword [ebx + 0x84]
add eax, dword [esp + 0x48]
mov ecx, dword [eax + 8]
push ecx
push 2
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
push eax
push esi
mov dword [esp + 0x58], eax
call edi
fld dword [ebx + 0x18]
fsub dword [ebx + 0x14]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x64]
lea ecx, [eax - 1]
fst qword [esp + 0x80]
mov dword [esp + 0x38], ecx
fld dword [ebx + 0x10]
mov dword [esp + 0x44], ecx
fsub dword [ebx + 0xc]
mov ecx, dword [esp + 0x48]
add ecx, dword [ebx + 0x84]
cdq
fst qword [esp + 0x78]
sub eax, edx
fld dword [ecx + 4]
sar eax, 1
fsub dword [ebx + 0x14]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x34], eax
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x30]
fmul dword [esp + 0x30]
fadd dword [ebx + 0xc]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fsub qword [0x4bf060]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul qword [0x4bf058]
fdiv qword [0x4bf050]
fstp dword [esp + 0x3c]
fild dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [esp + 0x3c]
call sub.MSVCR100.dll__CIcos
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul dword [esp + 0x38]
call fcn.0042e180
fld dword [esp + 0x3c]
add eax, dword [esp + 0x34]
mov dword [esp + 0x58], eax
call sub.MSVCR100.dll__CIsin
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul dword [esp + 0x38]
call fcn.0042e180
add eax, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x60]
fld dword [eax]
mov dword [esp + 0x38], edx
fsub dword [ebx + 0x14]
fdiv qword [esp + 0x80]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul qword [esp + 0x78]
fadd dword [ebx + 0xc]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fsub qword [0x4bf060]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul qword [0x4bf058]
fdiv qword [0x4bf050]
fstp dword [esp + 0x3c]
fild dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [esp + 0x3c]
call sub.MSVCR100.dll__CIcos
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul dword [esp + 0x38]
call fcn.0042e180
fld dword [esp + 0x3c]
add eax, dword [esp + 0x34]
mov dword [esp + 0x68], eax
call sub.MSVCR100.dll__CIsin
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul dword [esp + 0x38]
call fcn.0042e180
add eax, dword [esp + 0x34]
mov edx, dword [esp + 0x68]
mov ecx, dword [ebx + 0x64]
push eax
mov eax, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x60]
push eax
push edx
add ecx, 0xfffffffe
push ecx
push ecx
push 2
push 2
push esi
call dword [sym.imp.GDI32.dll_Arc]
mov eax, dword [esp + 0x4c]
push eax
push esi
call edi
mov ecx, dword [esp + 0x50]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebx + 0x88]
sub ecx, dword [ebx + 0x84]
inc dword [esp + 0x40]
add dword [esp + 0x48], 0xc
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x40], eax
jb 0x461881
mov ecx, dword [ebx + 0x24]
push ecx
push 1
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
push eax
push esi
mov dword [esp + 0x58], eax
call edi
push 0
mov dword [esp + 0x50], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push esi
call edi
fld dword [ebx + 0x50]
fsub dword [ebx + 0x14]
mov dword [esp + 0x48], eax
fld dword [ebx + 0x18]
mov eax, dword [ebx + 0x64]
fsub dword [ebx + 0x14]
cdq
sub eax, edx
sar eax, 1
fdivp st(1)
mov dword [esp + 0x34], eax
add eax, 0xfffffff1
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fld dword [ebx + 0x10]
fsub dword [ebx + 0xc]
fmulp st(1)
fadd dword [ebx + 0xc]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
mov dword [esp + 0x30], eax
fsub qword [0x4bf060]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fmul qword [0x4bf058]
fdiv qword [0x4bf050]
fstp dword [esp + 0x3c]
fild dword [esp + 0x30]
fstp dword [esp + 0x38]
fld dword [esp + 0x3c]
call sub.MSVCR100.dll__CIcos
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul dword [esp + 0x38]
call fcn.0042e180
fld dword [esp + 0x3c]
add eax, dword [esp + 0x34]
mov dword [esp + 0xe0], eax
call sub.MSVCR100.dll__CIsin
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul dword [esp + 0x38]
call fcn.0042e180
fld dword [esp + 0x40]
fsub qword [0x4bf270]
add eax, dword [esp + 0x34]
mov dword [esp + 0xe4], eax
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul qword [0x4bf058]
fdiv qword [0x4bf050]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
call sub.MSVCR100.dll__CIcos
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul qword [0x4bf268]
call fcn.0042e180
fld dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
sub edx, eax
mov dword [esp + 0xe8], edx
call sub.MSVCR100.dll__CIsin
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul qword [0x4bf268]
call fcn.0042e180
fld dword [esp + 0x40]
fadd qword [0x4bf270]
mov ecx, dword [esp + 0x34]
sub ecx, eax
mov dword [esp + 0xec], ecx
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul qword [0x4bf058]
fdiv qword [0x4bf050]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
call sub.MSVCR100.dll__CIcos
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul qword [0x4bf268]
call fcn.0042e180
fld dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
sub edx, eax
mov dword [esp + 0xf0], edx
call sub.MSVCR100.dll__CIsin
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul qword [0x4bf268]
call fcn.0042e180
mov ecx, dword [esp + 0x34]
sub ecx, eax
push 3
lea eax, [esp + 0xe4]
push eax
push esi
mov dword [esp + 0x100], ecx
call dword [sym.imp.GDI32.dll_Polygon]
mov ecx, dword [esp + 0x4c]
push ecx
push esi
call edi
mov edx, dword [esp + 0x50]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x48]
push eax
push esi
call edi
push 7
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push esi
call edi
push 4
mov dword [esp + 0x50], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push esi
call edi
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x64]
cdq
sub eax, edx
sar eax, 1
lea ecx, [eax + 2]
push ecx
push ecx
add eax, 0xfffffffe
push eax
push eax
push esi
call dword [sym.imp.GDI32.dll_Ellipse]
mov ecx, dword [esp + 0x4c]
push ecx
push esi
call edi
mov edx, dword [esp + 0x48]
push edx
push esi
call edi
push 0xff
push 2
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
push eax
push esi
mov dword [esp + 0x58], eax
call edi
fld dword [esp + 0x40]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x64]
cdq
sub eax, edx
sar eax, 1
lea ecx, [eax - 6]
push ecx
lea edx, [eax - 2]
push edx
push eax
push eax
push ecx
mov edi, esi
fstp dword [esp]
call fcn.00477820
mov eax, dword [esp + 0x60]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
add esp, 0x14
push eax
push esi
call edi
mov ecx, dword [esp + 0x50]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebx + 0x64]
mov edx, dword [esp + 0x64]
push 0xcc0020
push 0
push 0
push esi
push eax
push eax
push 0
push 0
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x54]
push eax
push esi
call edi
mov eax, dword [ebx + 0x68]
test eax, eax
je 0x461d21
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebx + 0x70]
test eax, eax
je 0x461d2f
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x461d3d
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x461d4b
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x461d59
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [esp + 0x8c]
xor eax, eax
push ecx
push esi
mov dword [ebx + 0x68], eax
mov dword [ebx + 0x70], eax
mov dword [ebx + 0x6c], eax
mov dword [ebx + 0x74], eax
mov dword [ebx + 0x78], eax
call edi
mov edx, dword [esp + 0x74]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [ebx]
lea eax, [esp + 0xa0]
push eax
push ecx
call dword [sym.imp.USER32.dll_EndPaint]
mov ecx, dword [esp + 0x1fc]
pop edi
pop esi
xor ecx, esp
xor eax, eax
call fcn.0042dbe7
mov esp, ebp
pop ebp
ret
test ecx, ecx
je 0x46156d
mov eax, 0xff
sub eax, ecx
jmp 0x46156f