Function at 0x10001452
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
mov esi, dword [ebp + 0x10]
push 1
xor ebx, ebx
pop eax
cmp dword [esi + 0x1c], ebx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1c], ebx
je 0x10001a5b
cmp dword [esi], ebx
jne 0x10001481
cmp dword [esi + 4], ebx
jne 0x10001481
xor eax, eax
jmp 0x10001a5b
lea eax, [ebp - 0x3c]
push edi
mov edi, dword [ebp + 8]
push eax
push esi
push edi
call fcn.10002302
add esp, 0xc
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SaveDC]
push dword [ebp + 0xc]
mov dword [ebp - 0x2c], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
cmp dword [edi + 8], ebx
mov dword [ebp - 4], eax
je 0x10001505
cmp dword [edi + 0xc], ebx
je 0x10001505
mov eax, dword [edi + 0x24]
cmp eax, ebx
je 0x10001505
mov ebx, dword [sym.imp.GDI32.dll_UnrealizeObject]
push eax
call ebx
push 0
push dword [edi + 0x24]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SelectPalette]
push dword [ebp + 0xc]
mov dword [edi + 0x20], 1
call dword [sym.imp.GDI32.dll_RealizePalette]
push dword [edi + 0x24]
and dword [edi + 0x20], 0
call ebx
push 0
push dword [edi + 0x24]
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_SelectPalette]
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_RealizePalette]
xor ebx, ebx
cmp dword [esi + 4], ebx
je 0x10001584
push 8
mov dword [ebp - 0xc], ebx
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SetMapMode]
push ebx
push dword [esi + 0xc]
push dword [esi + 8]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
push ebx
push dword [esi + 0x14]
call fcn.1001750a
push dword [esi + 0xc]
mov ebx, eax
call fcn.1001750a
pop ecx
add ebx, eax
pop ecx
push ebx
push dword [esi + 0x10]
call fcn.1001750a
push dword [esi + 8]
mov ebx, eax
call fcn.1001750a
pop ecx
add ebx, eax
pop ecx
push ebx
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SetWindowExtEx]
push 0
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
push 0
push dword [esi + 0x28]
push dword [esi + 0x24]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SetViewportExtEx]
jmp 0x1000158f
push dword [esi]
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_SelectObject]
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.10002246
pop ecx
test eax, eax
pop ecx
jne 0x100015ab
lea eax, [ebp - 0x1c]
push eax
push edi
call fcn.10002297
pop ecx
pop ecx
cmp dword [ebp - 0x1c], 3
mov edi, dword [sym.imp.GDI32.dll_BitBlt]
mov ebx, 0xcc0020
jne 0x100016a6
cmp dword [ebp - 0xc], 0
je 0x100016a6
cmp dword [esi + 0x18], 0
jne 0x100016a6
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp + 8]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x3c]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
mov dword [ebp - 0x24], eax
push dword [ebp + 0x10]
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp + 8]
push dword [eax + 0x2c]
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [ebp - 0x28], eax
push eax
lea eax, [ebp - 0x3c]
push eax
push dword [ebp + 0x10]
call dword [sym.imp.USER32.dll_FillRect]
push dword [ebp - 0x28]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [esi + 0x28]
mov eax, dword [ebp - 0x30]
push ebx
push 0
push 0
mov ecx, dword [esi + 0x24]
push dword [ebp - 4]
sub eax, edx
push edx
push ecx
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x34]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
push dword [ebp + 0x10]
call edi
push dword [ebp - 0x24]
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [esi]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0x34]
push dword [ebp - 4]
sub eax, dword [ebp - 0x3c]
mov dword [esi + 0x18], 1
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x38]
mov dword [esi + 0x28], eax
mov eax, dword [ebp - 0x24]
mov dword [esi], eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 4], eax
test byte [esi + 0x36], 0x10
je 0x100016d3
push 0x186a0
push dword [esi + 0x40]
push dword [esi + 0x24]
call dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x186a0
mov dword [ebp - 0x10], eax
push dword [esi + 0x44]
push dword [esi + 0x28]
call dword [sym.imp.KERNEL32.dll_MulDiv]
jmp 0x100016dc
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x24]
cmp dword [ebp - 0x10], eax
mov dword [ebp - 0x18], eax
jne 0x100016f8
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x28]
jne 0x100016f8
mov byte [ebp + 0x13], 1
jmp 0x100016fc
and byte [ebp + 0x13], 0
mov eax, dword [ebp - 0x1c]
dec eax
cmp eax, 0xa
ja case.0x10001709.10
jmp dword [eax*4 + 0x1000221a]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push 0
push 1
push 1
mov dword [ebp - 0x14], eax
push dword [ebp - 8]
push dword [ebp - 0x10]
call dword [sym.imp.GDI32.dll_CreateBitmap]
push eax
mov dword [ebp - 0x24], eax
push dword [ebp - 0x14]
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push dword [ebp - 8]
mov dword [ebp - 0xc], eax
push dword [ebp - 0x10]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
mov dword [ebp - 0x28], eax
push dword [ebp - 0xc]
call dword [sym.imp.GDI32.dll_SelectObject]
cmp byte [ebp + 0x13], 0
push ebx
je 0x10001780
xor eax, eax
push eax
push eax
push dword [ebp - 4]
push dword [esi + 0x28]
push dword [esi + 0x24]
push eax
push eax
push dword [ebp - 0xc]
call edi
jmp 0x1000179e
push dword [esi + 0x28]
xor eax, eax
push dword [esi + 0x24]
push eax
push eax
push dword [ebp - 4]
push dword [ebp - 8]
push dword [ebp - 0x10]
push eax
push eax
push dword [ebp - 0xc]
call dword [sym.imp.GDI32.dll_StretchBlt]
mov eax, dword [ebp + 8]
xor ecx, ecx
cmp dword [eax + 8], ecx
je 0x100017bd
cmp dword [eax + 0xc], ecx
je 0x100017bd
cmp dword [eax + 0x24], ecx
je 0x100017bd
mov eax, dword [esi + 0x30]
or eax, 0x2000000
push eax
jmp 0x100017c0
push dword [esi + 0x30]
push dword [ebp - 0xc]
call dword [sym.imp.GDI32.dll_SetBkColor]
cmp byte [ebp + 0x13], 0
push ebx
je 0x100017e6
xor eax, eax
push eax
push eax
push dword [ebp - 0xc]
push dword [esi + 0x28]
push dword [esi + 0x24]
push eax
push eax
push dword [ebp - 0x14]
call edi
jmp 0x10001804
push dword [ebp - 8]
xor eax, eax
push dword [ebp - 0x10]
push eax
push eax
push dword [ebp - 0xc]
push dword [ebp - 8]
push dword [ebp - 0x10]
push eax
push eax
push dword [ebp - 0x14]
call dword [sym.imp.GDI32.dll_StretchBlt]
xor ebx, ebx
push ebx
push dword [ebp - 0xc]
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0xffffff
push dword [ebp - 0xc]
call dword [sym.imp.GDI32.dll_SetTextColor]
cmp byte [ebp + 0x13], bl
push 0x8800c6
je 0x1000183c
push ebx
push ebx
push dword [ebp - 0x14]
push dword [esi + 0x28]
push dword [esi + 0x24]
push ebx
push ebx
push dword [ebp - 0xc]
call edi
jmp 0x10001858
push dword [ebp - 8]
push dword [ebp - 0x10]
push ebx
push ebx
push dword [ebp - 0x14]
push dword [ebp - 8]
push dword [ebp - 0x10]
push ebx
push ebx
push dword [ebp - 0xc]
call dword [sym.imp.GDI32.dll_StretchBlt]
push 0xffffff
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SetBkColor]
push ebx
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SetTextColor]
cmp byte [ebp + 0x13], 0
push 0x8800c6
je 0x100018ae
push ebx
push ebx
push dword [ebp - 0x14]
push dword [esi + 0x28]
push dword [esi + 0x24]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp + 0xc]
call edi
push 0xee0086
push ebx
push ebx
push dword [ebp - 0xc]
push dword [esi + 0x28]
push dword [esi + 0x24]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp + 0xc]
call edi
jmp 0x100018ec
push dword [ebp - 8]
mov edi, dword [ebp - 0x10]
mov esi, dword [sym.imp.GDI32.dll_StretchBlt]
push edi
push ebx
push ebx
push dword [ebp - 0x14]
push dword [ebp - 8]
push edi
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp + 0xc]
call esi
push 0xee0086
push dword [ebp - 8]
push edi
push ebx
push ebx
push dword [ebp - 0xc]
push dword [ebp - 8]
push edi
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp + 0xc]
call esi
push dword [ebp - 0x14]
mov esi, dword [sym.imp.GDI32.dll_DeleteDC]
call esi
push dword [ebp - 0xc]
call esi
push dword [ebp - 0x28]
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
call esi
push dword [ebp - 0x24]
call esi
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], 0xff00ff
jmp 0x10001a42
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp + 8]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x34]
and dword [ebp + 8], 0
cdq
idiv dword [esi + 0x24]
inc eax
test eax, eax
jle case.0x10001709.10
mov eax, dword [ebp - 0x30]
mov ecx, dword [esi + 0x28]
cdq
idiv ecx
and dword [ebp + 0x10], 0
inc eax
test eax, eax
jle 0x100019a7
cmp dword [ebp - 0xc], 0
je 0x10001971
mov eax, dword [esi + 0x24]
push ebx
push 0
push 0
push dword [ebp - 4]
push ecx
imul ecx, dword [ebp + 0x10]
push eax
imul eax, dword [ebp + 8]
push ecx
push eax
push dword [ebp + 0xc]
call edi
jmp 0x10001995
mov eax, dword [esi + 0x24]
imul ecx, dword [ebp + 0x10]
imul eax, dword [ebp + 8]
push 0
push ecx
push eax
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
push dword [esi + 4]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_PlayMetaFile]
mov eax, dword [ebp - 0x30]
mov ecx, dword [esi + 0x28]
cdq
idiv ecx
inc dword [ebp + 0x10]
inc eax
cmp dword [ebp + 0x10], eax
jl 0x1000194d
mov eax, dword [ebp - 0x34]
inc dword [ebp + 8]
cdq
idiv dword [esi + 0x24]
inc eax
cmp dword [ebp + 8], eax
jl 0x1000193b
cmp dword [ebp - 0xc], 0
je 0x10001a36
mov ecx, dword [esi + 0x24]
cmp dword [ebp - 0x10], ecx
jne 0x100021f0
mov eax, dword [esi + 0x28]
cmp dword [ebp - 8], eax
jne 0x100021f0
push ebx
push 0
push 0
push dword [ebp - 4]
push eax
push ecx
jmp 0x10001db6
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp + 8]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
xor edi, edi
cmp dword [ebp - 0xc], edi
je 0x10001a1a
push ebx
push dword [esi + 0x28]
push dword [esi + 0x24]
push edi
push edi
push dword [ebp - 4]
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push edi
push edi
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_StretchBlt]
jmp 0x10001a42
push edi
push edi
push edi
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
push edi
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SetViewportExtEx]
push dword [esi + 4]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_PlayMetaFile]
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [ebp - 0x2c]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_RestoreDC]
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret 0xc
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp + 8]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
cmp dword [ebp - 0xc], 0
je 0x10001a8c
xor eax, eax
push ebx
push eax
push eax
push dword [ebp - 4]
push dword [esi + 0x28]
push dword [esi + 0x24]
push eax
push eax
jmp 0x10001dbc
xor edi, edi
jmp 0x10001a1a
cmp dword [esi + 0x18], 0
jne case.0x10001709.10
cmp dword [ebp - 0xc], 0
je 0x10001a36
push dword [ebp + 0xc]
mov dword [esi + 0x18], 1
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push 8
push 8
push dword [ebp + 0xc]
mov dword [ebp + 0x10], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
mov dword [ebp - 0x20], eax
push dword [ebp + 0x10]
call dword [sym.imp.GDI32.dll_SelectObject]
push 0x42
push 8
push 8
push 0
push 0
push dword [ebp + 0x10]
call dword [sym.imp.GDI32.dll_PatBlt]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.100174db
pop ecx
mov dword [ebp + 8], 1
mov eax, dword [ebp + 8]
push 5
cdq
pop ecx
idiv ecx
add eax, 3
test eax, eax
jle 0x10001b38
mov dword [ebp - 0x24], eax
call fcn.100174e8
push 0x40
cdq
pop ecx
idiv ecx
push 0xffffff
push 8
pop ecx
mov eax, edx
mov dword [ebp - 0x28], eax
cdq
idiv ecx
mov eax, dword [ebp - 0x28]
push edx
cdq
idiv ecx
push eax
push dword [ebp + 0x10]
call dword [sym.imp.GDI32.dll_SetPixel]
dec dword [ebp - 0x24]
jne 0x10001b07
push dword [ebp - 0x20]
call dword [sym.imp.GDI32.dll_CreatePatternBrush]
push eax
mov dword [ebp - 0x24], eax
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SelectObject]
push 0xca0749
push 0
push 0
mov dword [ebp - 0x28], eax
push dword [ebp - 4]
push dword [esi + 0x28]
push dword [esi + 0x24]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp + 0xc]
call edi
push dword [ebp - 0x28]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0x24]
call dword [sym.imp.GDI32.dll_DeleteObject]
inc dword [ebp + 8]
cmp dword [ebp + 8], 0x14
jl 0x10001af4
push dword [ebp + 0x10]
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [ebp - 0x20]
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x10001da8
cmp dword [esi + 0x18], 0
jne case.0x10001709.10
push 1
pop eax
mov dword [esi + 0x18], eax
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x28]
push 0x28
cdq
pop ecx
idiv ecx
imul eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x28]
cdq
sub eax, edx
mov dword [ebp + 0x10], eax
mov eax, dword [esi + 0x24]
cdq
idiv ecx
sar dword [ebp + 0x10], 1
mov ecx, dword [ebp + 0x10]
imul eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x24]
cdq
sub eax, edx
mov edx, dword [ebp - 0x24]
add edx, ecx
sub ecx, dword [ebp - 0x24]
add edx, dword [ebp - 0x38]
add ecx, dword [ebp - 0x38]
push edx
mov edx, dword [ebp - 0x20]
sar eax, 1
add edx, eax
sub eax, dword [ebp - 0x20]
add edx, dword [ebp - 0x3c]
add eax, dword [ebp - 0x3c]
push edx
push ecx
push eax
call dword [sym.imp.GDI32.dll_CreateRectRgn]
push eax
mov dword [ebp + 0x10], eax
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SelectClipRgn]
cmp dword [ebp - 0xc], 0
mov dword [ebp - 0x14], eax
je 0x10001c4e
push ebx
push 0
push 0
push dword [ebp - 4]
push dword [esi + 0x28]
push dword [esi + 0x24]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp + 0xc]
call edi
jmp 0x10001c5a
push dword [esi + 4]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_PlayMetaFile]
push dword [ebp - 0x14]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SelectObject]
cmp dword [ebp + 0x10], 0
je 0x10001c75
push dword [ebp + 0x10]
call dword [sym.imp.GDI32.dll_DeleteObject]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x18]
cmp eax, 0x19
jb 0x10001c75
inc dword [ebp + 8]
cmp dword [ebp + 8], 0x14
jl 0x10001bba
push 0
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SelectClipRgn]
cmp dword [ebp - 0xc], 0
je 0x10001cbf
push ebx
push 0
push 0
push dword [ebp - 4]
push dword [esi + 0x28]
push dword [esi + 0x24]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp + 0xc]
call edi
jmp case.0x10001709.10
push dword [esi + 4]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_PlayMetaFile]
jmp case.0x10001709.10
cmp dword [esi + 0x18], 0
jne case.0x10001709.10
push 1
pop eax
mov dword [esi + 0x18], eax
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x24]
push 0x28
cdq
pop ecx
idiv ecx
mov ecx, eax
mov eax, dword [esi + 0x24]
imul ecx, dword [ebp + 8]
cdq
sub eax, edx
mov edx, dword [ebp - 0x38]
add edx, dword [esi + 0x28]
sar eax, 1
push edx
lea edx, [eax + ecx]
sub eax, ecx
add edx, dword [ebp - 0x3c]
add eax, dword [ebp - 0x3c]
push edx
push dword [ebp - 0x38]
push eax
call dword [sym.imp.GDI32.dll_CreateRectRgn]
push eax
mov dword [ebp + 0x10], eax
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SelectClipRgn]
cmp dword [ebp - 0xc], 0
mov dword [ebp - 0x14], eax
je 0x10001d51
push ebx
push 0
push 0
push dword [ebp - 4]
push dword [esi + 0x28]
push dword [esi + 0x24]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp + 0xc]
call edi
jmp 0x10001d5d
push dword [esi + 4]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_PlayMetaFile]
push dword [ebp - 0x14]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SelectObject]
cmp dword [ebp + 0x10], 0
je 0x10001d78
push dword [ebp + 0x10]
call dword [sym.imp.GDI32.dll_DeleteObject]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x18]
cmp eax, 0x19
jb 0x10001d78
inc dword [ebp + 8]
cmp dword [ebp + 8], 0x14
jl 0x10001ce3
push 0
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SelectClipRgn]
cmp dword [ebp - 0xc], 0
je 0x10001a36
push ebx
push 0
push 0
push dword [ebp - 4]
push dword [esi + 0x28]
push dword [esi + 0x24]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp + 0xc]
call edi
jmp 0x10001a42
cmp dword [esi + 0x18], 0
jne case.0x10001709.10
cmp dword [ebp - 0xc], 0
je 0x10001a36
mov eax, dword [ebp - 0x18]
push 4
cdq
pop ecx
mov dword [esi + 0x18], 1
idiv ecx
push 2
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x18]
cdq
idiv ecx
mov eax, dword [ebp + 8]
pop ecx
test edx, edx
cdq
je 0x10001e15
idiv ecx
mov eax, dword [ebp + 8]
test edx, edx
je 0x10001e0c
shl eax, 2
jmp 0x10001e26
lea eax, [eax*4 - 4]
jmp 0x10001e26
idiv ecx
mov eax, dword [ebp - 0x18]
test edx, edx
je 0x10001e23
add eax, 0xfffffff8
jmp 0x10001e26
add eax, 0xfffffffc
and dword [ebp - 0x14], 0
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 0xf
mov dword [ebp + 0x10], eax
cmp dword [ebp + 8], 0
jg 0x10001e4b
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x14], eax
jge 0x10001a42
mov eax, dword [ebp - 0x14]
push ebx
push 0
push eax
push dword [ebp - 4]
mov ecx, dword [ebp - 0x3c]
add eax, ecx
push dword [esi + 0x28]
push 4
push dword [ebp - 0x38]
push eax
push dword [ebp + 0xc]
call edi
test eax, eax
je 0x10001a42
mov eax, dword [ebp + 8]
push ebx
push 0
push eax
push dword [ebp - 4]
mov ecx, dword [ebp - 0x3c]
add eax, ecx
push dword [esi + 0x28]
push 4
push dword [ebp - 0x38]
push eax
push dword [ebp + 0xc]
call edi
test eax, eax
je 0x10001a42
add dword [ebp - 0x14], 8
sub dword [ebp + 8], 8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, dword [ebp + 0x10]
jb 0x10001e9d
add dword [ebp + 0x10], 0xf
jmp 0x10001e39
cmp dword [esi + 0x18], 0
jne case.0x10001709.10
cmp dword [ebp - 0xc], 0
je 0x10001a36
mov ecx, dword [esi + 0x28]
push 2
mov eax, ecx
mov dword [ebp - 0x18], ecx
cdq
sub eax, edx
mov dword [esi + 0x18], 1
sar eax, 1
mov dword [ebp + 8], eax
mov eax, ecx
cdq
pop ecx
idiv ecx
mov eax, dword [ebp + 8]
test edx, edx
cdq
je 0x10001efc
idiv ecx
mov eax, dword [ebp + 8]
test edx, edx
je 0x10001ef6
add eax, eax
jmp 0x10001f0d
lea eax, [eax + eax - 2]
jmp 0x10001f0d
idiv ecx
mov eax, dword [ebp - 0x18]
test edx, edx
je 0x10001f0a
add eax, 0xfffffffc
jmp 0x10001f0d
add eax, 0xfffffffe
and dword [ebp - 0x14], 0
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 0xf
mov dword [ebp + 0x10], eax
cmp dword [ebp + 8], 0
jg 0x10001f32
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x14], eax
jge 0x10001a42
mov eax, dword [ebp - 0x14]
push ebx
mov ecx, dword [ebp - 0x38]
push eax
push 0
add eax, ecx
push dword [ebp - 4]
push 2
push dword [esi + 0x24]
push eax
push dword [ebp - 0x3c]
push dword [ebp + 0xc]
call edi
test eax, eax
je 0x10001a42
mov eax, dword [ebp + 8]
push ebx
mov ecx, dword [ebp - 0x38]
push eax
push 0
add eax, ecx
push dword [ebp - 4]
push 2
push dword [esi + 0x24]
push eax
push dword [ebp - 0x3c]
push dword [ebp + 0xc]
call edi
test eax, eax
je 0x10001a42
add dword [ebp - 0x14], 4
sub dword [ebp + 8], 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, dword [ebp + 0x10]
jb 0x10001f84
add dword [ebp + 0x10], 0xf
jmp 0x10001f20
cmp dword [esi + 0x18], 0
jne case.0x10001709.10
cmp dword [ebp - 0xc], 0
je 0x10001a36
mov eax, dword [esi + 0x28]
mov ecx, dword [ebp - 0x18]
and dword [ebp + 8], 0
cmp ecx, eax
mov dword [esi + 0x18], 1
mov dword [ebp + 0x10], eax
jg 0x10001fc4
mov dword [ebp + 0x10], ecx
mov eax, dword [ebp + 0x10]
push 2
cdq
pop ecx
idiv ecx
mov ecx, dword [ebp + 0x10]
test edx, edx
je 0x10001fd8
sar ecx, 1
jmp 0x10001fdb
sar ecx, 1
inc ecx
xor eax, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jl 0x10001feb
lea eax, [ecx + 2]
shr eax, 1
shl eax, 1
lea edx, [ecx + 2]
cmp eax, edx
jne 0x10001ff6
inc ecx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 0xf
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x28]
jg case.0x10001709.10
xor eax, eax
cmp ecx, dword [ebp - 0x28]
jg 0x100020e1
mov eax, ecx
mov ecx, dword [esi + 0x24]
push ebx
push eax
lea edx, [eax + eax]
push eax
push dword [ebp - 4]
sub ecx, edx
mov dword [ebp - 0x20], ecx
mov ecx, dword [esi + 0x28]
sub ecx, edx
push 1
push dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x38]
add ecx, eax
push ecx
mov ecx, dword [ebp - 0x3c]
add eax, ecx
push eax
push dword [ebp + 0xc]
call edi
test eax, eax
je case.0x10001709.10
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x38]
push ebx
push eax
push eax
add ecx, eax
push dword [ebp - 4]
push dword [ebp - 0x24]
push 1
push ecx
mov ecx, dword [ebp - 0x3c]
add eax, ecx
push eax
push dword [ebp + 0xc]
call edi
test eax, eax
je case.0x10001709.10
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x20]
add eax, ecx
push ebx
push eax
push ecx
inc edx
push dword [ebp - 4]
push 1
push edx
mov edx, dword [ebp - 0x38]
add eax, edx
push eax
mov eax, dword [ebp - 0x3c]
add ecx, eax
push ecx
push dword [ebp + 0xc]
call edi
test eax, eax
je case.0x10001709.10
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x24]
add eax, ecx
push ebx
push ecx
push eax
inc edx
push dword [ebp - 4]
push edx
mov edx, dword [ebp - 0x38]
add ecx, edx
push 1
push ecx
mov ecx, dword [ebp - 0x3c]
add eax, ecx
push eax
push dword [ebp + 0xc]
call edi
test eax, eax
je case.0x10001709.10
push 1
pop eax
cmp dword [ebp - 0x14], 0
jl 0x100021c8
cmp dword [ebp - 0x18], 0
jl 0x100021c8
mov eax, dword [ebp - 0x14]
push ebx
lea ecx, [eax + eax]
mov eax, dword [esi + 0x24]
sub eax, ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
lea edx, [ecx + ecx]
mov ecx, dword [esi + 0x28]
sub ecx, edx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x14]
push edx
push ecx
push dword [ebp - 4]
push 1
push eax
mov eax, dword [ebp - 0x38]
add edx, eax
mov eax, dword [ebp - 0x3c]
add ecx, eax
push edx
push ecx
push dword [ebp + 0xc]
call edi
test eax, eax
je case.0x10001709.10
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x38]
push ebx
push ecx
push eax
push dword [ebp - 4]
add ecx, edx
push dword [ebp - 0x24]
push 1
push ecx
mov ecx, dword [ebp - 0x3c]
add eax, ecx
push eax
push dword [ebp + 0xc]
call edi
test eax, eax
je case.0x10001709.10
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
add eax, ecx
mov ecx, dword [ebp - 0x14]
push ebx
push eax
push ecx
push dword [ebp - 4]
inc edx
push 1
push edx
mov edx, dword [ebp - 0x38]
add eax, edx
push eax
mov eax, dword [ebp - 0x3c]
add ecx, eax
push ecx
push dword [ebp + 0xc]
call edi
test eax, eax
je case.0x10001709.10
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x24]
add eax, ecx
mov ecx, dword [ebp - 0x18]
push ebx
push ecx
push eax
push dword [ebp - 4]
inc edx
push edx
mov edx, dword [ebp - 0x38]
add ecx, edx
push 1
push ecx
mov ecx, dword [ebp - 0x3c]
add eax, ecx
push eax
push dword [ebp + 0xc]
call edi
test eax, eax
je case.0x10001709.10
push 1
pop eax
test eax, eax
je case.0x10001709.10
add dword [ebp + 8], 2
sub dword [ebp - 0x14], 2
sub dword [ebp - 0x18], 2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, dword [ebp + 0x10]
jb 0x100021dc
add dword [ebp + 0x10], 0xf
jmp 0x1000200b
push 3
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
push ebx
push dword [esi + 0x28]
push dword [esi + 0x24]
push 0
push 0
push dword [ebp - 4]
push dword [ebp - 8]
push dword [ebp - 0x10]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
jmp 0x10001a0f