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

Disassembly:
push 0xffffffffffffffff
push 0x47367c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb0
push ebx
push ebp
push edi
mov ebp, ecx
mov eax, dword [esp + 0xe0]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x74]
mov ebx, dword [esp + 0xd0]
xor edi, edi
cmp eax, ecx
mov dword [esp + 0xc4], edi
jge 0x430b1c
cmp ebx, edi
je 0x430b23
mov dword [ebp + 0x74], eax
mov eax, dword [esp + 0xd4]
add eax, 0xfffffff0
mov dword [esp + 0xc4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x430df0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
jmp 0x430df0
cmp ebx, edi
je 0x430b23
mov dword [ebp + 0x74], eax
push esi
mov esi, dword [esp + 0xd0]
cmp esi, edi
jne 0x430b56
mov eax, dword [esp + 0xd8]
add eax, 0xfffffff0
mov dword [esp + 0xc8], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x430de5
mov eax, dword [ebp + 0x1c]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x430b8b
mov eax, dword [esp + 0xd8]
add eax, 0xfffffff0
mov dword [esp + 0xc8], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x430de5
mov edx, dword [esi]
push edi
push edi
xor ecx, ecx
push ecx
xor eax, eax
push eax
push esi
call dword [edx + 0x14]
lea eax, [esp + 0x1c]
push eax
push esi
mov dword [esp + 0x88], 0x4770f8
mov dword [esp + 0x24], edi
call sub.gdiplus.dll_GdipCreateBitmapFromStream
mov ecx, dword [esp + 0x1c]
mov esi, eax
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], ecx
cmp ebx, edi
mov byte [esp + 0xc8], 1
mov ecx, ebp
jne 0x430bdc
push 0x402
jmp 0x430be1
push 0x403
call fcn.00460845
push 0x402
mov ecx, ebp
mov edi, eax
mov dword [esp + 0x8c], 0
call fcn.00460845
mov eax, dword [eax + 0x1c]
lea edx, [esp + 0xa0]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
sub ecx, eax
mov eax, dword [esp + 0xa0]
push 0x21808
push ecx
sub edx, eax
push edx
lea ecx, [esp + 0x9c]
call fcn.00406320
test esi, esi
mov byte [esp + 0xc8], 2
je 0x430ce4
test ebx, ebx
jne 0x430d00
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x24]
call fcn.00406860
mov eax, dword [esp + 0x24]
test eax, eax
mov dword [esp + 0x24], ebx
jne 0x430cc3
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x6c]
mov dword [esp + 0x1c], 0xff000000
call fcn.00406790
lea ecx, [esp + 0x90]
call fcn.004062c0
push eax
lea ecx, [esp + 0x94]
call fcn.00406290
push eax
push ebx
push ebx
lea edx, [esp + 0x78]
push edx
lea ecx, [esp + 0x34]
call fcn.004068a0
mov eax, dword [esp + 0x6c]
push eax
call sub.gdiplus.dll_GdipDeleteBrush
mov ecx, dword [esp + 0x20]
push ecx
call sub.gdiplus.dll_GdipDeleteGraphics
push 1
lea edx, [esp + 0x94]
push edx
push edi
mov ecx, ebp
call fcn.0042d1c0
jmp 0x430e20
lea ecx, [esp + 0x80]
call fcn.00406290
test eax, eax
jne 0x430e0a
test ebx, ebx
je 0x430e0a
mov edx, dword [edi + 0x1c]
lea ecx, [esp + 0x50]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edi, dword [edi + 0x1c]
lea eax, [esp + 0x18]
push eax
xor esi, esi
push edi
mov dword [esp + 0x20], esi
call sub.gdiplus.dll_GdipCreateFromHWND
cmp eax, esi
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], esi
jne 0x430d9f
push 0xf
call dword [sym.imp.USER32.dll_GetSysColor]
mov edi, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x5c]
sub edx, edi
mov dword [esp + 0x30], edx
sub ecx, esi
mov edx, eax
mov dword [esp + 0x34], ecx
shr edx, 0x10
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x11]
push edx
push ecx
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], esi
call fcn.00429fb0
push eax
lea ecx, [esp + 0x48]
call fcn.00406790
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x40]
call fcn.0042a310
mov ecx, dword [esp + 0x48]
push ecx
call sub.gdiplus.dll_GdipDeleteBrush
mov edx, dword [esp + 0x38]
push edx
call sub.gdiplus.dll_GdipDeleteGraphics
mov eax, dword [esp + 0x94]
push eax
call sub.gdiplus.dll_GdipDisposeImage
mov ecx, dword [esp + 0x84]
push ecx
call sub.gdiplus.dll_GdipDisposeImage
mov eax, dword [esp + 0xd8]
add eax, 0xfffffff0
mov dword [esp + 0xc8], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x430def
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
pop esi
mov ecx, dword [esp + 0xbc]
pop edi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xbc
ret 0x18
push 1
lea eax, [esp + 0x84]
push eax
push edi
mov ecx, ebp
call fcn.0042d1c0
test ebx, ebx
jne 0x430da9
push 0x402
mov ecx, ebp
call fcn.00460845
xor esi, esi
cmp eax, esi
jne 0x430e36
xor eax, eax
jmp 0x430e39
mov eax, dword [eax + 0x1c]
lea ecx, [esp + 0x40]
push ecx
push eax
mov dword [esp + 0x48], esi
call sub.gdiplus.dll_GdipCreateFromHWND
mov edx, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edx
push 0x402
mov ecx, ebp
mov byte [esp + 0xcc], 3
call fcn.00460845
mov edx, dword [eax + 0x1c]
lea ecx, [esp + 0xb0]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
cmp dword [esp + 0xdc], esi
je 0x431089
mov eax, dword [esp + 0xd8]
cmp dword [eax - 0xc], esi
je 0x431089
xor edi, edi
push edi
mov ebx, 1
push 0x477190
lea ecx, [esp + 0xe0]
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], ebx
call fcn.00407200
cmp eax, 0xffffffff
jne 0x430ed0
mov ebx, dword [esp + 0xd8]
mov edi, dword [ebx - 0xc]
jmp 0x430f02
mov ecx, eax
sub ecx, esi
inc ebx
cmp ecx, edi
mov esi, eax
jle 0x430edd
mov edi, ecx
add eax, 2
push eax
push 0x477190
lea ecx, [esp + 0xe0]
call fcn.00407200
cmp eax, 0xffffffff
jne 0x430ed0
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0xd8]
mov eax, dword [ebx - 0xc]
sub eax, esi
cmp eax, edi
mov dword [esp + 0x1c], edi
jle 0x430f13
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x60]
push ecx
push 0
push 0x477188
mov dword [esp + 0x6c], 0
call sub.gdiplus.dll_GdipCreateFontFamilyFromName
mov dword [esp + 0x64], eax
push 2
push 1
push 0x41480000
lea edx, [esp + 0x6c]
push edx
lea ecx, [esp + 0x78]
call fcn.00406a00
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x48]
mov dword [esp + 0x14], 0xa0b4b4b4
call fcn.00406790
fild dword [esp + 0x1c]
lea ecx, [esp + 0x28]
push ecx
fmul dword [0x477184]
lea edx, [esp + 0x48]
fld dword [0x477180]
push edx
lea ecx, [esp + 0x28]
fadd st(1)
mov dword [esp + 0x30], 0x40a00000
mov dword [esp + 0x34], 0x40a00000
mov dword [esp + 0x58], 0x41200000
fstp dword [esp + 0x38]
mov dword [esp + 0x5c], 0x41200000
fild dword [esp + 0x20]
fmul dword [0x47717c]
fst dword [esp + 0x3c]
fxch st(1)
fadd dword [0x477178]
fstp dword [esp + 0x60]
fstp dword [esp + 0x64]
call fcn.00406f80
push 0
push 0
lea ecx, [esp + 0x40]
call fcn.004061f0
push 0
lea ecx, [esp + 0x3c]
call fcn.00406840
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x78]
mov dword [esp + 0x14], 0xff0000ff
call fcn.00406790
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x14], 0xff000000
call fcn.00406790
push ebx
lea ecx, [esp + 0x14]
mov byte [esp + 0xcc], 9
call fcn.00408520
mov eax, dword [eax]
lea edx, [esp + 0x74]
push edx
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x58]
push edx
lea ecx, [esp + 0x74]
push ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x38]
call fcn.004068e0
lea ecx, [esp + 0x10]
call fcn.00407240
mov edx, dword [esp + 0x2c]
push edx
call sub.gdiplus.dll_GdipDeleteBrush
mov eax, dword [esp + 0x78]
push eax
call sub.gdiplus.dll_GdipDeleteBrush
mov ecx, dword [esp + 0x38]
push ecx
call sub.gdiplus.dll_GdipDeleteStringFormat
mov edx, dword [esp + 0x48]
push edx
call sub.gdiplus.dll_GdipDeleteBrush
mov eax, dword [esp + 0x68]
push eax
call sub.gdiplus.dll_GdipDeleteFont
mov ecx, dword [esp + 0x60]
push ecx
mov byte [esp + 0xcc], 3
call sub.gdiplus.dll_GdipDeleteFontFamily
mov eax, dword [esp + 0xe0]
test eax, eax
je 0x431145
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x78]
mov dword [esp + 0x14], 0xff0000ff
call fcn.00406790
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x1c]
push ecx
push 0x2f
lea ecx, [esp + 0x50]
mov dword [esp + 0x1c], 0xffffff00
mov dword [esp + 0x24], 0xffff0000
call fcn.004067f0
mov edx, dword [esp + 0xb8]
sub edx, dword [esp + 0xb0]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
fsub dword [0x479da0]
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0x28]
fstp dword [esp + 0x30]
mov dword [esp + 0x34], 0x3f800000
mov dword [esp + 0x38], 0x42200000
mov dword [esp + 0x3c], 0x42200000
call fcn.00406fe0
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x28]
call fcn.00406fe0
mov ecx, dword [esp + 0x48]
push ecx
call sub.gdiplus.dll_GdipDeleteBrush
mov edx, dword [esp + 0x78]
push edx
call sub.gdiplus.dll_GdipDeleteBrush
mov edx, dword [ebp + 0x7c]
inc edx
mov ecx, ebp
mov dword [ebp + 0x7c], edx
call fcn.0042e400
mov eax, dword [esp + 0x20]
push eax
jmp 0x430da4