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

Disassembly:
sub esp, 0x36c
mov eax, dword [0x417008]
xor eax, esp
mov dword [esp + 0x364], eax
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 0x240]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x60], eax
mov dword [esp + 0xb8], edi
fild dword [esp + 0x60]
lea eax, [esp + 0x38]
mov ecx, 3
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 0xb0]
fldz
fst dword [eax + 4]
add eax, 8
sub ecx, 1
fst dword [eax - 8]
jns 0x4027be
xor ebx, ebx
fstp st(0)
push 0x206
lea eax, [esp + 0x16e]
push ebx
push eax
mov word [esp + 0x174], bx
call fcn.004077e0
add esp, 0xc
lea ecx, [esp + 0xe0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
fld dword [esp + 0xb0]
mov eax, dword [edi + 0x244]
fld qword [0x414148]
or eax, 0xff000000
fmul st(1)
movzx edx, al
movzx ecx, ah
fstp dword [esp + 0x20]
fmul qword [0x414140]
or edx, 0xffffff00
shl edx, 8
or ecx, edx
shr eax, 0x10
fstp dword [esp + 0x1c]
movzx eax, al
shl ecx, 8
or ecx, eax
mov dword [esp + 0xc0], ecx
lea ecx, [esp + 0x8c]
push ecx
push ebx
push ebx
mov dword [esp + 0x98], ebx
call sub.gdiplus.dll_GdipCreateStringFormat
mov edx, dword [esp + 0x8c]
push 1
push edx
mov dword [esp + 0x98], eax
call sub.gdiplus.dll_GdipSetStringFormatAlign
cmp eax, ebx
je 0x40287e
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x8c]
push 1
push eax
call sub.gdiplus.dll_GdipSetStringFormatLineAlign
cmp eax, ebx
je 0x402898
mov dword [esp + 0x90], eax
lea ecx, [esp + 0xf0]
push ecx
push ebx
push 0x413f30
mov dword [esp + 0xfc], ebx
call sub.gdiplus.dll_GdipCreateFontFamilyFromName
fld dword [esp + 0x20]
lea edx, [esp + 0xc8]
push edx
push 2
push ebx
push ecx
mov dword [esp + 0x104], eax
fstp dword [esp]
mov eax, dword [esp + 0x100]
push eax
mov dword [esp + 0xdc], ebx
call sub.gdiplus.dll_GdipCreateFont
fld dword [esp + 0x1c]
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0xd8]
push edx
push 2
push ebx
push ecx
fstp dword [esp]
push eax
mov dword [esp + 0x11c], ecx
mov dword [esp + 0xec], ebx
call sub.gdiplus.dll_GdipCreateFont
cmp dword [edi + 0x214], ebx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x124], ecx
je 0x40306d
fld dword [esp + 0xb0]
mov eax, dword [edi + 0x234]
fld qword [0x414138]
lea edx, [esp + 0x94]
fmul st(1)
push edx
push eax
mov dword [edi + 0x214], ebx
fstp dword [esp + 0x24]
mov dword [esp + 0x9c], ebx
fld qword [0x414130]
fmul st(1)
fstp dword [esp + 0x90]
fld qword [0x414128]
fmul st(1)
fstp dword [esp + 0x2c]
fld qword [0x414120]
fmul st(1)
fstp dword [esp + 0x34]
fld qword [0x414118]
fmul st(1)
fstp dword [esp + 0x124]
fld qword [0x414110]
fmul st(1)
fstp dword [esp + 0xd8]
fld qword [0x414108]
fmul st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fst dword [esp + 0xac]
fld st(1)
fmul qword [0x414100]
fstp dword [esp + 0x128]
fld st(1)
fmul qword [0x4140f8]
fstp dword [esp + 0xe4]
fld st(1)
fmul qword [0x4140f0]
fst dword [esp + 0xcc]
fld st(2)
fmul qword [0x4140e8]
fstp dword [esp + 0x6c]
fld st(2)
fmul qword [0x4140e0]
fadd st(3)
fstp dword [esp + 0xd4]
fadd st(2)
fstp dword [esp + 0xdc]
fxch st(1)
fmul qword [0x4140d8]
fstp dword [esp + 0xc4]
fstp dword [esp + 0x18]
call sub.gdiplus.dll_GdipCreateFromHDC
mov esi, dword [esp + 0x94]
push 2
push esi
call sub.gdiplus.dll_GdipSetSmoothingMode
push 5
push esi
call sub.gdiplus.dll_GdipSetTextRenderingHint
push ebx
push esi
call sub.gdiplus.dll_GdipGraphicsClear
fld dword [esp + 0xb0]
fadd st(0), st(0)
lea ecx, [esp + 0x84]
push ecx
push ebx
fstp dword [esp + 0x28]
push 0xff000000
fld dword [esp + 0x2c]
push 0xff808080
fst dword [esp + 0x120]
lea edx, [esp + 0x120]
fstp dword [esp + 0x124]
mov dword [esp + 0x94], ebx
fldz
push edx
fst dword [esp + 0x10c]
lea eax, [esp + 0x10c]
fstp dword [esp + 0x110]
push eax
call sub.gdiplus.dll_GdipCreateLineBrush
fld dword [esp + 0x1c]
mov edi, dword [esp + 0x84]
fld st(0)
fadd st(1)
sub esp, 0x10
mov dword [esp + 0x150], edi
fstp dword [esp + 0x30]
fsubr dword [esp + 0x38]
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0x2c]
fst dword [esp + 4]
fstp dword [esp]
push edi
push esi
call sub.gdiplus.dll_GdipFillEllipse
push 0xff808080
push 0xff000000
push edi
call sub.gdiplus.dll_GdipSetLineColors
fld dword [esp + 0x88]
fld st(0)
sub esp, 0x10
fadd st(1)
fstp dword [esp + 0x30]
fsubr dword [esp + 0x38]
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0x2c]
fst dword [esp + 4]
fstp dword [esp]
push edi
push esi
call sub.gdiplus.dll_GdipFillEllipse
lea ecx, [esp + 0xa8]
push ecx
push 0xffffffffffffffff
mov dword [esp + 0xb0], ebx
call sub.gdiplus.dll_GdipCreateSolidFill
mov edi, dword [esp + 0xa8]
lea edx, [esp + 0xb4]
push edx
push 0xff000000
mov dword [esp + 0x154], edi
mov dword [esp + 0xbc], ebx
call sub.gdiplus.dll_GdipCreateSolidFill
fld dword [esp + 0x24]
mov ebp, dword [esp + 0xb4]
fld st(0)
fadd st(1)
sub esp, 0x10
fstp dword [esp + 0x30]
fsubr dword [esp + 0x38]
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0x2c]
fst dword [esp + 4]
fstp dword [esp]
push edi
push esi
call sub.gdiplus.dll_GdipFillEllipse
fld1
lea eax, [esp + 0x78]
push eax
push ebx
push ecx
fstp dword [esp]
push 0xff000000
mov dword [esp + 0x88], ebx
call sub.gdiplus.dll_GdipCreatePen1
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
push 2
push ecx
call sub.gdiplus.dll_GdipSetPenStartCap
cmp eax, ebx
je 0x402bda
mov dword [esp + 0x7c], eax
mov edx, dword [esp + 0x78]
push 2
push edx
call sub.gdiplus.dll_GdipSetPenEndCap
cmp eax, ebx
je 0x402bee
mov dword [esp + 0x7c], eax
fild dword [esp + 0x60]
xor edi, edi
mov dword [esp + 0x24], ebx
fstp qword [esp + 0x30]
lea esp, [esp]
fild dword [esp + 0x24]
fmul qword [0x418060]
fst qword [esp + 0x58]
call fcn.0040d9e0
fst qword [esp + 0x98]
fmul dword [esp + 0x2c]
fadd qword [esp + 0x30]
fstp dword [esp + 0x38]
fld qword [esp + 0x58]
call fcn.0040d8b0
fld dword [esp + 0x2c]
mov eax, 0x66666667
fmul st(1)
fld qword [esp + 0x30]
imul edi
fld st(0)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x3c]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
mov ecx, edi
sub ecx, eax
push ecx
jne 0x402c8f
fld dword [esp + 0x120]
mov edx, dword [esp + 0x7c]
fld qword [esp + 0x9c]
fmul st(1)
fadd st(2)
fstp qword [esp + 0x9c]
fmulp st(2)
fsubrp st(1)
fstp qword [esp + 0x5c]
fld dword [esp + 0x124]
fstp dword [esp]
push edx
jmp 0x402cbf
fld dword [esp + 0xd4]
mov eax, dword [esp + 0x7c]
fld qword [esp + 0x9c]
fmul st(1)
fadd st(2)
fstp qword [esp + 0x9c]
fmulp st(2)
fsubrp st(1)
fstp qword [esp + 0x5c]
fld dword [esp + 0xe0]
fstp dword [esp]
push eax
call sub.gdiplus.dll_GdipSetPenWidth
cmp eax, ebx
je 0x402ccc
mov dword [esp + 0x7c], eax
fld qword [esp + 0x98]
mov ecx, dword [esp + 0x78]
fstp dword [esp + 0x40]
sub esp, 0x10
fld qword [esp + 0x68]
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fstp dword [esp + 0xc]
fld dword [esp + 0x50]
fstp dword [esp + 8]
fld dword [esp + 0x4c]
fstp dword [esp + 4]
fld dword [esp + 0x48]
fstp dword [esp]
push ecx
push esi
call sub.gdiplus.dll_GdipDrawLine
mov eax, dword [esp + 0x24]
add eax, 6
add edi, 1
cmp eax, 0x168
mov dword [esp + 0x24], eax
jl 0x402c00
fld dword [esp + 0xc4]
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0x88]
push edx
push 2
push ebx
push ecx
fstp dword [esp]
push eax
mov dword [esp + 0x9c], ebx
call sub.gdiplus.dll_GdipCreateFont
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x98], ecx
xor ecx, ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], ebx
mov eax, 0x66666667
imul ecx
sar edx, 1
mov edi, edx
shr edi, 0x1f
add edi, edx
lea edx, [edi + edi*4]
mov eax, ecx
sub eax, edx
jne 0x402e62
fild dword [esp + 0x24]
fmul qword [0x418060]
fst qword [esp + 0x58]
call fcn.0040d9e0
fmul dword [esp + 0xa4]
fadd qword [esp + 0x30]
fstp dword [esp + 0x38]
fld qword [esp + 0x58]
call fcn.0040d8b0
fmul dword [esp + 0xa4]
cmp edi, ebx
fsubr qword [esp + 0x30]
fstp dword [esp + 0x3c]
jne 0x402dc7
mov edi, 0xc
fldz
lea eax, [edi - 2]
cmp eax, 7
fstp dword [esp + 0x2c]
ja case.0x402dd5.4
jmp dword [eax*4 + 0x403c38]
fld dword [esp + 0x64]
jmp 0x402df4
fld dword [esp + 0x64]
fchs
jmp 0x402dee
fld dword [esp + 0x64]
fmul qword [0x4140d8]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
push edi
fadd dword [esp + 0x3c]
lea ecx, [esp + 0x158]
push 0x413f44
push ecx
fstp dword [esp + 0x44]
call dword [sym.imp.USER32.dll_wsprintfW]
mov edx, dword [esp + 0x98]
fld dword [esp + 0x44]
mov ecx, dword [esp + 0xa4]
fstp dword [esp + 0x74]
fld dword [esp + 0x48]
add esp, 0xc
push ebp
fstp dword [esp + 0x70]
fldz
push edx
lea eax, [esp + 0x70]
fst dword [esp + 0x78]
push eax
fstp dword [esp + 0x80]
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0x168]
push edx
push esi
call sub.gdiplus.dll_GdipDrawString
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
add eax, 6
add ecx, 1
cmp eax, 0x168
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], eax
jl 0x402d67
mov eax, dword [esp + 0xb8]
cmp dword [eax + 0x250], ebx
je 0x402fe9
movzx ecx, word [esp + 0xe6]
push ecx
lea edx, [esp + 0x16c]
push 0x413f44
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [esp + 0x98]
fld dword [esp + 0x34]
mov edx, dword [esp + 0xd4]
add esp, 0xc
fstp dword [esp + 0x3c]
fld dword [esp + 0xcc]
push ebp
push eax
fstp dword [esp + 0x70]
fld dword [esp + 0x44]
lea ecx, [esp + 0x70]
push ecx
fstp dword [esp + 0x78]
fldz
push edx
push 0xffffffffffffffff
fst dword [esp + 0x84]
lea eax, [esp + 0x17c]
fstp dword [esp + 0x88]
push eax
push esi
call sub.gdiplus.dll_GdipDrawString
mov edi, dword [sym.imp.KERNEL32.dll_GetDateFormatW]
push 0x104
lea ecx, [esp + 0x16c]
push ecx
push 0x413f4c
lea edx, [esp + 0xec]
push edx
push ebx
push ebx
call edi
lea eax, [esp + 0x168]
push eax
call dword [sym.imp.USER32.dll_CharUpperW]
fld dword [esp + 0xd4]
mov ecx, dword [esp + 0x8c]
fstp dword [esp + 0x68]
mov eax, dword [esp + 0x108]
fld dword [esp + 0x3c]
push ebp
fstp dword [esp + 0x70]
fldz
push ecx
lea edx, [esp + 0x70]
fst dword [esp + 0x78]
push edx
fstp dword [esp + 0x80]
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0x17c]
push ecx
push esi
call sub.gdiplus.dll_GdipDrawString
push 0x104
lea edx, [esp + 0x16c]
push edx
push 0x413f54
lea eax, [esp + 0xec]
push eax
push ebx
push ebx
call edi
lea ecx, [esp + 0x168]
push ecx
call dword [sym.imp.USER32.dll_CharUpperW]
fld dword [esp + 0xbc]
mov edx, dword [esp + 0x8c]
fstp dword [esp + 0x68]
fld dword [esp + 0x3c]
push ebp
fstp dword [esp + 0x70]
fldz
fst dword [esp + 0x74]
fstp dword [esp + 0x78]
mov ecx, dword [esp + 0x10c]
push edx
lea eax, [esp + 0x70]
push eax
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0x17c]
push edx
push esi
call sub.gdiplus.dll_GdipDrawString
mov eax, dword [esp + 0x8c]
fld dword [esp + 0x28]
mov edx, dword [esp + 0xd8]
fstp dword [esp + 0x68]
fld dword [esp + 0x10]
push ebp
push eax
fstp dword [esp + 0x74]
fldz
lea ecx, [esp + 0x70]
push ecx
fst dword [esp + 0x7c]
push edx
fstp dword [esp + 0x84]
push 0xffffffffffffffff
push str.STYLESEVEN.COM
push esi
call sub.gdiplus.dll_GdipDrawString
mov eax, dword [esp + 0x98]
push eax
call sub.gdiplus.dll_GdipDeleteFont
mov ecx, dword [esp + 0x78]
push ecx
call sub.gdiplus.dll_GdipDeletePen
push ebp
call sub.gdiplus.dll_GdipDeleteBrush
mov edx, dword [esp + 0x14c]
push edx
call sub.gdiplus.dll_GdipDeleteBrush
mov eax, dword [esp + 0x140]
push eax
call sub.gdiplus.dll_GdipDeleteBrush
push esi
call sub.gdiplus.dll_GdipDeleteGraphics
mov edi, dword [esp + 0xb8]
mov ecx, dword [edi + 0x234]
mov eax, dword [edi + 0x240]
mov edx, dword [edi + 0x230]
push 0xcc0020
push ebx
push ebx
push ecx
push eax
push eax
push ebx
push ebx
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [edi + 0x230]
lea eax, [esp + 0xb8]
push eax
push ecx
mov dword [esp + 0xc0], ebx
call sub.gdiplus.dll_GdipCreateFromHDC
mov esi, dword [esp + 0xb8]
push 2
push esi
call sub.gdiplus.dll_GdipSetSmoothingMode
push 5
push esi
call sub.gdiplus.dll_GdipSetTextRenderingHint
fld1
lea edx, [esp + 0x14]
push edx
push ebx
push ecx
fstp dword [esp]
push 0xff000000
mov dword [esp + 0x24], ebx
call sub.gdiplus.dll_GdipCreatePen1
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
push 2
push eax
call sub.gdiplus.dll_GdipSetPenStartCap
cmp eax, ebx
je 0x4030f6
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
push ebx
push ecx
call sub.gdiplus.dll_GdipSetPenEndCap
cmp eax, ebx
je 0x403109
mov dword [esp + 0x18], eax
fld dword [esp + 0xb0]
lea edx, [esp + 0x94]
fld qword [0x4140d0]
push edx
fmul st(1)
push 0xff000000
mov dword [esp + 0x9c], ebx
fstp dword [esp + 0xac]
fld qword [0x4140c8]
fmul st(1)
fstp dword [esp + 0xe4]
fld qword [0x4140c0]
fmul st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x24]
fld st(1)
fmul qword [0x4140e8]
fstp dword [esp + 0xcc]
fld st(1)
fmul qword [0x414100]
fstp dword [esp + 0xb0]
fld st(1)
fmul qword [0x4140b8]
fstp dword [esp + 0x28]
fld st(1)
fmul qword [0x4140b0]
fstp dword [esp + 0x8c]
fld st(1)
fmul qword [0x4140e0]
fstp dword [esp + 0x34]
fld st(1)
fmul qword [0x414118]
fstp dword [esp + 0x6c]
fld st(1)
fmul qword [0x4140a8]
fstp dword [esp + 0x2c]
fld st(1)
fmul qword [0x4140a0]
fstp dword [esp + 0x90]
fstp dword [esp + 0xd4]
fld qword [0x414098]
fmul st(1)
fstp dword [esp + 0xd8]
fld qword [0x414090]
fmul st(1)
fadd st(1)
fstp dword [esp + 0x18]
fld qword [0x414088]
fmul st(1)
fadd st(1)
fstp dword [esp + 0xc4]
fld qword [0x414080]
fmul st(1)
faddp st(1)
fstp dword [esp + 0xdc]
call sub.gdiplus.dll_GdipCreateSolidFill
cmp dword [edi + 0x254], ebx
mov ebp, dword [esp + 0x94]
mov dword [esp + 0xfc], ebp
je 0x40332e
cmp dword [edi + 0x218], ebx
mov ebp, dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
push 0x104
je 0x403251
lea eax, [esp + 0x16c]
push eax
push str.HH:mm
lea ecx, [esp + 0xec]
push ecx
jmp 0x403266
lea edx, [esp + 0x16c]
push edx
push str.hh:mm
lea eax, [esp + 0xec]
push eax
push ebx
push ebx
call ebp
fld dword [esp + 0xb0]
mov ecx, dword [esp + 0x94]
fstp dword [esp + 0x68]
mov edx, dword [esp + 0x8c]
fld dword [esp + 0x10]
push ecx
fstp dword [esp + 0x70]
mov ecx, dword [esp + 0x10c]
fldz
push edx
fst dword [esp + 0x78]
lea eax, [esp + 0x70]
fstp dword [esp + 0x7c]
push eax
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0x17c]
push edx
push esi
call sub.gdiplus.dll_GdipDrawString
cmp dword [edi + 0x218], ebx
jne 0x403327
push 0x104
lea eax, [esp + 0x16c]
push eax
push 0x413f94
lea ecx, [esp + 0xec]
push ecx
push ebx
push ebx
call ebp
fld dword [esp + 0xbc]
mov edx, dword [esp + 0xfc]
fstp dword [esp + 0x68]
mov eax, dword [esp + 0x8c]
fld dword [esp + 0xd4]
push edx
fstp dword [esp + 0x70]
mov edx, dword [esp + 0x128]
fldz
push eax
fst dword [esp + 0x78]
lea ecx, [esp + 0x70]
fstp dword [esp + 0x7c]
push ecx
push edx
push 0xffffffffffffffff
lea eax, [esp + 0x17c]
push eax
push esi
call sub.gdiplus.dll_GdipDrawString
mov ebp, dword [esp + 0xfc]
mov ecx, dword [esp + 0x14]
push 0x30000000
push ecx
call sub.gdiplus.dll_GdipSetPenColor
cmp eax, ebx
je 0x403345
mov dword [esp + 0x18], eax
movzx edx, word [esp + 0xe8]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fld qword [0x414078]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x403366
fsub st(1), st(0)
movzx eax, word [esp + 0xea]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fdiv qword [0x414070]
faddp st(2)
fxch st(1)
fmul qword [0x414068]
fdivrp st(1)
fst qword [esp + 0xf8]
fmul qword [0x418060]
fst qword [esp + 0x58]
fild dword [esp + 0x60]
fstp qword [esp + 0x30]
call fcn.0040d9e0
fmul dword [esp + 0x2c]
fadd qword [esp + 0x30]
fadd qword [0x414060]
fstp dword [esp + 0x38]
fld qword [esp + 0x58]
call fcn.0040d8b0
fmul dword [esp + 0x2c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
fsubr qword [esp + 0x30]
add ecx, 3
mov dword [esp + 0x10], ecx
push ecx
fadd qword [0x414060]
fstp dword [esp + 0x40]
fild dword [esp + 0x14]
fstp dword [esp + 0x64]
fld dword [esp + 0x64]
fst dword [esp + 0x44]
fstp dword [esp + 0x48]
fld dword [esp + 0x20]
fstp dword [esp]
push edx
call sub.gdiplus.dll_GdipSetPenWidth
cmp eax, ebx
je 0x40340c
mov dword [esp + 0x18], eax
fld dword [esp + 0x44]
mov eax, dword [esp + 0x14]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [esp + 0x50]
fstp dword [esp + 8]
fld dword [esp + 0x4c]
fstp dword [esp + 4]
fld dword [esp + 0x48]
fstp dword [esp]
push eax
push esi
call sub.gdiplus.dll_GdipDrawLine
push 0x30000000
push ebp
call sub.gdiplus.dll_GdipSetSolidFillColor
fld dword [esp + 0xcc]
fld st(0)
sub esp, 0x10
fadd st(1)
fstp dword [esp + 0xc4]
fsubr dword [esp + 0x38]
fst qword [esp + 0x120]
fadd qword [0x414060]
fstp dword [esp + 0x20]
fld dword [esp + 0xc4]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0x20]
fst dword [esp + 4]
fstp dword [esp]
push ebp
push esi
call sub.gdiplus.dll_GdipFillEllipse
mov ecx, dword [esp + 0x14]
push 0xff000000
push ecx
call sub.gdiplus.dll_GdipSetPenColor
cmp eax, ebx
je 0x4034a6
mov dword [esp + 0x18], eax
fld qword [esp + 0xf8]
fmul qword [0x418060]
fst qword [esp + 0x58]
call fcn.0040d9e0
fst qword [esp + 0x98]
fmul dword [esp + 0x2c]
fadd qword [esp + 0x30]
fstp dword [esp + 0x38]
fld qword [esp + 0x58]
call fcn.0040d8b0
fst qword [esp + 0x78]
fmul dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
push ecx
fsubr qword [esp + 0x34]
fstp dword [esp + 0x40]
fld dword [esp + 0x2c]
fst dword [esp + 0x44]
fstp dword [esp + 0x48]
fld dword [esp + 0x20]
fstp dword [esp]
push edx
call sub.gdiplus.dll_GdipSetPenWidth
cmp eax, ebx
je 0x40350e
mov dword [esp + 0x18], eax
fld dword [esp + 0x44]
mov eax, dword [esp + 0x14]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [esp + 0x50]
fstp dword [esp + 8]
fld dword [esp + 0x4c]
fstp dword [esp + 4]
fld dword [esp + 0x48]
fstp dword [esp]
push eax
push esi
call sub.gdiplus.dll_GdipDrawLine
fld dword [esp + 0x88]
cmp dword [edi + 0x258], ebx
je 0x4035ec
fld qword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x18]
fmul st(1)
fld qword [esp + 0x34]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x44]
fxch st(1)
fmul qword [esp + 0x7c]
fsubp st(1)
fstp dword [esp + 0x48]
fld dword [esp + 0xc8]
fstp dword [esp]
push ecx
call sub.gdiplus.dll_GdipSetPenWidth
cmp eax, ebx
je 0x40358c
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0x14]
push edx
push eax
call sub.gdiplus.dll_GdipSetPenColor
cmp eax, ebx
je 0x4035a6
mov dword [esp + 0x18], eax
fld dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [esp + 0x50]
fstp dword [esp + 8]
fld dword [esp + 0x4c]
fstp dword [esp + 4]
fld dword [esp + 0x48]
fstp dword [esp]
push ecx
push esi
call sub.gdiplus.dll_GdipDrawLine
mov edx, dword [esp + 0x14]
push 0xff000000
push edx
call sub.gdiplus.dll_GdipSetPenColor
cmp eax, ebx
je 0x4035ee
mov dword [esp + 0x18], eax
jmp 0x4035ee
fstp st(0)
mov eax, dword [esp + 0x14]
push 0x30000000
push eax
call sub.gdiplus.dll_GdipSetPenColor
cmp eax, ebx
je 0x403605
mov dword [esp + 0x18], eax
movzx eax, word [esp + 0xea]
lea ecx, [eax + eax*2]
add ecx, ecx
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul qword [0x418060]
fst qword [esp + 0x58]
call fcn.0040d9e0
fmul dword [esp + 0x84]
fadd qword [esp + 0x30]
fadd qword [0x414060]
fstp dword [esp + 0x38]
fld qword [esp + 0x58]
call fcn.0040d8b0
fmul dword [esp + 0x84]
mov edx, dword [esp + 0x14]
push ecx
fsubr qword [esp + 0x34]
fadd qword [0x414060]
fstp dword [esp + 0x40]
fld dword [esp + 0x64]
fst dword [esp + 0x44]
fstp dword [esp + 0x48]
fld dword [esp + 0xa8]
fstp dword [esp]
push edx
call sub.gdiplus.dll_GdipSetPenWidth
cmp eax, ebx
je 0x403685
mov dword [esp + 0x18], eax
fld dword [esp + 0x44]
mov eax, dword [esp + 0x14]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [esp + 0x50]
fstp dword [esp + 8]
fld dword [esp + 0x4c]
fstp dword [esp + 4]
fld dword [esp + 0x48]
fstp dword [esp]
push eax
push esi
call sub.gdiplus.dll_GdipDrawLine
mov ecx, dword [esp + 0x14]
push 0xff000000
push ecx
call sub.gdiplus.dll_GdipSetPenColor
cmp eax, ebx
je 0x4036c9
mov dword [esp + 0x18], eax
movzx eax, word [esp + 0xea]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul qword [0x418060]
fst qword [esp + 0x58]
call fcn.0040d9e0
fst qword [esp + 0x98]
fmul dword [esp + 0x84]
fadd qword [esp + 0x30]
fstp dword [esp + 0x38]
fld qword [esp + 0x58]
call fcn.0040d8b0
fst qword [esp + 0x78]
fmul dword [esp + 0x84]
mov eax, dword [esp + 0x14]
push ecx
fsubr qword [esp + 0x34]
fstp dword [esp + 0x40]
fld dword [esp + 0x2c]
fst dword [esp + 0x44]
fstp dword [esp + 0x48]
fld dword [esp + 0xa8]
fstp dword [esp]
push eax
call sub.gdiplus.dll_GdipSetPenWidth
cmp eax, ebx
je 0x403748
mov dword [esp + 0x18], eax
fld dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [esp + 0x50]
fstp dword [esp + 8]
fld dword [esp + 0x4c]
fstp dword [esp + 4]
fld dword [esp + 0x48]
fstp dword [esp]
push ecx
push esi
call sub.gdiplus.dll_GdipDrawLine
cmp dword [edi + 0x258], ebx
je 0x40380d
fld dword [esp + 0x88]
mov edx, dword [esp + 0x14]
fld qword [esp + 0x98]
push ecx
fmul st(1)
fld qword [esp + 0x34]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x44]
fxch st(1)
fmul qword [esp + 0x7c]
fsubp st(1)
fstp dword [esp + 0x48]
fld dword [esp + 0xe0]
fstp dword [esp]
push edx
call sub.gdiplus.dll_GdipSetPenWidth
cmp eax, ebx
je 0x4037c6
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call sub.gdiplus.dll_GdipSetPenColor
cmp eax, ebx
je 0x4037e0
mov dword [esp + 0x18], eax
fld dword [esp + 0x44]
mov edx, dword [esp + 0x14]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [esp + 0x50]
fstp dword [esp + 8]
fld dword [esp + 0x4c]
fstp dword [esp + 4]
fld dword [esp + 0x48]
fstp dword [esp]
push edx
push esi
call sub.gdiplus.dll_GdipDrawLine
push 0xff000000
push ebp
call sub.gdiplus.dll_GdipSetSolidFillColor
fld qword [esp + 0x110]
sub esp, 0x10
fstp dword [esp + 0x20]
fld dword [esp + 0xc4]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0x20]
fst dword [esp + 4]
fstp dword [esp]
push ebp
push esi
call sub.gdiplus.dll_GdipFillEllipse
cmp dword [edi + 0x25c], ebx
je 0x403b54
mov eax, dword [esp + 0x14]
push 0x30000000
push eax
call sub.gdiplus.dll_GdipSetPenColor
cmp eax, ebx
je 0x40386a
mov dword [esp + 0x18], eax
movzx eax, word [esp + 0xec]
lea ecx, [eax + eax*2]
add ecx, ecx
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul qword [0x418060]
fst qword [esp + 0x58]
call fcn.0040d9e0
fmul dword [esp + 0x64]
fadd qword [esp + 0x30]
fadd qword [0x414060]
fstp dword [esp + 0x38]
fld qword [esp + 0x58]
call fcn.0040d8b0
fmul dword [esp + 0x64]
mov edx, dword [esp + 0x14]
push ecx
fsubr qword [esp + 0x34]
fadd qword [0x414060]
fstp dword [esp + 0x40]
fld dword [esp + 0x64]
fst dword [esp + 0x44]
fstp dword [esp + 0x48]
fld dword [esp + 0xac]
fstp dword [esp]
push edx
call sub.gdiplus.dll_GdipSetPenWidth
cmp eax, ebx
je 0x4038e4
mov dword [esp + 0x18], eax
fld dword [esp + 0x44]
mov eax, dword [esp + 0x14]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [esp + 0x50]
fstp dword [esp + 8]
fld dword [esp + 0x4c]
fstp dword [esp + 4]
fld dword [esp + 0x48]
fstp dword [esp]
push eax
push esi
call sub.gdiplus.dll_GdipDrawLine
movzx eax, word [esp + 0xec]
add eax, 0x1e
lea ecx, [eax + eax*2]
add ecx, ecx
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul qword [0x418060]
fst qword [esp + 0x58]
call fcn.0040d9e0
fmul dword [esp + 0x24]
fadd qword [esp + 0x30]
fadd qword [0x414060]
fstp dword [esp + 0x38]
fld qword [esp + 0x58]
call fcn.0040d8b0
fmul dword [esp + 0x24]
mov edx, dword [esp + 0x14]
push ecx
fsubr qword [esp + 0x34]
fadd qword [0x414060]
fstp dword [esp + 0x40]
fld dword [esp + 0x64]
fst dword [esp + 0x44]
fstp dword [esp + 0x48]
fld dword [esp + 0x24]
fstp dword [esp]
push edx
call sub.gdiplus.dll_GdipSetPenWidth
cmp eax, ebx
je 0x40398b
mov dword [esp + 0x18], eax
fld dword [esp + 0x44]
mov eax, dword [esp + 0x14]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [esp + 0x50]
fstp dword [esp + 8]
fld dword [esp + 0x4c]
fstp dword [esp + 4]
fld dword [esp + 0x48]
fstp dword [esp]
push eax
push esi
call sub.gdiplus.dll_GdipDrawLine
movzx eax, word [esp + 0xec]
lea ecx, [eax + eax*2]
add ecx, ecx
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul qword [0x418060]
fst qword [esp + 0x58]
call fcn.0040d9e0
fmul dword [esp + 0x64]
fadd qword [esp + 0x30]
fstp dword [esp + 0x38]
fld qword [esp + 0x58]
call fcn.0040d8b0
fmul dword [esp + 0x64]
mov edx, dword [esp + 0x14]
push ecx
fsubr qword [esp + 0x34]
fstp dword [esp + 0x40]
fld dword [esp + 0x2c]
fst dword [esp + 0x44]
fstp dword [esp + 0x48]
fld dword [esp + 0xac]
fstp dword [esp]
push edx
call sub.gdiplus.dll_GdipSetPenWidth
cmp eax, ebx
je 0x403a26
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call sub.gdiplus.dll_GdipSetPenColor
cmp eax, ebx
je 0x403a40
mov dword [esp + 0x18], eax
fld dword [esp + 0x44]
mov edx, dword [esp + 0x14]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [esp + 0x50]
fstp dword [esp + 8]
fld dword [esp + 0x4c]
fstp dword [esp + 4]
fld dword [esp + 0x48]
fstp dword [esp]
push edx
push esi
call sub.gdiplus.dll_GdipDrawLine
movzx eax, word [esp + 0xec]
add eax, 0x1e
lea eax, [eax + eax*2]
add eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x418060]
fst qword [esp + 0x58]
call fcn.0040d9e0
fmul dword [esp + 0x24]
fadd qword [esp + 0x30]
fstp dword [esp + 0x38]
fld qword [esp + 0x58]
call fcn.0040d8b0
fmul dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x18]
fsubr qword [esp + 0x34]
fstp dword [esp + 0x40]
fld dword [esp + 0x2c]
fst dword [esp + 0x44]
fstp dword [esp + 0x48]
fld dword [esp + 0x24]
fstp dword [esp]
push ecx
call sub.gdiplus.dll_GdipSetPenWidth
cmp eax, ebx
je 0x403adb
mov dword [esp + 0x18], eax
fld dword [esp + 0x44]
mov edx, dword [esp + 0x14]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [esp + 0x50]
fstp dword [esp + 8]
fld dword [esp + 0x4c]
fstp dword [esp + 4]
fld dword [esp + 0x48]
fstp dword [esp]
push edx
push esi
call sub.gdiplus.dll_GdipDrawLine
mov eax, dword [esp + 0xc0]
push eax
push ebp
call sub.gdiplus.dll_GdipSetSolidFillColor
fld dword [esp + 0xd0]
fld st(0)
sub esp, 0x10
fadd st(1)
fstp dword [esp + 0x20]
fsubr dword [esp + 0x38]
fstp dword [esp + 0xcc]
fld dword [esp + 0x20]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0xcc]
fst dword [esp + 4]
fstp dword [esp]
push ebp
push esi
call sub.gdiplus.dll_GdipFillEllipse
mov eax, dword [edi + 0x240]
push 2
lea ecx, [esp + 0xb0]
push ecx
push ebx
lea edx, [esp + 0x138]
push edx
mov edx, dword [edi]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], eax
mov eax, dword [edi + 0x230]
push eax
lea ecx, [esp + 0x148]
push ecx
push ebx
push ebx
mov word [esp + 0xcd], bx
mov byte [esp + 0xcf], bl
push edx
mov byte [esp + 0xd0], bl
mov byte [esp + 0xd2], 0xff
mov byte [esp + 0xd3], 1
mov dword [esp + 0x150], ebx
mov dword [esp + 0x154], ebx
call dword [sym.imp.USER32.dll_UpdateLayeredWindow]
test eax, eax
jne 0x403bd3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebp
call sub.gdiplus.dll_GdipDeleteBrush
mov eax, dword [esp + 0x14]
push eax
call sub.gdiplus.dll_GdipDeletePen
push esi
call sub.gdiplus.dll_GdipDeleteGraphics
mov ecx, dword [esp + 0x124]
push ecx
call sub.gdiplus.dll_GdipDeleteFont
mov edx, dword [esp + 0x108]
push edx
call sub.gdiplus.dll_GdipDeleteFont
mov eax, dword [esp + 0xf0]
push eax
call sub.gdiplus.dll_GdipDeleteFontFamily
mov ecx, dword [esp + 0x8c]
push ecx
call sub.gdiplus.dll_GdipDeleteStringFormat
mov ecx, dword [esp + 0x374]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004048cc
add esp, 0x36c
ret