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

Disassembly:
push 8
push 0x154
mov eax, 0x4b0891
call fcn.004a7770
mov eax, ecx
mov dword [ebp - 0x114], eax
add eax, 0x1c
lea edi, [ebp - 0xf0]
mov esi, eax
mov dword [ebp - 0x148], 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]
mov edi, ecx
mov eax, dword [edi + 0x208]
neg eax
push eax
mov eax, dword [edi + 0x204]
neg eax
push eax
lea eax, [ebp - 0xf0]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [edi + 0x198]
sub eax, 1
je 0x468308
sub eax, 1
je 0x4682fc
mov eax, dword [edi + 0xc0]
xor ecx, ecx
mov dword [ebp - 0x108], eax
mov eax, dword [edi + 0xc4]
push 4
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x11c], 0x990000
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
lea eax, [ebp - 0x110]
push eax
push dword [edi + 0x14]
call dword [sym.imp.USER32.dll_FillRect]
push dword [ebp - 0x11c]
mov eax, dword [edi + 0xc4]
xor esi, esi
mov ecx, dword [edi + 0xc0]
push eax
push ecx
push esi
push esi
push dword [edi + 0xc]
push eax
push ecx
push esi
push esi
push dword [edi + 0x14]
call dword [sym.imp.MSIMG32.dll_AlphaBlend]
cmp byte [ebx + 8], 0
je 0x4676b6
lea esi, [ebp - 0xf0]
lea edi, [ebp - 0x144]
movsd dword es:[edi], dword [esi]
push 8
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x114]
mov eax, dword [edi + 0xbc]
cmp eax, 7
je 0x4672cd
cmp eax, ecx
jne 0x4672d6
cmp dword [edi + 0xb8], 2
jne 0x467331
mov edx, dword [edi + 0xb0]
mov eax, dword [ebx + 0xc]
cmp edx, eax
mov ecx, dword [ebx + 0x10]
mov esi, dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_labs]
cmovl eax, edx
sub eax, dword [edi + 0x204]
mov dword [ebp - 0xf0], eax
mov eax, dword [edi + 0xb4]
cmp eax, ecx
cmovl ecx, eax
sub edx, dword [ebx + 0xc]
sub ecx, dword [edi + 0x208]
push edx
mov dword [ebp - 0xec], ecx
call esi
add eax, dword [ebp - 0xf0]
mov dword [ebp - 0xe8], eax
mov eax, dword [edi + 0xb4]
sub eax, dword [ebx + 0x10]
pop ecx
push eax
call esi
jmp 0x467396
mov eax, dword [edi + 0xb8]
test eax, eax
jne 0x46736d
mov ecx, dword [edi + 0xb0]
mov eax, dword [ebx + 0xc]
cmp ecx, eax
cmovl eax, ecx
sub ecx, dword [ebx + 0xc]
sub eax, dword [edi + 0x204]
push ecx
mov dword [ebp - 0xf0], eax
call dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_labs]
add eax, dword [ebp - 0xf0]
mov dword [ebp - 0xe8], eax
jmp 0x4673a2
cmp eax, 1
jne 0x4673a3
mov ecx, dword [edi + 0xb4]
mov eax, dword [ebx + 0x10]
cmp ecx, eax
cmovl eax, ecx
sub ecx, dword [ebx + 0x10]
sub eax, dword [edi + 0x208]
push ecx
mov dword [ebp - 0xec], eax
call dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_labs]
add eax, dword [ebp - 0xec]
mov dword [ebp - 0xe4], eax
pop ecx
lea eax, [ebp - 0xf0]
push eax
lea esi, [edi + 0x1c]
push esi
call dword [sym.imp.USER32.dll_CopyRect]
push dword [edi + 0x208]
push dword [edi + 0x204]
push esi
call dword [sym.imp.USER32.dll_OffsetRect]
cmp dword [edi + 0x224], 6
jne 0x4676b4
mov eax, dword [edi + 0xbc]
cmp eax, 1
je 0x4674ef
cmp eax, 2
je 0x4674ef
cmp eax, 7
je 0x4673fc
push 8
pop edx
cmp eax, edx
jne 0x4676b4
mov eax, dword [ebp - 0xe8]
xor esi, esi
mov edx, dword [ebp - 0xf0]
mov ecx, esi
sub eax, edx
movd xmm2, eax
mov eax, dword [ebp - 0x13c]
sub eax, dword [ebp - 0x144]
cvtdq2ps xmm2, xmm2
movd xmm0, eax
mov eax, dword [ebp - 0xe4]
sub eax, dword [ebp - 0xec]
cvtdq2ps xmm0, xmm0
movd xmm3, eax
mov eax, dword [ebp - 0x138]
sub eax, dword [ebp - 0x140]
divss xmm2, xmm0
movd xmm0, eax
mov eax, dword [edi + 0x234]
sub eax, dword [edi + 0x230]
cvtdq2ps xmm3, xmm3
sar eax, 3
cvtdq2ps xmm0, xmm0
divss xmm3, xmm0
test eax, eax
je 0x4676b6
movd xmm4, dword [ebp - 0x144]
movd xmm5, dword [ebp - 0x140]
cvtdq2ps xmm4, xmm4
cvtdq2ps xmm5, xmm5
mov eax, dword [edi + 0x230]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss xmm1, dword [eax + ecx*8]
subss xmm1, xmm4
mulss xmm1, xmm2
addss xmm1, xmm0
movss dword [eax + ecx*8], xmm1
mov eax, dword [edi + 0x230]
movd xmm0, dword [ebp - 0xec]
cvtdq2ps xmm0, xmm0
movss xmm1, dword [eax + ecx*8 + 4]
subss xmm1, xmm5
mulss xmm1, xmm3
addss xmm1, xmm0
movss dword [eax + ecx*8 + 4], xmm1
inc ecx
mov eax, dword [edi + 0x234]
sub eax, dword [edi + 0x230]
sar eax, 3
cmp ecx, eax
jae 0x4676b6
mov edx, dword [ebp - 0xf0]
jmp 0x467483
mov esi, dword [edi + 0x234]
mov eax, SysReAllocString
sub esi, dword [edi + 0x230]
xor ecx, ecx
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x14c], eax
inc eax
sar esi, 3
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x120], eax
mov eax, esi
push 8
pop edx
mul edx
mov dword [ebp - 0x128], esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004a43ad
pop ecx
mov dword [ebp - 0x128], eax
test esi, esi
je 0x467554
push 8
pop ecx
and dword [eax + 4], 0
and dword [eax], 0
add eax, ecx
sub esi, 1
jne 0x467546
or dword [ebp - 4], 0xffffffff
xor esi, esi
mov eax, dword [edi + 0x234]
mov edx, esi
mov ecx, dword [edi + 0x230]
sub eax, ecx
sar eax, 3
test eax, eax
je 0x46764f
movss xmm0, dword [ecx + edx*8]
mov edi, dword [ebp - 0x128]
movss xmm1, dword [ecx + edx*8 + 4]
movss dword [ebp - 0x13c], xmm0
mov eax, dword [ebp - 0x13c]
movd xmm0, dword [ebp - 0x11c]
mov dword [edi + edx*8], eax
mov eax, edi
mov edi, dword [ebp - 0x114]
movss dword [ebp - 0x138], xmm1
mov ecx, dword [ebp - 0x138]
mov dword [eax + edx*8 + 4], ecx
mov ecx, dword [edi + 0x230]
cvtdq2ps xmm0, xmm0
movss xmm1, dword [ecx + edx*8]
comiss xmm0, xmm1
jbe 0x4675d6
cvttss2si eax, xmm1
mov dword [ebp - 0x11c], eax
movss xmm2, dword [ecx + edx*8 + 4]
movd xmm0, dword [ebp - 0x14c]
cvttss2si eax, xmm2
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x118], eax
comiss xmm0, xmm2
jbe 0x4675fe
mov dword [ebp - 0x14c], eax
jmp 0x467604
mov dword [ebp - 0x118], eax
movd xmm0, dword [ebp - 0x150]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x46761e
cvttss2si eax, xmm1
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x120]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
cmova eax, dword [ebp - 0x118]
inc edx
mov dword [ebp - 0x120], eax
mov eax, dword [edi + 0x234]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x467575
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0xf0]
push eax
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
push dword [edi + 0x208]
lea eax, [edi + 0x1c]
push dword [edi + 0x204]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
push dword [ebp - 0x128]
call fcn.004a43a8
pop ecx
jmp 0x4676b6
xor esi, esi
mov eax, dword [edi + 0x224]
cmp eax, 6
jne 0x4676e7
cmp dword [edi + 0x1f8], esi
je 0x4676e7
mov ecx, dword [edi + 0xbc]
cmp ecx, 1
je 0x4676d9
cmp ecx, 2
jne 0x4676e7
mov ecx, dword [edi + 0x14]
xor edx, edx
inc edx
mov dword [ebp - 0x118], edx
jmp 0x4676fb
mov ecx, dword [edi + 0x14]
mov edx, esi
mov dword [ebp - 0x118], edx
cmp eax, 6
jne 0x4677c4
mov eax, dword [edi + 0x20c]
sub eax, dword [edi + 0x204]
mov dword [ebp - 0x12c], eax
mov eax, dword [edi + 0x210]
sub eax, dword [edi + 0x208]
mov dword [ebp - 0x134], esi
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x128], eax
test edx, edx
je 0x4677a1
lea eax, [ebp - 0x118]
mov dword [ebp - 0x118], esi
push eax
push ecx
call dword [sym.imp.gdiplus.dll_GdipCreateFromHDC]
mov edi, dword [ebp - 0x118]
mov esi, eax
mov dword [ebp - 0x13c], edi
push 4
push edi
mov dword [ebp - 4], 1
call dword [sym.imp.gdiplus.dll_GdipSetSmoothingMode]
test eax, eax
cmovne esi, eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x138], esi
xor esi, esi
push esi
lea ecx, [eax + 0x228]
push ecx
lea ecx, [ebp - 0x134]
push ecx
push ecx
mov ecx, eax
call fcn.0046d3dc
or dword [ebp - 4], 0xffffffff
push edi
call dword [sym.imp.gdiplus.dll_GdipDeleteGraphics]
mov edi, dword [ebp - 0x114]
jmp 0x467823
lea eax, [edi + 0x228]
push eax
lea eax, [ebp - 0x134]
push eax
push 6
push ecx
mov ecx, edi
call fcn.0046d71d
cmp dword [ebp - 0x118], 0
jne 0x467823
jmp 0x4677e0
lea eax, [edi + 0x228]
push eax
lea eax, [ebp - 0xf0]
push eax
push dword [edi + 0x224]
push ecx
mov ecx, edi
call fcn.0046d71d
mov eax, dword [ebp - 0xe4]
sub eax, dword [ebp - 0xec]
push 0xcc0020
push dword [ebp - 0xec]
push dword [ebp - 0xf0]
push dword [edi + 0xc]
push eax
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xf0]
push eax
push dword [ebp - 0xec]
push dword [ebp - 0xf0]
push dword [edi + 0x14]
call dword [sym.imp.GDI32.dll_BitBlt]
push esi
lea eax, [edi + 0x1c]
mov ecx, edi
push eax
push dword [edi + 0x14]
call fcn.004698f5
push 0x318bff
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov ecx, dword [edi + 0xbc]
mov dword [ebp - 0x11c], eax
test ecx, ecx
je 0x467d79
cmp ecx, 1
je 0x467d79
lea eax, [ebp - 0x118]
mov dword [ebp - 0x118], esi
push eax
push dword [edi + 0x14]
call dword [sym.imp.gdiplus.dll_GdipCreateFromHDC]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 4], 2
call fcn.004a75b0
cmp dword [edi + 0x224], 6
push 2
pop eax
push 5
pop ecx
cmove eax, ecx
mov dword [ebp - 0x118], 0xff548ef8
push eax
lea eax, [edi + 0x228]
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.00469a2a
push 4
push dword [ebp - 0x12c]
call dword [sym.imp.gdiplus.dll_GdipSetSmoothingMode]
or dword [ebp - 0x118], 0xffffffff
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x140]
call fcn.00452680
lea eax, [ebp - 0x124]
mov dword [ebp - 0x124], esi
push eax
push esi
push ecx
mov dword [esp], 0x3f800000
push 0xff548ef8
call dword [sym.imp.gdiplus.dll_GdipCreatePen1]
mov esi, dword [edi + 0x1c]
mov dword [ebp - 0x120], eax
add esi, 0xfffffffb
mov eax, dword [edi + 0x20]
add eax, dword [edi + 0x28]
cdq
sub eax, edx
mov dword [edi + 0x6c], esi
sar eax, 1
push 0xa
push 0xa
lea ecx, [eax - 5]
lea eax, [esi + 0xa]
mov dword [edi + 0x70], ecx
sub esi, dword [edi + 0x204]
mov dword [edi + 0x74], eax
lea eax, [ecx + 0xa]
sub ecx, dword [edi + 0x208]
push ecx
push esi
push dword [ebp - 0x13c]
mov esi, dword [sym.imp.gdiplus.dll_GdipFillEllipseI]
push dword [ebp - 0x12c]
mov dword [edi + 0x78], eax
call esi
mov ecx, dword [edi + 0x70]
sub ecx, dword [edi + 0x208]
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x204]
mov edi, dword [sym.imp.gdiplus.dll_GdipDrawEllipseI]
push 0xa
push 0xa
push ecx
push eax
push dword [ebp - 0x124]
push dword [ebp - 0x12c]
call edi
mov ecx, dword [ebp - 0x114]
mov eax, dword [ecx + 0x24]
add eax, dword [ecx + 0x1c]
mov esi, dword [ebp - 0x114]
cdq
sub eax, edx
sar eax, 1
push 0xa
push 0xa
lea edx, [eax - 5]
mov eax, dword [ebp - 0x114]
mov dword [ecx + 0x7c], edx
mov ecx, dword [ecx + 0x20]
add ecx, 0xfffffffb
mov dword [eax + 0x80], ecx
lea eax, [edx + 0xa]
mov dword [esi + 0x84], eax
lea eax, [ecx + 0xa]
mov dword [esi + 0x88], eax
mov eax, esi
mov esi, dword [sym.imp.gdiplus.dll_GdipFillEllipseI]
sub ecx, dword [eax + 0x208]
sub edx, dword [eax + 0x204]
push ecx
push edx
push dword [ebp - 0x13c]
push dword [ebp - 0x12c]
call esi
mov esi, dword [ebp - 0x114]
push 0xa
push 0xa
mov ecx, dword [esi + 0x80]
sub ecx, dword [esi + 0x208]
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x204]
push ecx
push eax
push dword [ebp - 0x124]
push dword [ebp - 0x12c]
call edi
mov ecx, dword [ebp - 0x114]
mov esi, dword [esi + 0x24]
add esi, 0xfffffffb
push 0xa
mov eax, dword [ecx + 0x20]
add eax, dword [ecx + 0x28]
cdq
sub eax, edx
mov dword [ecx + 0x8c], esi
mov edx, dword [ebp - 0x114]
sar eax, 1
push 0xa
lea ecx, [eax - 5]
lea eax, [esi + 0xa]
mov dword [edx + 0x90], ecx
sub esi, dword [edx + 0x204]
mov dword [edx + 0x94], eax
lea eax, [ecx + 0xa]
sub ecx, dword [edx + 0x208]
push ecx
push esi
push dword [ebp - 0x13c]
mov esi, dword [sym.imp.gdiplus.dll_GdipFillEllipseI]
push dword [ebp - 0x12c]
mov dword [edx + 0x98], eax
call esi
mov edx, dword [ebp - 0x114]
push 0xa
push 0xa
mov ecx, dword [edx + 0x90]
sub ecx, dword [edx + 0x208]
mov eax, dword [edx + 0x8c]
sub eax, dword [edx + 0x204]
push ecx
push eax
push dword [ebp - 0x124]
push dword [ebp - 0x12c]
call edi
mov ecx, dword [ebp - 0x114]
mov eax, dword [ecx + 0x24]
add eax, dword [ecx + 0x1c]
cdq
sub eax, edx
mov esi, dword [ebp - 0x114]
sar eax, 1
push 0xa
push 0xa
lea edx, [eax - 5]
mov eax, dword [ebp - 0x114]
mov dword [ecx + 0x9c], edx
mov ecx, dword [ecx + 0x28]
add ecx, 0xfffffffb
mov dword [eax + 0xa0], ecx
lea eax, [edx + 0xa]
mov dword [esi + 0xa4], eax
lea eax, [ecx + 0xa]
mov dword [esi + 0xa8], eax
mov eax, esi
mov esi, dword [sym.imp.gdiplus.dll_GdipFillEllipseI]
sub ecx, dword [eax + 0x208]
sub edx, dword [eax + 0x204]
push ecx
push edx
push dword [ebp - 0x13c]
push dword [ebp - 0x12c]
call esi
mov edx, dword [ebp - 0x114]
push 0xa
push 0xa
mov ecx, dword [edx + 0xa0]
sub ecx, dword [edx + 0x208]
mov eax, dword [edx + 0x9c]
sub eax, dword [edx + 0x204]
push ecx
push eax
push dword [ebp - 0x124]
push dword [ebp - 0x12c]
call edi
mov ecx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x114]
mov esi, dword [ebp - 0x114]
push 0xa
mov edx, dword [ecx]
mov ecx, dword [eax + 0x20]
add edx, 0xfffffffb
add ecx, 0xfffffffb
mov dword [eax + 0x2c], edx
mov dword [eax + 0x30], ecx
push 0xa
lea eax, [edx + 0xa]
mov dword [esi + 0x34], eax
lea eax, [ecx + 0xa]
mov dword [esi + 0x38], eax
mov eax, esi
mov esi, dword [sym.imp.gdiplus.dll_GdipFillEllipseI]
sub ecx, dword [eax + 0x208]
sub edx, dword [eax + 0x204]
push ecx
push edx
push dword [ebp - 0x13c]
push dword [ebp - 0x12c]
call esi
mov edx, dword [ebp - 0x114]
push 0xa
push 0xa
mov ecx, dword [edx + 0x30]
sub ecx, dword [edx + 0x208]
mov eax, dword [edx + 0x2c]
sub eax, dword [edx + 0x204]
push ecx
push eax
push dword [ebp - 0x124]
push dword [ebp - 0x12c]
call edi
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x114]
mov ecx, dword [edx + 0x24]
add ecx, 5
mov dword [edx + 0x44], ecx
mov edx, dword [edx + 0x20]
add edx, 0xfffffffb
add ecx, 0xfffffff6
mov dword [eax + 0x40], edx
mov dword [eax + 0x3c], ecx
mov esi, dword [ebp - 0x114]
lea eax, [edx + 0xa]
push 0xa
push 0xa
mov dword [esi + 0x48], eax
mov eax, esi
mov esi, dword [sym.imp.gdiplus.dll_GdipFillEllipseI]
sub edx, dword [eax + 0x208]
sub ecx, dword [eax + 0x204]
push edx
push ecx
push dword [ebp - 0x13c]
push dword [ebp - 0x12c]
call esi
mov edx, dword [ebp - 0x114]
push 0xa
push 0xa
mov ecx, dword [edx + 0x40]
sub ecx, dword [edx + 0x208]
mov eax, dword [edx + 0x3c]
sub eax, dword [edx + 0x204]
push ecx
push eax
push dword [ebp - 0x124]
push dword [ebp - 0x12c]
call edi
mov ecx, dword [ebp - 0x148]
mov esi, dword [ebp - 0x114]
push 0xa
push 0xa
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x114]
add edx, 0xfffffffb
mov eax, dword [ecx + 0x28]
add eax, 5
mov dword [ecx + 0x4c], edx
mov dword [ecx + 0x58], eax
lea ecx, [eax - 0xa]
mov eax, dword [ebp - 0x114]
mov dword [eax + 0x50], ecx
lea eax, [edx + 0xa]
mov dword [esi + 0x54], eax
mov eax, esi
mov esi, dword [sym.imp.gdiplus.dll_GdipFillEllipseI]
sub ecx, dword [eax + 0x208]
sub edx, dword [eax + 0x204]
push ecx
push edx
push dword [ebp - 0x13c]
push dword [ebp - 0x12c]
call esi
mov edx, dword [ebp - 0x114]
push 0xa
push 0xa
mov ecx, dword [edx + 0x50]
sub ecx, dword [edx + 0x208]
mov eax, dword [edx + 0x4c]
sub eax, dword [edx + 0x204]
push ecx
push eax
push dword [ebp - 0x124]
push dword [ebp - 0x12c]
call edi
mov edx, dword [ebp - 0x114]
push 0xa
push 0xa
mov eax, dword [edx + 0x24]
add eax, 5
mov dword [edx + 0x64], eax
lea ecx, [eax - 0xa]
mov eax, dword [edx + 0x28]
add eax, 5
mov dword [edx + 0x5c], ecx
mov dword [edx + 0x68], eax
add eax, 0xfffffff6
mov dword [edx + 0x60], eax
sub eax, dword [edx + 0x208]
sub ecx, dword [edx + 0x204]
push eax
push ecx
push dword [ebp - 0x13c]
push dword [ebp - 0x12c]
call esi
mov esi, dword [ebp - 0x114]
push 0xa
push 0xa
mov ecx, dword [esi + 0x60]
sub ecx, dword [esi + 0x208]
mov eax, dword [esi + 0x5c]
sub eax, dword [esi + 0x204]
push ecx
push eax
push dword [ebp - 0x124]
push dword [ebp - 0x12c]
call edi
push dword [ebp - 0x124]
call dword [sym.imp.gdiplus.dll_GdipDeletePen]
push dword [ebp - 0x13c]
call dword [sym.imp.gdiplus.dll_GdipDeleteBrush]
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x12c]
jmp 0x467df7
lea esi, [ebp - 0xf0]
lea edi, [ebp - 0x100]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x100]
push 2
push 2
push 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_InflateRect]
mov esi, dword [ebp - 0x114]
lea eax, [ebp - 0x118]
and dword [ebp - 0x118], 0
push eax
push dword [esi + 0x14]
call dword [sym.imp.gdiplus.dll_GdipCreateFromHDC]
push 5
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x118]
pop ecx
mov dword [ebp - 0x13c], eax
lea eax, [esi + 0x228]
push ecx
push eax
lea eax, [ebp - 0x118]
mov dword [ebp - 0x118], 0xff54b8f8
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.00469a2a
push dword [ebp - 0x13c]
call dword [sym.imp.gdiplus.dll_GdipDeleteGraphics]
lea eax, [ebp - 0xf0]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x4682b5
cmp dword [esi + 0xbc], eax
je 0x4682b5
push 0x48
push 0x5a
push dword [esi + 0x14]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 9
call dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x4c5950
push 0x22
push 2
push 2
push 3
push 1
mov edi, eax
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0xffffffffffffffdf
neg edi
call dword [sym.imp.GDI32.dll_CreateFontW]
mov dword [ebp - 0x128], eax
test eax, eax
jne 0x467e85
push eax
push 0x22
push 2
push 2
push 3
push 1
push eax
push eax
push eax
push 0x2bc
push eax
push eax
push eax
push edi
call dword [sym.imp.GDI32.dll_CreateFontW]
mov dword [ebp - 0x128], eax
push eax
push dword [esi + 0x14]
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 0xe4]
sub ecx, dword [ebp - 0xec]
push ecx
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xf0]
push ecx
mov dword [ebp - 0x14c], eax
lea eax, [ebp - 0xe0]
push 0x4c6358
push eax
call fcn.00471cf2
lea eax, [ebp - 0xe0]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
add esp, 0x14
lea ecx, [ebp - 0x13c]
push ecx
push eax
lea eax, [ebp - 0xe0]
push eax
push dword [esi + 0x14]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
call fcn.004a75b0
push 0x75a1
mov ecx, eax
mov dword [ebp - 0x120], eax
call fcn.004a7220
mov edi, eax
mov dword [ebp - 0x148], edi
test edi, edi
je 0x467f6f
call fcn.00459c34
mov ecx, edi
mov esi, eax
call fcn.00452d63
mov ecx, esi
mov edi, eax
call fcn.00459cee
movd xmm1, edi
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x13c], eax
call fcn.00459c34
mov ecx, dword [ebp - 0x148]
mov esi, eax
call fcn.00452d88
mov ecx, esi
mov edi, eax
call fcn.00459cee
mov esi, dword [ebp - 0x114]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
cvttss2si edx, xmm0
mov dword [ebp - 0x138], edx
jmp 0x467f75
mov edx, dword [ebp - 0x138]
mov eax, dword [ebp - 0xf0]
mov edi, dword [ebp - 0xec]
mov ecx, edi
mov dword [ebp - 0x110], eax
sub ecx, edx
add eax, dword [ebp - 0x13c]
add ecx, 0xfffffffe
mov dword [ebp - 0x108], eax
lea eax, [edi - 2]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x104], eax
jns 0x467fbc
lea eax, [edi + 2]
mov dword [ebp - 0x10c], eax
add eax, edx
mov dword [ebp - 0x104], eax
mov eax, dword [esi + 0xc0]
cmp dword [ebp - 0x108], eax
jle 0x467fdc
mov dword [ebp - 0x108], eax
sub eax, dword [ebp - 0x13c]
mov dword [ebp - 0x110], eax
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x468088
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x468088
mov ecx, dword [esi + 0xd0]
mov eax, dword [ecx]
call dword [eax + 8]
lea ecx, [ebp - 0x100]
push ecx
mov eax, dword [eax]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esi + 0x208]
neg eax
push eax
mov eax, dword [esi + 0x204]
neg eax
push eax
lea eax, [ebp - 0x100]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.00468424
test eax, eax
je 0x468088
mov ecx, dword [ebp - 0x10c]
lea eax, [ecx - 0x2f]
test eax, eax
jns 0x46807b
mov edx, dword [ebp - 0x104]
sub edx, ecx
mov ecx, dword [ebp - 0xf4]
lea eax, [ecx + 2]
mov dword [ebp - 0x10c], eax
lea eax, [ecx + 2]
add eax, edx
mov dword [ebp - 0x104], eax
jmp 0x468088
sub dword [ebp - 0x104], 0x2f
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x120]
lea eax, [esi + 0x1c4]
mov edi, eax
mov dword [ebp - 0x150], eax
lea esi, [ebp - 0x110]
push 0x75a1
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.004a7220
mov esi, dword [ebp - 0x114]
test eax, eax
je 0x4680f6
mov ecx, dword [esi + 0x1cc]
cmp ecx, dword [esi + 0xc0]
mov ecx, eax
jne 0x4680e1
call fcn.00452d63
mov ecx, dword [esi + 0x1cc]
lea edx, [esi + 0x1c4]
sub ecx, eax
mov dword [edx], ecx
jmp 0x4680fc
call fcn.00452d63
lea edx, [esi + 0x1c4]
add eax, dword [edx]
mov dword [esi + 0x1cc], eax
jmp 0x4680fc
mov edx, dword [ebp - 0x150]
push dword [esi + 0x208]
push dword [esi + 0x204]
push edx
call dword [sym.imp.USER32.dll_OffsetRect]
and dword [ebp - 0x118], 0
lea eax, [ebp - 0x118]
push eax
push dword [esi + 0x14]
call dword [sym.imp.gdiplus.dll_GdipCreateFromHDC]
mov dword [ebp - 0x120], eax
lea esi, [ebp - 0x160]
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x154], eax
push 5
pop eax
sub esp, 0x10
mov edx, dword [ebp - 0x148]
mov edi, esp
mov dword [ebp - 0x100], eax
sub esp, 0x10
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], 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]
mov edi, esp
lea esi, [ebp - 0x100]
push ecx
lea ecx, [ebp - 0x124]
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.00476e20
add esp, 0x24
push dword [ebp - 0x124]
call dword [sym.imp.gdiplus.dll_GdipDeleteGraphics]
call fcn.00459c34
mov ecx, eax
call fcn.00459cee
mulss xmm0, dword [0x4c917c]
xor ecx, ecx
push 0x4c5950
push 0x22
push 2
push 2
push 3
push 1
push ecx
push ecx
push ecx
push ecx
cvttss2si eax, xmm0
push ecx
push ecx
push ecx
push eax
call dword [sym.imp.GDI32.dll_CreateFontW]
mov esi, dword [ebp - 0x114]
mov edi, eax
push edi
push dword [esi + 0x14]
call dword [sym.imp.GDI32.dll_SelectObject]
push 0xc3c3c3
push dword [esi + 0x14]
call dword [sym.imp.GDI32.dll_SetTextColor]
call fcn.00459c34
mov ecx, eax
call fcn.00459cee
mulss xmm0, dword [0x4c9170]
cvttss2si esi, xmm0
call fcn.00459c34
mov ecx, eax
call fcn.00459cee
mulss xmm0, dword [0x4c9174]
push esi
cvttss2si eax, xmm0
push eax
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.USER32.dll_InflateRect]
mov esi, dword [ebp - 0x114]
push 1
push dword [esi + 0x14]
call dword [sym.imp.GDI32.dll_SetBkMode]
lea eax, [ebp - 0xe0]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
pop ecx
push 5
pop ecx
push ecx
lea ecx, [ebp - 0x110]
push ecx
push eax
lea eax, [ebp - 0xe0]
push eax
push dword [esi + 0x14]
call dword [sym.imp.USER32.dll_DrawTextW]
push dword [ebp - 0x14c]
push dword [esi + 0x14]
call dword [sym.imp.GDI32.dll_SelectObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [ebp - 0x128]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [ebp - 0x11c]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [esi + 8]
call dword [sym.imp.USER32.dll_GetDC]
mov edi, dword [ebp - 0x114]
mov esi, eax
push 0xcc0020
xor eax, eax
push eax
push eax
push dword [edi + 0x14]
push dword [edi + 0xc4]
push dword [edi + 0xc0]
push eax
push eax
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
push esi
push dword [edi + 8]
jmp 0x4683b3
mov ecx, edi
call fcn.0046b381
jmp 0x4683b9
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x4f0830]
cmp eax, dword [ecx + 4]
jg 0x4683c4
mov ecx, dword [0x4f0820]
xor esi, esi
mov edx, dword [0x4f081c]
mov eax, dword [0x4f0828]
push 0xcc0020
push ecx
push edx
push dword [edi + 0xc]
sub eax, ecx
push eax
mov eax, dword [0x4f0824]
sub eax, edx
push eax
push esi
push esi
push dword [edi + 0x14]
mov edi, dword [sym.imp.GDI32.dll_BitBlt]
call edi
push esi
mov esi, dword [ebp - 0x114]
mov ecx, esi
push dword [ebp - 0x148]
push dword [esi + 0x14]
call fcn.004698f5
push dword [esi + 8]
call dword [sym.imp.USER32.dll_GetDC]
mov ecx, dword [ebp - 0xe4]
xor edx, edx
sub ecx, dword [ebp - 0xec]
mov esi, eax
mov eax, dword [ebp - 0x114]
push 0xcc0020
push edx
push edx
push dword [eax + 0x14]
push ecx
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xf0]
push ecx
push edx
push edx
push esi
call edi
mov eax, dword [ebp - 0x114]
push esi
push dword [eax + 8]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [ebp - 0x14]
call fcn.004a774e
ret 0xc
push 0x4f0830
call fcn.004a4556
cmp dword [0x4f0830], 0xffffffff
pop ecx
jne 0x468321
mov edi, 0x4f081c
lea esi, [ebp - 0xf0]
push 0x4f0830
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.004a450c
mov edi, dword [ebp - 0x114]
pop ecx
jmp 0x468321