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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
mov eax, dword [0x1036900c]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, ecx
push 0x1d
push str._dl__dt_SkPaint:__dt__dd__dl_
push ecx
mov ecx, edi
call fcn.10169e10
mov ecx, dword [ebx]
test ecx, ecx
je 0x1015102e
lea eax, [esp + 0x68]
mov dword [esp + 0x68], 0x102fa18c
push eax
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
call fcn.101640e0
lea ecx, [esp + 0x68]
call fcn.1018dcf0
mov esi, eax
lea ecx, [esp + 0x44]
push esi
call fcn.1018bbe0
push 0x1e
push str._dt_Font_Family_Name:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov edx, dword [esp + 0x44]
add edx, 8
je 0x10150f6d
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x58], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10150f60
sub ecx, dword [esp + 0x58]
jmp 0x10150f6f
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169e10
push 0x21
push str.__dd__dt_Font_Full_Name:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov edx, dword [esp + 0x48]
add edx, 8
je 0x10150fad
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x58], eax
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10150fa0
sub ecx, dword [esp + 0x58]
jmp 0x10150faf
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169e10
push 0x1f
push str.__dd__dt_Font_PS_Name:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov edx, dword [esp + 0x4c]
add edx, 8
je 0x10150fed
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x58], eax
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10150fe0
sub ecx, dword [esp + 0x58]
jmp 0x10150fef
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169e10
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
lea ecx, [esp + 0x44]
call fcn.101518c0
test esi, esi
je 0x1015101d
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
lea ecx, [esp + 0x68]
mov dword [esp + 0x68], 0x102fa18c
call fcn.1018d720
push 0x16
push str._dt_TextSize:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
movss xmm0, dword [ebx + 0x28]
lea eax, [esp + 0x68]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str._.8g
push 0x10
push eax
call fcn.100a2fd0
mov esi, eax
lea eax, [esp + 0x7c]
push esi
push eax
lea eax, [esp + 0x74]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0x20
lea eax, [esp + 0x58]
push esi
push eax
push ecx
mov ecx, edi
call fcn.10169e10
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
push 0x18
push str._dt_TextScaleX:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
movss xmm0, dword [ebx + 0x2c]
lea eax, [esp + 0x68]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str._.8g
push 0x10
push eax
call fcn.100a2fd0
mov esi, eax
lea eax, [esp + 0x7c]
push esi
push eax
lea eax, [esp + 0x74]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0x20
lea eax, [esp + 0x58]
push esi
push eax
push ecx
mov ecx, edi
call fcn.10169e10
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
push 0x17
push str._dt_TextSkewX:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
movss xmm0, dword [ebx + 0x30]
lea eax, [esp + 0x68]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str._.8g
push 0x10
push eax
call fcn.100a2fd0
mov esi, eax
push esi
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x74]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0x20
lea eax, [esp + 0x58]
push esi
push eax
push ecx
mov ecx, edi
call fcn.10169e10
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov esi, dword [ebx + 4]
test esi, esi
je 0x10151184
push 0x18
push str._dt_PathEffect:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 0x20]
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov esi, dword [ebx + 8]
test esi, esi
je 0x101511b1
push 0x14
push str._dt_Shader:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 0x28]
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov esi, dword [ebx + 0xc]
test esi, esi
je 0x101511de
push 0x16
push str._dt_Xfermode:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 0x30]
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov esi, dword [ebx + 0x10]
test esi, esi
je 0x1015120b
push 0x18
push str._dt_MaskFilter:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 0x20]
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov esi, dword [ebx + 0x14]
test esi, esi
je 0x10151238
push 0x19
push str._dt_ColorFilter:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 0x2c]
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
cmp dword [ebx + 0x18], 0
je 0x1015125c
push 0x18
push str._dt_Rasterizer:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov esi, dword [ebx + 0x1c]
test esi, esi
je 0x10151289
push 0x18
push str._dt_DrawLooper:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 0x1c]
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov esi, dword [ebx + 0x20]
test esi, esi
je 0x101512b6
push 0x19
push str._dt_ImageFilter:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 0x1c]
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
cmp dword [ebx + 0x24], 0
je 0x101512da
push 0x18
push str._dt_Annotation:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
push 0x15
push str._dt_Color:__dt__dd_0x
push ecx
mov ecx, edi
call fcn.10169e10
mov edx, dword [ebx + 0x34]
lea ecx, [esp + 0x60]
xor esi, esi
mov eax, edx
lea esi, [esi - 1]
and eax, 0xf
shr edx, 4
dec ecx
mov al, byte [eax + str.0123456789ABCDEF]
mov byte [ecx], al
test edx, edx
jne 0x101512f2
lea eax, [esi - 1]
test eax, eax
js 0x1015131a
dec ecx
sub eax, 1
mov byte [ecx], 0x30
jns 0x10151311
lea eax, [esp + 0x60]
sub eax, ecx
push eax
push ecx
push ecx
mov ecx, edi
call fcn.10169e10
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
push 0x1a
push str._dt_Stroke_Width:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
movss xmm0, dword [ebx + 0x38]
lea eax, [esp + 0x68]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str._.8g
push 0x10
push eax
call fcn.100a2fd0
mov esi, eax
lea eax, [esp + 0x7c]
push esi
push eax
lea eax, [esp + 0x74]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0x20
lea eax, [esp + 0x58]
push esi
push eax
push ecx
mov ecx, edi
call fcn.10169e10
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
push 0x1a
push str._dt_Stroke_Miter:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
movss xmm0, dword [ebx + 0x3c]
lea eax, [esp + 0x68]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str._.8g
push 0x10
push eax
call fcn.100a2fd0
mov esi, eax
lea eax, [esp + 0x7c]
push esi
push eax
lea eax, [esp + 0x74]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0x20
lea eax, [esp + 0x58]
push esi
push eax
push ecx
mov ecx, edi
call fcn.10169e10
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
push 0x14
push str._dt_Flags:__dt__dd__
push ecx
mov ecx, edi
call fcn.10169e10
mov edx, dword [ebx + 0x40]
test dx, dx
je 0x10151651
xor cl, cl
test dl, 1
je 0x10151433
push 9
push str.AntiAlias
push ecx
mov ecx, edi
call fcn.10169e10
mov edx, dword [ebx + 0x40]
mov cl, 1
shr edx, 2
test dl, 1
je 0x1015145f
test cl, cl
je 0x1015144e
push 1
push 0x102f96c8
push ecx
mov ecx, edi
call fcn.10169e10
push 6
push str.Dither
push ecx
mov ecx, edi
call fcn.10169e10
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 3
test al, 1
je 0x1015148d
test cl, cl
je 0x1015147c
push 1
push 0x102f96c8
push ecx
mov ecx, edi
call fcn.10169e10
push 0xd
push str.UnderlineText
push ecx
mov ecx, edi
call fcn.10169e10
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 4
test al, 1
je 0x101514bb
test cl, cl
je 0x101514aa
push 1
push 0x102f96c8
push ecx
mov ecx, edi
call fcn.10169e10
push 0xe
push str.StrikeThruText
push ecx
mov ecx, edi
call fcn.10169e10
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 5
test al, 1
je 0x101514e9
test cl, cl
je 0x101514d8
push 1
push 0x102f96c8
push ecx
mov ecx, edi
call fcn.10169e10
push 0xc
push str.FakeBoldText
push ecx
mov ecx, edi
call fcn.10169e10
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 6
test al, 1
je 0x10151517
test cl, cl
je 0x10151506
push 1
push 0x102f96c8
push ecx
mov ecx, edi
call fcn.10169e10
push 0xa
push str.LinearText
push ecx
mov ecx, edi
call fcn.10169e10
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 7
test al, 1
je 0x10151545
test cl, cl
je 0x10151534
push 1
push 0x102f96c8
push ecx
mov ecx, edi
call fcn.10169e10
push 0xc
push str.SubpixelText
push ecx
mov ecx, edi
call fcn.10169e10
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 8
test al, 1
je 0x10151573
test cl, cl
je 0x10151562
push 1
push 0x102f96c8
push ecx
mov ecx, edi
call fcn.10169e10
push 0xb
push str.DevKernText
push ecx
mov ecx, edi
call fcn.10169e10
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 9
test al, 1
je 0x101515a1
test cl, cl
je 0x10151590
push 1
push 0x102f96c8
push ecx
mov ecx, edi
call fcn.10169e10
push 0xd
push str.LCDRenderText
push ecx
mov ecx, edi
call fcn.10169e10
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 0xa
test al, 1
je 0x101515cf
test cl, cl
je 0x101515be
push 1
push 0x102f96c8
push ecx
mov ecx, edi
call fcn.10169e10
push 0x12
push str.EmbeddedBitmapText
push ecx
mov ecx, edi
call fcn.10169e10
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 0xb
test al, 1
je 0x101515fd
test cl, cl
je 0x101515ec
push 1
push 0x102f96c8
push ecx
mov ecx, edi
call fcn.10169e10
push 0xa
push str.Autohinted
push ecx
mov ecx, edi
call fcn.10169e10
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 0xc
test al, 1
je 0x1015162b
test cl, cl
je 0x1015161a
push 1
push 0x102f96c8
push ecx
mov ecx, edi
call fcn.10169e10
push 0xc
push str.VerticalText
push ecx
mov ecx, edi
call fcn.10169e10
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 0xd
test al, 1
je 0x10151660
test cl, cl
je 0x10151648
push 1
push 0x102f96c8
push ecx
mov ecx, edi
call fcn.10169e10
push 0xc
push str.GenA8FromLCD
jmp 0x10151658
push 4
push str.None
push ecx
mov ecx, edi
call fcn.10169e10
push 6
push str.___dd_
push ecx
mov ecx, edi
call fcn.10169e10
push 0x19
push str._dt_FilterLevel:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov eax, dword [ebx + 0x40]
shr eax, 0x1c
and eax, 3
mov edx, dword [eax*4 + 0x102f86a4]
test edx, edx
je 0x101516a2
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10151697
sub ecx, esi
jmp 0x101516a4
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169e10
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
push 0x17
push str._dt_TextAlign:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
movzx eax, word [ebx + 0x42]
and eax, 3
mov edx, dword [eax*4 + 0x102f86bc]
test edx, edx
je 0x101516ee
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101516e3
sub ecx, esi
jmp 0x101516f0
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169e10
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
push 0x15
push str._dt_CapType:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov eax, dword [ebx + 0x40]
shr eax, 0x12
and eax, 3
mov edx, dword [eax*4 + 0x102f8688]
test edx, edx
je 0x1015173c
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10151731
sub ecx, esi
jmp 0x1015173e
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169e10
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
push 0x16
push str._dt_JoinType:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov eax, dword [ebx + 0x40]
shr eax, 0x14
and eax, 3
mov edx, dword [eax*4 + 0x102f867c]
test edx, edx
je 0x1015178b
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10151780
sub ecx, esi
jmp 0x1015178d
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169e10
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
push 0x13
push str._dt_Style:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov eax, dword [ebx + 0x40]
shr eax, 0x16
and eax, 3
mov edx, dword [eax*4 + 0x102f8650]
test edx, edx
je 0x101517db
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101517d0
sub ecx, esi
jmp 0x101517dd
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169e10
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
push 0x1a
push str._dt_TextEncoding:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
movzx eax, byte [ebx + 0x43]
and eax, 3
mov edx, dword [eax*4 + 0x102f86e8]
test edx, edx
je 0x1015182b
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10151820
sub ecx, esi
jmp 0x1015182d
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169e10
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
push 0x15
push str._dt_Hinting:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169e10
mov eax, dword [ebx + 0x40]
shr eax, 0x1a
and eax, 3
mov edx, dword [eax*4 + 0x102f8694]
test edx, edx
je 0x1015187b
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10151870
sub ecx, esi
jmp 0x1015187d
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169e10
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169e10
push 0xf
push str.__dd___dl___dl_
push ecx
mov ecx, edi
call fcn.10169e10
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.102af895
mov esp, ebp
pop ebp
ret 4