Function at 0x44c620
Capabilities:
Check if file exists
Contain obfuscated stackstrings
Delete file
Get common file path
Get file attributes

Disassembly:
push ebp
mov eax, str.wine_test.ttf
mov ebp, esp
push edi
push esi
lea edx, [ebp - 0x40c]
push ebx
sub esp, 0x7ec
call fcn.00445b90
test eax, eax
je 0x44dce8
lea ecx, [ebp - 0x718]
lea edx, [ebp - 0x40c]
call fcn.00445c40
test eax, eax
je 0x44dce8
mov eax, 0x1760
lea esi, [ebp - 0x614]
call fcn.00446860
lea eax, [ebp - 0x718]
mov dword [esp], str.created__s_n
mov dword [esp + 4], eax
call fcn.00446a40
mov eax, 0x4acc09
call fcn.004460c0
mov ebx, eax
mov eax, 0x1763
call fcn.00446860
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.font_wine_test_should_not_be_enumerated_n
sete al
mov dword [esp], eax
mov ebx, dword fs:[0x18]
call fcn.004471c0
mov dword [esp + 4], esi
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetTempPathA]
sub esp, 8
mov edi, eax
mov eax, 0x1766
call fcn.00446860
mov eax, dword [ebx + 0x34]
mov dword [esp], edi
mov dword [esp + 4], str.GetTempPath___error__ld_n
mov dword [esp + 8], eax
call fcn.004471c0
lea eax, [ebp - 0x510]
mov dword [esp], esi
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4acc56
call dword [sym.imp.kernel32.dll_GetTempFileNameA]
sub esp, 0x10
mov edi, eax
mov eax, 0x1768
call fcn.00446860
mov eax, dword [ebx + 0x34]
mov dword [esp], edi
mov dword [esp + 4], str.GetTempFileName___error__ld_n
mov dword [esp + 8], eax
call fcn.004471c0
lea eax, [ebp - 0x510]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetFileAttributesA]
sub esp, 4
mov edi, eax
mov eax, 0x176b
call fcn.00446860
lea eax, [ebp - 0x510]
mov dword [esp + 4], str.file__s_does_not_exist_n
mov dword [esp + 8], eax
xor eax, eax
cmp edi, 0xffffffff
setne al
mov dword [esp], eax
call fcn.004471c0
mov edi, dword [sym.imp.gdi32.dll_CreateScalableFontResourceA]
lea eax, [ebp - 0x718]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 8], eax
lea eax, [ebp - 0x510]
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [ebp - 0x7c0], edi
call edi
sub esp, 0x10
mov edi, eax
mov eax, 0x176f
call fcn.00446860
xor eax, eax
test edi, edi
mov dword [esp + 4], str.CreateScalableFontResource___should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x1770
call fcn.00446860
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.not_expected_error__ld_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x50
sete al
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebp - 0x718]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 8], eax
lea eax, [ebp - 0x510]
mov dword [esp + 0xc], 0x4ab7a4
mov dword [esp + 4], eax
mov dword [esp], 0
mov edi, dword [ebp - 0x7c0]
call edi
sub esp, 0x10
mov edi, eax
mov eax, 0x1774
call fcn.00446860
xor eax, eax
test edi, edi
mov dword [esp + 4], str.CreateScalableFontResource___should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x1775
call fcn.00446860
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.not_expected_error__ld_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x50
sete al
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebp - 0x718]
mov dword [esp + 4], 0x5c
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_strrchr]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 8], eax
lea eax, [ebp - 0x510]
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
mov dword [esp], 0
mov edi, dword [ebp - 0x7c0]
call edi
sub esp, 0x10
mov edi, eax
mov eax, 0x177a
call fcn.00446860
xor eax, eax
test edi, edi
mov dword [esp + 4], str.CreateScalableFontResource___should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x177b
call fcn.00446860
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.not_expected_error__ld_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x50
sete al
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebp - 0x510]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 0xc], esi
mov dword [esp + 8], str.random_file_name
mov dword [esp + 4], eax
mov dword [esp], 0
mov edi, dword [ebp - 0x7c0]
call edi
sub esp, 0x10
mov esi, eax
mov eax, 0x177f
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.CreateScalableFontResource___should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x1780
call fcn.00446860
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.not_expected_error__ld_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebp - 0x718]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x510]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0
call edi
sub esp, 0x10
mov esi, eax
mov eax, 0x1784
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.CreateScalableFontResource___should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x1785
call fcn.00446860
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.not_expected_error__ld_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebp - 0x510]
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_DeleteFileA]
mov dword [ebp - 0x7d4], eax
call eax
sub esp, 4
mov esi, eax
mov eax, 0x1788
call fcn.00446860
mov eax, dword [ebx + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.DeleteFile___error__ld_n
mov dword [esp + 8], eax
call fcn.004471c0
lea eax, [ebp - 0x510]
mov dword [esp + 8], 0
mov dword [esp], eax
mov eax, dword [sym.imp.gdi32.dll_RemoveFontResourceExA]
mov dword [esp + 4], 0
mov dword [ebp - 0x7b4], eax
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0x178b
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.RemoveFontResourceEx___should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebp - 0x718]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 8], eax
lea eax, [ebp - 0x510]
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp], 0
call edi
lea edi, [ebp - 0x750]
sub esp, 0x10
mov esi, eax
mov eax, 0x1790
call fcn.00446860
mov eax, dword [ebx + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.CreateScalableFontResource___error__ld_n
mov dword [esp + 8], eax
call fcn.004471c0
mov eax, 0x4acc09
call fcn.004460c0
mov esi, eax
mov eax, 0x1793
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.font_wine_test_should_not_be_enumerated_n
sete al
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebp - 0x510]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp], eax
mov eax, dword [sym.imp.gdi32.dll_AddFontResourceExA]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [ebp - 0x7bc], eax
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0x1797
call fcn.00446860
mov eax, dword [ebx + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.AddFontResourceEx___error__ld_n
mov dword [esp + 8], eax
call fcn.004471c0
mov eax, 0x4acc09
call fcn.004460c0
mov esi, eax
mov eax, 0x179a
call fcn.00446860
mov dword [esp], esi
mov dword [esp + 4], str.font_wine_test_should_be_enumerated_n
call fcn.004471c0
xor edx, edx
mov ecx, 0xe
mov eax, edx
rep stosd dword es:[edi], eax
mov ecx, 0x74
lea eax, [ebp - 0x754]
mov dword [ebp - 0x754], 0x48
mov word [ebp - 0x730], cx
mov dword [ebp - 0x738], 0x656e6977
mov dword [ebp - 0x734], 0x7365745f
mov dword [esp], eax
mov eax, dword [sym.imp.gdi32.dll_CreateFontIndirectA]
mov dword [ebp - 0x7c8], eax
call eax
sub esp, 4
mov edi, eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x16b0
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.CreateFontIndirectA_error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
setne al
mov dword [esp], eax
call fcn.004471c0
mov esi, dword [sym.imp.user32.dll_GetDC]
mov dword [esp], 0
mov dword [ebp - 0x7d0], esi
call esi
sub esp, 4
mov esi, eax
mov dword [esp], eax
mov eax, dword [sym.imp.gdi32.dll_SelectObject]
mov dword [esp + 4], edi
mov dword [ebp - 0x7b8], eax
call eax
sub esp, 8
mov dword [ebp - 0x7ac], eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x16b5
xor eax, eax
mov dword [esp + 4], 0x4acb93
mov edx, dword [ebp - 0x7ac]
test edx, edx
setne al
mov dword [esp], eax
call fcn.004471c0
mov edx, dword [sym.imp.gdi32.dll_GetGlyphOutlineW]
mov dword [esp], esi
lea ecx, [ebp - 0x78c]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x18], 0x4b77f0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 2
mov dword [esp + 4], 0xa8
mov dword [ebp - 0x7a8], edx
call edx
sub esp, 0x1c
mov dword [ebp - 0x7b0], eax
call fcn.00492bc0
mov ecx, dword [ebp - 0x7b0]
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x16b8
xor eax, eax
cmp ecx, 0xe4
sete al
mov dword [esp + 8], ecx
mov dword [esp + 4], str.GetGlyphOutline_returned__ld__expected_228_n
mov dword [esp], eax
call fcn.004471c0
lea ecx, [ebp - 0x40c]
mov dword [esp], esi
mov dword [esp + 0x14], ecx
lea ecx, [ebp - 0x78c]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x18], 0x4b77f0
mov dword [esp + 0x10], 0x400
mov dword [esp + 8], 2
mov dword [esp + 4], 0xa8
mov edx, dword [ebp - 0x7a8]
call edx
sub esp, 0x1c
mov dword [ebp - 0x7b0], eax
call fcn.00492bc0
mov ecx, dword [ebp - 0x7b0]
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x16bc
xor eax, eax
cmp ecx, 0xe4
sete al
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], str.GetGlyphOutline_returned__ld__expected_228_n
call fcn.004471c0
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x16bd
mov eax, dword [ebp - 0x40c]
mov dword [esp + 4], str.header__cb___ld__expected_36_n
cmp eax, 0x24
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x16be
mov eax, dword [ebp - 0x408]
mov dword [esp + 4], str.header__dwType___ld__expected_TT_POLYGON_TYPE_n
cmp eax, 0x18
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
lea ecx, [ebp - 0x40c]
add ecx, dword [ebp - 0x40c]
mov dword [ebp - 0x7b0], ecx
call fcn.00492bc0
mov ecx, dword [ebp - 0x7b0]
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x16c0
mov eax, dword [ecx]
mov dword [esp + 4], str.header__cb___ld__expected_96_n
cmp eax, 0x60
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov ecx, dword [ebp - 0x7b0]
add ecx, dword [ecx]
mov dword [ebp - 0x7b0], ecx
call fcn.00492bc0
mov ecx, dword [ebp - 0x7b0]
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x16c2
mov eax, dword [ecx]
mov dword [esp + 4], str.header__cb___ld__expected_96_n
cmp eax, 0x60
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov edx, dword [ebp - 0x7ac]
mov dword [esp], esi
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x7b8]
call eax
mov edx, dword [sym.imp.gdi32.dll_DeleteObject]
sub esp, 8
mov dword [esp], edi
lea edi, [ebp - 0x750]
mov dword [ebp - 0x7cc], edx
call edx
mov edx, dword [sym.imp.user32.dll_ReleaseDC]
sub esp, 4
mov dword [esp + 4], esi
mov dword [esp], 0
mov dword [ebp - 0x7c4], edx
call edx
xor eax, eax
mov ecx, 0xe
lea edx, [ebp - 0x754]
rep stosd dword es:[edi], eax
sub esp, 8
mov ecx, 0x74
mov dword [ebp - 0x754], 0x48
mov word [ebp - 0x730], cx
mov dword [ebp - 0x738], 0x656e6977
mov dword [ebp - 0x734], 0x7365745f
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp], edx
mov ecx, dword [ebp - 0x7c8]
call ecx
sub esp, 4
mov edi, eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x16d9
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.CreateFontIndirectA_error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
setne al
mov dword [ebp - 0x7ac], edi
mov dword [esp], eax
call fcn.004471c0
mov dword [esp], 0
mov esi, dword [ebp - 0x7d0]
call esi
mov ecx, dword [ebp - 0x7ac]
sub esp, 4
mov edi, eax
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [ebp - 0x7b8]
call eax
sub esp, 8
mov esi, eax
mov dword [ebp - 0x7b0], eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x16de
xor eax, eax
test esi, esi
setne al
mov dword [esp + 4], 0x4acb93
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebp - 0x78c]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 4], eax
mov dword [esp], edi
call dword [sym.imp.gdi32.dll_GetTextMetricsA]
sub esp, 8
mov esi, eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x16e2
mov eax, dword [ebx + 0x34]
mov dword [esp], esi
lea esi, [ebp - 0x7a0]
mov dword [esp + 8], eax
mov dword [esp + 4], str.GetTextMetrics_error__lu_n
call fcn.004471c0
mov ebx, dword [sym.imp.gdi32.dll_GetGlyphOutlineA]
mov dword [esp], edi
mov dword [esp + 0x18], 0x4b77f0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x41
call ebx
sub esp, 0x1c
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x16e5
mov edx, dword [ebp - 0x788]
mov eax, dword [ebp - 0x794]
mov dword [esp + 4], str.Glyph_top__ld__exceeds_ascent__ld__n
mov dword [esp + 0xc], edx
cmp edx, eax
mov dword [esp + 8], eax
setge al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov dword [esp + 0x18], 0x4b77f0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44
mov dword [esp], edi
call ebx
sub esp, 0x1c
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x16e9
mov eax, dword [ebp - 0x784]
mov edx, dword [ebp - 0x794]
sub edx, dword [ebp - 0x79c]
mov dword [esp + 4], str.Glyph_bottom__ld__exceeds_descent__ld__n
neg eax
mov dword [esp + 8], edx
cmp edx, eax
mov dword [esp + 0xc], eax
setae al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebp - 0x40c]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.gdi32.dll_GetTextMetricsW]
mov ebx, dword [0x5b41f0]
sub esp, 8
call fcn.00492bc0
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test ebx, ebx
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x44d15f
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x16f0
movzx edx, word [ebp - 0x3de]
mov dword [esp + 4], 0x4ace98
cmp dx, 0xfffe
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
call fcn.00492bc0
shr dword [eax + 0x10], 1
call fcn.00492bc0
mov ebx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test ebx, ebx
jne 0x44d120
mov eax, dword [ebp - 0x7b0]
mov dword [esp], edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7b8]
call eax
mov ecx, dword [ebp - 0x7ac]
sub esp, 8
mov dword [esp], ecx
mov ecx, dword [ebp - 0x7cc]
call ecx
sub esp, 4
mov dword [esp + 4], edi
lea edi, [ebp - 0x408]
mov dword [esp], 0
mov ecx, dword [ebp - 0x7c4]
call ecx
mov eax, ebx
mov ecx, 0xe
mov edx, 0x74
rep stosd dword es:[edi], eax
sub esp, 8
lea ecx, [ebp - 0x40c]
mov word [ebp - 0x3e8], dx
mov dword [ebp - 0x7a4], 0x214441
mov dword [ebp - 0x40c], 0x48
mov dword [ebp - 0x3f0], 0x656e6977
mov dword [ebp - 0x3ec], 0x7365745f
mov dword [esp], ecx
mov ecx, dword [ebp - 0x7c8]
call ecx
sub esp, 4
mov ebx, eax
mov dword [ebp - 0x7d8], eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x1706
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 4], str.CreateFontIndirectA_error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.004471c0
mov dword [esp], 0
mov ecx, dword [ebp - 0x7d0]
call ecx
sub esp, 4
mov edi, eax
mov dword [esp + 4], ebx
mov dword [esp], eax
mov eax, dword [ebp - 0x7b8]
call eax
sub esp, 8
mov ebx, eax
mov dword [ebp - 0x7dc], eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x170b
xor eax, eax
test ebx, ebx
setne al
mov dword [esp + 4], 0x4acb93
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebp - 0x754]
mov dword [esp], edi
mov dword [esp + 0x18], 0x4b77f0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5a
mov eax, dword [ebp - 0x7a8]
call eax
sub esp, 0x1c
mov ebx, eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x170e
xor eax, eax
cmp ebx, 0xffffffff
mov ebx, 0x41
setne al
mov dword [esp + 4], str.GetGlyphOutlineW_failed_to_default_to_.notdef_for_character_Z_n
mov dword [esp], eax
call fcn.004471c0
mov dword [ebp - 0x7ac], edi
lea edx, [ebp - 0x7a4]
lea esi, [esi]
mov dword [ebp - 0x7b0], edx
mov dword [esp + 4], ebx
mov dword [esp + 0x18], 0x4b77f0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x7ac]
mov dword [esp], eax
mov ecx, dword [ebp - 0x7a8]
call ecx
sub esp, 0x1c
mov edi, eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x1713
xor eax, eax
cmp edi, 0xffffffff
lea edi, [ebp - 0x78c]
setne al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.GetGlyphOutlineW_failed_for__c_n
call fcn.004471c0
call fcn.00492bc0
lea edx, [ebp - 0x754]
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x1714
mov dword [esp + 4], edx
mov dword [esp + 8], 0x14
mov dword [esp], esi
call sub.msvcrt.dll_memcmp
mov dword [esp + 8], ebx
test eax, eax
mov dword [esp + 4], str.the_test_character__c_matches_.notdef_n
setne al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebx + 0x10000]
mov dword [esp + 0xc], edi
mov dword [esp + 0x18], 0x4b77f0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7ac]
mov dword [esp], eax
mov ecx, dword [ebp - 0x7a8]
call ecx
sub esp, 0x1c
mov edi, eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x1717
xor eax, eax
cmp edi, 0xffffffff
setne al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.GetGlyphOutlineW_failed_for_0x10000___c_n
call fcn.004471c0
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x1718
lea eax, [ebp - 0x78c]
mov dword [esp + 8], 0x14
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.msvcrt.dll_memcmp
mov dword [esp + 8], ebx
test eax, eax
mov dword [esp + 4], str.GetGlyphOutlineW_returned_wrong_metrics_for_character_0x10000___c_n
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov edx, dword [ebp - 0x7b0]
movsx ebx, byte [edx + 1]
add edx, 1
test bl, bl
jne 0x44d320
mov edi, dword [ebp - 0x7ac]
mov dword [esp + 0xc], esi
mov dword [esp + 0x18], 0x4b77f0
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], pe_nt_image_headers32
mov dword [esp + 4], 3
mov eax, dword [ebp - 0x7a8]
call eax
sub esp, 0x1c
mov ebx, eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x171c
xor eax, eax
cmp ebx, 0xffffffff
setne al
mov dword [esp + 4], str.GetGlyphOutlineW_failed_for_glyph_index_0x3_n
mov dword [esp], eax
call fcn.004471c0
lea ecx, [ebp - 0x78c]
mov dword [esp], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x18], 0x4b77f0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], pe_nt_image_headers32
mov dword [esp + 4], 0xffff
mov eax, dword [ebp - 0x7a8]
call eax
sub esp, 0x1c
mov ebx, eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x171f
xor eax, eax
cmp ebx, 0xffffffff
sete al
mov dword [esp + 4], str.GetGlyphOutlineW_for_nonexistent_glyph_index_0xFFFF_has_succeeded_n
mov dword [esp], eax
call fcn.004471c0
lea ecx, [ebp - 0x78c]
mov dword [esp], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x18], 0x4b77f0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], pe_nt_image_headers32
mov dword [esp + 4], 0x10003
mov eax, dword [ebp - 0x7a8]
call eax
sub esp, 0x1c
mov ebx, eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x1722
xor eax, eax
cmp ebx, 0xffffffff
setne al
mov dword [esp + 4], str.GetGlyphOutlineW_for_index_0x10003_has_failed_n
mov dword [esp], eax
call fcn.004471c0
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x1723
lea eax, [ebp - 0x78c]
mov dword [esp], esi
mov dword [esp + 8], 0x14
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcmp
mov dword [esp + 4], str.GetGlyphOutlineW_returned_wrong_metrics_for_glyph_0x10003_n
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
mov ebx, dword fs:[0x18]
call fcn.004471c0
mov eax, dword [ebp - 0x7dc]
mov dword [esp], edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7b8]
call eax
mov ecx, dword [ebp - 0x7d8]
sub esp, 8
mov dword [esp], ecx
mov ecx, dword [ebp - 0x7cc]
call ecx
sub esp, 4
mov dword [esp + 4], edi
lea edi, [ebp - 0x408]
mov dword [esp], 0
mov esi, dword [ebp - 0x7c4]
call esi
xor eax, eax
mov ecx, 0xe
lea edx, [ebp - 0x40c]
rep stosd dword es:[edi], eax
sub esp, 8
mov eax, 0x74
mov dword [ebp - 0x40c], 0x48
mov dword [ebp - 0x3f0], 0x656e6977
mov dword [ebp - 0x3ec], 0x7365745f
mov word [ebp - 0x3e8], ax
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp], edx
mov edx, dword [ebp - 0x7c8]
call edx
sub esp, 4
mov edi, eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x1739
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.CreateFontIndirectA_error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
setne al
mov dword [esp], eax
call fcn.004471c0
mov dword [esp], 0
mov edx, dword [ebp - 0x7d0]
call edx
mov dword [ebp - 0x7a8], edi
sub esp, 4
mov esi, eax
mov dword [esp + 4], edi
mov dword [esp], eax
mov eax, dword [ebp - 0x7b8]
call eax
sub esp, 8
mov edi, eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x173e
xor eax, eax
test edi, edi
setne al
mov dword [esp + 4], 0x4acb93
mov dword [ebp - 0x7ac], edi
mov dword [esp], eax
call fcn.004471c0
mov ecx, dword [sym.imp.gdi32.dll_GetOutlineTextMetricsA]
mov dword [esp], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [ebp - 0x7b0], ecx
call ecx
sub esp, 0xc
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_malloc]
mov edi, eax
mov dword [eax], 0xd4
mov dword [esp], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 0xd4
mov ecx, dword [ebp - 0x7b0]
call ecx
sub esp, 0xc
mov dword [ebp - 0x7b0], eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x1744
mov ecx, dword [ebx + 0x34]
mov eax, dword [edi]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x7b0]
mov dword [esp + 8], eax
cmp ecx, eax
mov dword [esp + 0xc], ecx
sete al
mov dword [esp + 4], str.expected__u__got__lu__error__ld_n
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x1748
mov eax, dword [edi + 0x4c]
mov dword [esp + 4], str.fsType__x_n
test eax, 0xfffffcf1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov dword [esp], edi
call dword [sym.imp.msvcrt.dll_free]
mov edx, dword [ebp - 0x7ac]
mov dword [esp], esi
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x7b8]
call eax
mov edi, dword [ebp - 0x7a8]
sub esp, 8
mov dword [esp], edi
mov ecx, dword [ebp - 0x7cc]
call ecx
sub esp, 4
mov dword [esp + 4], esi
mov dword [esp], 0
mov esi, dword [ebp - 0x7c4]
call esi
lea eax, [ebp - 0x510]
sub esp, 8
mov dword [esp + 8], 0
mov dword [esp + 4], 0x10
mov dword [esp], eax
mov edi, dword [ebp - 0x7b4]
call edi
sub esp, 0xc
mov esi, eax
mov eax, 0x17a2
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.RemoveFontResourceEx___with_not_matching_flags_should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebp - 0x510]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call edi
sub esp, 0xc
mov esi, eax
mov eax, 0x17a6
call fcn.00446860
mov eax, dword [ebx + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.RemoveFontResourceEx___error__ld_n
mov dword [esp + 8], eax
call fcn.004471c0
mov eax, 0x4acc09
call fcn.004460c0
mov esi, eax
mov eax, 0x17a9
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.font_wine_test_should_not_be_enumerated_n
sete al
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebp - 0x510]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call edi
sub esp, 0xc
mov esi, eax
mov eax, 0x17ac
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.RemoveFontResourceEx___should_fail_n
sete al
mov esi, 5
mov dword [esp], eax
call fcn.004471c0
lea esi, [esi]
lea eax, [ebp - 0x510]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x7bc]
call eax
sub esp, 0xc
mov edi, eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x17b3
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.AddFontResourceEx___error__ld_n
mov dword [esp + 8], eax
mov dword [esp], edi
call fcn.004471c0
sub esi, 1
jne 0x44d980
mov ebx, 5
mov esi, dword fs:[0x18]
lea esi, [esi]
nop
lea eax, [ebp - 0x510]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x7b4]
call eax
sub esp, 0xc
mov edi, eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x17b9
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.RemoveFontResourceEx___error__ld_n
mov dword [esp + 8], eax
mov dword [esp], edi
call fcn.004471c0
sub ebx, 1
jne 0x44d9f0
lea eax, [ebp - 0x510]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x7b4]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0x17bc
call fcn.00446860
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.RemoveFontResourceEx___should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebp - 0x510]
mov dword [esp], eax
mov eax, dword [ebp - 0x7d4]
call eax
lea eax, [ebp - 0x718]
mov dword [esi + 0x34], 0xdeadbeef
sub esp, 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x510]
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp], 1
mov eax, dword [ebp - 0x7c0]
call eax
sub esp, 0x10
mov ebx, eax
mov eax, 0x17c3
call fcn.00446860
mov eax, dword [esi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.CreateScalableFontResource___error__ld_n
mov dword [esp + 8], eax
call fcn.004471c0
mov eax, 0x4acc09
call fcn.004460c0
mov ebx, eax
mov eax, 0x17c6
call fcn.00446860
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.font_wine_test_should_not_be_enumerated_n
sete al
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebp - 0x510]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x7bc]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0x17ca
call fcn.00446860
mov eax, dword [esi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.AddFontResourceEx___error__ld_n
mov dword [esp + 8], eax
call fcn.004471c0
mov eax, 0x4acc09
call fcn.004460c0
mov esi, dword [0x5b41f0]
mov ebx, eax
call fcn.00492bc0
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test esi, esi
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x44dbe1
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x17ce
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.font_wine_test_should_not_be_enumerated_n
mov dword [esp], eax
call fcn.004471c0
call fcn.00492bc0
shr dword [eax + 0x10], 1
call fcn.00492bc0
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x44dbb0
lea eax, [ebp - 0x510]
mov esi, dword fs:[0x18]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], 0
mov dword [esp + 4], 0x10
mov dword [esp], eax
mov edi, dword [ebp - 0x7b4]
call edi
sub esp, 0xc
mov ebx, eax
mov eax, 0x17d3
call fcn.00446860
mov eax, dword [esi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.RemoveFontResourceEx___error__ld_n
mov dword [esp + 8], eax
call fcn.004471c0
mov eax, 0x4acc09
call fcn.004460c0
mov ebx, eax
mov eax, 0x17d6
call fcn.00446860
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.font_wine_test_should_not_be_enumerated_n
sete al
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebp - 0x510]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call edi
sub esp, 0xc
mov ebx, eax
mov eax, 0x17d9
call fcn.00446860
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.RemoveFontResourceEx___should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebp - 0x510]
mov dword [esp], eax
mov esi, dword [ebp - 0x7d4]
call esi
lea eax, [ebp - 0x718]
sub esp, 4
mov dword [esp], eax
call esi
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0x175c
call fcn.00446860
mov dword [esp], str.Failed_to_create_ttf_file_for_testing_n
call fcn.00446a30
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret