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

Disassembly:
sub esp, 0x1b8
mov ecx, dword [esp + 0x1bc]
push ebx
push ebp
push esi
push edi
mov edi, eax
mov eax, dword [ecx]
mov edx, dword [eax]
call edx
mov ebp, eax
xor ebx, ebx
cmp ebp, ebx
mov dword [esp + 0x38], ebp
je 0x4ed4a8
mov eax, dword [esp + 0x1d4]
push eax
lea ecx, [esp + 0x94]
push ecx
mov ecx, dword [esp + 0x1d8]
xor eax, eax
call fcn.004d3de0
push ebx
push ebx
push ebx
lea eax, [esp + 0x9c]
call fcn.004d0d70
mov esi, edi
call fcn.004d1a70
lea esi, [esp + 0x124]
mov dword [esp + 0x118], 0x70e2d0
call fcn.004062c0
lea eax, [esp + 0x118]
mov dword [esp + 0x1be], ebx
mov dword [esp + 0x1c2], edi
call fcn.004d80b0
mov eax, dword [ebp + 4]
mov esi, dword [sym.imp.USER32.dll_MapDialogRect]
lea edx, [esp + 0xf0]
push edx
push eax
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], 0x44
call esi
mov edx, dword [ebp + 4]
lea ecx, [esp + 0x3c]
push ecx
push edx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], 6
call esi
mov ecx, dword [ebp + 4]
lea eax, [esp + 0x90]
push eax
push ecx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], 0x50
call esi
mov eax, dword [ebp + 4]
lea edx, [esp + 0x54]
push edx
push eax
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], 0x14
call esi
fld dword [0x723980]
push ecx
mov ecx, dword [ebp + 4]
fstp dword [esp]
push ecx
call fcn.00517660
lea edx, [esp + 0x78]
push edx
push ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x80], ebx
call sub.gdiplus.dll_GdipCreatePath
fild dword [esp + 0x28]
mov ebp, dword [esp + 0x1cc]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x10]
fst dword [esp + 0x80]
sub eax, ebx
fld st(0)
fst dword [esp + 0x64]
mov dword [esp + 0x74], 0x6dc03c
je 0x4ecafd
sub eax, 1
je 0x4eca83
sub eax, 1
je 0x4eca18
fild dword [esp + 0x60]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xfc]
fst dword [esp + 0x68]
add ecx, eax
fild dword [esp + 0x1d0]
mov dword [esp + 0x18], ecx
add ecx, edx
fst dword [esp + 0x2c]
fst dword [esp + 0x20]
fild dword [esp + 0x18]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x9c]
add eax, ecx
fst dword [esp + 0x24]
fxch st(1)
fstp dword [esp + 0x54]
fild dword [esp + 0x18]
mov dword [esp + 0x18], eax
fst dword [esp + 0x58]
fxch st(4)
fst dword [esp + 0x3c]
fild dword [esp + 0x18]
jmp 0x4ecb44
mov eax, dword [esp + 0x1d4]
sub eax, dword [esp + 0x60]
mov edx, eax
sub edx, dword [esp + 0x9c]
mov dword [esp + 0x10], eax
sub eax, dword [esp + 0x48]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
mov dword [esp + 0x34], eax
sub eax, dword [esp + 0xfc]
fst dword [esp + 0x68]
fild dword [esp + 0x1d0]
mov dword [esp + 0x18], eax
fst dword [esp + 0x2c]
fst dword [esp + 0x20]
fild dword [esp + 0x18]
fst dword [esp + 0x24]
fxch st(1)
fstp dword [esp + 0x54]
fild dword [esp + 0x34]
fst dword [esp + 0x58]
fxch st(4)
fst dword [esp + 0x3c]
fild dword [esp + 0x10]
jmp 0x4ecb44
mov edi, dword [esp + 0x1d4]
mov esi, dword [esp + 0xfc]
mov ecx, dword [esp + 0x48]
mov eax, edi
sub eax, esi
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x34], eax
sub eax, ecx
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov eax, esi
cdq
sub eax, edx
fst dword [esp + 0x68]
mov esi, eax
fild dword [esp + 0x1d0]
mov eax, edi
cdq
fst dword [esp + 0x2c]
sub eax, edx
fst dword [esp + 0x20]
sar esi, 1
fild dword [esp + 0x34]
sar eax, 1
add eax, esi
mov dword [esp + 0x10], eax
fst dword [esp + 0x24]
add eax, ecx
fxch st(1)
fstp dword [esp + 0x54]
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
fst dword [esp + 0x58]
fxch st(4)
fst dword [esp + 0x3c]
fild dword [esp + 0x10]
jmp 0x4ecb44
fldz
mov eax, dword [esp + 0x1d4]
sub eax, dword [esp + 0x48]
fst dword [esp + 0x68]
fild dword [esp + 0x1d0]
mov dword [esp + 0x10], eax
fst dword [esp + 0x2c]
fst dword [esp + 0x20]
fild dword [esp + 0x48]
fst dword [esp + 0x24]
fxch st(1)
fstp dword [esp + 0x54]
fild dword [esp + 0x10]
fst dword [esp + 0x58]
fxch st(4)
fst dword [esp + 0x3c]
fild dword [esp + 0x1d4]
cmp byte [ebp + 0xbd], bl
fst dword [esp + 0x40]
je 0x4ecbdd
mov ecx, dword [esp + 0x1d0]
fxch st(3)
sub ecx, dword [esp + 0x28]
fstp dword [esp + 0x24]
mov eax, dword [esp + 0x24]
fxch st(2)
fstp dword [esp + 0x58]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
mov dword [esp + 0x68], eax
fst dword [esp + 0x20]
mov edx, dword [esp + 0x20]
fstp dword [esp + 0x54]
mov eax, dword [esp + 0x54]
fxch st(2)
mov dword [esp + 0x64], edx
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
fxch st(1)
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x58]
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
fstp dword [esp + 0x10]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x10]
fstp dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x14]
fld dword [esp + 0x68]
fld dword [esp + 0x64]
mov dword [esp + 0x40], ecx
fld dword [esp + 0x24]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], eax
jmp 0x4ecbe5
fstp st(5)
fstp st(4)
fstp st(3)
fxch st(2)
mov ecx, dword [esp + 0x78]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [esp + 0x30]
fstp dword [esp + 8]
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
push ecx
call sub.gdiplus.dll_GdipAddPathLine
cmp eax, ebx
je 0x4ecc0f
mov dword [esp + 0x7c], eax
lea edi, [esp + 0x54]
lea esi, [esp + 0x74]
call fcn.0049cbd0
lea edi, [esp + 0x3c]
call fcn.0049cbd0
lea edi, [esp + 0x64]
call fcn.0049cbd0
cmp byte [ebp + 0xbd], bl
je 0x4ecc4b
mov edx, dword [esp + 0x1d0]
sub edx, dword [esp + 0x28]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jmp 0x4ecc4d
fldz
cmp byte [ebp + 0xe], bl
fstp dword [esp + 0x18]
lea eax, [ebp + 0xc6]
jne 0x4ecc62
lea eax, [ebp + 0xc2]
mov eax, dword [eax]
push ecx
mov ecx, esp
lea esi, [esp + 0x104]
mov dword [esp + 0x14], eax
mov dword [ecx], eax
call fcn.00403200
mov esi, dword [esp + 0x16c]
cmp esi, ebx
je 0x4eccc4
fld dword [esp + 0x80]
mov eax, dword [esp + 0x108]
fild dword [esp + 0x1d4]
mov ecx, dword [eax + 4]
mov edx, dword [esi]
sub esp, 0x10
fstp dword [esp + 0xc]
fstp dword [esp + 8]
fldz
fstp dword [esp + 4]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
push edx
call sub.gdiplus.dll_GdipFillRectangle
cmp eax, ebx
je 0x4eccc4
mov dword [esi + 4], eax
cmp byte [ebp + 0xe], bl
jne 0x4ecd95
cmp byte [ebp + 0xf], bl
jne 0x4ecd95
cmp byte [ebp + 0xd], bl
fld dword [esp + 0x2c]
fstp dword [esp + 0x80]
mov dword [esp + 0x10], 0x646464
fldz
mov dword [esp + 0x34], 0x5a5a5a
fst dword [esp + 0x84]
mov dword [esp + 0x18], 0x4b4b4b
fld dword [0x7237e0]
mov byte [esp + 0x1c], 0xff
fstp dword [esp + 0x2c]
lea eax, [esp + 0x10]
fstp dword [esp + 0x30]
jne 0x4ecd22
lea eax, [esp + 0x34]
mov eax, dword [eax]
push ebx
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x88]
mov dword [esp + 0x18], eax
push edx
lea eax, [esp + 0x24]
lea ecx, [esp + 0x1c]
lea edi, [esp + 0x9c]
mov byte [esp + 0x20], 0xff
call fcn.00505c60
mov eax, edi
push eax
lea eax, [esp + 0x78]
lea ecx, [esp + 0x128]
call fcn.0050f4c0
mov ecx, dword [esp + 0xa0]
push ecx
mov dword [esp + 0xa0], 0x70c650
call sub.gdiplus.dll_GdipDeleteBrush
mov edx, dword [esp + 0x94]
push edx
mov dword [esp + 0x94], 0x6dbd38
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x4ecdaa
lea eax, [esp + 0x124]
push eax
lea edi, [esp + 0x78]
lea ecx, [esp + 0x14]
call fcn.0049d6c0
mov cl, byte [ebp + 0xe]
xor eax, eax
cmp cl, bl
setne al
cmp cl, bl
lea ecx, [ebp + 0xce]
lea eax, [eax + eax + 1]
jne 0x4ecdc8
lea ecx, [ebp + 0xd2]
mov ecx, dword [ecx]
push ecx
push eax
push ebx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
call dword [sym.imp.GDI32.dll_CreatePen]
lea ecx, [esp + 0x1a2]
push ecx
lea edi, [esp + 0x14]
lea esi, [esp + 0x17d]
lea ecx, [esp + 0x84]
mov dword [esp + 0x84], eax
call fcn.004033b0
test al, al
je 0x4ece1d
mov edx, dword [esp + 0x10]
mov dword [esp + 0x18e], edx
fld dword [esp + 0x64]
call fcn.006b24a0
fld dword [esp + 0x68]
cmp dword [ebp + 0x10], ebx
jne 0x4ecec0
mov dword [esp + 0x90], eax
call fcn.006b24a0
fld dword [esp + 0x20]
mov dword [esp + 0x94], eax
call fcn.006b24a0
fld dword [esp + 0x24]
sub eax, 1
mov dword [esp + 0x98], eax
call fcn.006b24a0
fld dword [esp + 0x54]
mov dword [esp + 0x18], eax
mov dword [esp + 0x9c], eax
call fcn.006b24a0
fld dword [esp + 0x58]
sub eax, 1
mov dword [esp + 0xa0], eax
call fcn.006b24a0
fld dword [esp + 0x3c]
mov ebp, eax
mov dword [esp + 0xa4], ebp
call fcn.006b24a0
fld dword [esp + 0x40]
mov dword [esp + 0xa8], eax
call fcn.006b24a0
mov dword [esp + 0xac], eax
push 4
lea eax, [esp + 0x94]
jmp 0x4ecf71
add eax, 0xffffffff
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], eax
call fcn.006b24a0
fld dword [esp + 0x20]
mov dword [esp + 0x9c], eax
call fcn.006b24a0
fld dword [esp + 0x24]
sub eax, 1
mov dword [esp + 0xa0], eax
call fcn.006b24a0
fld dword [esp + 0x54]
mov dword [esp + 0x18], eax
mov dword [esp + 0xa4], eax
call fcn.006b24a0
fld dword [esp + 0x58]
sub eax, 1
mov dword [esp + 0xa8], eax
call fcn.006b24a0
fld dword [esp + 0x3c]
mov ebp, eax
mov dword [esp + 0xac], ebp
call fcn.006b24a0
fld dword [esp + 0x40]
lea esi, [eax - 1]
mov dword [esp + 0xb0], esi
call fcn.006b24a0
mov edx, dword [esp + 0x1d4]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], edx
push 6
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x12c]
push ecx
call fcn.0049d0a0
mov edx, dword [esp + 0x1cc]
mov eax, dword [edx + 0xca]
push eax
push 2
push ebx
mov dword [esp + 0x74], 2
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
call dword [sym.imp.GDI32.dll_CreatePen]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x1a2]
push eax
lea edi, [esp + 0x14]
lea esi, [esp + 0x17d]
lea ecx, [esp + 0x68]
call fcn.004033b0
test al, al
je 0x4ecfd5
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18e], ecx
mov esi, dword [esp + 0x38]
mov eax, dword [esi + 4]
lea edx, [esp + 0x90]
push edx
push eax
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], 3
call dword [sym.imp.USER32.dll_MapDialogRect]
fld dword [0x723950]
mov eax, dword [esp + 0x9c]
cdq
push ecx
mov ecx, dword [esi + 4]
sub eax, edx
fstp dword [esp]
mov edi, eax
push ecx
sar edi, 1
call fcn.00517660
cdq
sub eax, edx
mov edx, dword [esp + 0x18]
mov ecx, eax
mov eax, dword [esp + 0x1d0]
sub eax, dword [esp + 0x28]
sar ecx, 1
add edx, ecx
mov dword [esp + 0x2c], edx
cdq
sub eax, edx
mov esi, eax
mov eax, dword [esp + 0x1cc]
sar esi, 1
add esi, dword [esp + 0x28]
sub ebp, ecx
cmp byte [eax + 0xbd], bl
je 0x4ed06c
cmp byte [eax + 0xc], bl
sete al
jmp 0x4ed06f
mov al, byte [eax + 0xc]
mov edx, dword [esp + 0x2c]
sub edx, ecx
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x9c], edx
add edx, ecx
mov dword [esp + 0xa4], edx
mov edx, ebp
sub edx, ecx
mov dword [esp + 0x48], ebp
add ebp, ecx
cmp al, bl
push 3
mov dword [esp + 0x44], edx
mov dword [esp + 0x54], ebp
lea ecx, [esp + 0x128]
je 0x4ed0b6
lea eax, [esi + edi]
sub esi, edi
jmp 0x4ed0bc
mov eax, esi
sub eax, edi
add esi, edi
mov dword [esp + 0x94], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x94]
push eax
push ecx
mov dword [esp + 0x50], esi
mov dword [esp + 0xa4], esi
call fcn.0049d0a0
push 3
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x12c]
push eax
call fcn.0049d0a0
mov ebp, dword [esp + 0x1cc]
mov al, byte [ebp + 0xc]
cmp al, bl
je 0x4ed116
mov ecx, dword [ebp + 8]
mov dword [esp + 0x2c], ecx
jmp 0x4ed11d
mov edx, dword [ebp + 4]
mov dword [esp + 0x2c], edx
cmp dword [esp + 0x2c], ebx
je 0x4ed417
cmp al, bl
mov ecx, dword [ebp + 0xbe]
mov dword [esp + 0x174], ecx
mov byte [esp + 0x178], 0xff
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
push ebx
je 0x4ed169
fld1
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 4]
push ebx
push ebx
push ebx
push ebx
push ecx
lea edx, [esp + 0x54]
fstp dword [esp]
push edx
call fcn.00402e40
jmp 0x4ed252
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx + 4]
call dword [sym.imp.GDI32.dll_DeleteObject]
push ebx
push ebx
push 0x31
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
lea edx, [esp + 0x90]
push edx
push 0x5c
push eax
call dword [sym.imp.GDI32.dll_GetObjectW]
test eax, eax
jne 0x4ed219
push 0x5c
lea eax, [esp + 0x94]
push ebx
push eax
call fcn.006a1300
add esp, 0xc
xor eax, eax
nop
movzx ecx, word [eax + str.MS_Shell_Dlg_2]
mov word [esp + eax + 0xac], cx
add eax, 2
cmp cx, bx
jne 0x4ed1b0
push esi
mov dword [esp + 0xa4], 0x190
mov byte [esp + 0xaf], 0x20
mov byte [esp + 0xab], 1
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
push 0x5a
push edi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push edi
push esi
mov ebp, eax
call dword [sym.imp.USER32.dll_ReleaseDC]
push 0x48
push ebp
push 8
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ebp, dword [esp + 0x1cc]
neg eax
mov dword [esp + 0x90], eax
fild dword [esp + 0x90]
push ecx
fstp dword [esp]
call fcn.00401650
call fcn.006b24a0
lea ecx, [esp + 0x90]
push ecx
mov dword [esp + 0x94], eax
mov dword [esp + 0xa4], 0x2bc
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [esp + 0x3c], eax
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x128]
push eax
call fcn.0050f500
mov cl, byte [ebp + 0xbd]
cmp cl, bl
je 0x4ed276
fld dword [0x723aec]
jmp 0x4ed27c
fld dword [0x723970]
mov eax, dword [esp + 0x1d0]
fstp dword [esp + 0x38]
cdq
sub eax, edx
mov esi, eax
mov eax, dword [esp + 0x1d4]
sar esi, 1
cdq
mov dword [esp + 0x10], esi
sub eax, edx
fild dword [esp + 0x10]
sar eax, 1
cmp cl, bl
mov dword [esp + 0x10], eax
fst dword [esp + 0x34]
fild dword [esp + 0x10]
fld st(0)
fst dword [esp + 0x10]
je 0x4ed2cb
fild dword [esp + 0xfc]
fld dword [esp + 0x24]
fadd st(1), st(0)
fxch st(3)
fsubrp st(1)
jmp 0x4ed2d5
fld dword [esp + 0x24]
fld st(0)
fsubrp st(3)
fxch st(2)
call fcn.006b24a0
cmp dword [ebp + 0x10], 1
jne 0x4ed2f7
fld dword [0x6bf9f0]
fmul st(2), st(0)
fmul dword [esp + 0x58]
fsubp st(2)
fxch st(1)
call fcn.006b24a0
jmp 0x4ed2f9
fstp st(1)
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
sub eax, esi
mov esi, dword [esp + 0x16c]
cmp esi, ebx
mov edi, eax
je 0x4ed344
mov ecx, dword [esi]
push ebx
sub esp, 8
fstp dword [esp + 4]
fstp dword [esp]
push ecx
call sub.gdiplus.dll_GdipTranslateWorldTransform
cmp eax, ebx
je 0x4ed32a
mov dword [esi + 4], eax
fld dword [esp + 0x38]
mov edx, dword [esi]
push ebx
push ecx
fstp dword [esp]
push edx
call sub.gdiplus.dll_GdipRotateWorldTransform
cmp eax, ebx
je 0x4ed348
mov dword [esi + 4], eax
jmp 0x4ed348
fstp st(1)
fstp st(0)
cmp byte [ebp + 0xc], bl
je 0x4ed373
cmp esi, ebx
je 0x4ed373
mov eax, dword [esi]
push 3
push eax
call sub.gdiplus.dll_GdipSetSmoothingMode
cmp eax, ebx
je 0x4ed362
mov dword [esi + 4], eax
mov ecx, dword [esi]
push 1
push ecx
call sub.gdiplus.dll_GdipSetTextRenderingHint
cmp eax, ebx
je 0x4ed373
mov dword [esi + 4], eax
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
push edi
push edx
mov edx, dword [esp + 0x1d8]
push eax
mov eax, dword [esp + 0x108]
lea ecx, [esp + 0x130]
push ecx
call fcn.00406ae0
cmp byte [ebp + 0xc], bl
je 0x4ed3c4
cmp esi, ebx
je 0x4ed408
mov edx, dword [esi]
push 4
push edx
call sub.gdiplus.dll_GdipSetSmoothingMode
cmp eax, ebx
je 0x4ed3b3
mov dword [esi + 4], eax
mov eax, dword [esi]
push 4
push eax
call sub.gdiplus.dll_GdipSetTextRenderingHint
cmp eax, ebx
je 0x4ed3c4
mov dword [esi + 4], eax
cmp esi, ebx
je 0x4ed408
fld dword [esp + 0x38]
push ebx
push ecx
fchs
mov ecx, dword [esi]
fstp dword [esp]
push ecx
call sub.gdiplus.dll_GdipRotateWorldTransform
cmp eax, ebx
je 0x4ed3e2
mov dword [esi + 4], eax
fld dword [esp + 0x10]
mov edx, dword [esi]
push ebx
fchs
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x40]
fchs
fstp dword [esp]
push edx
call sub.gdiplus.dll_GdipTranslateWorldTransform
cmp eax, ebx
je 0x4ed408
mov dword [esi + 4], eax
mov eax, dword [esp + 0x3c]
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
push eax
call edi
jmp 0x4ed41d
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
lea esi, [esp + 0x124]
call fcn.0050f0d0
mov ecx, dword [esp + 0x64]
push ecx
call edi
mov edx, dword [esp + 0x80]
push edx
call edi
mov eax, dword [esp + 0x110]
push eax
mov dword [esp + 0x110], 0x70c650
call sub.gdiplus.dll_GdipDeleteBrush
mov ecx, dword [esp + 0x104]
push ecx
mov dword [esp + 0x104], 0x6dbd38
call edi
mov edx, dword [esp + 0x78]
push edx
mov dword [esp + 0x78], 0x6dc03c
call sub.gdiplus.dll_GdipDeletePath
mov dword [esp + 0x118], 0x70e2d0
call fcn.0050f0d0
mov ecx, dword [esp + 0x1be]
cmp ecx, ebx
je 0x4ed49c
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
lea eax, [esp + 0x124]
call fcn.00406370
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 0xc