Function at 0x41597b
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff8
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x88]
push ebx
sub esp, 0xbc
mov dword [esp], 0
call dword [sym.imp.user32.dll_GetDC]
mov esi, eax
sub esp, 4
lea eax, [ebp - 0x98]
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.gdiplus.dll_GdipCreateFromHDC
sub esp, 8
mov ebx, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x11e
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
xor eax, eax
mov ecx, 0xf
mov dword [ebp - 0x4c], 0xffffffff
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x6c], 0x6f686154
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x69], 0x616d6f
mov dword [esp + 8], eax
lea eax, [ebp - 0x88]
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.gdiplus.dll_GdipCreateFontFromLogfontA
sub esp, 0xc
mov ebx, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x125
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
lea eax, [ebp - 0x4c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x98]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetLogFontA
sub esp, 0xc
mov ebx, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x127
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x129
mov dword [esp + 4], str.Expected_negative_height_n
mov eax, dword [ebp - 0x4c]
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040efb0
mov ebx, dword [ebp - 0x48]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x12a
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
mov ebx, dword [ebp - 0x44]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x12b
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
mov ebx, dword [ebp - 0x40]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x12c
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x12d
mov dword [esp + 4], str.Expected_weight_to_be_set_n
mov eax, dword [ebp - 0x3c]
sub eax, 0x64
cmp eax, 0x320
setbe al
movzx eax, al
mov dword [esp], eax
call fcn.0040efb0
movzx ebx, byte [ebp - 0x38]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x12e
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
movzx ebx, byte [ebp - 0x37]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x12f
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
movzx ebx, byte [ebp - 0x36]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x130
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
call fcn.0049bde0
mov dword [ebp - 0xa8], esi
mov ebx, dword [sym.imp.gdi32.dll_GetTextCharset]
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x131
movzx edi, byte [ebp - 0x35]
mov dword [esp], esi
call ebx
movzx edx, byte [ebp - 0x35]
mov esi, eax
mov eax, dword [ebp - 0xa8]
sub esp, 4
mov dword [ebp - 0xac], edx
mov dword [esp], eax
call ebx
mov ecx, eax
sub esp, 4
mov eax, 1
cmp dword [ebp - 0xac], ecx
je 0x415d24
xor eax, eax
cmp byte [ebp - 0x35], 0
sete al
mov dword [esp + 0x10], edi
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 0xc], 0
mov dword [esp + 4], str.Expected__x_or__x__got__x_n
call fcn.0040efb0
movzx esi, byte [ebp - 0x34]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x133
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
movzx esi, byte [ebp - 0x33]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x134
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
movzx esi, byte [ebp - 0x32]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x135
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
movzx esi, byte [ebp - 0x31]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x136
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.gdiplus.dll_GdipDeleteFont
lea edx, [ebp - 0x78]
xor eax, eax
mov ecx, 0xb
mov edi, edx
sub esp, 4
mov dword [ebp - 0x88], 0x19
rep stosd dword es:[edi], eax
movzx eax, word [0x4a5398]
mov dword [ebp - 0x6c], 0x6f686154
mov dword [ebp - 0x84], 0x19
mov word [ebp - 0x74], ax
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x7c], 0x32
mov dword [ebp - 0x80], 0x32
mov byte [ebp - 0x72], 1
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x69], 0x616d6f
mov dword [esp + 8], eax
lea eax, [ebp - 0x88]
mov dword [esp + 4], eax
mov edi, dword [ebp - 0xa8]
mov dword [esp], edi
call sub.gdiplus.dll_GdipCreateFontFromLogfontA
sub esp, 0xc
mov esi, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x144
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
lea eax, [ebp - 0x4c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x98]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetLogFontA
sub esp, 0xc
mov esi, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x146
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x148
mov dword [esp + 4], str.Expected_negative_height_n
mov eax, dword [ebp - 0x4c]
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040efb0
mov esi, dword [ebp - 0x48]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x149
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
mov esi, dword [ebp - 0x44]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x14a
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
mov esi, dword [ebp - 0x40]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x14b
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x14c
mov dword [esp + 4], str.Expected_weight_to_be_set_n
mov eax, dword [ebp - 0x3c]
sub eax, 0x64
cmp eax, 0x320
setbe al
movzx eax, al
mov dword [esp], eax
call fcn.0040efb0
movzx esi, byte [ebp - 0x38]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x14d
xor eax, eax
cmp esi, 1
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
movzx ecx, byte [ebp - 0x37]
mov edx, 1
mov eax, 0x14e
call fcn.0040efd0
movzx esi, byte [ebp - 0x36]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x14f
xor eax, eax
cmp esi, 1
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
call fcn.0049bde0
mov dword [ebp - 0xa8], edi
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x150
movzx esi, byte [ebp - 0x35]
mov dword [esp], edi
call ebx
movzx edx, byte [ebp - 0x35]
mov edi, eax
mov eax, dword [ebp - 0xa8]
sub esp, 4
mov dword [ebp - 0xac], edx
mov dword [esp], eax
call ebx
mov ecx, eax
sub esp, 4
mov eax, 1
cmp dword [ebp - 0xac], ecx
je 0x416184
xor eax, eax
cmp byte [ebp - 0x35], 0
sete al
mov dword [esp + 0x10], esi
lea esi, [ebp - 0x8c]
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 0xc], 0
mov dword [esp + 4], str.Expected__x_or__x__got__x_n
call fcn.0040efb0
movzx ebx, byte [ebp - 0x34]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x152
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
movzx ebx, byte [ebp - 0x33]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x153
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
movzx ebx, byte [ebp - 0x32]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x154
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
movzx ecx, byte [ebp - 0x31]
xor edx, edx
mov eax, 0x155
call fcn.0040efd0
lea eax, [ebp - 0x94]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetFontStyle
sub esp, 8
mov ebx, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x158
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x159
mov eax, dword [ebp - 0x94]
mov dword [esp + 4], str.Expected___got__d_n
cmp eax, 0xe
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040efb0
mov dword [esp + 4], esi
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetFontUnit
sub esp, 8
mov ebx, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x15d
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
mov ebx, dword [ebp - 0x8c]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x15e
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
lea ebx, [ebp - 0x90]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0x98]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetFontHeight
sub esp, 0xc
mov edi, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x161
xor eax, eax
test edi, edi
sete al
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
call fcn.0049bde0
mov dword [eax], 0x4a4396
fld dword [ebp - 0x90]
mov dword [eax + 4], 0x162
xor eax, eax
mov dword [esp + 8], 0xfbce4218
fst qword [esp + 0x10]
fsubr qword [0x4a53a0]
mov dword [esp + 0xc], 0x403958ff
mov dword [esp + 4], 0x4a4799
fabs
fld qword [0x4a52f0]
fcompi st(1)
fstp st(0)
setae al
mov dword [esp], eax
call fcn.0040efb0
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetFontSize
sub esp, 8
mov edi, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x164
xor eax, eax
test edi, edi
sete al
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
call fcn.0049bde0
mov dword [eax], 0x4a4396
fld dword [ebp - 0x90]
mov dword [eax + 4], 0x165
xor eax, eax
mov dword [esp + 4], 0x4a4799
fst qword [esp + 0x10]
fld dword [0x4a53a8]
fst qword [esp + 8]
fsubrp st(1)
fabs
fld qword [0x4a52f0]
fcompi st(1)
fstp st(0)
setae al
mov dword [esp], eax
call fcn.0040efb0
lea edx, [ebp - 0x9c]
mov dword [esp + 4], edx
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetFamily
sub esp, 8
mov edi, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x168
xor eax, eax
test edi, edi
sete al
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
lea eax, [ebp - 0xa4]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x9c]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetEmHeight
sub esp, 0xc
mov edi, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x16a
xor eax, eax
test edi, edi
sete al
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
movzx edi, word [ebp - 0xa4]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x16b
xor eax, eax
cmp edi, 0x800
sete al
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 8], 0x800
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
lea eax, [ebp - 0xa2]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x9c]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetLineSpacing
sub esp, 0xc
mov edi, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x16d
xor eax, eax
test edi, edi
sete al
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
movzx edi, word [ebp - 0xa2]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x16e
xor eax, eax
cmp edi, 0x9a8
sete al
mov dword [esp + 0xc], edi
lea edi, [ebp - 0x84]
mov dword [esp], eax
mov dword [esp + 8], 0x9a8
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
mov eax, dword [ebp - 0x9c]
mov dword [esp], eax
call sub.gdiplus.dll_GdipDeleteFontFamily
mov eax, dword [ebp - 0xa0]
sub esp, 4
mov dword [esp], eax
call sub.gdiplus.dll_GdipDeleteFont
xor eax, eax
lea edx, [ebp - 0xa0]
mov ecx, 0xe
rep stosd dword es:[edi], eax
sub esp, 4
mov dword [ebp - 0x6c], 0x6f686154
mov dword [ebp - 0x88], 0xffffffe7
mov dword [ebp - 0x69], 0x616d6f
mov dword [esp + 8], edx
lea edx, [ebp - 0x88]
mov dword [esp + 4], edx
mov edx, dword [ebp - 0xa8]
mov dword [esp], edx
call sub.gdiplus.dll_GdipCreateFontFromLogfontA
sub esp, 0xc
mov edi, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x177
xor eax, eax
test edi, edi
sete al
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x14], 0xffffffff
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x98]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetLogFontA
sub esp, 0xc
mov edi, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x17a
xor eax, eax
test edi, edi
sete al
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
mov ecx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x88]
mov dword [ebp - 0xac], ecx
call fcn.0049bde0
mov ecx, dword [ebp - 0xac]
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x17b
xor eax, eax
cmp ecx, edi
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
lea edi, [ebp - 0x88]
mov dword [esp], eax
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
mov dword [esp + 4], esi
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetFontUnit
sub esp, 8
mov esi, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x17e
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
mov esi, dword [ebp - 0x8c]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x17f
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0x98]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetFontHeight
sub esp, 0xc
mov esi, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x182
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
call fcn.0049bde0
mov dword [eax], 0x4a4396
fld dword [ebp - 0x90]
mov dword [eax + 4], 0x183
xor eax, eax
mov dword [esp + 8], 0xfbce4218
fst qword [esp + 0x10]
fsubr qword [0x4a53b0]
mov dword [esp + 0xc], 0x403e2cff
mov dword [esp + 4], 0x4a4799
fabs
fld qword [0x4a52f0]
fcompi st(1)
fstp st(0)
setae al
mov dword [esp], eax
call fcn.0040efb0
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetFontSize
sub esp, 8
mov esi, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x185
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
call fcn.0049bde0
mov dword [eax], 0x4a4396
fld dword [ebp - 0x90]
mov dword [eax + 4], 0x186
xor eax, eax
mov dword [esp + 4], 0x4a4799
fst qword [esp + 0x10]
fld dword [0x4a53b8]
fst qword [esp + 8]
fsubrp st(1)
fabs
fld qword [0x4a52f0]
fcompi st(1)
fstp st(0)
setae al
mov dword [esp], eax
call fcn.0040efb0
lea edx, [ebp - 0x9c]
mov dword [esp + 4], edx
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetFamily
sub esp, 8
mov esi, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x189
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
lea ecx, [ebp - 0xa4]
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x9c]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetEmHeight
sub esp, 0xc
mov esi, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x18b
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
movzx esi, word [ebp - 0xa4]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x18c
xor eax, eax
cmp esi, 0x800
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0x800
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
lea ecx, [ebp - 0xa2]
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x9c]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetLineSpacing
sub esp, 0xc
mov esi, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x18e
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
movzx esi, word [ebp - 0xa2]
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x18f
xor eax, eax
cmp esi, 0x9a8
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0x9a8
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
mov eax, dword [ebp - 0x9c]
mov dword [esp], eax
call sub.gdiplus.dll_GdipDeleteFontFamily
mov eax, dword [ebp - 0xa0]
sub esp, 4
mov dword [esp], eax
call sub.gdiplus.dll_GdipDeleteFont
xor eax, eax
mov ecx, 0xf
mov dword [ebp - 0xa0], 0
rep stosd dword es:[edi], eax
sub esp, 4
lea ecx, [ebp - 0xa0]
lea edi, [ebp - 0x4c]
mov dword [ebp - 0x6c], 0x656d6954
mov dword [ebp - 0x68], 0x654e2073
mov dword [ebp - 0x64], 0x6f522077
mov dword [ebp - 0x60], 0x6e616d
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x88]
mov dword [esp + 4], ecx
mov edx, dword [ebp - 0xa8]
mov dword [esp], edx
call sub.gdiplus.dll_GdipCreateFontFromLogfontA
sub esp, 0xc
mov esi, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x19c
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
xor eax, eax
mov ecx, 0xf
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x4c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x98]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetLogFontA
sub esp, 0xc
mov esi, eax
call fcn.0049bde0
mov dword [eax], 0x4a4396
mov dword [eax + 4], 0x1a0
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4a44e1
call fcn.0040efb0
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.gdiplus.dll_GdipDeleteFont
lea eax, [ebp - 0x6c]
mov dword [ebp - 0xa0], 0
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_strlen]
test eax, eax
je 0x416c92
lea eax, [ebp - 0x30]
mov dword [esp + 4], eax
lea eax, [ebp - 0x6c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_lstrcmpA]
sub esp, 8
test eax, eax
je 0x416ce0
mov eax, 0x1a7
call fcn.0040e530
mov dword [esp], str.Times_New_Roman_not_installed_n
call fcn.0040ea00
mov eax, dword [ebp - 0x98]
mov dword [esp], eax
call sub.gdiplus.dll_GdipDeleteGraphics
mov eax, dword [ebp - 0xa8]
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 0
call dword [sym.imp.user32.dll_ReleaseDC]
sub esp, 8
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret
mov ecx, 0xe
lea edi, [ebp - 0x84]
xor esi, esi
rep stosd dword es:[edi], eax
mov dword [ebp - 0x6c], 0x656d6954
mov edi, dword [ebp - 0xa8]
mov dword [ebp - 0x68], 0x654e2073
mov dword [ebp - 0x64], 0x6f522077
mov dword [ebp - 0x60], 0x6e616d
lea esi, [esi]
mov eax, dword [esi*8 + 0x4a5200]
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 8], eax
lea eax, [ebp - 0x88]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.gdiplus.dll_GdipCreateFontFromLogfontA
xor edx, edx
sub esp, 0xc
mov ecx, eax
mov eax, 0x1bb
call fcn.0040efd0
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.gdiplus.dll_GdipGetFontSize
xor edx, edx
sub esp, 8
mov ecx, eax
mov eax, 0x1be
call fcn.0040efd0
mov eax, 0x1bf
call fcn.0040e530
fld dword [esi*8 + 0x4a5204]
fld dword [ebp - 0x90]
xor eax, eax
mov dword [esp + 4], 0x4a4799
fst qword [esp + 0x10]
fxch st(1)
fst qword [esp + 8]
fsubrp st(1)
fabs
fld qword [0x4a52f0]
fcompi st(1)
fstp st(0)
setae al
add esi, 1
mov dword [esp], eax
call fcn.0040efb0
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.gdiplus.dll_GdipDeleteFont
mov dword [ebp - 0xa0], 0
sub esp, 4
cmp esi, 5
jne 0x416d18
jmp 0x416ca8