Function at 0x10151070
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.10169fc0
mov ecx, dword [ebx]
test ecx, ecx
je 0x101511de
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.10164280
lea ecx, [esp + 0x68]
call fcn.1018de80
mov esi, eax
lea ecx, [esp + 0x44]
push esi
call fcn.1018bd70
push 0x1e
push str._dt_Font_Family_Name:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
mov edx, dword [esp + 0x44]
add edx, 8
je 0x1015111d
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 0x10151110
sub ecx, dword [esp + 0x58]
jmp 0x1015111f
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169fc0
push 0x21
push str.__dd__dt_Font_Full_Name:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
mov edx, dword [esp + 0x48]
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.10169fc0
push 0x1f
push str.__dd__dt_Font_PS_Name:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
mov edx, dword [esp + 0x4c]
add edx, 8
je 0x1015119d
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 0x10151190
sub ecx, dword [esp + 0x58]
jmp 0x1015119f
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169fc0
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
lea ecx, [esp + 0x44]
call fcn.10151a70
test esi, esi
je 0x101511cd
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
lea ecx, [esp + 0x68]
mov dword [esp + 0x68], 0x102fb214
call fcn.1018d8b0
push 0x16
push str._dt_TextSize:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
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.10169fc0
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
push 0x18
push str._dt_TextScaleX:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
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.10169fc0
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
push 0x17
push str._dt_TextSkewX:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
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.10169fc0
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
mov esi, dword [ebx + 4]
test esi, esi
je 0x10151334
push 0x18
push str._dt_PathEffect:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
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.10169fc0
mov esi, dword [ebx + 8]
test esi, esi
je 0x10151361
push 0x14
push str._dt_Shader:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
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.10169fc0
mov esi, dword [ebx + 0xc]
test esi, esi
je 0x1015138e
push 0x16
push str._dt_Xfermode:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
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.10169fc0
mov esi, dword [ebx + 0x10]
test esi, esi
je 0x101513bb
push 0x18
push str._dt_MaskFilter:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
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.10169fc0
mov esi, dword [ebx + 0x14]
test esi, esi
je 0x101513e8
push 0x19
push str._dt_ColorFilter:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
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.10169fc0
cmp dword [ebx + 0x18], 0
je 0x1015140c
push 0x18
push str._dt_Rasterizer:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
mov esi, dword [ebx + 0x1c]
test esi, esi
je 0x10151439
push 0x18
push str._dt_DrawLooper:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
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.10169fc0
mov esi, dword [ebx + 0x20]
test esi, esi
je 0x10151466
push 0x19
push str._dt_ImageFilter:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
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.10169fc0
cmp dword [ebx + 0x24], 0
je 0x1015148a
push 0x18
push str._dt_Annotation:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
push 0x15
push str._dt_Color:__dt__dd_0x
push ecx
mov ecx, edi
call fcn.10169fc0
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 0x101514a2
lea eax, [esi - 1]
test eax, eax
js 0x101514ca
dec ecx
sub eax, 1
mov byte [ecx], 0x30
jns 0x101514c1
lea eax, [esp + 0x60]
sub eax, ecx
push eax
push ecx
push ecx
mov ecx, edi
call fcn.10169fc0
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
push 0x1a
push str._dt_Stroke_Width:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
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.10169fc0
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
push 0x1a
push str._dt_Stroke_Miter:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
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.10169fc0
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
push 0x14
push str._dt_Flags:__dt__dd__
push ecx
mov ecx, edi
call fcn.10169fc0
mov edx, dword [ebx + 0x40]
test dx, dx
je 0x10151801
xor cl, cl
test dl, 1
je 0x101515e3
push 9
push str.AntiAlias
push ecx
mov ecx, edi
call fcn.10169fc0
mov edx, dword [ebx + 0x40]
mov cl, 1
shr edx, 2
test dl, 1
je 0x1015160f
test cl, cl
je 0x101515fe
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169fc0
push 6
push str.Dither
push ecx
mov ecx, edi
call fcn.10169fc0
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 3
test al, 1
je 0x1015163d
test cl, cl
je 0x1015162c
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169fc0
push 0xd
push str.UnderlineText
push ecx
mov ecx, edi
call fcn.10169fc0
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 4
test al, 1
je 0x1015166b
test cl, cl
je 0x1015165a
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169fc0
push 0xe
push str.StrikeThruText
push ecx
mov ecx, edi
call fcn.10169fc0
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 5
test al, 1
je 0x10151699
test cl, cl
je 0x10151688
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169fc0
push 0xc
push str.FakeBoldText
push ecx
mov ecx, edi
call fcn.10169fc0
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 6
test al, 1
je 0x101516c7
test cl, cl
je 0x101516b6
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169fc0
push 0xa
push str.LinearText
push ecx
mov ecx, edi
call fcn.10169fc0
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 7
test al, 1
je 0x101516f5
test cl, cl
je 0x101516e4
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169fc0
push 0xc
push str.SubpixelText
push ecx
mov ecx, edi
call fcn.10169fc0
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 8
test al, 1
je 0x10151723
test cl, cl
je 0x10151712
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169fc0
push 0xb
push str.DevKernText
push ecx
mov ecx, edi
call fcn.10169fc0
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 9
test al, 1
je 0x10151751
test cl, cl
je 0x10151740
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169fc0
push 0xd
push str.LCDRenderText
push ecx
mov ecx, edi
call fcn.10169fc0
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 0xa
test al, 1
je 0x1015177f
test cl, cl
je 0x1015176e
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169fc0
push 0x12
push str.EmbeddedBitmapText
push ecx
mov ecx, edi
call fcn.10169fc0
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 0xb
test al, 1
je 0x101517ad
test cl, cl
je 0x1015179c
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169fc0
push 0xa
push str.Autohinted
push ecx
mov ecx, edi
call fcn.10169fc0
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 0xc
test al, 1
je 0x101517db
test cl, cl
je 0x101517ca
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169fc0
push 0xc
push str.VerticalText
push ecx
mov ecx, edi
call fcn.10169fc0
mov cl, 1
mov eax, dword [ebx + 0x40]
shr eax, 0xd
test al, 1
je 0x10151810
test cl, cl
je 0x101517f8
push 1
push 0x102fa734
push ecx
mov ecx, edi
call fcn.10169fc0
push 0xc
push str.GenA8FromLCD
jmp 0x10151808
push 4
push str.None
push ecx
mov ecx, edi
call fcn.10169fc0
push 6
push str.___dd_
push ecx
mov ecx, edi
call fcn.10169fc0
push 0x19
push str._dt_FilterLevel:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
mov eax, dword [ebx + 0x40]
shr eax, 0x1c
and eax, 3
mov edx, dword [eax*4 + 0x102f9734]
test edx, edx
je 0x10151852
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10151847
sub ecx, esi
jmp 0x10151854
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169fc0
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
push 0x17
push str._dt_TextAlign:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
movzx eax, word [ebx + 0x42]
and eax, 3
mov edx, dword [eax*4 + 0x102f974c]
test edx, edx
je 0x1015189e
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10151893
sub ecx, esi
jmp 0x101518a0
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169fc0
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
push 0x15
push str._dt_CapType:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
mov eax, dword [ebx + 0x40]
shr eax, 0x12
and eax, 3
mov edx, dword [eax*4 + 0x102f9718]
test edx, edx
je 0x101518ec
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101518e1
sub ecx, esi
jmp 0x101518ee
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169fc0
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
push 0x16
push str._dt_JoinType:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
mov eax, dword [ebx + 0x40]
shr eax, 0x14
and eax, 3
mov edx, dword [eax*4 + 0x102f970c]
test edx, edx
je 0x1015193b
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10151930
sub ecx, esi
jmp 0x1015193d
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169fc0
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
push 0x13
push str._dt_Style:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
mov eax, dword [ebx + 0x40]
shr eax, 0x16
and eax, 3
mov edx, dword [eax*4 + 0x102f96e0]
test edx, edx
je 0x1015198b
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10151980
sub ecx, esi
jmp 0x1015198d
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169fc0
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
push 0x1a
push str._dt_TextEncoding:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
movzx eax, byte [ebx + 0x43]
and eax, 3
mov edx, dword [eax*4 + 0x102f9778]
test edx, edx
je 0x101519db
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101519d0
sub ecx, esi
jmp 0x101519dd
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169fc0
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
push 0x15
push str._dt_Hinting:__dt__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
mov eax, dword [ebx + 0x40]
shr eax, 0x1a
and eax, 3
mov edx, dword [eax*4 + 0x102f9724]
test edx, edx
je 0x10151a2b
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10151a20
sub ecx, esi
jmp 0x10151a2d
xor ecx, ecx
push ecx
push edx
push ecx
mov ecx, edi
call fcn.10169fc0
push 5
push str.__dd_
push ecx
mov ecx, edi
call fcn.10169fc0
push 0xf
push str.__dd___dl___dl_
push ecx
mov ecx, edi
call fcn.10169fc0
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.102af9d5
mov esp, ebp
pop ebp
ret 4