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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x16c
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
cmp dword [edi + 0x2bb], 2
jne 0x63a456
mov esi, dword [ebx + 0x48]
test esi, esi
mov eax, dword [edi + 0x2bf]
je 0x63a456
movzx edx, al
movzx ecx, ah
or edx, 0xffffff00
shl edx, 8
or ecx, edx
shr eax, 0x10
movzx eax, al
shl ecx, 8
or ecx, eax
push ecx
mov ecx, dword [esi]
push ecx
call sub.gdiplus.dll_GdipGraphicsClear
test eax, eax
je 0x63a456
mov dword [esi + 4], eax
mov eax, dword [ebp + 0x14]
fld dword [eax]
mov ecx, dword [ebp + 0x18]
fld dword [eax + 4]
fld dword [eax + 8]
fld dword [eax + 0xc]
fld dword [ebp + 0x10]
fld st(0)
fchs
fld dword [ebp + 0xc]
fchs
fld st(0)
faddp st(7)
faddp st(4)
fadd st(4), st(0)
faddp st(2)
fxch st(4)
fcomp dword [ecx + 8]
fnstsw ax
test ah, 0x41
je 0x63a8b7
fxch st(1)
fcomp dword [ecx]
fnstsw ax
test ah, 5
jnp 0x63a8b9
fxch st(1)
fcomp dword [ecx + 0xc]
fnstsw ax
test ah, 0x41
je 0x63a8bb
fcomp dword [ecx + 4]
fnstsw ax
test ah, 1
jne 0x63a8bd
fld1
lea eax, [esp + 0x70]
fst dword [esp + 0x70]
mov ecx, ebx
fldz
fst dword [esp + 0x74]
fst dword [esp + 0x78]
fst dword [esp + 0x7c]
fst dword [esp + 0x80]
fst dword [esp + 0x88]
fst dword [esp + 0x8c]
fst dword [esp + 0x90]
fst dword [esp + 0x94]
fst dword [esp + 0x9c]
fstp dword [esp + 0xa8]
fst dword [esp + 0x84]
fst dword [esp + 0x98]
fstp dword [esp + 0xac]
fld dword [ebp + 0xc]
fstp dword [esp + 0xa0]
fstp dword [esp + 0xa4]
call fcn.0049d410
mov edx, dword [edi]
mov eax, dword [edx + 0x20]
mov ecx, edi
call eax
fmul dword [0x72369c]
fnstcw word [esp + 0xe]
movzx eax, word [esp + 0xe]
or eax, 0xc00
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp dword [esp + 0x10]
mov cl, byte [esp + 0x10]
cmp dword [edi + 0x2bb], 1
fldcw word [esp + 0xe]
mov byte [esp + 0xe], cl
jne 0x63a62b
mov esi, dword [ebx + 0x48]
test esi, esi
je 0x63a59e
mov edx, dword [esi]
push 3
push edx
call sub.gdiplus.dll_GdipSetSmoothingMode
test eax, eax
je 0x63a58a
mov dword [esi + 4], eax
mov esi, dword [ebx + 0x48]
mov eax, dword [esi]
push 1
push eax
call sub.gdiplus.dll_GdipSetTextRenderingHint
test eax, eax
je 0x63a59e
mov dword [esi + 4], eax
mov ecx, dword [edi + 0x2bf]
mov dl, byte [esp + 0xe]
lea eax, [esp + 0x10]
push eax
lea esi, [esp + 0xd0]
mov dword [esp + 0x14], ecx
mov byte [esp + 0x18], dl
call fcn.004032c0
mov eax, dword [ebp + 0x18]
mov ecx, esi
push ecx
mov ecx, ebx
call fcn.00406f60
mov esi, dword [ebx + 0x48]
test esi, esi
je 0x63a5fa
mov edx, dword [esi]
push 4
push edx
call sub.gdiplus.dll_GdipSetSmoothingMode
test eax, eax
je 0x63a5e6
mov dword [esi + 4], eax
mov esi, dword [ebx + 0x48]
mov eax, dword [esi]
push 4
push eax
call sub.gdiplus.dll_GdipSetTextRenderingHint
test eax, eax
je 0x63a5fa
mov dword [esi + 4], eax
mov ecx, dword [esp + 0xdc]
push ecx
mov dword [esp + 0xdc], 0x70c650
call sub.gdiplus.dll_GdipDeleteBrush
mov edx, dword [esp + 0xd0]
push edx
mov dword [esp + 0xd0], 0x6dbd38
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp byte [edi + 0x2b1], 0
je 0x63a777
fld1
lea eax, [esp + 0x30]
fst dword [esp + 0x30]
push eax
fldz
mov eax, ebx
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x40]
fst dword [esp + 0x44]
fst dword [esp + 0x4c]
fst dword [esp + 0x50]
fst dword [esp + 0x54]
fst dword [esp + 0x58]
fst dword [esp + 0x60]
fst dword [esp + 0x64]
fst dword [esp + 0x68]
fstp dword [esp + 0x6c]
fst dword [esp + 0x48]
fst dword [esp + 0x5c]
fstp dword [esp + 0x70]
call fcn.0049d480
lea eax, [esp + 0x30]
lea ecx, [esp + 0x138]
call fcn.0057b170
fild dword [edi + 0x89]
fmul dword [0x7239c8]
fld dword [0x7236c4]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x63a6b7
fstp st(1)
jmp 0x63a6b9
fstp st(0)
fld dword [esp + 0x168]
lea eax, [esp + 0x138]
fadd st(1)
mov ecx, ebx
fstp dword [esp + 0x168]
fadd dword [esp + 0x16c]
fstp dword [esp + 0x16c]
call fcn.0049d410
mov cl, byte [esp + 0xe]
lea edx, [esp + 0x28]
push edx
lea esi, [esp + 0xb8]
mov dword [esp + 0x2c], 0x323232
mov byte [esp + 0x30], cl
call fcn.004032c0
mov esi, dword [ebx + 0x48]
test esi, esi
lea eax, [edi + 0x530]
je 0x63a73b
test eax, eax
je 0x63a71c
add eax, 4
jmp 0x63a71e
xor eax, eax
mov eax, dword [eax]
mov ecx, dword [esp + 0xbc]
mov edx, dword [ecx + 4]
push eax
mov eax, dword [esi]
push edx
push eax
call sub.gdiplus.dll_GdipFillPath
test eax, eax
je 0x63a73b
mov dword [esi + 4], eax
lea eax, [esp + 0x30]
mov ecx, ebx
call fcn.0049d410
mov ecx, dword [esp + 0xc4]
push ecx
mov dword [esp + 0xc4], 0x70c650
call sub.gdiplus.dll_GdipDeleteBrush
mov edx, dword [esp + 0xb8]
push edx
mov dword [esp + 0xb8], 0x6dbd38
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp byte [edi + 0x2b2], 0
je 0x63a825
lea esi, [esp + 0x114]
call fcn.004034a0
mov eax, dword [edi + 0x2b3]
mov cl, byte [esp + 0xe]
lea edx, [esp + 0x18]
push edx
lea esi, [esp + 0x100]
mov dword [esp + 0x124], 2
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20], cl
call fcn.004032c0
fild dword [edi + 0x89]
push ecx
lea eax, [edi + 0x530]
fmul dword [edi + 0x2b7]
lea ecx, [esp + 0x118]
fstp dword [esp]
push eax
push ebx
mov eax, esi
call fcn.0050f430
mov ecx, dword [esp + 0x10c]
push ecx
mov dword [esp + 0x10c], 0x70c650
call sub.gdiplus.dll_GdipDeleteBrush
mov edx, dword [esp + 0x100]
push edx
mov dword [esp + 0x100], 0x6dbd38
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x128]
push eax
call fcn.0069c8fa
add esp, 4
mov ecx, dword [edi + 0x295]
mov dl, byte [esp + 0xe]
lea eax, [esp + 0x20]
push eax
lea esi, [esp + 0xe8]
mov dword [esp + 0x24], ecx
mov byte [esp + 0x28], dl
call fcn.004032c0
mov ebx, dword [ebx + 0x48]
add edi, 0x530
test ebx, ebx
je 0x63a87d
test edi, edi
je 0x63a85e
lea eax, [edi + 4]
jmp 0x63a860
xor eax, eax
mov ecx, dword [eax]
mov edx, dword [esp + 0xec]
mov eax, dword [edx + 4]
push ecx
mov ecx, dword [ebx]
push eax
push ecx
call sub.gdiplus.dll_GdipFillPath
test eax, eax
je 0x63a87d
mov dword [ebx + 4], eax
mov edx, dword [esp + 0xf4]
push edx
mov dword [esp + 0xf4], 0x70c650
call sub.gdiplus.dll_GdipDeleteBrush
mov eax, dword [esp + 0xe8]
push eax
mov dword [esp + 0xe8], 0x6dbd38
call dword [sym.imp.GDI32.dll_DeleteObject]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
fstp st(0)
fstp st(0)
fstp st(0)
pop edi
fstp st(0)
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14