Function at 0x466760
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x198
mov dword [esp], 0
call dword [sym.imp.gdi32.dll_CreateCompatibleDC]
sub esp, 4
test eax, eax
je 0x46664f
mov dword [esp], eax
mov ebx, eax
call dword [sym.imp.gdi32.dll_GetObjectType]
sub esp, 4
mov esi, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xdb
xor eax, eax
cmp esi, 0xa
sete al
mov dword [esp + 8], esi
mov dword [esp + 4], str.GetObjectType_returned__lu_n
mov dword [esp], eax
call fcn.004656b0
mov dword [esp + 8], 0x1e140a
mov dword [esp + 4], 0xa
mov dword [esp], 0
call dword [sym.imp.gdi32.dll_CreatePen]
sub esp, 0xc
mov edi, eax
test eax, eax
je 0x466737
mov dword [esp + 4], eax
mov eax, dword [sym.imp.gdi32.dll_SelectObject]
mov dword [esp], ebx
mov dword [ebp - 0x164], eax
call eax
mov esi, dword [sym.imp.gdi32.dll_GetCurrentObject]
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], ebx
call esi
sub esp, 8
mov dword [ebp - 0x168], eax
call fcn.00492bc0
mov edx, dword [ebp - 0x168]
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xe1
xor eax, eax
cmp edi, edx
sete al
mov dword [esp + 8], edx
mov dword [esp + 4], str.OBJ_PEN_is_wrong:__p_n
mov dword [esp], eax
call fcn.004656b0
mov dword [esp + 4], 0xb
mov dword [esp], ebx
call esi
sub esp, 8
mov dword [ebp - 0x168], eax
call fcn.00492bc0
mov edx, dword [ebp - 0x168]
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xe3
xor eax, eax
cmp edi, edx
sete al
mov dword [esp + 8], edx
mov dword [esp + 4], str.OBJ_EXTPEN_is_wrong:__p_n
mov dword [esp], eax
call fcn.004656b0
mov dword [esp], 0x1e140a
call dword [sym.imp.gdi32.dll_CreateSolidBrush]
sub esp, 4
mov edi, eax
test eax, eax
je 0x46671a
mov dword [esp + 4], eax
mov dword [esp], ebx
mov eax, dword [ebp - 0x164]
call eax
sub esp, 8
mov dword [esp + 4], 2
mov dword [esp], ebx
call esi
sub esp, 8
mov dword [ebp - 0x168], eax
call fcn.00492bc0
mov edx, dword [ebp - 0x168]
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xe9
xor eax, eax
cmp edi, edx
sete al
mov dword [esp + 8], edx
mov dword [esp + 4], str.OBJ_BRUSH_is_wrong:__p_n
mov dword [esp], eax
call fcn.004656b0
mov dword [esp], ebx
call dword [sym.imp.gdi32.dll_CreateHalftonePalette]
sub esp, 4
test eax, eax
je 0x4666fd
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [ebp - 0x16c], eax
mov dword [esp], ebx
call dword [sym.imp.gdi32.dll_SelectPalette]
sub esp, 0xc
mov dword [esp + 4], 5
mov dword [esp], ebx
call esi
sub esp, 8
mov dword [ebp - 0x168], eax
call fcn.00492bc0
mov ecx, dword [ebp - 0x168]
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xef
xor eax, eax
mov dword [esp + 8], ecx
mov dword [esp + 4], str.OBJ_PAL_is_wrong:__p_n
mov edx, dword [ebp - 0x16c]
cmp edx, ecx
sete al
mov dword [esp], eax
call fcn.004656b0
mov dword [esp + 0x34], str.MS_Sans_Serif
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 5
mov dword [esp], 0xa
call dword [sym.imp.gdi32.dll_CreateFontA]
sub esp, 0x38
test eax, eax
je 0x4666e0
mov dword [esp + 4], eax
mov dword [ebp - 0x16c], eax
mov dword [esp], ebx
mov eax, dword [ebp - 0x164]
call eax
sub esp, 8
mov dword [esp + 4], 6
mov dword [esp], ebx
call esi
sub esp, 8
mov dword [ebp - 0x168], eax
call fcn.00492bc0
mov ecx, dword [ebp - 0x168]
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xf7
xor eax, eax
mov dword [esp + 8], ecx
mov dword [esp + 4], str.OBJ_FONT_is_wrong:__p_n
mov edx, dword [ebp - 0x16c]
cmp edx, ecx
sete al
mov dword [esp], eax
call fcn.004656b0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], 1
mov dword [esp + 4], 0x64
mov dword [esp], 0x64
call dword [sym.imp.gdi32.dll_CreateBitmap]
sub esp, 0x14
test eax, eax
je 0x4666c3
mov dword [esp + 4], eax
mov dword [ebp - 0x16c], eax
mov dword [esp], ebx
mov eax, dword [ebp - 0x164]
call eax
sub esp, 8
mov dword [esp + 4], 7
mov dword [esp], ebx
call esi
sub esp, 8
mov dword [ebp - 0x168], eax
call fcn.00492bc0
mov ecx, dword [ebp - 0x168]
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xfd
xor eax, eax
mov dword [esp + 8], ecx
mov dword [esp + 4], str.OBJ_BITMAP_is_wrong:__p_n
mov edx, dword [ebp - 0x16c]
cmp edx, ecx
sete al
mov dword [esp], eax
call fcn.004656b0
lea edx, [ebp - 0x160]
mov dword [esp + 4], 0xc
mov dword [esp + 8], edx
mov dword [esp], edi
call dword [sym.imp.gdi32.dll_GetObjectA]
lea edx, [ebp - 0x160]
sub esp, 0xc
cmp eax, 0xc
jne 0x4666a6
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], edx
mov dword [esp + 4], 0xa
mov dword [esp], 0x11100
call dword [sym.imp.gdi32.dll_ExtCreatePen]
sub esp, 0x14
mov edi, eax
test eax, eax
je 0x466689
mov dword [esp + 4], eax
mov dword [esp], ebx
mov eax, dword [ebp - 0x164]
call eax
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], ebx
call esi
sub esp, 8
mov dword [ebp - 0x168], eax
call fcn.00492bc0
mov edx, dword [ebp - 0x168]
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x105
xor eax, eax
cmp edi, edx
sete al
mov dword [esp + 8], edx
mov dword [esp + 4], str.OBJ_PEN_is_wrong:__p_n
mov dword [esp], eax
call fcn.004656b0
mov dword [esp + 4], 0xb
mov dword [esp], ebx
call esi
sub esp, 8
mov dword [ebp - 0x168], eax
call fcn.00492bc0
mov edx, dword [ebp - 0x168]
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x107
xor eax, eax
cmp edi, edx
sete al
mov dword [esp + 8], edx
mov dword [esp + 4], str.OBJ_EXTPEN_is_wrong:__p_n
mov dword [esp], eax
call fcn.004656b0
mov dword [esp], ebx
call dword [sym.imp.gdi32.dll_GetColorSpace]
sub esp, 4
mov edi, eax
test eax, eax
je 0x4665ba
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x10c
mov dword [esp], str.current_color_space_is_not_NULL_n
call fcn.004655e0
call fcn.00492bc0
lea edx, [ebp - 0x154]
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x10d
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 8], 0x148
call dword [sym.imp.gdi32.dll_GetLogColorSpaceA]
sub esp, 0xc
mov dword [esp + 4], str.GetLogColorSpace_failed_n
mov dword [esp], eax
call fcn.004656b0
lea edx, [ebp - 0x154]
mov dword [esp], edx
call dword [sym.imp.gdi32.dll_CreateColorSpaceA]
sub esp, 4
mov edi, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x10f
xor eax, eax
test edi, edi
setne al
mov dword [esp + 4], str.CreateColorSpace_failed_n
mov dword [esp], eax
call fcn.004656b0
mov dword [esp + 4], edi
mov dword [esp], ebx
mov eax, dword [ebp - 0x164]
call eax
sub esp, 8
mov dword [esp + 4], 0xe
mov dword [esp], ebx
call esi
sub esp, 8
mov dword [ebp - 0x168], eax
call fcn.00492bc0
mov edx, dword [ebp - 0x168]
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x112
xor eax, eax
cmp edi, edx
sete al
mov dword [esp + 8], edx
mov dword [esp + 4], str.OBJ_COLORSPACE_is_wrong:__p_n
mov dword [esp], eax
call fcn.004656b0
mov dword [esp + 0xc], 0x64
mov dword [esp + 8], 0x64
mov dword [esp + 4], 1
mov dword [esp], 1
call dword [sym.imp.gdi32.dll_CreateRectRgn]
sub esp, 0x10
test eax, eax
je 0x46666c
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x164]
call eax
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], 8
call esi
sub esp, 8
mov esi, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x119
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp + 4], str.OBJ_REGION_is_wrong:__p_n
mov dword [esp], eax
call fcn.004656b0
mov dword [esp], ebx
call dword [sym.imp.gdi32.dll_DeleteDC]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], 0xd8
mov dword [esp + 4], str..._dlls_gdi32_tests_gdiobj.c
mov dword [esp], 0x4b7b1f
call dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 8], 0x116
mov dword [esp + 4], str..._dlls_gdi32_tests_gdiobj.c
mov dword [esp], str.hrgn___0
call dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 8], 0x102
mov dword [esp + 4], str..._dlls_gdi32_tests_gdiobj.c
mov dword [esp], str.hpen___0
call dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 8], 0xff
mov dword [esp + 4], str..._dlls_gdi32_tests_gdiobj.c
mov dword [esp], str.GetObjectA_hbrush__sizeof_lb___lb___sizeof_lb_
call dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 8], 0xfa
mov dword [esp + 4], str..._dlls_gdi32_tests_gdiobj.c
mov dword [esp], str.hbmp___0
call dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 8], 0xf4
mov dword [esp + 4], str..._dlls_gdi32_tests_gdiobj.c
mov dword [esp], str.hfont___0
call dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 8], 0xec
mov dword [esp + 4], str..._dlls_gdi32_tests_gdiobj.c
mov dword [esp], str.hpal___0
call dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 8], 0xe6
mov dword [esp + 4], str..._dlls_gdi32_tests_gdiobj.c
mov dword [esp], str.hbrush___0
call dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 8], 0xde
mov dword [esp + 4], str..._dlls_gdi32_tests_gdiobj.c
mov dword [esp], str.hpen___0
call dword [sym.imp.msvcrt.dll__assert]
lea esi, [esi]
lea esi, [esi]
nop
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x144
mov dword [esp + 4], 0x5540c0
mov dword [esp], 0xffffffff
call dword [sym.imp.kernel32.dll_IsWow64Process]
sub esp, 8
test eax, eax
jne 0x466792
mov dword [0x5540c0], 0
mov dword [esp], 0
call dword [sym.imp.user32.dll_GetDC]
mov ebx, eax
mov eax, dword [sym.imp.gdi32.dll_GetStockObject]
sub esp, 4
mov edx, dword fs:[0x18]
mov dword [edx + 0x34], 0
mov dword [ebp - 0x124], edx
mov dword [esp], 7
mov dword [ebp - 0x12c], eax
call eax
mov esi, dword [sym.imp.gdi32.dll_SelectObject]
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 0
call esi
sub esp, 8
mov edi, eax
call fcn.00492bc0
mov edx, dword [ebp - 0x124]
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x31
xor eax, eax
mov ecx, dword [edx + 0x34]
test edi, edi
je 0x467a60
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], str.SelectObject_NULL_DC__expected_0__ERROR_INVALID_HANDLE__got__p___lu_n
mov dword [esp], eax
call fcn.004656b0
mov edx, dword fs:[0x18]
mov dword [edx + 0x34], 0
mov dword [ebp - 0x124], edx
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 8
mov edi, eax
call fcn.00492bc0
mov edx, dword [ebp - 0x124]
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x38
xor eax, eax
mov ecx, dword [edx + 0x34]
test edi, edi
je 0x467a50
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.SelectObject_NULL_obj__expected_0__NO_ERROR__got__p___lu_n
call fcn.004656b0
mov edx, dword fs:[0x18]
mov dword [edx + 0x34], 0
mov dword [ebp - 0x124], edx
mov dword [esp], 7
mov eax, dword [ebp - 0x12c]
call eax
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], ebx
call esi
sub esp, 8
mov edi, eax
call fcn.00492bc0
mov edx, dword [ebp - 0x124]
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x3f
xor eax, eax
mov ecx, dword [edx + 0x34]
test edi, edi
je 0x4668e3
xor eax, eax
test ecx, ecx
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], str.SelectObject_post_NULL__expected_non_null__NO_ERROR__got__p___lu_n
mov dword [esp], eax
call fcn.004656b0
mov edx, dword fs:[0x18]
mov dword [edx + 0x34], 0
mov dword [ebp - 0x124], edx
mov dword [esp + 4], 1
mov dword [esp], 0
call dword [sym.imp.gdi32.dll_GetCurrentObject]
sub esp, 8
mov edi, eax
call fcn.00492bc0
mov edx, dword [ebp - 0x124]
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x46
xor eax, eax
mov ecx, dword [edx + 0x34]
test edi, edi
je 0x467a40
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.GetCurrentObject_NULL_DC__expected_0__NO_ERROR__got__p___lu_n
call fcn.004656b0
mov eax, dword [sym.imp.gdi32.dll_DeleteObject]
mov dword [esp], 0
mov dword [ebp - 0x124], eax
call eax
sub esp, 4
mov edi, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x4c
xor eax, eax
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
test edi, edi
jne 0x4669a8
xor eax, eax
test ecx, ecx
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.DeleteObject_NULL_obj___expected_0__NO_ERROR__got__d___lu_n
call fcn.004656b0
lea eax, [ebp - 0x10c]
mov edx, dword fs:[0x18]
mov dword [edx + 0x34], 0
mov dword [ebp - 0x128], edx
mov dword [esp + 8], eax
mov eax, dword [sym.imp.gdi32.dll_GetObjectA]
mov dword [esp + 4], 0x100
mov dword [esp], 0
mov dword [ebp - 0x130], eax
call eax
sub esp, 0xc
mov edi, eax
call fcn.00492bc0
mov edx, dword [ebp - 0x128]
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x53
xor eax, eax
mov ecx, dword [edx + 0x34]
test edi, edi
jne 0x466a2d
mov eax, 1
test ecx, ecx
jne 0x4679f0
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.GetObject_NULL_obj___expected_0__NO_ERROR__got__d___lu_n
mov edi, dword fs:[0x18]
call fcn.004656b0
mov dword [esp], 7
mov eax, dword [ebp - 0x12c]
call eax
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], ebx
call esi
lea esi, [ebp - 0x10c]
mov dword [edi + 0x34], 0
sub esp, 8
mov dword [esp + 4], esi
mov dword [esp + 8], 0x100
mov dword [esp], eax
mov eax, dword [ebp - 0x130]
call eax
sub esp, 0xc
mov esi, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x5b
xor eax, eax
mov edx, dword [edi + 0x34]
test esi, esi
jne 0x466abb
mov eax, 1
test edx, edx
jne 0x4679e0
mov dword [esp + 0xc], edx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.GetObject_invalid_buff___expected_0__ERROR_NOACCESS__got__d___lu_n
mov edi, dword fs:[0x18]
call fcn.004656b0
mov eax, dword [sym.imp.gdi32.dll_GetObjectType]
mov dword [edi + 0x34], 0
mov dword [esp], 0
mov dword [ebp - 0x128], eax
call eax
sub esp, 4
mov esi, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x62
xor eax, eax
mov edx, dword [edi + 0x34]
test esi, esi
jne 0x466b1d
xor eax, eax
cmp edx, 6
sete al
mov dword [esp + 0xc], edx
mov dword [esp + 8], esi
mov dword [esp + 4], str.GetObjectType_NULL_obj___expected_0__ERROR_INVALID_HANDLE__got__d___lu_n
mov dword [esp], eax
mov edi, dword fs:[0x18]
call fcn.004656b0
mov dword [edi + 0x34], 0
mov dword [esp], 0
call dword [sym.imp.gdi32.dll_UnrealizeObject]
sub esp, 4
mov esi, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x69
xor eax, eax
mov edx, dword [edi + 0x34]
test esi, esi
jne 0x466b77
xor eax, eax
test edx, edx
sete al
mov dword [esp + 0xc], edx
mov dword [esp + 8], esi
mov dword [esp + 4], str.UnrealizeObject_NULL_obj___expected_0__NO_ERROR__got__d___lu_n
mov dword [esp], eax
mov edi, dword fs:[0x18]
call fcn.004656b0
mov dword [esp + 4], ebx
mov dword [esp], 0
call dword [sym.imp.user32.dll_ReleaseDC]
mov ebx, dword [sym.imp.kernel32.dll_CreateEventA]
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
mov dword [ebp - 0x100], eax
sub esp, 0x10
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x9e
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.CreateEvent_error__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x100]
xor eax, eax
test edx, edx
setne al
mov dword [esp], eax
call fcn.004656b0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
mov dword [ebp - 0xfc], eax
sub esp, 0x10
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xa0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.CreateEvent_error__lu_n
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0xfc]
xor eax, eax
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.004656b0
lea eax, [ebp - 0x120]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x10c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x465de0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_CreateThread]
sub esp, 0x18
mov ebx, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xa3
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.CreateThread_error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.004656b0
mov edx, dword [sym.imp.kernel32.dll_WaitForSingleObject]
mov dword [esp + 4], 0xffffffff
mov eax, dword [ebp - 0xfc]
mov dword [esp], eax
mov dword [ebp - 0x138], edx
call edx
sub esp, 8
mov esi, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xa6
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.WaitForSingleObject_error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
sete al
mov dword [esp], eax
call fcn.004656b0
lea eax, [ebp - 0x11c]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x108]
mov dword [esp], eax
mov eax, dword [ebp - 0x130]
call eax
sub esp, 0xc
mov esi, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xa9
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.GetObject_error__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp esi, 0x10
sete al
mov dword [esp], eax
call fcn.004656b0
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xaa
mov eax, dword [ebp - 0x11c]
mov dword [esp + 4], str.wrong_pen_style__d_n
cmp eax, 4
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004656b0
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xab
mov eax, dword [ebp - 0x118]
mov dword [esp + 4], str.wrong_pen_width.y__ld_n
cmp eax, 0x11
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004656b0
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xac
mov eax, dword [ebp - 0x114]
mov dword [esp + 4], str.wrong_pen_width.y__ld_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004656b0
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xad
mov eax, dword [ebp - 0x110]
mov dword [esp + 4], str.wrong_pen_width.y__08lx_n
cmp eax, 0x30201
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004656b0
mov dword [esp + 4], 2
mov eax, dword [ebp - 0x10c]
mov dword [esp], eax
call dword [sym.imp.gdi32.dll_GetDeviceCaps]
sub esp, 8
mov esi, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xb0
xor eax, eax
cmp esi, 1
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.GetDeviceCaps_TECHNOLOGY__should_return_DT_RASDISPLAY_not__d_n
call fcn.004656b0
mov eax, dword [ebp - 0x108]
mov dword [esp], eax
mov eax, dword [ebp - 0x124]
call eax
sub esp, 4
mov esi, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xb3
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 8], eax
mov dword [esp + 4], str.DeleteObject_error__lu_n
call fcn.004656b0
mov ecx, dword [sym.imp.gdi32.dll_DeleteDC]
mov eax, dword [ebp - 0x10c]
mov dword [esp], eax
mov dword [ebp - 0x134], ecx
call ecx
sub esp, 4
mov esi, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xb5
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 8], eax
mov dword [esp + 4], str.DeleteDC_error__lu_n
call fcn.004656b0
mov eax, dword [ebp - 0x104]
mov dword [esp], eax
mov esi, dword [ebp - 0x128]
call esi
sub esp, 4
mov esi, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xb8
xor eax, eax
cmp esi, 8
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.GetObjectType_returned__lu_n
call fcn.004656b0
mov eax, dword [ebp - 0x100]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_SetEvent]
sub esp, 4
mov dword [esp], ebx
mov dword [esp + 4], 0xffffffff
mov edx, dword [ebp - 0x138]
call edx
sub esp, 8
mov esi, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xbc
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.WaitForSingleObject_error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
sete al
mov dword [esp], eax
call fcn.004656b0
mov esi, dword [sym.imp.kernel32.dll_CloseHandle]
mov dword [esp], ebx
call esi
mov eax, dword [ebp - 0x104]
sub esp, 4
mov dword [esp], eax
mov ebx, dword [ebp - 0x128]
call ebx
sub esp, 4
mov ebx, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xc0
xor eax, eax
cmp ebx, 8
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.GetObjectType_returned__lu_n
call fcn.004656b0
mov eax, dword [ebp - 0x104]
mov dword [esp], eax
mov eax, dword [ebp - 0x124]
call eax
sub esp, 4
mov ebx, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0xc2
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
lea ebx, [ebp - 0x10c]
mov dword [esp + 8], eax
mov dword [esp + 4], str.DeleteObject_error__lu_n
call fcn.004656b0
mov eax, dword [ebp - 0x100]
mov dword [esp], eax
call esi
mov eax, dword [ebp - 0xfc]
sub esp, 4
mov dword [esp], eax
call esi
sub esp, 4
call fcn.00465ff0
mov ecx, dword [sym.imp.gdi32.dll_CreateRectRgn]
mov dword [esp + 0xc], 0x14
mov dword [esp + 8], 0x14
mov dword [esp + 4], 0xa
mov dword [esp], 0xa
mov dword [ebp - 0x130], ecx
call ecx
mov dword [ebp - 0x10c], 5
mov dword [ebp - 0x108], 5
sub esp, 0x10
mov esi, eax
mov dword [ebp - 0x104], 0xf
mov dword [ebp - 0x100], 0xf
mov dword [esp + 4], ebx
mov ebx, dword [sym.imp.gdi32.dll_RectInRegion]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [ebp - 0x138], eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x123
mov dword [esp + 4], str.RectInRegion_should_return_TRUE_n
mov ecx, dword [ebp - 0x138]
mov dword [esp], ecx
call fcn.004656b0
lea edx, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0xf
mov dword [ebp - 0x104], 5
mov dword [ebp - 0x108], 5
mov dword [ebp - 0x100], 0xf
mov dword [esp + 4], edx
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [ebp - 0x138], eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x127
mov dword [esp + 4], str.RectInRegion_should_return_TRUE_n
mov ecx, dword [ebp - 0x138]
mov dword [esp], ecx
call fcn.004656b0
lea edx, [ebp - 0x10c]
mov dword [ebp - 0x10c], 5
mov dword [ebp - 0x104], 0xf
mov dword [ebp - 0x108], 0xf
mov dword [ebp - 0x100], 5
mov dword [esp + 4], edx
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [ebp - 0x138], eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x12b
mov dword [esp + 4], str.RectInRegion_should_return_TRUE_n
mov ecx, dword [ebp - 0x138]
mov dword [esp], ecx
call fcn.004656b0
lea edx, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0xf
mov dword [ebp - 0x104], 5
mov dword [ebp - 0x108], 0xf
mov dword [ebp - 0x100], 5
mov dword [esp + 4], edx
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [ebp - 0x138], eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x12f
mov dword [esp + 4], str.RectInRegion_should_return_TRUE_n
mov ecx, dword [ebp - 0x138]
mov dword [esp], ecx
call fcn.004656b0
mov dword [esp], esi
mov eax, dword [ebp - 0x124]
call eax
sub esp, 4
mov dword [esp + 0xc], 0x14
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0xa
mov dword [esp], 0x14
mov ecx, dword [ebp - 0x130]
call ecx
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x10c], 5
mov dword [ebp - 0x104], 0xf
sub esp, 0x10
mov esi, eax
mov dword [ebp - 0x108], 5
mov dword [ebp - 0x100], 0xf
mov dword [esp + 4], ecx
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [ebp - 0x138], eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x135
mov dword [esp + 4], str.RectInRegion_should_return_TRUE_n
mov ecx, dword [ebp - 0x138]
mov dword [esp], ecx
call fcn.004656b0
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0xf
mov dword [ebp - 0x104], 5
mov dword [ebp - 0x108], 5
mov dword [ebp - 0x100], 0xf
mov dword [esp + 4], ecx
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [ebp - 0x138], eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x139
mov dword [esp + 4], str.RectInRegion_should_return_TRUE_n
mov ecx, dword [ebp - 0x138]
mov dword [esp], ecx
call fcn.004656b0
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x10c], 5
mov dword [ebp - 0x104], 0xf
mov dword [ebp - 0x108], 0xf
mov dword [ebp - 0x100], 5
mov dword [esp + 4], ecx
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [ebp - 0x138], eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x13d
mov dword [esp + 4], str.RectInRegion_should_return_TRUE_n
mov ecx, dword [ebp - 0x138]
mov dword [esp], ecx
call fcn.004656b0
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0xf
mov dword [ebp - 0x104], 5
mov dword [ebp - 0x108], 0xf
mov dword [ebp - 0x100], 5
mov dword [esp + 4], ecx
mov dword [esp], esi
call ebx
sub esp, 8
mov ebx, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x141
mov dword [esp], ebx
mov dword [esp + 4], str.RectInRegion_should_return_TRUE_n
call fcn.004656b0
mov dword [esp], esi
mov eax, dword [ebp - 0x124]
call eax
mov ebx, dword [0x5540c0]
sub esp, 4
test ebx, ebx
je 0x467a18
mov eax, dword [edi + 0xf70]
test eax, eax
jne 0x467a00
mov eax, dword [edi + 0x30]
mov edi, dword [eax + 0x94]
mov dword [esp + 0xc], 0x14
mov dword [esp + 8], 0x14
mov dword [esp + 4], 0xa
mov dword [esp], 0xa
mov eax, dword [ebp - 0x130]
call eax
sub esp, 0x10
mov esi, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x1ae
xor eax, eax
test esi, esi
setne al
mov dword [esp + 4], str.CreateRectRgn_failed_n
mov dword [esp], eax
call fcn.004656b0
movzx eax, si
mov ebx, dword [0x5b41f0]
mov dword [ebp - 0x130], eax
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
movzx eax, si
lea ebx, [eax + eax]
mov dword [ebp - 0x138], ebx
add ebx, eax
shl ebx, 3
jmp 0x46753a
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x1b2
movzx eax, word [edi + ebx + 8]
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x20]
mov dword [esp + 8], eax
mov dword [esp + 4], str.ProcessId___x__expected__lx_n
mov dword [esp + 0xc], ecx
cmp dword [edx + 0x20], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004656b0
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 0x4674f0
xor ecx, ecx
mov edx, 0x40000
mov eax, esi
call fcn.00465b40
mov dword [esp], esi
mov eax, dword [ebp - 0x124]
shr esi, 0x10
call eax
sub esp, 4
call fcn.00492bc0
mov ebx, dword [ebp - 0x130]
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x1b8
mov eax, dword [ebp - 0x138]
add eax, ebx
lea ebx, [edi + eax*8]
movzx eax, word [ebx + 0xc]
mov dword [esp + 0xc], esi
mov dword [esp + 4], str.Unique___x__expected__x_n
cmp eax, esi
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004656b0
mov esi, dword [0x5b41f0]
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 0x46761b
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x1bb
movzx edx, byte [ebx + 0xe]
mov dword [esp + 4], str.Type___x_n
cmp dl, 4
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004656b0
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 0x4675e0
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x1bc
mov dword [esp + 4], str.Object__NULL_n
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.004656b0
mov esi, dword [0x5b41f0]
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
mov esi, dword fs:[0x18]
jmp 0x4676c2
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x1be
movzx eax, word [ebx + 8]
mov edx, dword [esi + 0x20]
mov dword [esp + 4], str.ProcessId___x__expected__lx_n
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
cmp dword [esi + 0x20], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004656b0
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 0x467680
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov esi, dword [ebp - 0x130]
mov dword [eax + 4], 0x1c0
mov eax, dword [ebp - 0x138]
add eax, esi
lea edx, [edi + eax*8]
movzx eax, word [edx + 0xa]
mov dword [esp + 4], str.Count___u_n
shr ax, 1
movzx eax, ax
mov dword [esp + 8], eax
xor eax, eax
cmp word [edx + 0xa], 1
setbe al
mov dword [esp], eax
call fcn.004656b0
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x1c1
movzx edx, byte [ebx + 0xd]
mov dword [esp + 4], str.Generation___u_n
cmp dl, 1
mov dword [esp + 8], edx
sbb eax, eax
and eax, 0xffffff80
add eax, 0xff
mov dword [esp], eax
call fcn.004656b0
mov dword [esp], 6
mov edi, dword [ebp - 0x12c]
call edi
mov ecx, 1
mov edx, 0x300000
sub esp, 4
call fcn.00465b40
mov dword [esp], 0
call edi
mov ecx, 1
mov edx, 0x100000
sub esp, 4
call fcn.00465b40
mov dword [esp], 0
call dword [sym.imp.gdi32.dll_CreateSolidBrush]
xor ecx, ecx
mov edx, 0x100000
sub esp, 4
mov ebx, eax
call fcn.00465b40
mov dword [esp], ebx
mov esi, dword [ebp - 0x124]
call esi
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0x38220c
sub esp, 4
mov dword [ebp - 0x104], 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 3
mov dword [esp], 0x10002
call dword [sym.imp.gdi32.dll_ExtCreatePen]
xor ecx, ecx
mov edx, 0x500000
sub esp, 0x14
mov ebx, eax
call fcn.00465b40
mov dword [esp], ebx
mov dword [ebp - 0x124], esi
call esi
sub esp, 4
mov dword [esp], 0xd
call edi
mov ecx, 1
mov edx, 0xa0000
sub esp, 4
call fcn.00465b40
mov dword [esp], 0xf
call edi
mov ecx, 1
mov edx, 0x80000
sub esp, 4
call fcn.00465b40
mov dword [esp], 0x14
call edi
mov ecx, 1
mov edx, 0x90000
sub esp, 4
call fcn.00465b40
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], str.display
call dword [sym.imp.gdi32.dll_CreateDCW]
sub esp, 0x10
mov ebx, eax
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x1d6
mov dword [esp], ebx
mov edi, dword [ebp - 0x128]
call edi
sub esp, 4
mov esi, eax
mov dword [esp], ebx
call edi
sub esp, 4
cmp eax, 3
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.GetObjectType_dc____lx_n
mov dword [esp], eax
call fcn.004656b0
xor ecx, ecx
mov edx, 0x10000
mov eax, ebx
call fcn.00465b40
mov dword [esp], ebx
mov eax, dword [ebp - 0x134]
call eax
sub esp, 4
mov dword [esp], 0
call dword [sym.imp.gdi32.dll_CreateMetaFileW]
xor ecx, ecx
mov edx, 0x660000
mov ebx, eax
sub esp, 4
call fcn.00465b40
mov dword [esp], ebx
call dword [sym.imp.gdi32.dll_CloseMetaFile]
xor ecx, ecx
mov edx, 0x260000
mov ebx, eax
sub esp, 4
call fcn.00465b40
mov dword [esp], ebx
mov edi, dword [ebp - 0x124]
call edi
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.gdi32.dll_CreateEnhMetaFileW]
xor ecx, ecx
mov edx, 0x210000
mov esi, eax
sub esp, 0x10
call fcn.00465b40
mov dword [esp], esi
call dword [sym.imp.gdi32.dll_CloseEnhMetaFile]
xor ecx, ecx
mov edx, 0x460000
sub esp, 4
call fcn.00465b40
mov dword [esp], ebx
call edi
sub esp, 4
mov dword [esp], 0
call dword [sym.imp.gdi32.dll_CreateCompatibleDC]
xor ecx, ecx
mov edx, 0x410000
mov ebx, eax
sub esp, 4
call fcn.00465b40
mov dword [esp], ebx
mov eax, dword [ebp - 0x134]
call eax
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
cmp edx, 0x3e6
sete al
jmp 0x466abb
xor eax, eax
cmp ecx, 0x57
sete al
jmp 0x466a2d
mov eax, dword [edi + 0xf70]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + 0xf8]
jmp 0x467459
call fcn.00492bc0
mov dword [eax], 0x4b79d4
mov dword [eax + 4], 0x1a8
mov dword [esp], str.Skipping_shared_memory_tests_on_32_bit_Windows_n
call fcn.004654e0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
test ecx, ecx
sete al
jmp 0x46694e
xor eax, eax
test ecx, ecx
sete al
jmp 0x46686f
mov eax, 1
cmp ecx, 6
je 0x46680c
mov eax, dword [0x5b41f0]
or eax, ecx
sete al
movzx eax, al
jmp 0x46680c