Function at 0x40e6a0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
xor edx, edx
xor eax, eax
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4bc
mov dword [ebp + eax - 0x454], edx
add eax, 4
cmp eax, 0x1c
jb 0x40e6b0
mov eax, dword [ebp - 0x454]
mov ebx, dword [sym.imp.gdi32.dll_CreateCompatibleDC]
mov dword [ebp - 0x464], 0x28
mov dword [ebp - 0x460], 0x10
mov dword [ebp - 0x428], eax
mov eax, dword [ebp - 0x450]
mov dword [ebp - 0x45c], 0xfffffff0
mov dword [ebp - 0x424], eax
mov eax, dword [ebp - 0x44c]
mov dword [ebp - 0x458], 0x200001
mov dword [ebp - 0x420], eax
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x438], 0x28
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x444]
mov dword [ebp - 0x434], 0x10
mov dword [ebp - 0x418], eax
mov eax, dword [ebp - 0x440]
mov dword [ebp - 0x430], 0xfffffff0
mov dword [ebp - 0x414], eax
mov eax, dword [ebp - 0x43c]
mov dword [ebp - 0x42c], 0x200001
mov dword [ebp - 0x410], eax
mov dword [esp], 0
call ebx
sub esp, 4
mov esi, eax
mov dword [esp], eax
call ebx
sub esp, 4
mov edi, eax
mov dword [esp], eax
call ebx
mov ecx, dword [sym.imp.gdi32.dll_CreateDIBSection]
mov ebx, eax
sub esp, 4
lea eax, [ebp - 0x474]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x464]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [ebp - 0x480], esi
mov dword [esp], esi
mov dword [ebp - 0x484], ecx
call ecx
mov esi, dword [sym.imp.gdi32.dll_SelectObject]
sub esp, 0x18
mov dword [ebp - 0x48c], eax
mov dword [esp + 4], eax
mov dword [esp], edi
call esi
lea edx, [ebp - 0x470]
sub esp, 8
mov dword [ebp - 0x490], eax
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x438]
mov dword [esp + 4], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x480]
mov dword [esp], eax
mov ecx, dword [ebp - 0x484]
call ecx
sub esp, 0x18
mov dword [ebp - 0x494], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [ebp - 0x478], esi
call esi
sub esp, 8
mov dword [ebp - 0x498], eax
mov dword [esp], 0x12345678
call dword [sym.imp.gdi32.dll_CreateSolidBrush]
sub esp, 4
mov esi, eax
mov dword [esp + 4], eax
mov dword [esp], edi
mov eax, dword [ebp - 0x478]
call eax
mov edx, ebx
sub esp, 8
mov dword [ebp - 0x47c], eax
mov dword [esp + 0xc], 0xc52
mov dword [esp + 8], 0xfedcba98
mov dword [esp + 4], 0xcc0020
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
mov ecx, dword [ebp - 0x474]
mov eax, edi
call fcn.0040c5b0
mov dword [esp + 0xc], 0xc53
mov edx, ebx
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0xee0086
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
mov ecx, dword [ebp - 0x474]
mov eax, edi
call fcn.0040c5b0
mov dword [esp + 0xc], 0xc54
mov edx, ebx
mov dword [esp + 8], 0x88888888
mov dword [esp + 4], 0x8800c6
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
mov ecx, dword [ebp - 0x474]
mov eax, edi
call fcn.0040c5b0
mov dword [esp + 0xc], 0xc55
mov edx, ebx
mov dword [esp + 8], 0x77777777
mov dword [esp + 4], 0x660046
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
mov ecx, dword [ebp - 0x474]
mov eax, edi
call fcn.0040c5b0
mov dword [esp + 0xc], 0xc56
mov edx, ebx
mov dword [esp + 8], 0x76543210
mov dword [esp + 4], 0x440328
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
mov ecx, dword [ebp - 0x474]
mov eax, edi
call fcn.0040c5b0
mov dword [esp + 0xc], 0xc57
mov edx, ebx
mov dword [esp + 8], 0x1234567
mov dword [esp + 4], 0x330008
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
mov ecx, dword [ebp - 0x474]
mov eax, edi
call fcn.0040c5b0
mov dword [esp + 0xc], 0xc58
mov edx, ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1100a6
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
mov ecx, dword [ebp - 0x474]
mov eax, edi
call fcn.0040c5b0
mov dword [esp + 0xc], 0xc59
mov edx, ebx
mov dword [esp + 8], 0x581210
mov dword [esp + 4], 0xc000ca
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
mov ecx, dword [ebp - 0x474]
mov eax, edi
call fcn.0040c5b0
mov dword [esp + 0xc], 0xc5a
mov edx, ebx
mov dword [esp + 8], 0x89abcdef
mov dword [esp + 4], 0xbb0226
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
mov ecx, dword [ebp - 0x474]
mov eax, edi
call fcn.0040c5b0
mov dword [esp + 0xc], 0xc5b
mov edx, ebx
mov dword [esp + 8], 0x785634
mov dword [esp + 4], 0xf00021
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
mov ecx, dword [ebp - 0x474]
mov eax, edi
call fcn.0040c5b0
mov dword [esp + 0xc], 0xc5c
mov edx, ebx
mov dword [esp + 8], 0x89fbdfff
mov dword [esp + 4], 0xfb0a09
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
mov ecx, dword [ebp - 0x474]
mov eax, edi
call fcn.0040c5b0
mov dword [esp + 0xc], 0xc5d
mov edx, ebx
mov dword [esp + 8], 0x89d39bdb
mov dword [esp + 4], 0x5a0049
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
mov ecx, dword [ebp - 0x474]
mov eax, edi
call fcn.0040c5b0
mov dword [esp + 0xc], 0xc5e
mov edx, ebx
mov dword [esp + 8], 0x76543210
mov dword [esp + 4], 0x550009
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
mov ecx, dword [ebp - 0x474]
mov eax, edi
call fcn.0040c5b0
mov dword [esp + 0xc], 0xc5f
mov edx, ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x42
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
mov ecx, dword [ebp - 0x474]
mov eax, edi
call fcn.0040c5b0
mov dword [esp + 0xc], 0xc60
mov edx, ebx
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0xff0062
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
mov ecx, dword [ebp - 0x474]
mov eax, edi
call fcn.0040c5b0
mov ecx, dword [ebp - 0x47c]
mov dword [esp], edi
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x478]
call eax
mov eax, dword [sym.imp.gdi32.dll_DeleteObject]
sub esp, 8
mov dword [esp], esi
lea esi, [ebp - 0x40c]
mov dword [ebp - 0x47c], eax
call eax
mov eax, dword [ebp - 0x470]
sub esp, 4
mov dword [eax], 0xcafed00d
mov eax, dword [ebp - 0x470]
mov dword [eax + 4], 0xfeedface
mov ecx, dword [ebp - 0x45c]
mov dword [eax + 0x40], 0xfedcba98
mov dword [eax + 0x44], 0x76543210
movzx eax, word [ebp - 0x456]
mov edx, ecx
imul eax, dword [ebp - 0x460]
mov dword [esp + 4], 0
mov dword [esp], esi
add eax, 0x1f
sar eax, 3
and eax, 0xfffffffc
neg edx
cmovs edx, ecx
imul eax, edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memset
lea ecx, [ebp - 0x464]
mov edx, ebx
mov dword [ebp - 0x40c], 0xcafed00d
mov dword [ebp - 0x408], 0xfeedface
mov dword [ebp - 0x3cc], 0xfedcba98
mov dword [ebp - 0x3c8], 0x76543210
mov dword [esp + 0x28], 0xc6d
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], 2
mov dword [esp + 0x1c], 2
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
lea ecx, [ebp - 0x464]
mov edx, ebx
mov dword [ebp - 0x40c], 0xcafed00d
mov dword [ebp - 0x408], 0
mov dword [ebp - 0x3cc], 0
mov dword [ebp - 0x3c8], 0
mov dword [esp + 0x28], 0xc72
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], 1
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
lea ecx, [ebp - 0x464]
mov edx, ebx
mov dword [ebp - 0x40c], 0xcafed00d
mov dword [ebp - 0x408], 0xcafed00d
mov dword [ebp - 0x3cc], 0xcafed00d
mov dword [ebp - 0x3c8], 0xcafed00d
mov dword [esp + 0x28], 0xc77
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], 1
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
lea ecx, [ebp - 0x464]
mov edx, ebx
mov dword [ebp - 0x40c], 0xcafed00d
mov dword [ebp - 0x408], 0
mov dword [ebp - 0x3cc], 0
mov dword [ebp - 0x3c8], 0
mov dword [esp + 0x28], 0xc7d
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], 2
mov dword [esp + 0x1c], 2
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
lea ecx, [ebp - 0x464]
mov edx, ebx
mov dword [ebp - 0x40c], 0x76543210
mov dword [ebp - 0x408], 0xfedcba98
mov dword [ebp - 0x3cc], 0xfeedface
mov dword [ebp - 0x3c8], 0xcafed00d
mov dword [esp + 0x28], 0xc82
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], 0xfffffffe
mov dword [esp + 0x1c], 0xfffffffe
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
mov edx, ebx
lea ecx, [ebp - 0x464]
mov dword [ebp - 0x40c], 0x76543210
mov dword [ebp - 0x408], 0xfedcba98
mov dword [ebp - 0x3cc], 0xfeedface
mov dword [ebp - 0x3c8], 0xcafed00d
mov dword [esp + 0x28], 0xc87
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], 2
mov dword [esp + 0x1c], 2
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0xfffffffe
mov dword [esp + 0xc], 0xfffffffe
mov dword [esp + 8], 1
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
mov ecx, dword [0x5b41f0]
mov dword [ebp - 0x40c], 0xcafed00d
mov dword [ebp - 0x408], 0
mov dword [ebp - 0x488], ecx
mov dword [ebp - 0x3cc], 0
mov dword [ebp - 0x3c8], 0
call fcn.00492bc0
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
mov ecx, dword [ebp - 0x488]
test ecx, ecx
setne cl
movzx ecx, cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x40efec
mov dword [esp + 0x28], 0xc8c
lea ecx, [ebp - 0x464]
mov edx, ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], 0xfffffffe
mov dword [esp + 0x1c], 0xfffffffe
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0xfffffffe
mov dword [esp + 0xc], 0xfffffffe
mov dword [esp + 8], 1
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
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 0x40ef80
mov dword [ebp - 0x40c], 0
lea ecx, [ebp - 0x464]
mov edx, ebx
mov dword [ebp - 0x408], 0
mov dword [ebp - 0x3cc], 0
mov dword [ebp - 0x3c8], 0xcafed00d
mov dword [ebp - 0x3c4], 0xfeedface
mov dword [ebp - 0x38c], 0
mov dword [ebp - 0x388], 0xfedcba98
mov dword [ebp - 0x384], 0x76543210
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xc93
mov dword [esp + 0x20], 2
mov dword [esp + 0x1c], 2
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 2
mov dword [esp + 8], 1
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
movzx eax, word [ebp - 0x42a]
imul eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x430]
mov dword [esp + 4], 0
add eax, 0x1f
mov edx, ecx
sar eax, 3
and eax, 0xfffffffc
neg edx
cmovs edx, ecx
imul eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0x470]
mov dword [eax], 0xff00
mov ecx, dword [ebp - 0x470]
mov dword [ecx + 4], 0xf0f0
mov dword [ecx + 8], 0xcccc
mov edx, dword [ebp - 0x45c]
mov dword [ecx + 0xc], 0xaaaa
movzx eax, word [ebp - 0x456]
imul eax, dword [ebp - 0x460]
mov dword [ecx + 0x40], 0xfedcba98
mov dword [ecx + 0x44], 0x76543210
mov dword [ebp - 0x488], ecx
add eax, 0x1f
sar eax, 3
and eax, 0xfffffffc
neg edx
cmovs edx, dword [ebp - 0x45c]
mov dword [esp], esi
mov dword [esp + 4], 0
imul eax, edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memset
mov ecx, dword [ebp - 0x488]
mov edx, ebx
mov eax, dword [ecx]
lea ecx, [ebp - 0x464]
mov dword [ebp - 0x40c], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xc9d
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], 2
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
mov edx, dword [ebp - 0x470]
lea ecx, [ebp - 0x464]
mov eax, dword [edx]
and eax, dword [edx + 4]
mov edx, ebx
mov dword [ebp - 0x40c], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xca1
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], 3
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
mov edx, dword [ebp - 0x470]
lea ecx, [ebp - 0x464]
mov eax, dword [edx]
and eax, dword [edx + 4]
and eax, dword [edx + 8]
mov edx, ebx
mov dword [ebp - 0x40c], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xca5
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], 4
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
mov edx, dword [ebp - 0x470]
lea ecx, [ebp - 0x464]
mov eax, dword [edx + 4]
and eax, dword [edx + 8]
mov edx, ebx
mov dword [ebp - 0x40c], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xcaa
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], 0xfffffffe
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 2
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
mov eax, dword [ebp - 0x470]
lea ecx, [ebp - 0x464]
mov edx, dword [eax]
and edx, dword [eax + 4]
mov dword [ebp - 0x40c], edx
mov edx, dword [eax + 8]
and edx, dword [eax + 0xc]
mov dword [ebp - 0x408], edx
mov edx, ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xcaf
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], 4
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
movzx eax, word [ebp - 0x456]
imul eax, dword [ebp - 0x460]
mov ecx, dword [ebp - 0x45c]
mov dword [esp], esi
mov dword [esp + 4], 0
add eax, 0x1f
mov edx, ecx
sar eax, 3
and eax, 0xfffffffc
neg edx
cmovs edx, ecx
imul eax, edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0x470]
lea ecx, [ebp - 0x464]
mov edx, ebx
mov eax, dword [eax]
mov dword [ebp - 0x40c], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xcb5
mov dword [esp + 0x20], 2
mov dword [esp + 0x1c], 1
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
mov eax, dword [sym.imp.gdi32.dll_SetMapMode]
mov dword [esp + 4], 7
mov dword [esp], edi
mov dword [ebp - 0x488], eax
call eax
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xc8
mov dword [esp + 4], 0xc8
mov dword [esp], edi
call dword [sym.imp.gdi32.dll_SetWindowExtEx]
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x64
mov dword [esp + 4], 0x64
mov dword [esp], edi
call dword [sym.imp.gdi32.dll_SetViewportExtEx]
mov edx, dword [ebp - 0x470]
lea ecx, [ebp - 0x464]
sub esp, 0x10
mov eax, dword [edx]
and eax, dword [edx + 4]
and eax, dword [edx + 8]
mov edx, ebx
mov dword [ebp - 0x40c], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xcbe
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], 4
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
mov dword [esp + 4], 1
mov dword [esp], edi
mov eax, dword [ebp - 0x488]
call eax
movzx eax, word [ebp - 0x456]
imul eax, dword [ebp - 0x460]
mov ecx, dword [ebp - 0x45c]
sub esp, 8
mov dword [esp], esi
add eax, 0x1f
mov edx, ecx
mov dword [esp + 4], 0
sar eax, 3
and eax, 0xfffffffc
neg edx
cmovs edx, ecx
imul eax, edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memset
lea ecx, [ebp - 0x464]
mov edx, ebx
mov dword [ebp - 0x3c8], 0x76543210
mov dword [ebp - 0x3c4], 0xfedcba98
mov dword [ebp - 0x38c], 0xcccc
mov dword [ebp - 0x388], 0xf0f0
mov dword [ebp - 0x384], 0xff00
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xcc6
mov dword [esp + 0x20], 8
mov dword [esp + 0x1c], 8
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0xfffffff8
mov dword [esp + 0xc], 0xfffffff8
mov dword [esp + 8], 2
mov dword [esp + 4], 2
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
movzx eax, word [ebp - 0x456]
imul eax, dword [ebp - 0x460]
mov ecx, dword [ebp - 0x45c]
mov dword [esp], esi
mov dword [esp + 4], 0
add eax, 0x1f
mov edx, ecx
sar eax, 3
and eax, 0xfffffffc
neg edx
cmovs edx, ecx
imul eax, edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memset
lea ecx, [ebp - 0x464]
mov edx, ebx
mov dword [ebp - 0x274], 0x76543210
mov dword [ebp - 0x270], 0xfedcba98
mov dword [ebp - 0x238], 0xcccc
mov dword [ebp - 0x234], 0xf0f0
mov dword [ebp - 0x230], 0xff00
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xccd
mov dword [esp + 0x20], 0xfffffff8
mov dword [esp + 0x1c], 0xfffffff8
mov dword [esp + 0x18], 2
mov dword [esp + 0x14], 2
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], 8
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
movzx eax, word [ebp - 0x456]
imul eax, dword [ebp - 0x460]
mov ecx, dword [ebp - 0x45c]
mov dword [esp], esi
mov dword [esp + 4], 0
add eax, 0x1f
mov edx, ecx
sar eax, 3
and eax, 0xfffffffc
neg edx
cmovs edx, ecx
imul eax, edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memset
lea ecx, [ebp - 0x464]
mov edx, ebx
mov dword [ebp - 0x2b8], 0x76543210
mov dword [ebp - 0x2b4], 0xfedcba98
mov dword [ebp - 0x280], 0xaaaa
mov dword [ebp - 0x27c], 0xcccc
mov dword [ebp - 0x278], 0xf0f0
mov dword [ebp - 0x274], 0xff00
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xcd3
mov dword [esp + 0x20], 0x12
mov dword [esp + 0x1c], 0x12
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0xffffffee
mov dword [esp + 0xc], 0xffffffee
mov dword [esp + 8], 8
mov dword [esp + 4], 8
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
mov eax, dword [ebp - 0x490]
mov dword [esp], edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x478]
call eax
mov edx, dword [ebp - 0x48c]
sub esp, 8
mov dword [esp], edx
mov edx, dword [ebp - 0x47c]
call edx
movzx eax, word [ebp - 0x42a]
imul eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x430]
sub esp, 4
mov dword [esp + 4], 0
add eax, 0x1f
mov edx, ecx
sar eax, 3
and eax, 0xfffffffc
neg edx
cmovs edx, ecx
imul eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0x470]
lea ecx, [ebp - 0x474]
mov dword [eax], 0xcafed00d
mov eax, dword [ebp - 0x470]
mov dword [eax + 4], 0xfeedface
mov dword [eax + 0x40], 0xfedcba98
mov dword [eax + 0x44], 0x76543210
mov dword [ebp - 0x45c], 0x10
mov dword [esp + 0xc], ecx
lea ecx, [ebp - 0x464]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 4], ecx
mov ecx, dword [ebp - 0x480]
mov dword [esp], ecx
mov ecx, dword [ebp - 0x484]
call ecx
sub esp, 0x18
mov dword [ebp - 0x488], eax
mov dword [esp + 4], eax
mov dword [esp], edi
mov eax, dword [ebp - 0x478]
call eax
mov ecx, dword [ebp - 0x45c]
mov dword [ebp - 0x48c], eax
movzx eax, word [ebp - 0x456]
sub esp, 8
imul eax, dword [ebp - 0x460]
mov edx, ecx
mov dword [esp], esi
mov dword [esp + 4], 0
add eax, 0x1f
sar eax, 3
and eax, 0xfffffffc
neg edx
cmovs edx, ecx
imul eax, edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memset
mov dword [ebp - 0x4c], 0xcafed00d
lea ecx, [ebp - 0x464]
mov edx, ebx
mov dword [ebp - 0x8c], 0xfedcba98
mov dword [ebp - 0x88], 0x76543210
mov dword [ebp - 0x48], 0xfeedface
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xce7
mov dword [esp + 0x20], 2
mov dword [esp + 0x1c], 2
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
mov dword [ebp - 0x4c], 0x76543210
lea ecx, [ebp - 0x464]
mov edx, ebx
mov dword [ebp - 0x8c], 0xfeedface
mov dword [ebp - 0x88], 0xcafed00d
mov dword [ebp - 0x48], 0xfedcba98
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xcec
mov dword [esp + 0x20], 0xfffffffe
mov dword [esp + 0x1c], 0xfffffffe
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
mov edx, dword [ebp - 0x498]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov ecx, dword [ebp - 0x478]
call ecx
mov edx, dword [ebp - 0x494]
sub esp, 8
mov dword [esp], edx
mov edx, dword [ebp - 0x47c]
call edx
lea edx, [ebp - 0x470]
mov dword [ebp - 0x430], 0x10
sub esp, 4
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x438]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 4], edx
mov ecx, dword [ebp - 0x480]
mov dword [esp], ecx
mov edx, dword [ebp - 0x484]
call edx
mov ecx, eax
mov eax, dword [ebp - 0x470]
sub esp, 0x18
mov dword [ebp - 0x490], ecx
mov dword [eax + 0x380], 0xcafed00d
mov dword [eax + 0x384], 0xfeedface
mov dword [eax + 0x3c0], 0xfedcba98
mov dword [eax + 0x3c4], 0x76543210
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov ecx, dword [ebp - 0x478]
call ecx
mov ecx, dword [ebp - 0x45c]
mov dword [ebp - 0x494], eax
movzx eax, word [ebp - 0x456]
sub esp, 8
imul eax, dword [ebp - 0x460]
mov edx, ecx
mov dword [esp], esi
mov dword [esp + 4], 0
add eax, 0x1f
sar eax, 3
and eax, 0xfffffffc
neg edx
cmovs edx, ecx
imul eax, edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memset
mov dword [ebp - 0x4c], 0xfedcba98
lea edx, [ebp - 0x464]
mov dword [ebp - 0x8c], 0xcafed00d
mov ecx, edx
mov edx, ebx
mov dword [ebp - 0x88], 0xfeedface
mov dword [ebp - 0x48], 0x76543210
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xcfe
mov dword [esp + 0x20], 2
mov dword [esp + 0x1c], 2
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
mov dword [ebp - 0x4c], 0xfeedface
lea edx, [ebp - 0x464]
mov dword [ebp - 0x8c], 0x76543210
mov ecx, edx
mov edx, ebx
mov dword [ebp - 0x88], 0xfedcba98
mov dword [ebp - 0x48], 0xcafed00d
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xd03
mov dword [esp + 0x20], 0xfffffffe
mov dword [esp + 0x1c], 0xfffffffe
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
mov eax, edi
call fcn.0040e540
mov edx, dword [ebp - 0x48c]
mov dword [esp], edi
mov dword [esp + 4], edx
mov ecx, dword [ebp - 0x478]
call ecx
mov eax, dword [ebp - 0x488]
sub esp, 8
mov dword [esp], eax
mov edx, dword [ebp - 0x47c]
call edx
lea eax, [ebp - 0x474]
mov dword [ebp - 0x45c], 0xfffffff0
sub esp, 4
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x464]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x480]
mov dword [esp], eax
mov edx, dword [ebp - 0x484]
call edx
sub esp, 0x18
mov dword [ebp - 0x48c], eax
mov dword [esp + 4], eax
mov dword [esp], edi
mov ecx, dword [ebp - 0x478]
call ecx
mov ecx, dword [ebp - 0x45c]
mov dword [ebp - 0x498], eax
movzx eax, word [ebp - 0x456]
sub esp, 8
imul eax, dword [ebp - 0x460]
mov edx, ecx
mov dword [esp], esi
mov dword [esp + 4], 0
add eax, 0x1f
sar eax, 3
and eax, 0xfffffffc
neg edx
cmovs edx, ecx
imul eax, edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memset
mov edx, ebx
mov dword [ebp - 0x40c], 0xfedcba98
mov dword [ebp - 0x408], 0x76543210
mov dword [ebp - 0x3cc], 0xcafed00d
mov dword [ebp - 0x3c8], 0xfeedface
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xd12
mov dword [esp + 0x20], 2
mov dword [esp + 0x1c], 2
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
lea eax, [ebp - 0x464]
mov ecx, eax
mov eax, edi
call fcn.0040e540
mov edx, ebx
mov dword [ebp - 0x40c], 0xfeedface
mov dword [ebp - 0x408], 0xcafed00d
mov dword [ebp - 0x3cc], 0x76543210
mov dword [ebp - 0x3c8], 0xfedcba98
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0xd17
mov dword [esp + 0x20], 0xfffffffe
mov dword [esp + 0x1c], 0xfffffffe
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
lea eax, [ebp - 0x464]
mov ecx, eax
mov eax, edi
call fcn.0040e540
mov eax, dword [ebp - 0x494]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x478]
call ecx
mov eax, dword [ebp - 0x490]
sub esp, 8
mov dword [esp], eax
mov edx, dword [ebp - 0x47c]
call edx
mov edx, 0x18
lea eax, [ebp - 0x470]
mov dword [ebp - 0x430], 0xfffffffe
sub esp, 4
mov word [ebp - 0x42a], dx
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x438]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x480]
mov dword [esp], eax
mov edx, dword [ebp - 0x484]
call edx
sub esp, 0x18
mov dword [ebp - 0x490], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
mov ecx, dword [ebp - 0x478]
call ecx
mov ecx, dword [ebp - 0x45c]
mov dword [ebp - 0x494], eax
movzx eax, word [ebp - 0x456]
sub esp, 8
imul eax, dword [ebp - 0x460]
mov edx, ecx
mov dword [esp], esi
mov dword [esp + 4], 0
add eax, 0x1f
sar eax, 3
and eax, 0xfffffffc
neg edx
cmovs edx, ecx
imul eax, edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0x474]
mov dword [ebp - 0x400], 0xfedcba98
mov dword [ebp - 0x404], 0x76543210
mov esi, dword [sym.imp.gdi32.dll_StretchBlt]
mov dword [ebp - 0x408], 0xcafed00d
mov dword [ebp - 0x40c], 0xfeedface
mov dword [eax], 0xfeedface
mov edx, dword [ebp - 0x408]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x404]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x400]
mov dword [eax + 0xc], edx
mov dword [esp + 0x28], 0xcc0020
mov dword [esp + 0x24], 1
mov dword [esp + 0x20], 4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
mov dword [ebp - 0x488], esi
call esi
mov eax, dword [ebp - 0x474]
sub esp, 0x2c
mov dword [eax], 0x55555555
mov dword [eax + 4], 0x55555555
mov dword [eax + 8], 0x55555555
mov dword [eax + 0xc], 0x55555555
mov dword [esp + 0x28], 0xcc0020
mov dword [esp + 0x24], 1
mov dword [esp + 0x20], 4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], edi
call esi
mov eax, 0xd2a
mov dword [ebp - 0x40c], 0xedface
mov dword [ebp - 0x408], 0xfed00d
sub esp, 0x2c
mov dword [ebp - 0x404], 0x543210
mov dword [ebp - 0x400], 0xdcba98
call fcn.00401020
mov eax, dword [ebp - 0x474]
mov esi, dword [ebp - 0x40c]
cmp dword [eax], esi
je 0x410720
mov edx, 1
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x400]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x404]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x408]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x40c]
mov dword [esp + 4], str.StretchBlt_expected___08X___08X___08X___08X__got___08X___08X___08X___08X__n
mov dword [esp + 8], eax
mov eax, edx
xor eax, 1
mov dword [esp], eax
call fcn.00401820
mov eax, dword [ebp - 0x470]
mov dword [ebp - 0x400], 0xfedcba98
mov dword [ebp - 0x404], 0x76543210
mov dword [ebp - 0x408], 0xcafed00d
mov dword [ebp - 0x40c], 0xfeedface
mov dword [eax], 0xfeedface
mov edx, dword [ebp - 0x408]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x404]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x400]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x474]
mov dword [eax], 0x55555555
mov dword [eax + 4], 0x55555555
mov dword [eax + 8], 0x55555555
mov dword [eax + 0xc], 0x55555555
mov dword [esp + 0x28], 0xcc0020
mov dword [esp + 0x24], 1
mov dword [esp + 0x20], 4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], edi
mov eax, dword [ebp - 0x488]
call eax
mov eax, 0xd36
mov dword [ebp - 0x40c], 0xedface
mov dword [ebp - 0x408], 0xd00dfe
sub esp, 0x2c
mov dword [ebp - 0x404], 0x10cafe
mov dword [ebp - 0x400], 0x765432
call fcn.00401020
mov eax, dword [ebp - 0x474]
mov esi, dword [ebp - 0x40c]
cmp dword [eax], esi
je 0x4107c8
mov edx, 1
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x400]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x404]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x408]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x40c]
mov dword [esp + 4], str.StretchBlt_expected___08X___08X___08X___08X__got___08X___08X___08X___08X__n
mov dword [esp + 8], eax
mov eax, edx
xor eax, 1
mov dword [esp], eax
call fcn.00401820
mov eax, dword [ebp - 0x494]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x478]
call eax
mov esi, dword [ebp - 0x490]
sub esp, 8
mov dword [esp], esi
mov esi, dword [ebp - 0x47c]
call esi
mov eax, 1
lea esi, [ebp - 0x470]
sub esp, 4
mov word [ebp - 0x42a], ax
mov dword [esp + 0xc], esi
lea esi, [ebp - 0x438]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov esi, dword [ebp - 0x480]
mov dword [esp], esi
mov esi, dword [ebp - 0x484]
call esi
sub esp, 0x18
mov esi, eax
mov dword [esp + 4], eax
mov dword [esp], ebx
mov eax, dword [ebp - 0x478]
call eax
mov dword [ebp - 0x46c], 0x123456
mov dword [ebp - 0x484], eax
sub esp, 8
lea eax, [ebp - 0x46c]
mov dword [ebp - 0x468], 0x335577
mov dword [esp + 0xc], eax
mov dword [esp + 8], 2
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [sym.imp.gdi32.dll_SetDIBColorTable]
mov eax, dword [ebp - 0x470]
sub esp, 0x10
mov dword [eax], 0x55555555
mov eax, dword [ebp - 0x474]
mov dword [eax], 0xcccccccc
mov dword [eax + 4], 0xcccccccc
mov dword [eax + 8], 0xcccccccc
mov dword [eax + 0xc], 0xcccccccc
mov eax, dword [sym.imp.gdi32.dll_SetTextColor]
mov dword [esp + 4], 0
mov dword [esp], edi
mov dword [ebp - 0x494], eax
call eax
mov eax, dword [sym.imp.gdi32.dll_SetBkColor]
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], edi
mov dword [ebp - 0x49c], eax
call eax
sub esp, 8
mov dword [esp + 0x28], 0xcc0020
mov dword [esp + 0x24], 1
mov dword [esp + 0x20], 4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], edi
mov eax, dword [ebp - 0x488]
call eax
mov eax, 0xd4b
mov dword [ebp - 0x404], 0x123456
mov dword [ebp - 0x40c], 0x123456
sub esp, 0x2c
mov dword [ebp - 0x400], 0x335577
mov dword [ebp - 0x408], 0x335577
call fcn.00401020
mov eax, dword [ebp - 0x474]
mov ecx, dword [ebp - 0x40c]
cmp dword [eax], ecx
je 0x410790
mov edx, 1
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x400]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x404]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x408]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x40c]
mov dword [esp + 4], str.StretchBlt_expected___08X___08X___08X___08X__got___08X___08X___08X___08X__n
mov dword [esp + 8], eax
mov eax, edx
xor eax, 1
mov dword [esp], eax
call fcn.00401820
mov eax, dword [ebp - 0x484]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x478]
call eax
sub esp, 8
mov dword [esp], esi
mov esi, dword [ebp - 0x47c]
call esi
sub esp, 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], 1
mov dword [esp + 4], 0x10
mov dword [esp], 0x10
call dword [sym.imp.gdi32.dll_CreateBitmap]
sub esp, 0x14
mov dword [ebp - 0x484], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
mov eax, dword [ebp - 0x478]
call eax
mov esi, dword [sym.imp.gdi32.dll_SetPixel]
sub esp, 8
mov dword [ebp - 0x490], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
sub esp, 0x10
mov dword [esp + 0xc], 0xffffff
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], ebx
call esi
sub esp, 0x10
mov dword [esp + 0xc], 0xffffff
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov dword [esp], ebx
call esi
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 3
mov dword [esp], ebx
call esi
mov eax, dword [ebp - 0x474]
sub esp, 0x10
mov dword [eax], 0xcccccccc
mov dword [eax + 4], 0xcccccccc
mov dword [eax + 8], 0xcccccccc
mov dword [eax + 0xc], 0xcccccccc
mov dword [esp + 4], 0x664422
mov dword [esp], edi
mov eax, dword [ebp - 0x494]
call eax
sub esp, 8
mov dword [esp + 4], 0x214365
mov dword [esp], edi
mov eax, dword [ebp - 0x49c]
call eax
sub esp, 8
mov dword [esp + 0x28], 0xcc0020
mov dword [esp + 0x24], 1
mov dword [esp + 0x20], 4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], edi
mov eax, dword [ebp - 0x488]
call eax
mov eax, 0xd5f
mov dword [ebp - 0x400], 0x224466
mov dword [ebp - 0x40c], 0x224466
sub esp, 0x2c
mov dword [ebp - 0x404], 0x654321
mov dword [ebp - 0x408], 0x654321
call fcn.00401020
mov eax, dword [ebp - 0x474]
mov esi, dword [ebp - 0x40c]
cmp dword [eax], esi
je 0x410758
mov edx, 1
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x400]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x404]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x408]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x40c]
mov dword [esp + 4], str.StretchBlt_expected___08X___08X___08X___08X__got___08X___08X___08X___08X__n
mov dword [esp + 8], eax
mov eax, edx
xor eax, 1
mov dword [esp], eax
call fcn.00401820
mov eax, dword [ebp - 0x490]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov esi, dword [ebp - 0x478]
call esi
mov eax, dword [ebp - 0x484]
sub esp, 8
mov dword [esp], eax
mov eax, dword [ebp - 0x47c]
call eax
sub esp, 4
mov dword [esp], ebx
mov ebx, dword [sym.imp.gdi32.dll_DeleteDC]
call ebx
mov ecx, dword [ebp - 0x498]
sub esp, 4
mov dword [esp + 4], ecx
mov dword [esp], edi
call esi
mov esi, dword [ebp - 0x48c]
sub esp, 8
mov dword [esp], esi
mov eax, dword [ebp - 0x47c]
call eax
sub esp, 4
mov dword [esp], edi
call ebx
mov eax, dword [ebp - 0x480]
sub esp, 4
mov dword [esp], eax
call ebx
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [ebp - 0x408]
cmp dword [eax + 4], esi
jne 0x41005f
mov esi, dword [ebp - 0x404]
cmp dword [eax + 8], esi
jne 0x41005f
mov esi, dword [ebp - 0x400]
xor edx, edx
cmp dword [eax + 0xc], esi
jne 0x41005f
jmp 0x410064
mov esi, dword [ebp - 0x408]
cmp dword [eax + 4], esi
jne 0x41063c
mov esi, dword [ebp - 0x404]
cmp dword [eax + 8], esi
jne 0x41063c
mov esi, dword [ebp - 0x400]
xor edx, edx
cmp dword [eax + 0xc], esi
jne 0x41063c
jmp 0x410641
mov ecx, dword [ebp - 0x408]
cmp dword [eax + 4], ecx
jne 0x4103f8
mov ecx, dword [ebp - 0x404]
cmp dword [eax + 8], ecx
jne 0x4103f8
mov ecx, dword [ebp - 0x400]
xor edx, edx
cmp dword [eax + 0xc], ecx
jne 0x4103f8
jmp 0x4103fd
mov esi, dword [ebp - 0x408]
cmp dword [eax + 4], esi
jne 0x4101cc
mov esi, dword [ebp - 0x404]
cmp dword [eax + 8], esi
jne 0x4101cc
mov esi, dword [ebp - 0x400]
xor edx, edx
cmp dword [eax + 0xc], esi
jne 0x4101cc
jmp 0x4101d1