Function at 0x42cea0
Capabilities:
Contain obfuscated stackstrings
Get file size
Read file via mapping

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff8
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
lea esi, [ebp - 0xe4]
push ebx
sub esp, 0x140
call fcn.0040adb0
mov edi, eax
mov dword [ebp - 0x110], eax
mov dword [esp], str.gdi32
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
sub esp, 4
mov dword [esp + 4], str.GetFontRealizationInfo
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
lea edx, [ebp - 0xe8]
mov dword [ebp - 0xe8], 0
mov dword [0x4934f8], eax
mov eax, dword [edi]
sub esp, 8
mov dword [esp + 4], edx
mov dword [esp], edi
call dword [eax + 0x44]
sub esp, 8
mov ebx, eax
call fcn.00454c90
mov dword [eax], 0x462615
mov dword [eax + 4], 0x10e6
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], 0x462770
call fcn.0040ad90
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], 0xdeadbeef
mov edx, dword [eax]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0xc
mov ebx, eax
mov eax, 0x10eb
call fcn.0040a1d0
xor eax, eax
cmp ebx, 0x80070057
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x462770
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x10ec
call fcn.0040a1d0
mov eax, dword [ebp - 0xe4]
mov dword [esp + 4], 0x462c98
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], 0xdeadbeef
mov edx, dword [eax]
mov dword [esp + 8], esi
mov dword [esp + 4], 0xdeadbeef
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0xc
mov ebx, eax
mov eax, 0x10f0
call fcn.0040a1d0
xor eax, eax
cmp ebx, 0x80004005
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x462770
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x10f1
call fcn.0040a1d0
mov eax, dword [ebp - 0xe4]
mov dword [esp + 4], 0x462c98
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
lea edx, [ebp - 0x64]
mov ecx, 0x15
xor eax, eax
mov edi, edx
mov dword [ebp - 0x6c], 0xc
rep stosd dword es:[edi], eax
mov dword [ebp - 0x68], 0xc
mov dword [ebp - 0x5c], 0x190
mov byte [ebp - 0x58], 1
lea esi, [esi]
movzx edx, word [eax + 0x462786]
mov word [ebp + eax - 0x50], dx
add eax, 2
test dx, dx
jne 0x42d068
lea eax, [ebp - 0x6c]
mov dword [esp], eax
call dword [sym.imp.gdi32.dll_CreateFontIndirectW]
sub esp, 4
mov ebx, eax
mov dword [esp], 0
call dword [sym.imp.gdi32.dll_CreateCompatibleDC]
sub esp, 4
mov dword [ebp - 0x10c], eax
mov edi, eax
mov dword [esp], eax
mov eax, dword [sym.imp.gdi32.dll_SelectObject]
mov dword [esp + 4], ebx
mov dword [ebp - 0x108], eax
call eax
mov dword [ebp - 0xe4], 0
mov ebx, eax
mov eax, dword [ebp - 0xe8]
sub esp, 8
mov edx, dword [eax]
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0xc
mov edi, eax
mov eax, 0x1100
call fcn.0040a1d0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Failed_to_create_font_face__hr__lx._n
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xdc], 1
lea ecx, [ebp - 0xe0]
mov edx, dword [eax]
mov dword [esp + 8], ecx
lea ecx, [ebp - 0xdc]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x10]
sub esp, 0xc
mov edi, eax
mov eax, 0x1104
call fcn.0040a1d0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Failed_to_get_font_files__hr__lx._n
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0xe0]
lea ecx, [ebp - 0xf0]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x10]
sub esp, 8
mov edi, eax
mov eax, 0x1107
call fcn.0040a1d0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Failed_to_get_file_loader__hr__lx._n
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0xf0]
lea ecx, [ebp - 0xd4]
mov edx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0x461d68
mov dword [esp], eax
call dword [edx]
sub esp, 0xc
mov edi, eax
mov eax, 0x110a
call fcn.0040a1d0
mov eax, 1
test edi, edi
je 0x42d1ee
mov eax, dword [0x4a3570]
test eax, eax
sete dl
xor eax, eax
cmp edi, 0x80004002
sete al
and eax, edx
mov dword [esp], eax
mov dword [esp + 8], edi
mov dword [esp + 4], str.Expected_local_loader__hr__lx._n
call fcn.0040ad90
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x42d217
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0xf0]
lea edi, [ebp - 0xa4]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0xe0]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0xe4]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov dword [esp + 4], ebx
mov ebx, dword [ebp - 0x10c]
mov dword [esp], ebx
mov eax, dword [ebp - 0x108]
call eax
mov ecx, dword [sym.imp.gdi32.dll_DeleteObject]
sub esp, 8
mov dword [esp], eax
mov dword [ebp - 0x114], ecx
call ecx
xor eax, eax
mov ecx, 0xe
mov dword [ebp - 0xa8], 0xfffffff4
rep stosd dword es:[edi], eax
mov ecx, 0x66
sub esp, 4
lea edi, [ebp - 0xa8]
mov word [ebp - 0x80], cx
mov ecx, dword [sym.imp.gdi32.dll_CreateFontIndirectA]
mov dword [ebp - 0x8c], 0x5320534d
mov dword [ebp - 0x88], 0x20736e61
mov dword [ebp - 0x84], 0x69726553
mov dword [esp], edi
mov edi, ebx
mov dword [ebp - 0x124], ecx
call ecx
sub esp, 4
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x108]
call eax
mov dword [ebp - 0xe4], 0xdeadbeef
mov ebx, eax
mov eax, dword [ebp - 0xe8]
sub esp, 8
mov edx, dword [eax]
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0xc
mov edi, eax
mov eax, 0x111e
call fcn.0040a1d0
mov eax, 1
cmp edi, 0x88985000
je 0x42d33a
mov edx, dword [0x4a3570]
test edx, edx
sete dl
xor eax, eax
cmp edi, 0x80004005
sete al
and eax, edx
mov dword [esp], eax
mov dword [esp + 8], edi
mov dword [esp + 4], 0x462770
call fcn.0040ad90
mov eax, 0x111f
call fcn.0040a1d0
mov eax, dword [ebp - 0xe4]
mov dword [esp + 4], 0x462c98
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x10c]
mov dword [esp], eax
mov eax, dword [ebp - 0x108]
call eax
sub esp, 8
mov dword [esp], eax
mov eax, dword [ebp - 0x114]
call eax
sub esp, 4
call fcn.004113e0
mov dword [ebp - 0x11c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x80000000
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CreateFileW]
sub esp, 0x1c
mov ebx, eax
cmp eax, 0xffffffff
je 0x42de58
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetFileSize]
sub esp, 8
mov edi, eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_CreateFileMappingA]
sub esp, 0x18
test eax, eax
je 0x42de7d
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], eax
mov dword [ebp - 0x120], eax
call dword [sym.imp.kernel32.dll_MapViewOfFile]
sub esp, 0x14
mov dword [ebp - 0x118], eax
mov dword [esp], ebx
mov ebx, dword [sym.imp.kernel32.dll_CloseHandle]
call ebx
mov edx, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], edx
call ebx
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x12c], 0
sub esp, 4
mov dword [ebp - 0xec], 0
lea eax, [ebp - 0xec]
mov dword [esp + 4], edi
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x118]
mov dword [esp], eax
call dword [sym.imp.gdi32.dll_AddFontMemResourceEx]
sub esp, 0x10
mov edi, eax
mov dword [ebp - 0x120], eax
mov eax, 0x112b
call fcn.0040a1d0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 4], str.Failed_to_add_memory_resource_font___ld._n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
lea edi, [ebp - 0xa4]
setne al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x112c
call fcn.0040a1d0
mov dword [esp + 4], str.Unexpected_number_of_fonts._n
xor eax, eax
cmp dword [ebp - 0xec], 1
sete al
mov dword [esp], eax
call fcn.0040ad90
xor eax, eax
mov ecx, 0xe
mov dword [ebp - 0xa8], 0xfffffff4
rep stosd dword es:[edi], eax
mov eax, 0x74
mov dword [ebp - 0x8c], 0x656e6977
mov word [ebp - 0x84], ax
lea eax, [ebp - 0xa8]
mov dword [ebp - 0x88], 0x7365745f
mov dword [esp], eax
mov eax, dword [ebp - 0x124]
call eax
sub esp, 4
mov ebx, eax
mov eax, 0x1133
call fcn.0040a1d0
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.Failed_to_create_a_font._n
setne al
mov dword [esp], eax
call fcn.0040ad90
mov dword [esp + 4], ebx
mov edi, dword [ebp - 0x10c]
mov dword [esp], edi
mov eax, dword [ebp - 0x108]
call eax
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0xe8]
sub esp, 8
mov edx, dword [eax]
mov dword [esp + 8], esi
mov esi, edi
mov dword [esp + 4], edi
lea edi, [ebp - 0xdc]
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0xc
mov ebx, eax
mov eax, 0x1137
call fcn.0040a1d0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Failed_to_create_fontface__hr__lx._n
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xdc], 1
lea ecx, [ebp - 0xe0]
mov edx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
lea edi, [ebp - 0xd4]
mov dword [esp], eax
call dword [edx + 0x10]
sub esp, 0xc
mov ebx, eax
mov eax, 0x113b
call fcn.0040a1d0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Failed_to_get_font_files__hr__lx._n
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0xe0]
lea ecx, [ebp - 0xf0]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x10]
sub esp, 8
mov ebx, eax
mov eax, 0x113e
call fcn.0040a1d0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Failed_to_get_file_loader__hr__lx._n
mov dword [esp], eax
call fcn.0040ad90
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 4], edx
call dword [eax + 0x34]
sub esp, 8
mov ebx, eax
mov eax, 0x1141
call fcn.0040a1d0
xor eax, eax
cmp ebx, 0x88985006
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x462770
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0xf0]
mov edx, dword [eax]
mov dword [esp + 8], edi
mov dword [esp + 4], 0x461828
mov dword [esp], eax
call dword [edx]
sub esp, 0xc
mov ebx, eax
mov eax, 0x1144
call fcn.0040a1d0
xor eax, eax
cmp ebx, 0x80004002
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x462770
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0xf0]
mov edx, dword [eax]
mov dword [esp + 8], edi
lea edi, [ebp - 0xdc]
mov dword [esp + 4], 0x461d68
mov dword [esp], eax
call dword [edx]
sub esp, 0xc
mov ebx, eax
mov eax, 0x1147
call fcn.0040a1d0
xor eax, eax
cmp ebx, 0x80004002
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x462770
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], 0
lea ecx, [ebp - 0xf8]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0xc
mov ebx, eax
mov eax, 0x114b
call fcn.0040a1d0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Failed_to_get_ref_key__hr__lx._n
mov dword [esp], eax
call fcn.0040ad90
call fcn.00454c90
mov dword [eax], 0x462615
mov dword [eax + 4], 0x114c
mov eax, dword [ebp - 0xdc]
mov dword [esp + 4], str.Unexpected_key_length__u._n
test eax, eax
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [0x4934f8]
test eax, eax
je 0x42de38
mov dword [ebp - 0xc0], 0x18
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], esi
call eax
sub esp, 8
mov ebx, eax
mov eax, 0x1152
call fcn.0040a1d0
mov dword [esp + 4], str.Failed_to_get_realization_info._n
mov dword [esp], ebx
call fcn.0040ad90
mov eax, 0x1153
call fcn.0040a1d0
mov dword [esp + 4], str.Unexpected_key_size._n
xor eax, eax
cmp dword [ebp - 0xdc], 4
sete al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x1154
call fcn.0040a1d0
mov dword [esp + 4], str.Unexpected_stream_key._n
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xb4]
cmp dword [eax], esi
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0xf0]
lea ecx, [ebp - 0x104]
lea esi, [ebp - 0x100]
mov edx, dword [eax]
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp - 0xdc]
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0xf8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0xc]
sub esp, 0x10
mov ebx, eax
mov eax, 0x115a
call fcn.0040a1d0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Failed_to_create_file_stream__hr__lx._n
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0xf0]
mov edx, dword [eax]
mov dword [esp + 0xc], esi
mov ecx, dword [ebp - 0xdc]
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0xf8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0xc]
sub esp, 0x10
mov ebx, eax
mov eax, 0x115d
call fcn.0040a1d0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Failed_to_create_file_stream__hr__lx._n
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x115e
call fcn.0040a1d0
mov dword [esp + 4], str.Unexpected_stream_instance._n
mov eax, dword [ebp - 0x104]
cmp dword [ebp - 0x100], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x100]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xd8], 1
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 0xc], esi
mov ecx, dword [ebp - 0xdc]
mov dword [esp], eax
mov dword [esp + 8], ecx
lea ecx, [ebp - 0xd8]
mov dword [esp + 4], ecx
call dword [edx + 0xc]
sub esp, 0x10
mov ebx, eax
mov eax, 0x1163
call fcn.0040a1d0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Failed_to_create_file_stream__hr__lx._n
lea ebx, [ebp - 0xc8]
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0xc8], 1
mov dword [ebp - 0xc4], 0
mov edx, dword [eax]
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 8
mov esi, eax
mov eax, 0x1167
call fcn.0040a1d0
xor eax, eax
cmp esi, 0x80004001
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x462770
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x1168
call fcn.0040a1d0
mov dword [esp + 4], str.Unexpected_write_time._n
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xc4]
xor eax, 1
or eax, edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x100]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0x104]
lea ecx, [ebp - 0xd0]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x14]
sub esp, 8
mov esi, eax
mov eax, 0x116d
call fcn.0040a1d0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Failed_to_get_stream_size__hr__lx._n
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x116e
call fcn.0040a1d0
mov dword [esp + 4], str.Unexpected_stream_size._n
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x12c]
xor eax, dword [ebp - 0xd0]
xor edx, dword [ebp - 0xcc]
or eax, edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x104]
mov edx, dword [eax]
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 8
mov ebx, eax
mov eax, 0x1171
call fcn.0040a1d0
xor eax, eax
cmp ebx, 0x80004001
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x462770
lea ebx, [ebp - 0xfc]
mov dword [esp], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0xfc], 0
mov edx, dword [eax]
mov dword [esp + 0x18], ebx
mov edi, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xd0]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 0x14], edi
lea edi, [ebp - 0xf4]
mov dword [esp + 0x10], esi
mov dword [esp + 4], edi
mov dword [esp + 0xc], 0
call dword [edx + 0xc]
sub esp, 0x1c
mov esi, eax
mov eax, 0x1175
call fcn.0040a1d0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Failed_to_read_fragment__hr__lx._n
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x1176
call fcn.0040a1d0
mov eax, dword [ebp - 0xfc]
mov dword [esp + 4], str.Unexpected_context__p._n
test eax, eax
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040ad90
mov eax, 0x1177
call fcn.0040a1d0
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0xf4]
mov dword [esp + 4], str.Unexpected_data_pointer__p__context__p._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, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xfc]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x10]
mov ecx, dword [ebp - 0x104]
sub esp, 8
mov esi, dword [ecx]
mov dword [esp + 0x18], ebx
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
mov dword [esp], ecx
mov dword [esp + 4], edi
add eax, 1
mov dword [esp + 8], 0
adc edx, 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], 0
call dword [esi + 0xc]
sub esp, 0x1c
mov esi, eax
mov eax, 0x117b
call fcn.0040a1d0
mov dword [esp + 8], esi
shr esi, 0x1f
mov dword [esp], esi
mov dword [esp + 4], 0x462770
call fcn.0040ad90
mov esi, dword [ebp - 0x104]
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
mov ecx, dword [esi]
mov dword [ebp - 0x130], ecx
mov ecx, eax
mov dword [esp + 0x18], ebx
mov ebx, edx
shrd ecx, ebx, 1
shr ebx, 1
add eax, 0xffffffff
mov dword [esp + 4], edi
adc edx, 0xffffffff
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0x130]
call dword [ecx + 0xc]
sub esp, 0x1c
mov ebx, eax
mov eax, 0x117e
call fcn.0040a1d0
mov dword [esp + 8], ebx
shr ebx, 0x1f
mov dword [esp], ebx
mov dword [esp + 4], 0x462770
call fcn.0040ad90
mov eax, dword [ebp - 0x104]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0xf0]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0xe0]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0xe4]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.gdi32.dll_RemoveFontMemResourceEx]
sub esp, 4
mov ebx, eax
mov eax, 0x1188
call fcn.0040a1d0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.Failed_to_remove_memory_resource_font___ld._n
mov dword [esp + 8], eax
call fcn.0040ad90
mov eax, dword [ebp - 0x118]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_UnmapViewOfFile]
mov eax, dword [ebp - 0x11c]
mov edx, 0x118c
sub esp, 4
call fcn.0040ef90
mov eax, dword [ebp - 0x124]
mov dword [esp + 4], eax
mov esi, dword [ebp - 0x10c]
mov dword [esp], esi
mov eax, dword [ebp - 0x108]
call eax
sub esp, 8
mov dword [esp], eax
mov eax, dword [ebp - 0x114]
call eax
sub esp, 4
mov dword [esp], esi
call dword [sym.imp.gdi32.dll_DeleteDC]
mov eax, dword [ebp - 0xe8]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov esi, dword [ebp - 0x110]
sub esp, 4
mov eax, dword [esi]
mov dword [esp], esi
call dword [eax + 8]
sub esp, 4
mov ebx, eax
mov eax, 0x1192
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
lea esp, [edi - 8]
pop edi
ret
mov eax, 0x1157
call fcn.0040a1d0
mov dword [esp], str.GetFontRealizationInfo___is_not_available._n
call fcn.0040ad60
jmp 0x42d89b
mov dword [ebp - 0x130], 0
xor edi, edi
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x118], 0
jmp 0x42d4a8
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x12c], 0
sub esp, 4
mov dword [ebp - 0x118], 0
jmp 0x42d4a8