Function at 0x458de0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
xor edx, edx
mov ecx, 0xf
mov eax, edx
mov edx, 0x73
mov ebp, esp
push edi
push esi
push ebx
lea ebx, [ebp - 0x48]
mov edi, ebx
sub esp, 0x70
rep stosd dword es:[edi], eax
mov eax, ebx
mov word [ebp - 0x24], dx
mov dword [ebp - 0x2c], 0x676e6957
mov dword [ebp - 0x28], 0x676e6964
mov byte [ebp - 0x31], 2
call fcn.004485d0
mov esi, eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x897
mov dword [esp + 8], esi
shr esi, 5
xor esi, 1
mov dword [esp + 4], str.got_0x_x_n
and esi, 1
mov dword [esp], esi
call fcn.004471c0
mov eax, ebx
mov dword [ebp - 0x38], 0x2bc
call fcn.004485d0
mov esi, eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x89c
mov dword [esp + 8], esi
shr esi, 5
and esi, 1
mov dword [esp + 4], str.got_0x_x_n
mov dword [esp], esi
lea esi, [ebp - 0x44]
mov edi, esi
call fcn.004471c0
xor eax, eax
mov ecx, 0xe
mov dword [ebp - 0x48], 0xfffffff3
rep stosd dword es:[edi], eax
mov eax, ebx
mov dword [ebp - 0x2c], 0x6f686154
mov dword [ebp - 0x38], 0x190
mov dword [ebp - 0x29], 0x616d6f
mov byte [ebp - 0x2e], 2
call fcn.004485d0
mov edi, eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x8a8
mov dword [esp + 8], edi
not edi
and edi, 1
mov dword [esp + 4], str.got_0x_x_n
mov dword [esp], edi
call fcn.004471c0
mov eax, ebx
mov byte [ebp - 0x34], 1
call fcn.004485d0
mov edi, eax
call fcn.00492bc0
mov dword [eax], 0x4ab7f5
mov dword [eax + 4], 0x8ad
mov dword [esp + 8], edi
and edi, 1
mov dword [esp], edi
mov dword [esp + 4], str.got_0x_x_n
call fcn.004471c0
mov dword [esp], 0
mov edi, dword [sym.imp.user32.dll_GetDC]
call edi
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x445950
mov dword [esp + 4], 0x4abf58
mov dword [esp], eax
mov dword [ebp - 0x4c], eax
call dword [sym.imp.gdi32.dll_EnumFontFamiliesA]
mov ecx, dword [ebp - 0x4c]
sub esp, 0x10
test eax, eax
je 0x458f98
mov dword [esp + 4], ecx
mov dword [esp], 0
call dword [sym.imp.user32.dll_ReleaseDC]
mov eax, 0x8b1
sub esp, 8
call fcn.00446860
mov dword [esp], str.Arial_is_not_installed_n
call fcn.00446a30
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp - 0x50], eax
mov eax, dword [sym.imp.user32.dll_ReleaseDC]
mov dword [esp + 4], ecx
mov dword [esp], 0
mov dword [ebp - 0x60], eax
call eax
sub esp, 8
mov dword [esp], 0
call edi
mov edi, esi
mov ecx, 0xe
mov dword [ebp - 0x48], 0xfffffff3
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x50]
sub esp, 4
rep stosd dword es:[edi], eax
mov eax, 0x6c
mov dword [ebp - 0x2c], 0x61697241
mov word [ebp - 0x28], ax
mov dword [ebp - 0x38], 0x190
mov byte [ebp - 0x2e], 2
mov dword [esp], ebx
call dword [sym.imp.gdi32.dll_CreateFontIndirectA]
sub esp, 4
mov esi, eax
mov eax, 0x8be
call fcn.00446860
xor eax, eax
test esi, esi
mov dword [esp + 4], str.failed_to_create_a_font_n
setne al
mov dword [esp], eax
call fcn.004471c0
mov dword [ebp - 0x58], esi
mov ecx, dword [sym.imp.gdi32.dll_SelectObject]
mov dword [esp + 4], esi
mov ebx, dword [ebp - 0x4c]
mov esi, dword fs:[0x18]
mov dword [esp], ebx
mov dword [ebp - 0x68], ecx
call ecx
mov edx, dword [sym.imp.gdi32.dll_GetOutlineTextMetricsA]
sub esp, 8
mov dword [ebp - 0x5c], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [ebp - 0x4c], ebx
mov dword [esp], ebx
mov dword [ebp - 0x50], edx
call edx
sub esp, 0xc
mov ebx, eax
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_malloc]
mov ecx, dword [sym.imp.msvcrt.dll_memset]
mov dword [esp + 8], ebx
mov edi, eax
mov dword [esp + 4], 0xaa
mov dword [esp], eax
mov dword [ebp - 0x54], ecx
call ecx
mov dword [esi + 0x34], 0xdeadbeef
mov dword [edi], 0xd4
mov dword [esp + 8], edi
mov dword [esp + 4], 0xd4
mov ecx, dword [ebp - 0x4c]
mov dword [esp], ecx
mov edx, dword [ebp - 0x50]
call edx
sub esp, 0xc
mov dword [ebp - 0x64], eax
mov eax, 0x8c9
call fcn.00446860
mov edx, dword [esi + 0x34]
mov eax, dword [edi]
mov dword [esp + 0x10], edx
mov edx, dword [ebp - 0x64]
mov dword [esp + 8], eax
cmp eax, edx
mov dword [esp + 0xc], edx
sete al
mov dword [esp + 4], str.expected__u__got__lu__error__ld_n
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x8ca
call fcn.00446860
mov eax, dword [edi + 0xc4]
mov dword [esp + 4], str.expected_NULL_got__p_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x8cb
call fcn.00446860
mov eax, dword [edi + 0xc8]
mov dword [esp + 4], str.expected_NULL_got__p_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x8cc
call fcn.00446860
mov eax, dword [edi + 0xcc]
mov dword [esp + 4], str.expected_NULL_got__p_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x8cd
call fcn.00446860
mov eax, dword [edi + 0xd0]
mov dword [esp + 4], str.expected_NULL_got__p_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov dword [esp + 8], ebx
mov dword [esp], edi
mov dword [esp + 4], 0xaa
mov eax, dword [ebp - 0x54]
call eax
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], edi
mov eax, dword [edi]
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x4c]
mov dword [esp], ecx
mov edx, dword [ebp - 0x50]
call edx
sub esp, 0xc
mov dword [ebp - 0x64], eax
mov eax, 0x8d2
call fcn.00446860
mov edx, dword [esi + 0x34]
mov eax, dword [edi]
mov dword [esp + 0x10], edx
mov edx, dword [ebp - 0x64]
mov dword [esp + 8], eax
cmp eax, edx
mov dword [esp + 0xc], edx
sete al
mov dword [esp + 4], str.expected__u__got__lu__error__ld_n
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x8d3
call fcn.00446860
mov eax, dword [edi + 0xc4]
mov dword [esp + 4], str.expected_not_NULL_got__p_n
test eax, eax
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x8d4
call fcn.00446860
mov eax, dword [edi + 0xc8]
mov dword [esp + 4], str.expected_not_NULL_got__p_n
test eax, eax
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x8d5
call fcn.00446860
mov eax, dword [edi + 0xcc]
mov dword [esp + 4], str.expected_not_NULL_got__p_n
test eax, eax
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x8d6
call fcn.00446860
mov eax, dword [edi + 0xd0]
mov dword [esp + 4], str.expected_not_NULL_got__p_n
test eax, eax
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov dword [esp + 8], ebx
mov dword [esp], edi
mov dword [esp + 4], 0xaa
mov eax, dword [ebp - 0x54]
call eax
mov dword [esi + 0x34], 0xdeadbeef
mov dword [edi], 0xd0
mov dword [esp + 8], edi
mov dword [esp + 4], 0xd0
mov ecx, dword [ebp - 0x4c]
mov dword [esp], ecx
mov edx, dword [ebp - 0x50]
call edx
sub esp, 0xc
mov dword [ebp - 0x54], eax
mov eax, 0x8de
call fcn.00446860
mov ecx, dword [esi + 0x34]
mov eax, dword [edi]
mov dword [esp + 0x10], ecx
mov edx, dword [ebp - 0x54]
mov dword [esp + 8], eax
cmp eax, edx
mov dword [esp + 0xc], edx
sete al
mov dword [esp + 4], str.expected__u__got__lu__error__ld_n
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x8df
call fcn.00446860
mov eax, dword [edi + 0xc4]
mov dword [esp + 4], str.expected_NULL_got__p_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x8e0
call fcn.00446860
mov eax, dword [edi + 0xc8]
mov dword [esp + 4], str.expected_NULL_got__p_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x8e1
call fcn.00446860
mov eax, dword [edi + 0xcc]
mov dword [esp + 4], str.expected_NULL_got__p_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov eax, 0x8e2
call fcn.00446860
mov eax, dword [edi + 0xd0]
mov dword [esp + 8], 0xaaaaaaaa
mov dword [esp + 4], str.expected__p_got__p_n
cmp eax, 0xaaaaaaaa
mov dword [esp + 0xc], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004471c0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x4c]
mov dword [esp], ecx
mov edx, dword [ebp - 0x50]
call edx
sub esp, 0xc
mov dword [ebp - 0x50], eax
mov eax, 0x8e7
call fcn.00446860
mov eax, dword [esi + 0x34]
mov dword [esp + 0x10], eax
mov edx, dword [ebp - 0x50]
xor eax, eax
mov dword [esp + 8], ebx
cmp ebx, edx
mov dword [esp + 0xc], edx
sete al
mov dword [esp + 4], str.expected__lu__got__lu__error__ld_n
mov dword [esp], eax
call fcn.004471c0
mov dword [esp], edi
call dword [sym.imp.msvcrt.dll_free]
mov edx, dword [ebp - 0x5c]
mov dword [esp + 4], edx
mov ebx, dword [ebp - 0x4c]
mov dword [esp], ebx
mov ecx, dword [ebp - 0x68]
call ecx
mov esi, dword [ebp - 0x58]
sub esp, 8
mov dword [esp], esi
call dword [sym.imp.gdi32.dll_DeleteObject]
sub esp, 4
mov dword [esp + 4], ebx
mov dword [esp], 0
mov eax, dword [ebp - 0x60]
call eax
sub esp, 8
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret