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

Disassembly:
sub esp, 0x2c
fild dword [edi + 0xf0]
mov eax, dword [edi + 0xf8]
sub eax, dword [edi + 0xf0]
mov ecx, dword [edi + 0xfc]
sub ecx, dword [edi + 0xf4]
fstp dword [esp + 0x1c]
fild dword [edi + 0xf4]
mov dword [esp + 8], eax
push ebx
mov ebx, dword [edi + 0x70]
fstp dword [esp + 0x24]
push ebp
fild dword [esp + 0x10]
mov dword [esp + 0x10], ecx
xor ebp, ebp
push esi
fstp dword [esp + 0x30]
fild dword [esp + 0x14]
fstp dword [esp + 0x34]
cmp ebx, ebp
je 0x422f60
cmp dword [edi + 0xb0], ebp
je 0x422edf
mov esi, dword [edi + 0x74]
cmp esi, ebp
je 0x422edf
mov eax, dword [esi + 4]
lea edx, [esp + 0xc]
push edx
push eax
mov dword [esp + 0x14], ebp
call sub.gdiplus.dll_GdipGetImageHeight
cmp eax, ebp
je 0x422e8f
mov dword [esi + 8], eax
mov ebx, dword [edi + 0x74]
mov edx, dword [ebx + 4]
mov esi, dword [esp + 0xc]
lea ecx, [esp + 0x10]
push ecx
push edx
mov dword [esp + 0x18], ebp
call sub.gdiplus.dll_GdipGetImageWidth
cmp eax, ebp
je 0x422eaf
mov dword [ebx + 8], eax
mov dword [esp + 0x14], esi
fild dword [esp + 0x14]
test esi, esi
jge 0x422ec1
fadd dword [0x5a0b70]
mov eax, dword [esp + 0x10]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [esp + 0x20]
test eax, eax
jge 0x422eda
fadd dword [0x5a0b70]
mov ecx, dword [edi + 0x74]
jmp 0x422f46
mov edx, dword [ebx + 4]
lea ecx, [esp + 0x10]
push ecx
push edx
mov dword [esp + 0x18], ebp
call sub.gdiplus.dll_GdipGetImageHeight
cmp eax, ebp
je 0x422ef8
mov dword [ebx + 8], eax
mov ebx, dword [edi + 0x70]
mov ecx, dword [ebx + 4]
mov esi, dword [esp + 0x10]
lea eax, [esp + 0xc]
push eax
push ecx
mov dword [esp + 0x14], ebp
call sub.gdiplus.dll_GdipGetImageWidth
cmp eax, ebp
je 0x422f18
mov dword [ebx + 8], eax
mov dword [esp + 0x14], esi
fild dword [esp + 0x14]
test esi, esi
jge 0x422f2a
fadd dword [0x5a0b70]
mov edx, dword [esp + 0xc]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [esp + 0x1c]
test edx, edx
jge 0x422f43
fadd dword [0x5a0b70]
mov ecx, dword [edi + 0x70]
mov esi, dword [esp + 0x4c]
fstp dword [esp + 8]
fldz
lea eax, [esp + 0x38]
fst dword [esp + 4]
fstp dword [esp]
call fcn.00424450
lea eax, [esp + 0xc]
push eax
push 0xff808080
mov dword [esp + 0x24], vtable.Gdiplus::SolidBrush.0
mov dword [esp + 0x14], ebp
call sub.gdiplus.dll_GdipCreateSolidFill
fild dword [edi + 0x144]
mov ecx, dword [edi + 0x14c]
sub ecx, dword [edi + 0x144]
mov edx, dword [edi + 0x148]
fstp dword [esp + 0x2c]
fild dword [edi + 0x140]
sub edx, dword [edi + 0x140]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x14], ecx
fstp dword [esp + 0x28]
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0xa0]
fild dword [esp + 0x14]
mov dword [esp + 0x14], edx
movzx ecx, al
mov edx, eax
fstp dword [esp + 0x34]
fild dword [esp + 0x14]
or ecx, 0xffffff00
shr edx, 8
shl ecx, 8
movzx edx, dl
fstp dword [esp + 0x30]
shr eax, 0x10
or ecx, edx
movzx eax, al
shl ecx, 8
or ecx, eax
push ecx
push ebx
mov dword [esp + 0x28], ebx
call sub.gdiplus.dll_GdipSetSolidFillColor
cmp eax, ebp
je 0x423001
mov dword [esp + 0x24], eax
mov esi, dword [esp + 0x3c]
lea ecx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x2c]
call fcn.00424350
fild dword [edi + 0x154]
mov edx, dword [edi + 0x15c]
sub edx, dword [edi + 0x154]
mov eax, dword [edi + 0x158]
fstp dword [esp + 0x2c]
fild dword [edi + 0x150]
sub eax, dword [edi + 0x150]
mov dword [esp + 0x14], edx
fstp dword [esp + 0x28]
fild dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xa4]
movzx ecx, al
mov edx, eax
fstp dword [esp + 0x34]
fild dword [esp + 0x14]
or ecx, 0xffffff00
shr edx, 8
shl ecx, 8
movzx edx, dl
fstp dword [esp + 0x30]
shr eax, 0x10
or ecx, edx
movzx eax, al
shl ecx, 8
or ecx, eax
push ecx
push ebx
call sub.gdiplus.dll_GdipSetSolidFillColor
cmp eax, ebp
je 0x42308d
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x2c]
call fcn.00424350
fild dword [edi + 0x134]
mov edx, dword [edi + 0x13c]
sub edx, dword [edi + 0x134]
mov eax, dword [edi + 0x138]
fstp dword [esp + 0x2c]
fild dword [edi + 0x130]
sub eax, dword [edi + 0x130]
mov ebx, dword [edi + 0x80]
mov dword [esp + 0x14], edx
fstp dword [esp + 0x28]
fild dword [esp + 0x14]
mov dword [esp + 0x14], eax
fstp dword [esp + 0x34]
fild dword [esp + 0x14]
fstp dword [esp + 0x30]
cmp ebx, ebp
je 0x423224
cmp dword [edi + 0xac], ebp
jne 0x423101
cmp dword [edi + 0xd4], ebp
je 0x42319b
mov esi, dword [edi + 0x84]
cmp esi, ebp
je 0x42319b
mov edx, dword [esi + 4]
lea ecx, [esp + 0x10]
push ecx
push edx
mov dword [esp + 0x18], ebp
call sub.gdiplus.dll_GdipGetImageHeight
cmp eax, ebp
je 0x423128
mov dword [esi + 8], eax
mov ebx, dword [edi + 0x84]
mov ecx, dword [ebx + 4]
mov esi, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
push ecx
mov dword [esp + 0x1c], ebp
call sub.gdiplus.dll_GdipGetImageWidth
cmp eax, ebp
je 0x42314b
mov dword [ebx + 8], eax
mov dword [esp + 0x18], esi
fild dword [esp + 0x18]
test esi, esi
jge 0x42315d
fadd dword [0x5a0b70]
mov edx, dword [esp + 0x14]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [esp + 0x24]
test edx, edx
jge 0x423176
fadd dword [0x5a0b70]
mov ecx, dword [edi + 0x84]
fstp dword [esp + 8]
fldz
mov esi, dword [esp + 0x4c]
fst dword [esp + 4]
lea eax, [esp + 0x38]
fstp dword [esp]
call fcn.00424450
jmp 0x42326c
mov ecx, dword [ebx + 4]
lea eax, [esp + 0x14]
push eax
push ecx
mov dword [esp + 0x1c], ebp
call sub.gdiplus.dll_GdipGetImageHeight
cmp eax, ebp
je 0x4231b4
mov dword [ebx + 8], eax
mov ebx, dword [edi + 0x80]
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push eax
mov dword [esp + 0x18], ebp
call sub.gdiplus.dll_GdipGetImageWidth
cmp eax, ebp
je 0x4231d7
mov dword [ebx + 8], eax
mov dword [esp + 0x18], esi
fild dword [esp + 0x18]
test esi, esi
jge 0x4231e9
fadd dword [0x5a0b70]
mov ecx, dword [esp + 0x10]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [esp + 0x20]
test ecx, ecx
jge 0x423202
fadd dword [0x5a0b70]
mov ecx, dword [edi + 0x80]
fstp dword [esp + 8]
fldz
mov esi, dword [esp + 0x4c]
fst dword [esp + 4]
lea eax, [esp + 0x38]
fstp dword [esp]
call fcn.00424450
jmp 0x42326c
mov eax, dword [edi + 0xa8]
movzx edx, al
mov ecx, eax
or edx, 0xffffff00
shr ecx, 8
movzx ecx, cl
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0xc]
shr eax, 0x10
movzx eax, al
shl edx, 8
or edx, eax
push edx
push ecx
call sub.gdiplus.dll_GdipSetSolidFillColor
cmp eax, ebp
je 0x42325e
mov dword [esp + 0x24], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x2c]
call fcn.00424350
fild dword [edi + 0x104]
mov eax, dword [edi + 0x108]
sub eax, dword [edi + 0x100]
mov ecx, dword [edi + 0x10c]
sub ecx, dword [edi + 0x104]
fstp dword [esp + 0x2c]
fild dword [edi + 0x100]
mov esi, dword [edi + 0x78]
mov dword [esp + 0x14], eax
fstp dword [esp + 0x28]
fild dword [esp + 0x14]
mov dword [esp + 0x14], ecx
fstp dword [esp + 0x30]
fild dword [esp + 0x14]
fstp dword [esp + 0x34]
cmp esi, ebp
je 0x4233b4
cmp dword [edi + 0xb4], ebp
je 0x423333
mov ebx, dword [edi + 0x7c]
cmp ebx, ebp
je 0x423333
mov eax, dword [ebx + 4]
lea edx, [esp + 0x14]
push edx
push eax
mov dword [esp + 0x1c], ebp
call sub.gdiplus.dll_GdipGetImageHeight
cmp eax, ebp
je 0x4232e3
mov dword [ebx + 8], eax
mov ebx, dword [edi + 0x7c]
mov edx, dword [ebx + 4]
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
push edx
mov dword [esp + 0x18], ebp
call sub.gdiplus.dll_GdipGetImageWidth
cmp eax, ebp
je 0x423303
mov dword [ebx + 8], eax
mov dword [esp + 0x18], esi
fild dword [esp + 0x18]
test esi, esi
jge 0x423315
fadd dword [0x5a0b70]
mov eax, dword [esp + 0x10]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [esp + 0x20]
test eax, eax
jge 0x42332e
fadd dword [0x5a0b70]
mov ecx, dword [edi + 0x7c]
jmp 0x42339a
mov edx, dword [esi + 4]
lea ecx, [esp + 0x14]
push ecx
push edx
mov dword [esp + 0x1c], ebp
call sub.gdiplus.dll_GdipGetImageHeight
cmp eax, ebp
je 0x42334c
mov dword [esi + 8], eax
mov ebx, dword [edi + 0x78]
mov ecx, dword [ebx + 4]
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push ecx
mov dword [esp + 0x18], ebp
call sub.gdiplus.dll_GdipGetImageWidth
cmp eax, ebp
je 0x42336c
mov dword [ebx + 8], eax
mov dword [esp + 0x18], esi
fild dword [esp + 0x18]
test esi, esi
jge 0x42337e
fadd dword [0x5a0b70]
mov edx, dword [esp + 0x10]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [esp + 0x20]
test edx, edx
jge 0x423397
fadd dword [0x5a0b70]
mov ecx, dword [edi + 0x78]
mov esi, dword [esp + 0x4c]
fstp dword [esp + 8]
fldz
lea eax, [esp + 0x38]
fst dword [esp + 4]
fstp dword [esp]
call fcn.00424450
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0x2c
mov dword [esp + 4], eax
jmp fcn.0055c854