Function at 0x419cc0
Capabilities:
Contain obfuscated stackstrings
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x868
call fcn.0040adb0
lea edx, [ebp - 0x810]
mov ebx, eax
mov eax, dword [eax]
mov dword [esp + 4], edx
mov dword [esp], ebx
call dword [eax + 0x44]
sub esp, 8
mov esi, eax
mov eax, 0x8b5
call fcn.0040a1d0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x462770
mov dword [esp], eax
call fcn.0040ad90
lea edx, [ebp - 0x738]
mov ecx, 0x15
xor eax, eax
mov dword [ebp - 0x740], 0xc
mov edi, edx
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x740]
mov dword [ebp - 0x73c], 0xc
mov dword [ebp - 0x730], 0x190
mov byte [ebp - 0x72c], 1
lea esi, [esi]
nop
movzx edx, word [eax + 0x462786]
mov word [ebp + eax - 0x724], dx
add eax, 2
test dx, dx
jne 0x419d50
mov eax, dword [ebp - 0x810]
lea ecx, [ebp - 0x800]
mov edx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0xc
mov esi, eax
mov eax, 0x8bf
call fcn.0040a1d0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x462770
mov dword [esp], eax
call fcn.0040ad90
mov dword [esp], edi
call dword [sym.imp.gdi32.dll_CreateFontIndirectW]
sub esp, 4
mov edi, eax
mov dword [esp], 0
call dword [sym.imp.gdi32.dll_CreateCompatibleDC]
sub esp, 4
mov esi, eax
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [sym.imp.gdi32.dll_SelectObject]
lea eax, [ebp - 0x6e4]
mov dword [ebp - 0x6e4], 0xd8
sub esp, 8
mov dword [esp], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 0xd8
call dword [sym.imp.gdi32.dll_GetOutlineTextMetricsW]
sub esp, 0xc
mov dword [ebp - 0x818], eax
mov eax, 0x8c7
call fcn.0040a1d0
mov edx, dword [ebp - 0x818]
mov dword [esp + 4], 0x462ca0
mov dword [esp + 8], edx
mov dword [esp], edx
call fcn.0040ad90
mov dword [esp], esi
lea esi, [ebp - 0x7c8]
call dword [sym.imp.gdi32.dll_DeleteDC]
sub esp, 4
mov dword [esp], edi
lea edi, [ebp - 0x80c]
call dword [sym.imp.gdi32.dll_DeleteObject]
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x7c8], 0
mov dword [ebp - 0x7c4], 0
sub esp, 4
mov dword [ebp - 0x7c0], 0
mov dword [ebp - 0x7bc], 0
mov dword [ebp - 0x7b8], 0
mov edx, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], esi
call dword [edx + 0x2c]
mov eax, 0x8d1
sub esp, 8
call fcn.0040a1d0
movzx edx, word [ebp - 0x7c8]
mov dword [esp + 4], str.designUnitsPerEm__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8d2
call fcn.0040a1d0
movzx edx, word [ebp - 0x7c6]
mov dword [esp + 4], str.ascent__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8d3
call fcn.0040a1d0
movzx edx, word [ebp - 0x7c4]
mov dword [esp + 4], str.descent__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8d4
call fcn.0040a1d0
movsx edx, word [ebp - 0x7c2]
mov dword [esp + 4], str.lineGap__d_n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8d5
call fcn.0040a1d0
movzx eax, word [ebp - 0x7c0]
mov dword [esp + 4], str.capHeight__u_n
mov dword [esp + 8], eax
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8d6
call fcn.0040a1d0
movzx edx, word [ebp - 0x7be]
mov dword [esp + 4], str.xHeight__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8d7
call fcn.0040a1d0
movsx eax, word [ebp - 0x7bc]
mov dword [esp + 4], str.underlinePosition__d_n
mov dword [esp + 8], eax
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8d8
call fcn.0040a1d0
movzx edx, word [ebp - 0x7ba]
mov dword [esp + 4], str.underlineThickness__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8d9
call fcn.0040a1d0
movsx edx, word [ebp - 0x7b8]
mov dword [esp + 4], str.strikethroughPosition__d_n
test dx, dx
mov dword [esp + 8], edx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8da
call fcn.0040a1d0
movzx edx, word [ebp - 0x7b6]
mov dword [esp + 4], str.strikethroughThickness__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x800]
mov edx, dword [eax]
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x34]
sub esp, 8
mov edi, eax
mov eax, 0x8dd
call fcn.0040a1d0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x462770
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x80c]
mov dword [ebp - 0x7c8], 0
mov dword [ebp - 0x7c4], 0
mov dword [ebp - 0x7c0], 0
mov dword [ebp - 0x7bc], 0
mov dword [ebp - 0x7b8], 0
mov edx, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], esi
call dword [edx + 0x20]
mov eax, 0x8e2
sub esp, 8
call fcn.0040a1d0
movzx edx, word [ebp - 0x7c8]
mov dword [esp + 4], str.designUnitsPerEm__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8e3
call fcn.0040a1d0
movzx edx, word [ebp - 0x7c6]
mov dword [esp + 4], str.ascent__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8e4
call fcn.0040a1d0
movzx edx, word [ebp - 0x7c4]
mov dword [esp + 4], str.descent__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8e5
call fcn.0040a1d0
movsx edx, word [ebp - 0x7c2]
mov dword [esp + 4], str.lineGap__d_n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8e6
call fcn.0040a1d0
movzx eax, word [ebp - 0x7c0]
mov dword [esp + 4], str.capHeight__u_n
mov dword [esp + 8], eax
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8e7
call fcn.0040a1d0
movzx edx, word [ebp - 0x7be]
mov dword [esp + 4], str.xHeight__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8e8
call fcn.0040a1d0
movsx eax, word [ebp - 0x7bc]
mov dword [esp + 4], str.underlinePosition__d_n
mov dword [esp + 8], eax
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8e9
call fcn.0040a1d0
movzx edx, word [ebp - 0x7ba]
mov dword [esp + 4], str.underlineThickness__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8ea
call fcn.0040a1d0
movsx edx, word [ebp - 0x7b8]
mov dword [esp + 4], str.strikethroughPosition__d_n
test dx, dx
mov dword [esp + 8], edx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8eb
call fcn.0040a1d0
movzx edx, word [ebp - 0x7b6]
mov dword [esp + 4], str.strikethroughThickness__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x800]
lea ecx, [ebp - 0x804]
mov edx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0x461bb8
mov dword [esp], eax
call dword [edx]
sub esp, 0xc
test eax, eax
jne 0x41bfae
lea edx, [ebp - 0x20c]
mov ecx, 0xc
mov dword [ebp - 0x818], eax
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x804]
lea edi, [ebp - 0x40c]
mov ecx, dword [eax]
mov dword [esp + 4], edx
mov dword [ebp - 0x81c], edx
mov dword [esp], eax
call dword [ecx + 0x38]
mov eax, 0x8f5
sub esp, 8
call fcn.0040a1d0
movzx ecx, word [ebp - 0x20c]
mov dword [esp + 4], str.designUnitsPerEm__u_n
test cx, cx
mov dword [esp + 8], ecx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8f6
call fcn.0040a1d0
movzx ecx, word [ebp - 0x20a]
mov dword [esp + 4], str.ascent__u_n
test cx, cx
mov dword [esp + 8], ecx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8f7
call fcn.0040a1d0
movzx ecx, word [ebp - 0x208]
mov dword [esp + 4], str.descent__u_n
test cx, cx
mov dword [esp + 8], ecx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8f8
call fcn.0040a1d0
movsx ecx, word [ebp - 0x206]
mov dword [esp + 4], str.lineGap__d_n
test cx, cx
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8f9
call fcn.0040a1d0
movzx eax, word [ebp - 0x204]
mov dword [esp + 4], str.capHeight__u_n
mov dword [esp + 8], eax
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8fa
call fcn.0040a1d0
movzx ecx, word [ebp - 0x202]
mov dword [esp + 4], str.xHeight__u_n
test cx, cx
mov dword [esp + 8], ecx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8fb
call fcn.0040a1d0
movsx eax, word [ebp - 0x200]
mov dword [esp + 4], str.underlinePosition__d_n
mov dword [esp + 8], eax
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8fc
call fcn.0040a1d0
movzx ecx, word [ebp - 0x1fe]
mov dword [esp + 4], str.underlineThickness__u_n
test cx, cx
mov dword [esp + 8], ecx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8fd
call fcn.0040a1d0
movsx ecx, word [ebp - 0x1fc]
mov dword [esp + 4], str.strikethroughPosition__d_n
test cx, cx
mov dword [esp + 8], ecx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8fe
call fcn.0040a1d0
movzx ecx, word [ebp - 0x1fa]
mov dword [esp + 4], str.strikethroughThickness__u_n
test cx, cx
mov dword [esp + 8], ecx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x8ff
call fcn.0040a1d0
movsx eax, word [ebp - 0x1f8]
mov dword [esp + 4], str.glyphBoxLeft__d_n
mov dword [esp + 8], eax
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x900
call fcn.0040a1d0
movsx ecx, word [ebp - 0x1f6]
mov dword [esp + 4], str.glyphBoxTop__d_n
test cx, cx
mov dword [esp + 8], ecx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x901
call fcn.0040a1d0
movsx ecx, word [ebp - 0x1f4]
mov dword [esp + 4], str.glyphBoxRight__d_n
test cx, cx
mov dword [esp + 8], ecx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x902
call fcn.0040a1d0
movsx eax, word [ebp - 0x1f2]
mov dword [esp + 4], str.glyphBoxBottom__d_n
mov dword [esp + 8], eax
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x903
call fcn.0040a1d0
movsx eax, word [ebp - 0x1ee]
mov dword [esp + 4], str.subscriptPositionY__d_n
mov dword [esp + 8], eax
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x904
call fcn.0040a1d0
movsx ecx, word [ebp - 0x1ec]
mov dword [esp + 4], str.subscriptSizeX__d_n
test cx, cx
mov dword [esp + 8], ecx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x905
call fcn.0040a1d0
movsx ecx, word [ebp - 0x1ea]
mov dword [esp + 4], str.subscriptSizeY__d_n
test cx, cx
mov dword [esp + 8], ecx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x906
call fcn.0040a1d0
movsx ecx, word [ebp - 0x1e6]
mov dword [esp + 4], str.superscriptPositionY__d_n
test cx, cx
mov dword [esp + 8], ecx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x907
call fcn.0040a1d0
movsx ecx, word [ebp - 0x1e4]
mov dword [esp + 4], str.superscriptSizeX__d_n
test cx, cx
mov dword [esp + 8], ecx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x908
call fcn.0040a1d0
movsx ecx, word [ebp - 0x1e2]
mov dword [esp + 4], str.superscriptSizeY__d_n
test cx, cx
mov dword [esp + 8], ecx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x909
call fcn.0040a1d0
mov eax, dword [ebp - 0x1e0]
mov dword [esp + 4], str.hasTypographicMetrics__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x80c]
mov ecx, dword [eax]
mov dword [esp + 8], edi
mov dword [esp + 4], 0x461bc8
mov dword [esp], eax
call dword [ecx]
sub esp, 0xc
mov edi, eax
mov eax, 0x90c
call fcn.0040a1d0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x462770
mov dword [esp], eax
call fcn.0040ad90
mov edx, dword [ebp - 0x81c]
mov eax, dword [ebp - 0x818]
mov ecx, 0xc
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x40c]
mov ecx, dword [eax]
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [ecx + 0x48]
mov eax, 0x911
sub esp, 8
call fcn.0040a1d0
movzx edx, word [ebp - 0x20c]
mov dword [esp + 4], str.designUnitsPerEm__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x912
call fcn.0040a1d0
movzx edx, word [ebp - 0x20a]
mov dword [esp + 4], str.ascent__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x913
call fcn.0040a1d0
movzx edx, word [ebp - 0x208]
mov dword [esp + 4], str.descent__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x914
call fcn.0040a1d0
movsx edx, word [ebp - 0x206]
mov dword [esp + 4], str.lineGap__d_n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x915
call fcn.0040a1d0
movzx eax, word [ebp - 0x204]
mov dword [esp + 4], str.capHeight__u_n
mov dword [esp + 8], eax
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x916
call fcn.0040a1d0
movzx edx, word [ebp - 0x202]
mov dword [esp + 4], str.xHeight__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x917
call fcn.0040a1d0
movsx eax, word [ebp - 0x200]
mov dword [esp + 4], str.underlinePosition__d_n
mov dword [esp + 8], eax
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x918
call fcn.0040a1d0
movzx edx, word [ebp - 0x1fe]
mov dword [esp + 4], str.underlineThickness__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x919
call fcn.0040a1d0
movsx edx, word [ebp - 0x1fc]
mov dword [esp + 4], str.strikethroughPosition__d_n
test dx, dx
mov dword [esp + 8], edx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x91a
call fcn.0040a1d0
movzx edx, word [ebp - 0x1fa]
mov dword [esp + 4], str.strikethroughThickness__u_n
test dx, dx
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x91b
call fcn.0040a1d0
movsx eax, word [ebp - 0x1f8]
mov dword [esp + 4], str.glyphBoxLeft__d_n
mov dword [esp + 8], eax
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x91c
call fcn.0040a1d0
movsx edx, word [ebp - 0x1f6]
mov dword [esp + 4], str.glyphBoxTop__d_n
test dx, dx
mov dword [esp + 8], edx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x91d
call fcn.0040a1d0
movsx edx, word [ebp - 0x1f4]
mov dword [esp + 4], str.glyphBoxRight__d_n
test dx, dx
mov dword [esp + 8], edx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x91e
call fcn.0040a1d0
movsx eax, word [ebp - 0x1f2]
mov dword [esp + 4], str.glyphBoxBottom__d_n
mov dword [esp + 8], eax
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x91f
call fcn.0040a1d0
movsx eax, word [ebp - 0x1ee]
mov dword [esp + 4], str.subscriptPositionY__d_n
mov dword [esp + 8], eax
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x920
call fcn.0040a1d0
movsx edx, word [ebp - 0x1ec]
mov dword [esp + 4], str.subscriptSizeX__d_n
test dx, dx
mov dword [esp + 8], edx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x921
call fcn.0040a1d0
movsx edx, word [ebp - 0x1ea]
mov dword [esp + 4], str.subscriptSizeY__d_n
test dx, dx
mov dword [esp + 8], edx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x922
call fcn.0040a1d0
movsx edx, word [ebp - 0x1e6]
mov dword [esp + 4], str.superscriptPositionY__d_n
test dx, dx
mov dword [esp + 8], edx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x923
call fcn.0040a1d0
movsx edx, word [ebp - 0x1e4]
mov dword [esp + 4], str.superscriptSizeX__d_n
test dx, dx
mov dword [esp + 8], edx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x924
call fcn.0040a1d0
movsx edx, word [ebp - 0x1e2]
mov dword [esp + 4], str.superscriptSizeY__d_n
test dx, dx
mov dword [esp + 8], edx
setg al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x925
call fcn.0040a1d0
mov eax, dword [ebp - 0x1e0]
mov dword [esp + 4], str.hasTypographicMetrics__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x40c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0x804]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x80c]
lea edi, [ebp - 0x80c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0x800]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0x810]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
xor edx, edx
mov eax, ebx
sub esp, 4
call fcn.0040b000
mov dword [ebp - 0x800], eax
mov edx, dword [eax]
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x34]
sub esp, 8
mov edi, eax
mov eax, 0x936
call fcn.0040a1d0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x462770
lea edi, [ebp - 0x7fc]
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x80c]
mov dword [ebp - 0x7fc], 1
lea edx, [ebp - 0x808]
mov ecx, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [ecx + 0x10]
sub esp, 0xc
mov edi, eax
mov eax, 0x93a
call fcn.0040a1d0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x462770
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x80c]
mov ecx, dword [eax]
mov dword [esp + 4], esi
lea esi, [ebp - 0x80c]
mov dword [esp], eax
call dword [ecx + 0x20]
mov eax, 0x93d
sub esp, 8
call fcn.0040a1d0
mov eax, dword [ebp - 0x80c]
mov ecx, dword [eax]
mov dword [esp], eax
call dword [ecx + 0x18]
sub esp, 4
test eax, eax
sete al
mov dword [esp + 4], str.wrong_simulations_flags_n
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x80c]
mov ecx, dword [eax]
mov dword [esp], eax
call dword [ecx + 8]
mov eax, dword [ebx]
lea edx, [ebp - 0x808]
sub esp, 4
mov dword [esp + 0xc], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 1
mov dword [esp], ebx
call dword [eax + 0x24]
sub esp, 0x1c
mov esi, eax
mov eax, 0x942
call fcn.0040a1d0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x462770
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x80c]
lea ecx, [ebp - 0x7b4]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x20]
mov eax, 0x944
sub esp, 8
call fcn.0040a1d0
mov eax, dword [ebp - 0x80c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 4
cmp eax, 1
sete al
mov dword [esp + 4], str.wrong_simulations_flags_n
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x946
call fcn.0040a1d0
movzx ecx, word [ebp - 0x7c6]
movzx eax, word [ebp - 0x7b2]
mov dword [esp + 4], 0x463f99
mov edx, ecx
mov dword [esp + 0xc], ecx
movzx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x947
call fcn.0040a1d0
movzx ecx, word [ebp - 0x7c4]
movzx eax, word [ebp - 0x7b0]
mov dword [esp + 4], 0x463f99
mov edx, ecx
mov dword [esp + 0xc], ecx
movzx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x948
call fcn.0040a1d0
movsx ecx, word [ebp - 0x7c2]
movzx eax, word [ebp - 0x7ae]
mov dword [esp + 4], 0x463fa5
mov edx, ecx
mov dword [esp + 0xc], ecx
movsx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x949
call fcn.0040a1d0
movzx ecx, word [ebp - 0x7c0]
movzx eax, word [ebp - 0x7ac]
mov dword [esp + 4], 0x463f99
mov edx, ecx
mov dword [esp + 0xc], ecx
movzx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x94a
call fcn.0040a1d0
movzx ecx, word [ebp - 0x7be]
movzx eax, word [ebp - 0x7aa]
mov dword [esp + 4], 0x463f99
mov edx, ecx
mov dword [esp + 0xc], ecx
movzx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x94b
call fcn.0040a1d0
movsx ecx, word [ebp - 0x7bc]
movzx eax, word [ebp - 0x7a8]
mov dword [esp + 4], 0x463fa5
mov edx, ecx
mov dword [esp + 0xc], ecx
movsx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x94d
call fcn.0040a1d0
movzx ecx, word [ebp - 0x7ba]
movzx eax, word [ebp - 0x7a6]
mov dword [esp + 4], 0x463f99
mov edx, ecx
mov dword [esp + 0xc], ecx
movzx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x94f
call fcn.0040a1d0
movsx ecx, word [ebp - 0x7b8]
movzx eax, word [ebp - 0x7a4]
mov dword [esp + 4], 0x463fa5
mov edx, ecx
mov dword [esp + 0xc], ecx
movsx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x951
call fcn.0040a1d0
movzx ecx, word [ebp - 0x7b6]
movzx eax, word [ebp - 0x7a2]
mov dword [esp + 4], 0x463f99
mov edx, ecx
mov dword [esp + 0xc], ecx
movzx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x808]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0x80c]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0x800]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebx]
lea edx, [ebp - 0x814]
sub esp, 4
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov dword [esp], ebx
call dword [eax + 0xc]
sub esp, 0xc
mov esi, eax
mov eax, 0x95a
call fcn.0040a1d0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x462770
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x814]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0xc]
mov dword [ebp - 0x7fc], eax
sub esp, 4
test eax, eax
je 0x41b2b6
xor edi, edi
mov dword [ebp - 0x858], ebx
mov ebx, edi
lea esi, [esi]
mov eax, dword [ebp - 0x814]
lea esi, [ebp - 0x7f4]
mov edx, dword [eax]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [edx + 0x10]
sub esp, 0xc
mov esi, eax
call fcn.00454c90
mov dword [eax], 0x462615
mov dword [eax + 4], 0x966
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
lea esi, [ebp - 0x7f8]
mov dword [esp], eax
mov dword [esp + 4], 0x462770
call fcn.0040ad90
mov eax, dword [ebp - 0x7f4]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x10]
mov dword [ebp - 0x834], eax
mov edi, eax
mov eax, dword [ebp - 0x7f4]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 8
mov esi, eax
call fcn.00454c90
mov dword [eax], 0x462615
mov dword [eax + 4], 0x96b
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Failed_to_get_family_names__hr__lx._n
call fcn.0040ad90
mov eax, dword [ebp - 0x7f8]
mov ecx, 0x100
lea edx, [ebp - 0x60c]
call fcn.0040b050
mov eax, dword [ebp - 0x7f8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
test edi, edi
je 0x41b290
lea eax, [ebp - 0x40c]
mov dword [ebp - 0x854], ebx
lea esi, [ebp - 0x20c]
mov dword [ebp - 0x818], 0
mov dword [ebp - 0x824], eax
lea esi, [esi]
mov eax, dword [ebp - 0x7f4]
lea edi, [ebp - 0x7f0]
mov edx, dword [eax]
mov dword [esp + 8], edi
mov edi, dword [ebp - 0x818]
mov dword [esp], eax
mov dword [esp + 4], edi
lea edi, [ebp - 0x80c]
call dword [edx + 0x14]
sub esp, 0xc
mov ebx, eax
call fcn.00454c90
mov dword [eax], 0x462615
mov dword [eax + 4], 0x973
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Failed_to_get_a_font__hr__lx._n
call fcn.0040ad90
mov eax, dword [ebp - 0x7f0]
mov edx, dword [eax]
mov dword [esp + 4], edi
lea edi, [ebp - 0x7f8]
mov dword [esp], eax
call dword [edx + 0x34]
sub esp, 8
mov ebx, eax
call fcn.00454c90
mov dword [eax], 0x462615
mov dword [eax + 4], 0x976
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Failed_to_create_face_instance__hr__lx._n
call fcn.0040ad90
mov eax, dword [ebp - 0x7f0]
mov edx, dword [eax]
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 8
mov ebx, eax
call fcn.00454c90
mov dword [eax], 0x462615
mov dword [eax + 4], 0x979
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Failed_to_get_face_names__hr__lx._n
call fcn.0040ad90
mov edx, dword [ebp - 0x824]
mov eax, dword [ebp - 0x7f8]
mov ecx, 0x100
call fcn.0040b050
mov eax, dword [ebp - 0x7f8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0x7f0]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
xor eax, eax
sub esp, 4
lea esi, [esi]
movzx edx, word [ebp + eax - 0x60c]
mov word [esi + eax], dx
add eax, 2
test dx, dx
jne 0x41b1b0
cmp word [ebp - 0x20c], 0
mov edx, esi
je 0x41b1d9
add edx, 2
cmp word [edx], 0
jne 0x41b1d0
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [eax + 0x46404c]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x41b1e0
cmp word [ebp - 0x20c], 0
mov edx, esi
je 0x41b209
nop
add edx, 2
cmp word [edx], 0
jne 0x41b200
mov ecx, dword [ebp - 0x824]
xor eax, eax
lea esi, [esi]
movzx ebx, word [ecx + eax]
mov word [edx + eax], bx
add eax, 2
test bx, bx
jne 0x41b218
mov eax, dword [ebp - 0x80c]
mov word [ebp - 0x81c], bx
call fcn.004097f0
mov dword [ebp - 0x820], eax
test eax, eax
je 0x41b308
mov eax, dword [0x4832ac]
lea edx, [eax + 1]
mov dword [0x4832ac], edx
test eax, eax
je 0x41be68
mov eax, dword [ebp - 0x80c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
add dword [ebp - 0x818], 1
mov edi, dword [ebp - 0x834]
mov eax, dword [ebp - 0x818]
sub esp, 4
cmp eax, edi
jne 0x41b088
mov ebx, dword [ebp - 0x854]
mov eax, dword [ebp - 0x7f4]
add ebx, 1
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
cmp ebx, dword [ebp - 0x7fc]
jb 0x41af80
mov ebx, dword [ebp - 0x858]
mov eax, dword [ebp - 0x814]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebx]
sub esp, 4
mov dword [esp], ebx
call dword [eax + 8]
sub esp, 4
mov ebx, eax
mov eax, 0x994
call fcn.0040a1d0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.factory_not_released___lu_n
mov dword [esp], eax
call fcn.0040ad90
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [ebp - 0x80c]
mov eax, dword [ebp - 0x820]
mov ecx, 0xc
lea edi, [ebp - 0x7a0]
lea edx, [ebp - 0x7ec]
rep stosd dword es:[edi], eax
mov eax, dword [ebx]
lea ecx, [ebp - 0x770]
mov dword [ebp - 0x828], ebx
mov dword [esp + 0x14], ecx
lea ecx, [ebp - 0x7cc]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x7dc]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], 0x322f534f
mov dword [esp], ebx
call dword [eax + 0x30]
sub esp, 0x18
mov edi, eax
call fcn.00454c90
mov dword [eax], 0x462615
mov dword [eax + 4], 0x7f7
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], 0x462770
call fcn.0040ad90
mov eax, dword [ebx]
mov dword [esp], ebx
lea ecx, [ebp - 0x770]
lea edx, [ebp - 0x7e8]
mov dword [esp + 0x14], ecx
lea ecx, [ebp - 0x7cc]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x7d8]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], 0x64616568
call dword [eax + 0x30]
sub esp, 0x18
mov edi, eax
call fcn.00454c90
mov dword [eax], 0x462615
mov dword [eax + 4], 0x7f9
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], 0x462770
call fcn.0040ad90
mov eax, dword [ebx]
mov dword [esp], ebx
lea ecx, [ebp - 0x770]
lea edx, [ebp - 0x7e0]
mov dword [esp + 0x14], ecx
lea ecx, [ebp - 0x7cc]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x7d0]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], 0x61656868
call dword [eax + 0x30]
sub esp, 0x18
mov edi, eax
call fcn.00454c90
mov dword [eax], 0x462615
mov dword [eax + 4], 0x7fb
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], 0x462770
call fcn.0040ad90
mov eax, dword [ebx]
mov dword [esp], ebx
lea ecx, [ebp - 0x770]
lea edx, [ebp - 0x7e4]
mov dword [esp + 0x14], ecx
lea ecx, [ebp - 0x7cc]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x7d4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], 0x74736f70
call dword [eax + 0x30]
sub esp, 0x18
mov edi, eax
call fcn.00454c90
mov dword [eax], 0x462615
mov dword [eax + 4], 0x7fd
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], edi
mov dword [esp + 4], 0x462770
mov dword [esp], eax
call fcn.0040ad90
mov edx, dword [ebp - 0x7d8]
test edx, edx
je 0x41bf40
movzx eax, word [edx + 0x24]
movzx edi, word [edx + 0x12]
rol ax, 8
rol di, 8
mov word [ebp - 0x78c], ax
mov eax, dword [edx + 0x28]
mov word [ebp - 0x82a], di
bswap eax
mov dword [ebp - 0x78a], eax
movzx eax, word [edx + 0x26]
mov word [ebp - 0x7a0], di
rol ax, 8
mov word [ebp - 0x786], ax
movzx eax, di
mov dword [ebp - 0x848], eax
mov eax, dword [ebp - 0x7dc]
test eax, eax
je 0x41beb0
cmp word [eax + 0x3e], 0
jns 0x41bda8
movzx ecx, word [eax + 0x46]
movzx edi, word [eax + 0x44]
mov dword [ebp - 0x830], 0
rol di, 8
rol cx, 8
mov word [ebp - 0x82c], di
mov word [ebp - 0x79e], di
test cx, cx
jns 0x41b57f
mov ebx, ecx
neg ebx
mov word [ebp - 0x81c], bx
movzx ebx, bx
mov dword [ebp - 0x830], ebx
movzx edi, word [eax + 0x48]
movzx ebx, word [ebp - 0x82c]
mov dword [ebp - 0x774], 1
movzx ecx, word [ebp - 0x81c]
rol di, 8
mov dword [ebp - 0x838], ebx
movsx ebx, di
mov word [ebp - 0x79c], cx
mov word [ebp - 0x844], di
mov word [ebp - 0x79a], di
mov dword [ebp - 0x84c], ebx
mov word [ebp - 0x83e], cx
mov ecx, dword [eax + 0x1a]
movzx ebx, word [eax + 0x1c]
bswap ecx
mov dword [ebp - 0x790], ecx
movzx ecx, word [eax + 0xe]
rol bx, 8
mov word [ebp - 0x842], bx
movzx ebx, word [eax + 0x1a]
rol cx, 8
mov word [ebp - 0x784], cx
movzx ecx, word [eax + 0x10]
rol bx, 8
mov word [ebp - 0x81c], bx
rol cx, 8
neg ecx
mov word [ebp - 0x782], cx
movzx ecx, word [eax + 0xa]
rol cx, 8
mov word [ebp - 0x780], cx
movzx ecx, word [eax + 0xc]
rol cx, 8
mov word [ebp - 0x77e], cx
movzx ecx, word [eax + 0x16]
rol cx, 8
mov word [ebp - 0x77c], cx
movzx ecx, word [eax + 0x18]
rol cx, 8
mov word [ebp - 0x77a], cx
movzx ecx, word [eax + 0x12]
rol cx, 8
mov word [ebp - 0x778], cx
movzx ecx, word [eax + 0x14]
rol cx, 8
mov word [ebp - 0x776], cx
mov ecx, dword [ebp - 0x7d4]
test ecx, ecx
je 0x41bd78
movzx edi, word [ecx + 8]
movzx ecx, word [ecx + 0xa]
rol di, 8
movsx ebx, di
mov word [ebp - 0x794], di
mov edi, ecx
rol di, 8
mov word [ebp - 0x840], bx
mov word [ebp - 0x792], di
mov dword [ebp - 0x820], ebx
test cx, cx
je 0x41bd81
cmp word [ebp - 0x81c], 0
jne 0x41b6cc
mov word [ebp - 0x78e], di
mov word [ebp - 0x81c], di
test eax, eax
je 0x41b6f1
mov ecx, dword [ebp - 0x828]
mov edx, dword [ebp - 0x7ec]
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], ecx
call dword [eax + 0x34]
mov edx, dword [ebp - 0x7d8]
sub esp, 8
test edx, edx
je 0x41b710
mov ecx, dword [ebp - 0x828]
mov edx, dword [ebp - 0x7e8]
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], ecx
call dword [eax + 0x34]
sub esp, 8
mov ecx, dword [ebp - 0x7d0]
test ecx, ecx
je 0x41b735
mov ecx, dword [ebp - 0x828]
mov edx, dword [ebp - 0x7e0]
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], ecx
call dword [eax + 0x34]
sub esp, 8
mov edx, dword [ebp - 0x7d4]
test edx, edx
je 0x41b75a
mov ecx, dword [ebp - 0x828]
mov edx, dword [ebp - 0x7e4]
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], ecx
call dword [eax + 0x34]
sub esp, 8
mov edx, dword [ebp - 0x80c]
lea ecx, [ebp - 0x7cc]
mov dword [ebp - 0x7cc], 0
mov eax, dword [edx]
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 0x461bc8
mov dword [ebp - 0x83c], edx
call dword [eax]
mov edx, dword [ebp - 0x83c]
mov dword [ebp - 0x828], eax
sub esp, 0xc
mov eax, dword [edx]
mov dword [esp], edx
call dword [eax + 0x18]
mov edx, dword [ebp - 0x83c]
mov dword [ebp - 0x850], eax
mov eax, dword [ebp - 0x7cc]
sub esp, 4
test eax, eax
je 0x41be90
mov edx, dword [eax]
lea ebx, [ebp - 0x770]
mov dword [esp], eax
mov dword [esp + 4], ebx
call dword [edx + 0x48]
mov eax, dword [ebp - 0x7cc]
sub esp, 8
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, esi
call fcn.0040a1f0
mov dword [esp], str.Font__s
mov dword [esp + 4], eax
call fcn.004099f0
call fcn.00454c90
mov ecx, dword [ebp - 0x848]
mov dword [eax], 0x462615
mov dword [eax + 4], 0x85a
movzx edx, word [ebp - 0x770]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], str.designUnitsPerEm__u__expected__u._n
cmp dx, word [ebp - 0x82a]
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
call fcn.00454c90
mov ecx, dword [ebp - 0x838]
mov dword [eax], 0x462615
mov dword [eax + 4], 0x85c
movzx edx, word [ebp - 0x76e]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], str.ascent__u__expected__u._n
cmp dx, word [ebp - 0x82c]
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
call fcn.00454c90
mov ecx, dword [ebp - 0x830]
mov dword [eax], 0x462615
mov dword [eax + 4], 0x85d
movzx edx, word [ebp - 0x76c]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], str.descent__u__expected__u._n
cmp word [ebp - 0x83e], dx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
call fcn.00454c90
mov ecx, dword [ebp - 0x84c]
mov dword [eax], 0x462615
mov dword [eax + 4], 0x85e
movsx edx, word [ebp - 0x76a]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], str.lineGap__d__expected__d._n
cmp dx, word [ebp - 0x844]
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
call fcn.00454c90
mov ecx, dword [ebp - 0x820]
mov dword [eax], 0x462615
mov dword [eax + 4], 0x85f
movsx edx, word [ebp - 0x764]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], str.underlinePosition__d__expected__d._n
cmp word [ebp - 0x840], dx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
call fcn.00454c90
movzx edx, di
mov dword [eax], 0x462615
mov dword [eax + 4], 0x861
movzx eax, word [ebp - 0x762]
mov dword [esp + 0xc], edx
cmp di, ax
movzx edx, ax
mov dword [esp + 4], str.underlineThickness__u__expected__u._n
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
call fcn.00454c90
movsx edx, word [ebp - 0x842]
mov dword [eax], 0x462615
mov dword [eax + 4], 0x863
movzx eax, word [ebp - 0x760]
mov edi, edx
mov dword [esp + 0xc], edx
cmp ax, di
movsx edx, ax
mov dword [esp + 4], str.strikethroughPosition__d__expected__d._n
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
call fcn.00454c90
movzx edx, word [ebp - 0x81c]
mov dword [eax], 0x462615
mov dword [eax + 4], 0x865
movzx eax, word [ebp - 0x75e]
mov edi, edx
mov dword [esp + 0xc], edx
cmp di, ax
movzx edx, ax
mov dword [esp + 4], str.strikethroughThickness__u__expected__u._n
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x828]
test eax, eax
js 0x41bd53
test byte [ebp - 0x850], 2
jne 0x41bd53
mov eax, 0x871
call fcn.0040a1d0
mov edx, dword [ebp - 0x774]
mov eax, dword [ebp - 0x744]
mov dword [esp + 4], str.hasTypographicMetrics__d__expected__d._n
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x873
call fcn.0040a1d0
movsx ecx, word [ebp - 0x78c]
movzx eax, word [ebp - 0x75c]
mov dword [esp + 4], str.glyphBoxLeft__d__expected__d._n
mov edx, ecx
mov dword [esp + 0xc], ecx
movsx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x875
call fcn.0040a1d0
movsx ecx, word [ebp - 0x78a]
movzx eax, word [ebp - 0x75a]
mov dword [esp + 4], str.glyphBoxTop__d__expected__d._n
mov edx, ecx
mov dword [esp + 0xc], ecx
movsx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x877
call fcn.0040a1d0
movsx ecx, word [ebp - 0x788]
movzx eax, word [ebp - 0x758]
mov dword [esp + 4], str.glyphBoxRight__d__expected__d._n
mov edx, ecx
mov dword [esp + 0xc], ecx
movsx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x879
call fcn.0040a1d0
movsx ecx, word [ebp - 0x786]
movzx eax, word [ebp - 0x756]
mov dword [esp + 4], str.glyphBoxBottom__d__expected__d._n
mov edx, ecx
mov dword [esp + 0xc], ecx
movsx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x87c
call fcn.0040a1d0
movsx ecx, word [ebp - 0x784]
movzx eax, word [ebp - 0x754]
mov dword [esp + 4], str.subscriptPositionX__d__expected__d._n
mov edx, ecx
mov dword [esp + 0xc], ecx
movsx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x87e
call fcn.0040a1d0
movsx ecx, word [ebp - 0x782]
movzx eax, word [ebp - 0x752]
mov dword [esp + 4], str.subscriptPositionY__d__expected__d._n
mov edx, ecx
mov dword [esp + 0xc], ecx
movsx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x880
call fcn.0040a1d0
movsx ecx, word [ebp - 0x780]
movzx eax, word [ebp - 0x750]
mov dword [esp + 4], str.subscriptSizeX__d__expected__d._n
mov edx, ecx
mov dword [esp + 0xc], ecx
movsx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x882
call fcn.0040a1d0
movsx ecx, word [ebp - 0x77e]
movzx eax, word [ebp - 0x74e]
mov dword [esp + 4], str.subscriptSizeY__d__expected__d._n
mov edx, ecx
mov dword [esp + 0xc], ecx
movsx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x884
call fcn.0040a1d0
movsx ecx, word [ebp - 0x77c]
movzx eax, word [ebp - 0x74c]
mov dword [esp + 4], str.superscriptPositionX__d__expected__d._n
mov edx, ecx
mov dword [esp + 0xc], ecx
movsx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x886
call fcn.0040a1d0
movsx ecx, word [ebp - 0x77a]
movzx eax, word [ebp - 0x74a]
mov dword [esp + 4], str.superscriptPositionY__d__expected__d._n
mov edx, ecx
mov dword [esp + 0xc], ecx
movsx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x888
call fcn.0040a1d0
movsx ecx, word [ebp - 0x778]
movzx eax, word [ebp - 0x748]
mov dword [esp + 4], str.superscriptSizeX__d__expected__d._n
mov edx, ecx
mov dword [esp + 0xc], ecx
movsx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x88a
call fcn.0040a1d0
movsx ecx, word [ebp - 0x776]
movzx eax, word [ebp - 0x746]
mov dword [esp + 4], str.superscriptSizeY__d__expected__d._n
mov edx, ecx
mov dword [esp + 0xc], ecx
movsx ecx, ax
cmp dx, ax
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
call fcn.00454c90
mov edx, dword [eax + 0xbec]
test edx, edx
je 0x41b25e
sub edx, 1
mov dword [eax + 0xbec], edx
jmp 0x41b25e
xor ebx, ebx
mov word [ebp - 0x840], bx
movzx ecx, word [ebp - 0x82a]
shr cx, 1
movzx ecx, cx
imul ecx, ecx, 0x4925
shr ecx, 0x11
mov word [ebp - 0x792], cx
mov edi, ecx
jmp 0x41b6b4
movzx ecx, word [eax + 0x4c]
movzx ebx, word [eax + 0x4a]
rol cx, 8
rol bx, 8
mov edi, ecx
mov word [ebp - 0x82c], bx
neg di
mov word [ebp - 0x79e], bx
mov ebx, edi
mov edi, dword [ebp - 0x7d0]
cmovns ecx, ebx
movzx ebx, word [ebp - 0x82c]
mov word [ebp - 0x83e], cx
mov word [ebp - 0x79c], cx
movzx ecx, cx
mov dword [ebp - 0x838], ebx
mov dword [ebp - 0x830], ecx
test edi, edi
je 0x41bf58
movzx ecx, word [edi + 6]
rol cx, 8
mov ebx, ecx
neg bx
cmovs ebx, ecx
movzx ecx, word [edi + 4]
rol cx, 8
movzx ebx, bx
movzx ecx, cx
add ecx, ebx
movzx ebx, word [edi + 8]
rol bx, 8
movzx ebx, bx
add ecx, ebx
mov ebx, dword [ebp - 0x838]
sub ecx, ebx
mov ebx, dword [ebp - 0x830]
sub ecx, ebx
mov ebx, 0
cmovs ecx, ebx
movsx ebx, cx
mov word [ebp - 0x844], cx
mov word [ebp - 0x79a], cx
mov dword [ebp - 0x84c], ebx
jmp 0x41b5ca
call fcn.00454c90
mov dword [eax], 0x462615
mov dword [eax + 4], 0x985
mov dword [esp], str.GetMetrics___test_does_not_support_variable_fonts._n
call fcn.0040a7f0
jmp 0x41b25e
mov eax, dword [edx]
lea ebx, [ebp - 0x770]
mov dword [esp], edx
mov dword [esp + 4], ebx
call dword [eax + 0x20]
sub esp, 8
jmp 0x41b7e3
movzx ecx, word [ebp - 0x82a]
imul ecx, ecx, 0xaaab
shr ecx, 0x11
mov word [ebp - 0x842], cx
mov word [ebp - 0x790], cx
mov ecx, dword [ebp - 0x7d0]
test ecx, ecx
je 0x41bf70
mov dword [ebp - 0x84c], 0
movzx ebx, word [ecx + 4]
movzx ecx, word [ecx + 6]
rol bx, 8
rol cx, 8
mov word [ebp - 0x82c], bx
mov edi, ecx
mov word [ebp - 0x79e], bx
movzx ebx, bx
neg di
mov dword [ebp - 0x838], ebx
cmovns ecx, edi
xor edi, edi
mov word [ebp - 0x844], di
movzx ebx, cx
mov word [ebp - 0x83e], cx
mov word [ebp - 0x79c], cx
mov dword [ebp - 0x830], ebx
jmp 0x41b66d
mov dword [ebp - 0x848], 0
xor ebx, ebx
mov word [ebp - 0x82a], bx
jmp 0x41b525
mov dword [ebp - 0x84c], 0
xor ecx, ecx
mov word [ebp - 0x844], cx
jmp 0x41b5ca
mov dword [ebp - 0x84c], 0
xor edi, edi
xor ecx, ecx
xor ebx, ebx
mov dword [ebp - 0x830], 0
mov word [ebp - 0x83e], di
mov dword [ebp - 0x838], 0
mov word [ebp - 0x82c], cx
mov word [ebp - 0x844], bx
jmp 0x41b66d
mov eax, 0x92b
call fcn.0040a1d0
mov dword [esp], str.DWRITE_FONT_METRICS1_is_not_supported._n
call fcn.0040ad60
jmp 0x41aacc