Function at 0x45ed70
Capabilities:
Delete file

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff8
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, dword fs:[0x18]
sub esp, 0x3c4
mov edi, dword [sym.imp.gdi32.dll_AddFontMemResourceEx]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [ebp - 0x390], edi
call edi
sub esp, 0x10
mov esi, eax
mov eax, 0x1468
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.AddFontMemResourceEx_should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x1469
call fcn.00446860
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.Expected_GetLastError___to_return_ERROR_INVALID_PARAMETER__got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004471c0
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov dword [esp], 0
call edi
sub esp, 0x10
mov esi, eax
mov eax, 0x146f
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.AddFontMemResourceEx_should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x1470
call fcn.00446860
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.Expected_GetLastError___to_return_ERROR_INVALID_PARAMETER__got__lu_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 - 0x388]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call edi
sub esp, 0x10
mov esi, eax
mov eax, 0x1476
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.AddFontMemResourceEx_should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x1477
call fcn.00446860
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.Expected_GetLastError___to_return_ERROR_INVALID_PARAMETER__got__lu_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 - 0x388]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov dword [esp], 0
call edi
sub esp, 0x10
mov esi, eax
mov eax, 0x147d
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.AddFontMemResourceEx_should_fail_n
sete al
lea esi, [ebp - 0x228]
mov dword [esp], eax
call fcn.004471c0
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x147e
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.Expected_GetLastError___to_return_ERROR_INVALID_PARAMETER__got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004471c0
mov edx, esi
mov eax, str.wine_test.ttf
call fcn.00445b90
test eax, eax
je 0x460080
lea ecx, [ebp - 0x32c]
mov edx, esi
mov dword [ebp - 0x398], ecx
call fcn.00445c40
mov ebx, eax
mov eax, 0x1484
call fcn.00446860
mov dword [esp], ebx
mov dword [esp + 4], str.Failed_to_create_test_font_file._n
call fcn.004471c0
mov eax, dword [ebp - 0x398]
lea edx, [ebp - 0x38c]
call fcn.00445e10
mov edi, eax
mov dword [ebp - 0x3a0], eax
mov eax, 0x1487
call fcn.00446860
xor eax, eax
test edi, edi
mov dword [esp + 4], str.Failed_to_map_font_file._n
setne al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x4acc09
call fcn.004460c0
mov ebx, eax
mov eax, 0x148a
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
mov eax, dword [ebp - 0x38c]
lea ecx, [ebp - 0x388]
mov dword [ebp - 0x388], 0
mov dword [ebp - 0x394], eax
mov dword [esp + 0xc], ecx
mov dword [esp], edi
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x390]
call eax
sub esp, 0x10
mov ebx, eax
mov dword [ebp - 0x3a4], eax
mov eax, 0x148e
call fcn.00446860
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 4], str.Failed_to_add_resource___ld._n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x148f
call fcn.00446860
mov eax, dword [ebp - 0x388]
mov dword [esp + 4], str.Unexpected_number_of_fonts__lu._n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x4acc09
call fcn.004460c0
mov edi, 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 edi, edi
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x45f139
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x1493
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 0x45f108
mov ecx, dword [0x544090]
mov eax, edx
test ecx, ecx
je 0x45fa81
lea edx, [ebp - 0x364]
mov ecx, 0xe
lea ebx, [ebp - 0x368]
mov dword [ebp - 0x368], 0x48
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, 0x74
mov dword [ebp - 0x34c], 0x656e6977
mov word [ebp - 0x344], cx
mov dword [ebp - 0x348], 0x7365745f
mov dword [esp], ebx
call dword [sym.imp.gdi32.dll_CreateFontIndirectA]
sub esp, 4
mov ebx, eax
mov dword [ebp - 0x3a8], eax
mov eax, 0x1404
call fcn.00446860
mov edi, dword fs:[0x18]
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.Failed_to_create_a_font___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
call dword [sym.imp.user32.dll_GetDC]
sub esp, 4
mov dword [ebp - 0x3ac], eax
mov dword [esp + 4], ebx
mov ebx, eax
mov dword [esp], eax
mov eax, dword [sym.imp.gdi32.dll_SelectObject]
mov dword [ebp - 0x3b0], eax
call eax
sub esp, 8
mov dword [ebp - 0x39c], eax
mov eax, 0x1409
call fcn.00446860
mov dword [esp + 4], str.Failed_to_select_font._n
xor eax, eax
mov edx, dword [ebp - 0x39c]
test edx, edx
setne al
mov dword [esp], eax
call fcn.004471c0
lea eax, [ebp - 0x380]
mov dword [ebp - 0x37c], 0xcccccccc
mov dword [ebp - 0x378], 0xcccccccc
mov dword [ebp - 0x374], 0xcccccccc
mov dword [ebp - 0x370], 0xcccccccc
mov dword [ebp - 0x36c], 0xcccccccc
mov dword [ebp - 0x380], 0x18
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [0x544090]
sub esp, 8
mov ebx, eax
mov eax, 0x140e
call fcn.00446860
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
setne al
mov dword [esp + 4], str.Unexpected_return_value__d._n
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x1410
call fcn.00446860
mov eax, dword [ebp - 0x37c]
mov dword [esp + 4], str.Unexpected_flags__lx._n
mov dword [esp + 8], eax
and eax, 0xf
cmp eax, 3
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x1411
call fcn.00446860
mov eax, dword [ebp - 0x378]
mov dword [esp + 4], str.Unexpected_cache_num__lu._n
test eax, eax
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x1412
call fcn.00446860
mov eax, dword [ebp - 0x374]
mov dword [esp + 4], str.Unexpected_instance_id__lu._n
test eax, eax
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x1413
call fcn.00446860
movzx edx, word [ebp - 0x36a]
mov dword [esp + 4], str.Unexpected_simulations__x._n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x1414
call fcn.00446860
movzx edx, word [ebp - 0x36c]
mov dword [esp + 4], str.Unexpected_face_index__u._n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x374]
mov dword [esp], eax
call dword [0x54408c]
sub esp, 0x14
mov ebx, eax
mov eax, 0x1417
call fcn.00446860
mov edx, dword [edi + 0x34]
xor eax, eax
test ebx, ebx
jne 0x45f3e6
xor eax, eax
cmp edx, 0x7a
sete al
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Unexpected_return_value__d__error__ld._n
call fcn.004471c0
lea eax, [ebp - 0x384]
mov dword [ebp - 0x384], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x374]
mov dword [esp], eax
call dword [0x54408c]
sub esp, 0x14
mov ebx, eax
mov eax, 0x141c
call fcn.00446860
xor eax, eax
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
test ebx, ebx
jne 0x45f460
xor eax, eax
cmp ecx, 0x7a
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Unexpected_return_value__d__error__ld._n
call fcn.004471c0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x374]
mov dword [esp], eax
call dword [0x54408c]
sub esp, 0x14
mov ebx, eax
mov eax, 0x1420
call fcn.00446860
xor eax, eax
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
test ebx, ebx
jne 0x45f4ca
xor eax, eax
cmp ecx, 0x7a
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Unexpected_return_value__d__error__ld._n
call fcn.004471c0
mov dword [esp + 0x10], 0
mov eax, dword [ebp - 0x384]
mov dword [esp + 8], esi
sub eax, 1
mov dword [esp + 4], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x374]
mov dword [esp], eax
call dword [0x54408c]
sub esp, 0x14
mov ebx, eax
mov eax, 0x1424
call fcn.00446860
xor eax, eax
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
test ebx, ebx
jne 0x45f539
xor eax, eax
cmp ecx, 0x7a
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Unexpected_return_value__d__error__ld._n
mov ebx, dword fs:[0x18]
call fcn.004471c0
mov dword [esp + 0x10], 0
mov eax, dword [ebp - 0x384]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x374]
mov dword [esp], eax
call dword [0x54408c]
sub esp, 0x14
mov edi, eax
mov eax, 0x1428
call fcn.00446860
mov eax, dword [ebx + 0x34]
mov dword [esp + 8], edi
mov dword [esp + 4], str.Failed_to_get_font_file_info__ret__d_gle__ld._n
mov dword [esp + 0xc], eax
xor eax, eax
test edi, edi
mov edi, esi
setne al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0xcccccccc
mov ecx, 0x86
rep stosd dword es:[edi], eax
mov dword [esp + 8], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x218
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x374]
mov dword [esp], eax
call dword [0x54408c]
sub esp, 0x14
mov esi, eax
mov eax, 0x142c
call fcn.00446860
mov eax, dword [ebx + 0x34]
mov dword [esp + 8], esi
mov dword [esp + 4], str.Failed_to_get_font_file_info__ret__d_gle__ld._n
mov dword [esp + 0xc], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.004471c0
test esi, esi
jne 0x45ffe0
mov esi, dword [ebp - 0x220]
lea ecx, [esi + 0x10]
mov dword [esp], ecx
mov dword [ebp - 0x3b8], ecx
call dword [sym.imp.msvcrt.dll_malloc]
mov dword [esp + 8], esi
mov ebx, eax
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll_memset]
mov dword [esp + 4], 0xcc
mov dword [ebp - 0x394], eax
call eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x374]
mov dword [esp], eax
call dword [0x544088]
sub esp, 0x18
mov edi, eax
mov eax, 0x1439
call fcn.00446860
mov edx, dword fs:[0x18]
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x3b4], edx
mov dword [esp + 4], str.Failed_to_get_font_file_data___ld_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
setne al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x143a
call fcn.00446860
mov eax, dword [ebx]
mov dword [esp + 4], str.Unexpected_sfnt_header_version__lx._n
cmp eax, 0x100
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x143b
call fcn.00446860
movzx edi, word [ebx + 4]
mov dword [esp + 4], str.Unexpected_table_count__x._n
cmp di, 0xe00
mov dword [esp + 8], edi
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov dword [esp + 8], esi
mov dword [esp + 4], 0xcc
mov dword [esp], ebx
mov eax, dword [ebp - 0x394]
call eax
mov ecx, dword [ebp - 0x3b8]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], 0
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x374]
mov dword [esp], eax
call dword [0x544088]
sub esp, 0x18
mov edi, eax
mov eax, 0x1440
call fcn.00446860
mov edx, dword [ebp - 0x3b4]
xor eax, eax
mov ecx, dword [edx + 0x34]
test edi, edi
jne 0x45f791
xor eax, eax
cmp ecx, 0x57
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.Unexpected_return_value__d__error__ld_n
call fcn.004471c0
mov eax, 0x1442
call fcn.00446860
mov eax, dword [ebx]
mov dword [esp + 4], str.Unexpected_buffer_contents__lx._n
cmp eax, 0xcccccccc
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov dword [esp + 8], esi
mov dword [esp + 4], 0xcc
mov dword [esp], ebx
mov eax, dword [ebp - 0x394]
call eax
lea eax, [esi - 0x10]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 8], 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x374]
mov dword [esp], eax
call dword [0x544088]
sub esp, 0x18
mov edi, eax
mov eax, 0x1447
call fcn.00446860
mov edx, dword fs:[0x18]
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x3b4], edx
mov dword [esp + 4], str.Failed_to_get_font_file_data___ld_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
setne al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x1448
call fcn.00446860
mov eax, dword [ebx]
mov dword [esp + 4], str.Unexpected_buffer_contents__lx._n
cmp eax, 0x1000000
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov dword [esp + 8], esi
mov dword [esp + 4], 0xcc
mov dword [esp], ebx
mov eax, dword [ebp - 0x394]
call eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 8], 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x374]
mov dword [esp], eax
call dword [0x544088]
sub esp, 0x18
mov edi, eax
mov eax, 0x144c
call fcn.00446860
mov edx, dword [ebp - 0x3b4]
xor eax, eax
mov ecx, dword [edx + 0x34]
test edi, edi
je 0x45ffd0
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.Unexpected_return_value__d__error__ld_n
call fcn.004471c0
mov eax, 0x144e
call fcn.00446860
mov eax, dword [ebx]
mov dword [esp + 4], str.Unexpected_buffer_contents__lx._n
cmp eax, 0xcccccccc
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov dword [esp + 8], esi
mov dword [esp + 4], 0xcc
mov dword [esp], ebx
mov eax, dword [ebp - 0x394]
call eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], ebx
mov dword [esp + 8], 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x374]
mov dword [esp], eax
call dword [0x544088]
mov edi, dword [0x5b41f0]
sub esp, 0x18
mov esi, eax
call fcn.00492bc0
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test edi, edi
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
mov edi, dword fs:[0x18]
jmp 0x45f9f6
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x1454
xor eax, eax
mov edx, dword [edi + 0x34]
test esi, esi
jne 0x45f9d6
xor eax, eax
cmp edx, 0x3e6
sete al
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], esi
mov dword [esp + 4], str.Unexpected_return_value__d__error__ld_n
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 0x45f9b0
mov eax, 0x1455
call fcn.00446860
mov eax, dword [ebx]
mov dword [esp + 4], str.Unexpected_buffer_contents__lx._n
cmp eax, 0xcccccccc
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov dword [esp], ebx
call dword [sym.imp.msvcrt.dll_free]
mov eax, dword [ebp - 0x39c]
mov dword [esp + 4], eax
mov esi, dword [ebp - 0x3ac]
mov dword [esp], esi
mov eax, dword [ebp - 0x3b0]
call eax
mov eax, dword [ebp - 0x3a8]
sub esp, 8
mov dword [esp], eax
call dword [sym.imp.gdi32.dll_DeleteObject]
sub esp, 4
mov dword [esp + 4], esi
mov dword [esp], 0
call dword [sym.imp.user32.dll_ReleaseDC]
sub esp, 8
mov eax, dword [ebp - 0x3a4]
mov edi, dword fs:[0x18]
mov dword [esp], eax
mov eax, dword [sym.imp.gdi32.dll_RemoveFontMemResourceEx]
mov dword [ebp - 0x39c], eax
call eax
sub esp, 4
mov ebx, eax
mov eax, 0x1498
call fcn.00446860
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.RemoveFontMemResourceEx_error__ld_n
mov dword [esp + 8], eax
call fcn.004471c0
mov eax, dword [ebp - 0x3a0]
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_UnmapViewOfFile]
mov dword [ebp - 0x394], eax
call eax
mov eax, dword [ebp - 0x398]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_DeleteFileA]
sub esp, 4
mov ebx, eax
mov eax, 0x149d
call fcn.00446860
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.Failed_to_delete_font_file___ld._n
mov dword [esp + 8], eax
call fcn.004471c0
lea edx, [ebp - 0x38c]
mov eax, str.sserife.fon
call fcn.00445e10
mov ebx, eax
test eax, eax
je 0x4600b0
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x390]
call eax
sub esp, 0x10
mov esi, eax
mov eax, 0x14a8
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.AddFontMemResourceEx_should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x14a9
call fcn.00446860
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.Expected_GetLastError___to_return_ERROR_INVALID_PARAMETER__got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004471c0
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov eax, dword [ebp - 0x390]
call eax
sub esp, 0x10
mov esi, eax
mov eax, 0x14af
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.AddFontMemResourceEx_should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x14b0
call fcn.00446860
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.Expected_GetLastError___to_return_ERROR_INVALID_PARAMETER__got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004471c0
lea ecx, [ebp - 0x388]
mov dword [ebp - 0x388], 0xdeadbeef
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp + 0xc], ecx
mov dword [esp], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x390]
call eax
sub esp, 0x10
mov esi, eax
mov eax, 0x14b7
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.AddFontMemResourceEx_should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x14b8
call fcn.00446860
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.Expected_GetLastError___to_return_ERROR_INVALID_PARAMETER__got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x14bb
call fcn.00446860
mov dword [esp + 4], str.number_of_loaded_fonts_should_be_0xdeadbeef_n
xor eax, eax
cmp dword [ebp - 0x388], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.004471c0
lea ecx, [ebp - 0x388]
mov dword [ebp - 0x388], 0xdeadbeef
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp + 0xc], ecx
mov dword [esp], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov eax, dword [ebp - 0x390]
call eax
sub esp, 0x10
mov esi, eax
mov eax, 0x14c0
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.AddFontMemResourceEx_should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x14c1
call fcn.00446860
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.Expected_GetLastError___to_return_0xdeadbeef__got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x14c4
call fcn.00446860
mov dword [esp + 4], str.number_of_loaded_fonts_should_be_0xdeadbeef_n
xor eax, eax
cmp dword [ebp - 0x388], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.004471c0
lea ecx, [ebp - 0x388]
mov dword [ebp - 0x388], 0xdeadbeef
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x38c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x390]
call eax
sub esp, 0x10
mov esi, eax
mov eax, 0x14c9
call fcn.00446860
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.AddFontMemResourceEx_error__ld_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x14ca
call fcn.00446860
mov dword [esp + 4], str.number_of_loaded_fonts_should_not_be_0xdeadbeef_n
xor eax, eax
cmp dword [ebp - 0x388], 0xdeadbeef
setne al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x14cb
call fcn.00446860
mov dword [esp + 4], str.number_of_loaded_fonts_should_not_be_0_n
xor eax, eax
mov edx, dword [ebp - 0x388]
test edx, edx
setne al
mov dword [esp], eax
call fcn.004471c0
mov dword [esp], ebx
mov ecx, dword [ebp - 0x394]
call ecx
mov dword [edi + 0x34], 0xdeadbeef
sub esp, 4
mov dword [esp], esi
mov esi, dword [ebp - 0x39c]
call esi
sub esp, 4
mov ebx, eax
mov eax, 0x14d1
call fcn.00446860
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.RemoveFontMemResourceEx_error__ld_n
mov dword [esp + 8], eax
call fcn.004471c0
lea edx, [ebp - 0x38c]
mov eax, str.sserife.fon
call fcn.00445e10
mov ebx, eax
mov eax, 0x14d5
call fcn.00446860
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.Unable_to_locate_and_load_font_sserife.fon_n
setne al
mov dword [esp], eax
call fcn.004471c0
mov edx, dword [ebp - 0x38c]
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp + 0xc], 0xdeadbeef
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov dword [ebp - 0x398], edx
mov dword [esp], ebx
mov eax, dword [ebp - 0x390]
call eax
sub esp, 0x10
mov esi, eax
mov eax, 0x14d9
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.AddFontMemResourceEx_should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x14da
call fcn.00446860
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.Expected_GetLastError___to_return_0xdeadbeef__got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.004471c0
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov edx, dword [ebp - 0x398]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x390]
call eax
sub esp, 0x10
mov esi, eax
mov eax, 0x14e0
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.AddFontMemResourceEx_should_fail_n
sete al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x14e1
call fcn.00446860
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.Expected_GetLastError___to_return_ERROR_INVALID_PARAMETER__got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004471c0
mov dword [esp], ebx
mov ecx, dword [ebp - 0x394]
call ecx
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret
xor eax, eax
cmp ecx, 0x57
sete al
jmp 0x45f8ea
mov eax, 0x142f
lea ebx, [ebp - 0x218]
call fcn.00446860
mov dword [esp + 4], str.Unexpected_file_size._n
xor edx, edx
mov eax, dword [ebp - 0x394]
xor edx, dword [ebp - 0x21c]
xor eax, dword [ebp - 0x220]
or eax, edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x1430
call fcn.00446860
mov eax, ebx
shr eax, 0x10
je 0x460093
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, str._invalid_
test edx, edx
jne 0x460058
mov edx, 0xffffffff
mov eax, ebx
call fcn.004465a0
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], str.Unexpected_file_path__s._n
cmp word [ebp - 0x218], 0
sete al
mov dword [esp], eax
call fcn.004471c0
jmp 0x45f628
lea eax, [ebp - 0x32c]
xor ebx, ebx
mov dword [ebp - 0x398], eax
jmp 0x45efb5
movzx ebx, bx
mov dword [esp], str._04x
mov dword [esp + 4], ebx
call fcn.00446880
jmp 0x460058
mov eax, 0x14a2
call fcn.00446860
mov dword [esp], str.Unable_to_locate_and_load_font_sserife.fon_n
call fcn.00446a30
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret