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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x47320e
push eax
mov dword fs:[0], esp
sub esp, 0xe8
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x1e4d4]
xor ebx, ebx
cmp eax, ebx
jl 0x42ade4
lea eax, [esi + 0x1e4ec]
cmp eax, ebx
je 0x42ade4
mov eax, dword [eax + 0x1c]
cmp eax, ebx
mov dword [esp + 0x40], eax
je 0x42ade4
mov ecx, dword [esi + 0x1e508]
push ebp
push edi
lea eax, [esp + 0xe8]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
lea ecx, [esp + 0x30]
push ecx
push ebx
push 0x26200a
push ebx
push 0x120
push 0x2d0
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0x2d0
mov dword [esp + 0x78], 0x120
mov dword [esp + 0xf0], 0x4770f8
mov dword [esp + 0x48], ebx
call sub.gdiplus.dll_GdipCreateBitmapFromScan0
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xdc], eax
lea edx, [esp + 0x50]
push edx
push eax
mov dword [esp + 0x108], ebx
mov dword [esp + 0x58], ebx
call sub.gdiplus.dll_GdipGetImageGraphicsContext
mov edi, dword [esp + 0x50]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edi
cmp dword [esi + 0x1e4e8], ebx
mov byte [esp + 0x100], 1
mov ebp, 1
je 0x42ab32
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x68], 0x3ec9374c
mov dword [esp + 0x6c], 0x3eb2b021
mov dword [esp + 0x70], 0x3e8b4396
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], 0x3f44dd2f
mov dword [esp + 0x80], 0x3f2f9db2
mov dword [esp + 0x84], 0x3f08b439
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], 0x3e418937
mov dword [esp + 0x94], 0x3e2c0831
mov dword [esp + 0x98], 0x3e0624dd
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], 0x3f800000
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], 0x3f800000
mov dword [esp + 0x18], ebx
call sub.gdiplus.dll_GdipCreateImageAttributes
mov edx, dword [esp + 0x14]
push ebx
push ebx
lea ecx, [esp + 0x6c]
push ecx
push ebp
push ebx
push edx
mov dword [esp + 0x30], eax
call sub.gdiplus.dll_GdipSetImageAttributesColorMatrix
cmp eax, ebx
je 0x42aa16
mov dword [esp + 0x18], eax
push 4
push edi
call sub.gdiplus.dll_GdipSetInterpolationMode
cmp eax, ebx
je 0x42aa26
mov dword [esp + 0x24], eax
push 0xf
call dword [sym.imp.USER32.dll_GetSysColor]
movzx ecx, al
or ecx, 0xffffff00
shl ecx, 8
movzx edx, ah
or ecx, edx
shr eax, 0x10
shl ecx, 8
movzx eax, al
or ecx, eax
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x40]
call fcn.00406790
mov edx, dword [esp + 0x40]
push 0x120
push 0x2d0
push ebx
push ebx
push edx
push edi
call sub.gdiplus.dll_GdipFillRectangleI
cmp eax, ebx
je 0x42aa7b
mov dword [esp + 0x24], eax
lea eax, [esp + 0x2c]
push eax
push edi
call sub.gdiplus.dll_GdipBeginContainer2
cmp eax, ebx
je 0x42aa8e
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 0x1e688]
push ecx
push edi
call sub.gdiplus.dll_GdipSetWorldTransform
cmp eax, ebx
je 0x42aaa3
mov dword [esp + 0x24], eax
mov esi, dword [esi + 0x1e4e8]
lea edx, [esp + 0x10]
push edx
push esi
mov dword [esp + 0xd0], 0x4770f8
mov dword [esp + 0x18], ebx
call sub.gdiplus.dll_GdipCreateBitmapFromStream
cmp eax, ebx
mov esi, dword [esp + 0x10]
mov dword [esp + 0xcc], esi
mov dword [esp + 0xd0], ebx
jne 0x42ab14
push ebx
push ebx
lea eax, [esp + 0x1c]
push eax
push 2
push 0x120
push 0x2d0
push ebx
push ebx
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0xec]
push edx
lea ecx, [esp + 0x48]
call fcn.00406980
mov eax, dword [esp + 0x2c]
push eax
lea ecx, [esp + 0x24]
call fcn.00429fe0
xor ebp, ebp
push esi
call sub.gdiplus.dll_GdipDisposeImage
mov ecx, dword [esp + 0x40]
push ecx
call sub.gdiplus.dll_GdipDeleteBrush
mov edx, dword [esp + 0x14]
push edx
call sub.gdiplus.dll_GdipDisposeImageAttributes
cmp ebp, ebx
je 0x42ab78
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x14], 0xff808080
call fcn.00406790
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
push 0x120
push 0x2d0
push ecx
push edx
push eax
lea ecx, [esp + 0x34]
call fcn.004068a0
mov eax, dword [esp + 0x40]
push eax
mov dword [esp + 0x40], 0x4770f0
call sub.gdiplus.dll_GdipDeleteBrush
mov esi, dword [esp + 0x108]
mov eax, dword [esi + 0xc]
mov ebp, dword [esi + 0x14]
mov edi, dword [esi + 0x10]
lea ecx, [esp + 0x1c]
sub ebp, eax
mov dword [esp + 0x10], eax
mov eax, dword [esi + 8]
push ecx
push 0x80ffff00
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], eax
sub edi, eax
mov dword [esp + 0x24], ebx
call sub.gdiplus.dll_GdipCreateSolidFill
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
push ebp
push edi
push edx
mov edx, dword [esp + 0x2c]
push eax
push ecx
push edx
call sub.gdiplus.dll_GdipFillRectangleI
cmp eax, ebx
je 0x42abd1
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
push eax
call sub.gdiplus.dll_GdipDeleteBrush
lea ecx, [esp + 0x14]
push ecx
push ebx
push 0x40000000
push 0xffff0000
mov dword [esp + 0x24], ebx
call sub.gdiplus.dll_GdipCreatePen1
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push ebp
push edi
push edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x38]
push eax
push ecx
push edx
call sub.gdiplus.dll_GdipDrawRectangleI
cmp eax, ebx
je 0x42ac1b
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
push eax
call sub.gdiplus.dll_GdipDeletePen
call fcn.0045c368
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0x10]
sub eax, ecx
push eax
lea ecx, [esp + 0x20]
push 0x479748
push ecx
mov byte [esp + 0x10c], 2
call fcn.0042a800
fild dword [esp + 0x34]
add esp, 0xc
push ebx
fmul qword [0x479740]
push 3
push ebx
lea ecx, [esp + 0x40]
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x34]
push edx
push str.Arial
call fcn.00428eb0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x14]
push eax
push ecx
push edx
call sub.gdiplus.dll_GdipGetFontHeight
cmp eax, ebx
je 0x42ac9c
mov dword [esp + 0x38], eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esi - 0xc]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
mov eax, edi
cdq
sub eax, edx
mov edx, dword [esp + 0x20]
sar eax, 1
add eax, ecx
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
mov eax, dword [esp + 0x34]
fld dword [esp + 0x14]
lea ecx, [esp + 0x28]
fimul dword [esp + 0x1c]
push ecx
push edx
push eax
fmul qword [str.333333]
fsubp st(1)
fstp dword [esp + 0x38]
call sub.gdiplus.dll_GdipGetFontHeight
cmp eax, ebx
je 0x42acec
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x10]
mov eax, ebp
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
lea edx, [esp + 0x10]
fld dword [esp + 0x28]
push edx
fmul dword [0x4795c8]
push 0xff000000
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x44], 0x47710c
fsubp st(1)
mov dword [esp + 0x18], ebx
fstp dword [esp + 0x20]
call sub.gdiplus.dll_GdipCreateSolidFill
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x3c]
push ecx
mov dword [esp + 0x50], eax
mov eax, dword [esi - 0xc]
push eax
push esi
lea ecx, [esp + 0x34]
mov dword [esp + 0x54], edi
call fcn.00428da0
mov eax, dword [esp + 0x48]
lea edx, [esp + 0x10]
push edx
push eax
mov dword [esp + 0x18], ebx
call sub.gdiplus.dll_GdipCreateFromHWND
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x54]
mov dword [esp + 0x4c], eax
push edx
lea eax, [esp + 0xdc]
mov dword [esp + 0x4c], ecx
push eax
lea ecx, [esp + 0x50]
call fcn.0042a350
mov ecx, dword [esp + 0x48]
push ecx
call sub.gdiplus.dll_GdipDeleteGraphics
push edi
call sub.gdiplus.dll_GdipDeleteBrush
mov edx, dword [esp + 0x34]
push edx
call sub.gdiplus.dll_GdipDeleteFont
lea eax, [esi - 0x10]
mov byte [esp + 0x100], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
pop edi
pop ebp
jg 0x42add0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x18]
push eax
call sub.gdiplus.dll_GdipDeleteGraphics
mov ecx, dword [esp + 0x28]
push ecx
call sub.gdiplus.dll_GdipDisposeImage
mov ecx, dword [esp + 0xf0]
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0xf4
ret 4