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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
mov eax, dword [0x1036a00c]
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.10169f60
mov ecx, dword [ebx]
test ecx, ecx
je 0x1015119e
lea eax, [esp + 0x68]
mov dword [esp + 0x68], 0x102fb214
push eax
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
call fcn.10164240
lea ecx, [esp + 0x68]
call fcn.1018de10
mov esi, eax
lea ecx, [esp + 0x44]
push esi
call fcn.1018bd00
push 0x1e
push str._dt_Font_Family_Name:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
mov edx, dword [esp + 0x44]
add edx, 8
je 0x101510dd
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 0x101510d0
sub ecx, dword [esp + 0x58]
jmp 0x101510df
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169f60
push 0x21
push str.__dd__dt_Font_Full_Name:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
mov edx, dword [esp + 0x48]
add edx, 8
je 0x1015111d
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 0x10151110
sub ecx, dword [esp + 0x58]
jmp 0x1015111f
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169f60
push 0x1f
push str.__dd__dt_Font_PS_Name:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
mov edx, dword [esp + 0x4c]
add edx, 8
je 0x1015115d
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 0x10151150
sub ecx, dword [esp + 0x58]
jmp 0x1015115f
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169f60
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169f60
lea ecx, [esp + 0x44]
call fcn.10151a30
test esi, esi
je 0x1015118d
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
lea ecx, [esp + 0x68]
mov dword [esp + 0x68], 0x102fb214
call fcn.1018d840
push 0x16
push str._dt_TextSize:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
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.10169f60
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169f60
push 0x18
push str._dt_TextScaleX:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
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.10169f60
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169f60
push 0x17
push str._dt_TextSkewX:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
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.10169f60
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169f60
mov esi, dword [ebx + 4]
test esi, esi
je 0x101512f4
push 0x18
push str._dt_PathEffect:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
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.10169f60
mov esi, dword [ebx + 8]
test esi, esi
je 0x10151321
push 0x14
push str._dt_Shader:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
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.10169f60
mov esi, dword [ebx + 0xc]
test esi, esi
je 0x1015134e
push 0x16
push str._dt_Xfermode:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
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.10169f60
mov esi, dword [ebx + 0x10]
test esi, esi
je 0x1015137b
push 0x18
push str._dt_MaskFilter:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
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.10169f60
mov esi, dword [ebx + 0x14]
test esi, esi
je 0x101513a8
push 0x19
push str._dt_ColorFilter:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
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.10169f60
cmp dword [ebx + 0x18], 0
je 0x101513cc
push 0x18
push str._dt_Rasterizer:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169f60
mov esi, dword [ebx + 0x1c]
test esi, esi
je 0x101513f9
push 0x18
push str._dt_DrawLooper:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
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.10169f60
mov esi, dword [ebx + 0x20]
test esi, esi
je 0x10151426
push 0x19
push str._dt_ImageFilter:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
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.10169f60
cmp dword [ebx + 0x24], 0
je 0x1015144a
push 0x18
push str._dt_Annotation:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169f60
push 0x15
push str._dt_Color:__dt__dd_0x
push ecx
mov ecx, edi
call fcn.10169f60
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 0x10151462
lea eax, [esi - 1]
test eax, eax
js 0x1015148a
dec ecx
sub eax, 1
mov byte [ecx], 0x30
jns 0x10151481
lea eax, [esp + 0x60]
sub eax, ecx
push eax
push ecx
push ecx
mov ecx, edi
call fcn.10169f60
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169f60
push 0x1a
push str._dt_Stroke_Width:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
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.10169f60
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169f60
push 0x1a
push str._dt_Stroke_Miter:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
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.10169f60
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169f60
push 0x14
push str._dt_Flags:__dt__dd__
push ecx
mov ecx, edi
call fcn.10169f60
mov edx, dword [ebx + 0x40]
test dx, dx
je 0x101517c1
xor cl, cl
test dl, 1
je 0x101515a3
push 9
push str.AntiAlias
push ecx
mov ecx, edi
call fcn.10169f60
mov edx, dword [ebx + 0x40]
mov cl, 1
shr edx, 2
test dl, 1
je 0x101515cf
test cl, cl
je 0x101515be
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169f60
push 6
push str.Dither
push ecx
mov ecx, edi
call fcn.10169f60
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 3
test al, 1
je 0x101515fd
test cl, cl
je 0x101515ec
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169f60
push 0xd
push str.UnderlineText
push ecx
mov ecx, edi
call fcn.10169f60
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 4
test al, 1
je 0x1015162b
test cl, cl
je 0x1015161a
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169f60
push 0xe
push str.StrikeThruText
push ecx
mov ecx, edi
call fcn.10169f60
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 5
test al, 1
je 0x10151659
test cl, cl
je 0x10151648
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169f60
push 0xc
push str.FakeBoldText
push ecx
mov ecx, edi
call fcn.10169f60
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 6
test al, 1
je 0x10151687
test cl, cl
je 0x10151676
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169f60
push 0xa
push str.LinearText
push ecx
mov ecx, edi
call fcn.10169f60
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 7
test al, 1
je 0x101516b5
test cl, cl
je 0x101516a4
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169f60
push 0xc
push str.SubpixelText
push ecx
mov ecx, edi
call fcn.10169f60
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 8
test al, 1
je 0x101516e3
test cl, cl
je 0x101516d2
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169f60
push 0xb
push str.DevKernText
push ecx
mov ecx, edi
call fcn.10169f60
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 9
test al, 1
je 0x10151711
test cl, cl
je 0x10151700
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169f60
push 0xd
push str.LCDRenderText
push ecx
mov ecx, edi
call fcn.10169f60
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 0xa
test al, 1
je 0x1015173f
test cl, cl
je 0x1015172e
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169f60
push 0x12
push str.EmbeddedBitmapText
push ecx
mov ecx, edi
call fcn.10169f60
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 0xb
test al, 1
je 0x1015176d
test cl, cl
je 0x1015175c
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169f60
push 0xa
push str.Autohinted
push ecx
mov ecx, edi
call fcn.10169f60
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 0xc
test al, 1
je 0x1015179b
test cl, cl
je 0x1015178a
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169f60
push 0xc
push str.VerticalText
push ecx
mov ecx, edi
call fcn.10169f60
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 0xd
test al, 1
je 0x101517d0
test cl, cl
je 0x101517b8
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169f60
push 0xc
push str.GenA8FromLCD
jmp 0x101517c8
push 4
push str.None
push ecx
mov ecx, edi
call fcn.10169f60
push 6
push str.___dd_
push ecx
mov ecx, edi
call fcn.10169f60
push 0x19
push str._dt_FilterLevel:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
mov eax, dword [ebx + 0x40]
shr eax, 0x1c
and eax, 3
mov edx, dword [eax*4 + 0x102f9734]
test edx, edx
je 0x10151812
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10151807
sub ecx, esi
jmp 0x10151814
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169f60
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169f60
push 0x17
push str._dt_TextAlign:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
movzx eax, word [ebx + 0x42]
and eax, 3
mov edx, dword [eax*4 + 0x102f974c]
test edx, edx
je 0x1015185e
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10151853
sub ecx, esi
jmp 0x10151860
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169f60
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169f60
push 0x15
push str._dt_CapType:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
mov eax, dword [ebx + 0x40]
shr eax, 0x12
and eax, 3
mov edx, dword [eax*4 + 0x102f9718]
test edx, edx
je 0x101518ac
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101518a1
sub ecx, esi
jmp 0x101518ae
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169f60
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169f60
push 0x16
push str._dt_JoinType:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
mov eax, dword [ebx + 0x40]
shr eax, 0x14
and eax, 3
mov edx, dword [eax*4 + 0x102f970c]
test edx, edx
je 0x101518fb
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101518f0
sub ecx, esi
jmp 0x101518fd
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169f60
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169f60
push 0x13
push str._dt_Style:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
mov eax, dword [ebx + 0x40]
shr eax, 0x16
and eax, 3
mov edx, dword [eax*4 + 0x102f96e0]
test edx, edx
je 0x1015194b
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10151940
sub ecx, esi
jmp 0x1015194d
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169f60
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169f60
push 0x1a
push str._dt_TextEncoding:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
movzx eax, byte [ebx + 0x43]
and eax, 3
mov edx, dword [eax*4 + 0x102f9778]
test edx, edx
je 0x1015199b
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10151990
sub ecx, esi
jmp 0x1015199d
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169f60
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169f60
push 0x15
push str._dt_Hinting:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169f60
mov eax, dword [ebx + 0x40]
shr eax, 0x1a
and eax, 3
mov edx, dword [eax*4 + 0x102f9724]
test edx, edx
je 0x101519eb
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101519e0
sub ecx, esi
jmp 0x101519ed
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169f60
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169f60
push 0xf
push str.__dd___dl___dl_
push ecx
mov ecx, edi
call fcn.10169f60
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.102af935
mov esp, ebp
pop ebp
ret 4