Function at 0x4d7d40
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x579d70
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5d7050]
xor eax, esp
push eax
lea eax, [esp + 0x6c]
mov dword fs:[0], eax
mov ebx, ecx
mov ebp, dword [esp + 0x80]
mov edi, edx
lea eax, [esp + 0x18]
push eax
xor esi, esi
push edi
mov dword [esp + 0x20], esi
call sub.gdiplus.dll_GdipCreateFromHDC
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x74], esi
mov edx, dword [0x5e736c]
mov eax, dword [edx + 0xc]
mov ecx, 0x5e736c
call eax
add eax, 0x10
mov dword [esp + 0x30], eax
push esi
mov byte [esp + 0x78], 1
call fcn.004562a0
add esp, 4
push eax
lea esi, [esp + 0x48]
call fcn.0045b8d0
movzx eax, bl
or eax, 0xfffffe00
movzx ecx, bh
shl eax, 8
or eax, ecx
shr ebx, 0x10
movzx edx, bl
shl eax, 8
lea ecx, [esp + 0x1c]
or eax, edx
push ecx
xor edi, edi
push eax
mov dword [esp + 0x24], edi
call sub.gdiplus.dll_GdipCreateSolidFill
mov esi, dword [esp + 0x1c]
lea edx, [esp + 0x34]
push edx
push edi
push edi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x40], edi
call sub.gdiplus.dll_GdipCreateStringFormat
mov ebx, dword [esp + 0x84]
test bl, 1
mov dword [esp + 0x38], eax
je 0x4d7e2a
mov eax, dword [esp + 0x34]
push 1
push eax
call sub.gdiplus.dll_GdipSetStringFormatAlign
cmp eax, edi
je 0x4d7e2a
mov dword [esp + 0x38], eax
test bl, 4
je 0x4d7e43
mov ecx, dword [esp + 0x34]
push 1
push ecx
call sub.gdiplus.dll_GdipSetStringFormatLineAlign
cmp eax, edi
je 0x4d7e43
mov dword [esp + 0x38], eax
test ebx, 0x8000
je 0x4d7e5f
mov edx, dword [esp + 0x34]
push 3
push edx
call sub.gdiplus.dll_GdipSetStringFormatTrimming
cmp eax, edi
je 0x4d7e5f
mov dword [esp + 0x38], eax
test ebx, 0x40000
je 0x4d7e7b
mov eax, dword [esp + 0x34]
push 4
push eax
call sub.gdiplus.dll_GdipSetStringFormatTrimming
cmp eax, edi
je 0x4d7e7b
mov dword [esp + 0x38], eax
test ebx, 0x4000
je 0x4d7e97
mov ecx, dword [esp + 0x34]
push 5
push ecx
call sub.gdiplus.dll_GdipSetStringFormatTrimming
cmp eax, edi
je 0x4d7e97
mov dword [esp + 0x38], eax
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 8]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
sub edx, eax
mov eax, dword [ebp + 0xc]
fstp dword [esp + 0x24]
fild dword [esp + 0x20]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x34]
sub eax, ecx
mov ecx, dword [esp + 0x7c]
fstp dword [esp + 0x28]
fild dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [ecx]
push esi
mov esi, dword [esp + 0x48]
fstp dword [esp + 0x30]
fild dword [esp + 0x24]
push edx
lea ecx, [esp + 0x60]
push ecx
fstp dword [esp + 0x2c]
push esi
fld dword [esp + 0x34]
push 0xffffffffffffffff
fstp dword [esp + 0x6c]
push eax
fld dword [esp + 0x40]
push ebx
fstp dword [esp + 0x78]
fld dword [esp + 0x48]
fstp dword [esp + 0x7c]
fld dword [esp + 0x3c]
fstp dword [esp + 0x80]
call sub.gdiplus.dll_GdipDrawString
cmp eax, edi
je 0x4d7f25
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x34]
push edx
call sub.gdiplus.dll_GdipDeleteStringFormat
mov eax, dword [esp + 0x50]
push eax
call sub.gdiplus.dll_GdipDeleteBrush
push esi
call sub.gdiplus.dll_GdipDeleteFont
mov byte [esp + 0x74], 0
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d7f64
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ebx
call sub.gdiplus.dll_GdipDeleteGraphics
mov ecx, dword [esp + 0x6c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret