Function at 0x41eff0
Capabilities:
Capture screenshot
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4b6773
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa4
push ebx
push ebp
push esi
push edi
lea ecx, [esp + 0x18]
call fcn.004ad59e
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0xbc], 0
test ebx, ebx
jne 0x41f032
xor eax, eax
jmp 0x41f035
mov eax, dword [ebx + 4]
mov ebp, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
call ebp
push eax
lea ecx, [esp + 0x1c]
call fcn.004ad655
mov edi, dword [esp + 0xf0]
test edi, edi
jne 0x41f057
xor eax, eax
jmp 0x41f05a
mov eax, dword [edi + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov esi, dword [sym.imp.GDI32.dll_RealizePalette]
push ecx
call esi
lea ecx, [esp + 0x44]
call fcn.004ad59e
test ebx, ebx
mov byte [esp + 0xbc], 1
jne 0x41f08b
xor eax, eax
jmp 0x41f08e
mov eax, dword [ebx + 4]
push eax
call ebp
push eax
lea ecx, [esp + 0x48]
call fcn.004ad655
test edi, edi
jne 0x41f0a3
xor eax, eax
jmp 0x41f0a6
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x48]
push eax
push edx
call fcn.004ad796
mov eax, dword [esp + 0x48]
push eax
call esi
mov edx, dword [esp + 0xcc]
lea ecx, [esp + 0x9c]
push ecx
push 0x18
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov edi, dword [esp + 0xa0]
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x14], edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0x4bcfb4
mov ecx, dword [ebx + 4]
push esi
push edi
push ecx
mov byte [esp + 0xc8], 2
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
lea ecx, [esp + 0x78]
call fcn.004ae048
cmp edi, esi
mov ebp, edi
jg 0x41f11f
mov ebp, esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x74]
neg eax
sbb eax, eax
and eax, edx
mov edx, dword [esp + 0x48]
push eax
push edx
call fcn.004ad796
mov dword [esp + 0x98], eax
movsx eax, byte [esp + 0xc4]
add eax, 0xfffffffb
cmp eax, 0x2e
ja case.0x41f165.21
xor ecx, ecx
mov cl, byte [eax + 0x421a04]
jmp dword [ecx*4 + 0x4219c0]
mov eax, 1
cmp ebp, eax
mov dword [esp + 0x10], eax
jl case.0x41f165.21
mov ecx, dword [esp + 0xe8]
cmp eax, ebp
mov dword [esp + 0x14], ecx
jge 0x41f1ab
push esi
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x40]
mov ebx, eax
add ebx, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, ebx
jg 0x41f356
mov ebx, dword [esp + 0x10]
push ebp
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_MulDiv]
push ebp
push ebx
push esi
mov dword [esp + 0x34], eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [esp + 0x28]
mov ebx, edi
sub ebx, ecx
mov ecx, esi
mov dword [esp + 0x34], eax
sub ecx, eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], ecx
test eax, eax
jne 0x41f1e8
xor eax, eax
jmp 0x41f1f2
mov edx, dword [esp + 0xc8]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x18]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, ecx
mov ecx, dword [esp + 0x50]
push 0
push eax
push esi
push edi
push 0
push 0
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x41f239
xor eax, eax
jmp 0x41f243
mov edx, dword [esp + 0xd0]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
mov edx, dword [esp + 0x34]
push 0x8800c6
neg eax
sbb eax, eax
push 0
and eax, ecx
mov ecx, dword [esp + 0x44]
push 0
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x5c]
push ebx
push edx
push eax
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x41f290
xor eax, eax
jmp 0x41f29a
mov edx, dword [esp + 0xcc]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
mov edx, dword [esp + 0x34]
push 0xee0086
neg eax
sbb eax, eax
push 0
and eax, ecx
mov ecx, dword [esp + 0x44]
push 0
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x5c]
push ebx
push edx
push eax
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x41f2e4
xor eax, eax
jmp 0x41f2eb
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x44]
mov ecx, dword [esp + 0xd8]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, edx
mov edx, dword [esp + 0xdc]
push 0
push eax
mov eax, dword [esp + 0xf4]
push esi
push edi
push ecx
mov ecx, dword [eax + 4]
push edx
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [esp + 0x14]
cdq
idiv ebp
add eax, dword [esp + 0x40]
sub eax, ecx
push eax
push 0
call fcn.0041bd40
test al, al
jne case.0x41f165.21
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x14]
inc eax
add ebx, ecx
cmp eax, ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
jle 0x41f18a
jmp case.0x41f165.21
mov eax, 1
cmp ebp, eax
mov dword [esp + 0x10], eax
jl case.0x41f165.21
mov ecx, dword [esp + 0xe8]
cmp eax, ebp
mov dword [esp + 0x14], ecx
jge 0x41f3bc
push esi
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x40]
mov ebx, eax
add ebx, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, ebx
jg 0x41f567
mov ebx, dword [esp + 0x10]
push ebp
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_MulDiv]
push ebp
push ebx
push esi
mov dword [esp + 0x34], eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [esp + 0x28]
mov ebx, edi
sub ebx, ecx
mov ecx, esi
mov dword [esp + 0x34], eax
sub ecx, eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], ecx
test eax, eax
jne 0x41f3f9
xor eax, eax
jmp 0x41f403
mov edx, dword [esp + 0xc8]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x18]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, ecx
mov ecx, dword [esp + 0x50]
push 0
push eax
push esi
push edi
push 0
push 0
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x41f44a
xor eax, eax
jmp 0x41f454
mov edx, dword [esp + 0xd0]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
mov edx, dword [esp + 0x3c]
push 0x8800c6
neg eax
sbb eax, eax
push 0
and eax, ecx
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x44]
push edx
push ebx
push eax
push 0
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x41f4a1
xor eax, eax
jmp 0x41f4ab
mov edx, dword [esp + 0xcc]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
mov edx, dword [esp + 0x3c]
push 0xee0086
neg eax
sbb eax, eax
push 0
and eax, ecx
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x44]
push edx
push ebx
push eax
push 0
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x41f4f5
xor eax, eax
jmp 0x41f4fc
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x44]
mov ecx, dword [esp + 0xd8]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, edx
mov edx, dword [esp + 0xdc]
push 0
push eax
mov eax, dword [esp + 0xf4]
push esi
push edi
push ecx
mov ecx, dword [eax + 4]
push edx
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [esp + 0x14]
cdq
idiv ebp
add eax, dword [esp + 0x40]
sub eax, ecx
push eax
push 0
call fcn.0041bd40
test al, al
jne case.0x41f165.21
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x14]
inc eax
add ebx, ecx
cmp eax, ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
jle 0x41f39b
jmp case.0x41f165.21
mov eax, 1
cmp ebp, eax
mov dword [esp + 0x10], eax
jl case.0x41f165.21
mov ecx, dword [esp + 0xe8]
cmp eax, ebp
mov dword [esp + 0x14], ecx
jge 0x41f5cd
push esi
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x40]
mov ebx, eax
add ebx, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, ebx
jg 0x41f778
mov ebx, dword [esp + 0x10]
push ebp
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_MulDiv]
push ebp
push ebx
push esi
mov dword [esp + 0x34], eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [esp + 0x28]
mov ebx, edi
sub ebx, ecx
mov ecx, esi
mov dword [esp + 0x34], eax
sub ecx, eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], ecx
test eax, eax
jne 0x41f60a
xor eax, eax
jmp 0x41f614
mov edx, dword [esp + 0xc8]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x18]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, ecx
mov ecx, dword [esp + 0x50]
push 0
push eax
push esi
push edi
push 0
push 0
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x41f65b
xor eax, eax
jmp 0x41f665
mov edx, dword [esp + 0xd0]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x18]
push 0x8800c6
neg eax
sbb eax, eax
push ecx
mov ecx, dword [esp + 0x50]
and eax, edx
mov edx, dword [esp + 0x44]
push 0
push eax
mov eax, dword [esp + 0x38]
push edx
push ebx
push 0
push eax
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x41f6b2
xor eax, eax
jmp 0x41f6bc
mov edx, dword [esp + 0xcc]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x18]
push 0xee0086
neg eax
sbb eax, eax
push ecx
mov ecx, dword [esp + 0x50]
and eax, edx
mov edx, dword [esp + 0x44]
push 0
push eax
mov eax, dword [esp + 0x38]
push edx
push ebx
push 0
push eax
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x41f706
xor eax, eax
jmp 0x41f70d
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x44]
mov ecx, dword [esp + 0xd8]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, edx
mov edx, dword [esp + 0xdc]
push 0
push eax
mov eax, dword [esp + 0xf4]
push esi
push edi
push ecx
mov ecx, dword [eax + 4]
push edx
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [esp + 0x14]
cdq
idiv ebp
add eax, dword [esp + 0x40]
sub eax, ecx
push eax
push 0
call fcn.0041bd40
test al, al
jne case.0x41f165.21
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x14]
inc eax
add ebx, ecx
cmp eax, ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
jle 0x41f5ac
jmp case.0x41f165.21
mov eax, 1
cmp ebp, eax
mov dword [esp + 0x10], eax
jl case.0x41f165.21
mov ecx, dword [esp + 0xe8]
cmp eax, ebp
mov dword [esp + 0x14], ecx
jge 0x41f7de
push esi
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x40]
mov ebx, eax
add ebx, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, ebx
jg 0x41f989
mov ebx, dword [esp + 0x10]
push ebp
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_MulDiv]
push ebp
push ebx
push esi
mov dword [esp + 0x34], eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [esp + 0x28]
mov ebx, edi
sub ebx, ecx
mov ecx, esi
mov dword [esp + 0x34], eax
sub ecx, eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], ecx
test eax, eax
jne 0x41f81b
xor eax, eax
jmp 0x41f825
mov edx, dword [esp + 0xc8]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x18]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, ecx
mov ecx, dword [esp + 0x50]
push 0
push eax
push esi
push edi
push 0
push 0
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x41f86c
xor eax, eax
jmp 0x41f876
mov edx, dword [esp + 0xd0]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x18]
push 0x8800c6
neg eax
sbb eax, eax
push ecx
and eax, edx
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x50]
push edx
push eax
mov eax, dword [esp + 0x4c]
push eax
push ebx
push 0
push 0
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x41f8c3
xor eax, eax
jmp 0x41f8cd
mov edx, dword [esp + 0xcc]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x18]
push 0xee0086
neg eax
sbb eax, eax
push ecx
and eax, edx
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x50]
push edx
push eax
mov eax, dword [esp + 0x4c]
push eax
push ebx
push 0
push 0
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x41f917
xor eax, eax
jmp 0x41f91e
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x44]
mov ecx, dword [esp + 0xd8]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, edx
mov edx, dword [esp + 0xdc]
push 0
push eax
mov eax, dword [esp + 0xf4]
push esi
push edi
push ecx
mov ecx, dword [eax + 4]
push edx
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [esp + 0x14]
cdq
idiv ebp
add eax, dword [esp + 0x40]
sub eax, ecx
push eax
push 0
call fcn.0041bd40
test al, al
jne case.0x41f165.21
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x14]
inc eax
add ebx, ecx
cmp eax, ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
jle 0x41f7bd
jmp case.0x41f165.21
mov eax, 1
cmp ebp, eax
mov dword [esp + 0x10], eax
jl case.0x41f165.21
mov ecx, dword [esp + 0xe8]
cmp eax, ebp
mov dword [esp + 0x14], ecx
jge 0x41f9ef
push esi
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x40]
mov ebx, eax
add ebx, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, ebx
jg 0x41fb73
mov edx, dword [esp + 0x10]
push ebp
push edx
push edi
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ebx, edi
mov dword [esp + 0x28], eax
sub ebx, eax
mov eax, dword [esp + 0xc8]
test eax, eax
jne 0x41fa13
xor eax, eax
jmp 0x41fa1d
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x18]
mov edx, dword [esp + 0x48]
neg eax
sbb eax, eax
push 0xcc0020
and eax, ecx
push 0
push 0
push eax
push esi
push edi
push 0
push 0
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x41fa64
xor eax, eax
jmp 0x41fa6e
mov eax, dword [esp + 0xd0]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
neg eax
mov edx, dword [esp + 0x28]
push 0x8800c6
sbb eax, eax
push 0
and eax, ecx
push 0
push eax
mov eax, dword [esp + 0x58]
push esi
push ebx
push 0
push edx
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x41fab4
xor eax, eax
jmp 0x41fabe
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x1c]
push eax
push edx
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
neg eax
sbb eax, eax
push 0xee0086
and eax, ecx
mov ecx, dword [esp + 0x4c]
push 0
push 0
push eax
mov eax, dword [esp + 0x38]
push esi
push ebx
push 0
push eax
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x41fb01
xor eax, eax
jmp 0x41fb08
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x44]
mov ecx, dword [esp + 0xd8]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, edx
mov edx, dword [esp + 0xdc]
push 0
push eax
mov eax, dword [esp + 0xf4]
push esi
push edi
push ecx
mov ecx, dword [eax + 4]
push edx
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [esp + 0x14]
cdq
idiv ebp
add eax, dword [esp + 0x40]
sub eax, ecx
push eax
push 0
call fcn.0041bd40
test al, al
jne case.0x41f165.21
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x14]
inc eax
add ebx, ecx
cmp eax, ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
jle 0x41f9ce
jmp case.0x41f165.21
mov eax, 1
cmp ebp, eax
mov dword [esp + 0x10], eax
jl case.0x41f165.21
mov ecx, dword [esp + 0xe8]
cmp eax, ebp
mov dword [esp + 0x14], ecx
jge 0x41fbd9
push esi
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x40]
mov ebx, eax
add ebx, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, ebx
jg 0x41fd5d
mov edx, dword [esp + 0x10]
push ebp
push edx
push edi
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ebx, edi
mov dword [esp + 0x28], eax
sub ebx, eax
mov eax, dword [esp + 0xc8]
test eax, eax
jne 0x41fbfd
xor eax, eax
jmp 0x41fc07
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x18]
mov edx, dword [esp + 0x48]
neg eax
sbb eax, eax
push 0xcc0020
and eax, ecx
push 0
push 0
push eax
push esi
push edi
push 0
push 0
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x41fc4e
xor eax, eax
jmp 0x41fc58
mov eax, dword [esp + 0xd0]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
neg eax
sbb eax, eax
push 0x8800c6
and eax, edx
mov edx, dword [esp + 0x2c]
push 0
push edx
push eax
mov eax, dword [esp + 0x58]
push esi
push ebx
push 0
push 0
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x41fc9e
xor eax, eax
jmp 0x41fca8
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x1c]
push eax
push edx
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
neg eax
sbb eax, eax
mov edx, dword [esp + 0x48]
and eax, ecx
mov ecx, dword [esp + 0x28]
push 0xee0086
push 0
push ecx
push eax
push esi
push ebx
push 0
push 0
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x41fceb
xor eax, eax
jmp 0x41fcf2
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x44]
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0xe4]
neg eax
sbb eax, eax
push 0xcc0020
and eax, ebx
push 0
push 0
push eax
mov eax, dword [esp + 0xe4]
push esi
push edi
push edx
mov edx, dword [ecx + 4]
push eax
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [esp + 0x14]
cdq
idiv ebp
add eax, dword [esp + 0x40]
sub eax, ecx
push eax
push 0
call fcn.0041bd40
test al, al
jne case.0x41f165.21
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x14]
inc eax
add ebx, ecx
cmp eax, ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
jle 0x41fbb8
jmp case.0x41f165.21
mov eax, 1
cmp ebp, eax
mov dword [esp + 0x10], eax
jl case.0x41f165.21
mov ecx, dword [esp + 0xe8]
cmp eax, ebp
mov dword [esp + 0x14], ecx
jge 0x41fdc3
push esi
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x40]
mov ebx, eax
add ebx, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, ebx
jg 0x41ff47
mov edx, dword [esp + 0x10]
push ebp
push edx
push esi
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ebx, esi
mov dword [esp + 0x34], eax
sub ebx, eax
mov eax, dword [esp + 0xc8]
test eax, eax
jne 0x41fde7
xor eax, eax
jmp 0x41fdf1
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x18]
mov edx, dword [esp + 0x48]
neg eax
sbb eax, eax
push 0xcc0020
and eax, ecx
push 0
push 0
push eax
push esi
push edi
push 0
push 0
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x41fe38
xor eax, eax
jmp 0x41fe42
mov eax, dword [esp + 0xd0]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
mov edx, dword [esp + 0x34]
push 0x8800c6
neg eax
sbb eax, eax
push 0
and eax, ecx
push 0
push eax
mov eax, dword [esp + 0x58]
push ebx
push edi
push edx
push 0
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x41fe88
xor eax, eax
jmp 0x41fe92
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x1c]
push eax
push edx
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
neg eax
sbb eax, eax
push 0xee0086
and eax, ecx
mov ecx, dword [esp + 0x4c]
push 0
push 0
push eax
mov eax, dword [esp + 0x44]
push ebx
push edi
push eax
push 0
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x41fed5
xor eax, eax
jmp 0x41fedc
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x44]
mov ecx, dword [esp + 0xd8]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, edx
mov edx, dword [esp + 0xdc]
push 0
push eax
mov eax, dword [esp + 0xf4]
push esi
push edi
push ecx
mov ecx, dword [eax + 4]
push edx
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [esp + 0x14]
cdq
idiv ebp
add eax, dword [esp + 0x40]
sub eax, ecx
push eax
push 0
call fcn.0041bd40
test al, al
jne case.0x41f165.21
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x14]
inc eax
add ebx, ecx
cmp eax, ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
jle 0x41fda2
jmp case.0x41f165.21
mov eax, 1
cmp ebp, eax
mov dword [esp + 0x10], eax
jl case.0x41f165.21
mov ecx, dword [esp + 0xe8]
cmp eax, ebp
mov dword [esp + 0x14], ecx
jge 0x41ffad
push esi
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x40]
mov ebx, eax
add ebx, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, ebx
jg 0x420131
mov edx, dword [esp + 0x10]
push ebp
push edx
push esi
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ebx, esi
mov dword [esp + 0x34], eax
sub ebx, eax
mov eax, dword [esp + 0xc8]
test eax, eax
jne 0x41ffd1
xor eax, eax
jmp 0x41ffdb
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x18]
mov edx, dword [esp + 0x48]
neg eax
sbb eax, eax
push 0xcc0020
and eax, ecx
push 0
push 0
push eax
push esi
push edi
push 0
push 0
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x420022
xor eax, eax
jmp 0x42002c
mov eax, dword [esp + 0xd0]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x18]
push 0x8800c6
neg eax
sbb eax, eax
push edx
and eax, ecx
push 0
push eax
mov eax, dword [esp + 0x58]
push ebx
push edi
push 0
push 0
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x420072
xor eax, eax
jmp 0x42007c
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x1c]
push eax
push edx
call fcn.004ad796
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x18]
push 0xee0086
neg eax
sbb eax, eax
push ecx
and eax, edx
mov edx, dword [esp + 0x50]
push 0
push eax
push ebx
push edi
push 0
push 0
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x4200bf
xor eax, eax
jmp 0x4200c6
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x44]
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0xe4]
neg eax
sbb eax, eax
push 0xcc0020
and eax, ebx
push 0
push 0
push eax
mov eax, dword [esp + 0xe4]
push esi
push edi
push edx
mov edx, dword [ecx + 4]
push eax
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [esp + 0x14]
cdq
idiv ebp
add eax, dword [esp + 0x40]
sub eax, ecx
push eax
push 0
call fcn.0041bd40
test al, al
jne case.0x41f165.21
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x14]
inc eax
add ebx, ecx
cmp eax, ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
jle 0x41ff8c
jmp case.0x41f165.21
lea ecx, [edi + 0x13]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
cmp esi, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x10], eax
jl case.0x41f165.21
mov ecx, dword [esp + 0xe8]
mov ebp, dword [sym.imp.GDI32.dll_BitBlt]
lea edx, [esi - 1]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], edx
cmp eax, esi
jge 0x4201bc
push esi
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x40]
mov ebx, eax
add ebx, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, ebx
jg 0x42038e
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x4201ca
mov eax, dword [eax + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x18]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, ecx
mov ecx, dword [esp + 0x50]
push 0
push eax
push esi
push edi
push 0
push 0
push ecx
call ebp
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x42020c
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x1c]
push eax
push edx
call fcn.004ad796
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x42028b
xor ebx, ebx
inc eax
shr eax, 1
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x18]
push 0x8800c6
neg eax
sbb eax, eax
push ecx
and eax, edx
mov edx, dword [esp + 0x40]
push ebx
push eax
mov eax, dword [esp + 0x58]
push edx
push 0x14
push ecx
push ebx
push eax
call ebp
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
mov edx, dword [esp + 0x38]
push 0x8800c6
neg eax
sbb eax, eax
push 0
and eax, ecx
lea ecx, [ebx + 0x14]
push ecx
push eax
mov eax, dword [esp + 0x58]
push edx
push 0x14
push 0
push ecx
push eax
call ebp
mov eax, dword [esp + 0x30]
add ebx, 0x28
dec eax
mov dword [esp + 0x30], eax
jne 0x420228
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x420299
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x42031c
mov edx, eax
xor ebx, ebx
lea eax, [edx + 1]
shr eax, 1
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x18]
push 0xee0086
neg eax
sbb eax, eax
push ecx
and eax, edx
push ebx
push eax
mov eax, dword [esp + 0x48]
push eax
push 0x14
push ecx
mov ecx, dword [esp + 0x64]
push ebx
push ecx
call ebp
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
mov edx, dword [esp + 0x38]
push 0xee0086
neg eax
sbb eax, eax
push 0
and eax, ecx
lea ecx, [ebx + 0x14]
push ecx
push eax
mov eax, dword [esp + 0x58]
push edx
push 0x14
push 0
push ecx
push eax
call ebp
mov eax, dword [esp + 0x30]
add ebx, 0x28
dec eax
mov dword [esp + 0x30], eax
jne 0x4202b9
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x420327
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x44]
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0xe4]
neg eax
sbb eax, eax
push 0xcc0020
and eax, ebx
push 0
push 0
push eax
mov eax, dword [esp + 0xe4]
push esi
push edi
push edx
mov edx, dword [ecx + 4]
push eax
push edx
call ebp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [esp + 0x14]
cdq
idiv esi
add eax, dword [esp + 0x40]
sub eax, ecx
push eax
push 0
call fcn.0041bd40
test al, al
jne case.0x41f165.21
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x14]
inc eax
dec ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xe8]
add ebx, ecx
cmp eax, esi
mov dword [esp + 0x14], ebx
jle 0x42019b
jmp case.0x41f165.21
lea ecx, [esi + 0x13]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
mov dword [esp + 0x10], 1
shr eax, 0x1f
add edx, eax
cmp edi, 1
mov dword [esp + 0x54], edx
jl case.0x41f165.21
mov ecx, dword [esp + 0xe8]
mov ebp, dword [sym.imp.GDI32.dll_BitBlt]
lea edx, [edi - 1]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x10]
cmp eax, edi
jge 0x42042d
push edi
push eax
mov eax, dword [esp + 0xf0]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x40]
mov ebx, eax
add ebx, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, ebx
jg 0x420603
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x42043b
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x18]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, edx
mov edx, dword [esp + 0x50]
push 0
push eax
push esi
push edi
push 0
push 0
push edx
call ebp
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x42047d
mov eax, dword [eax + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x420500
mov ecx, eax
xor ebx, ebx
lea eax, [ecx + 1]
shr eax, 1
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
neg eax
mov edx, dword [esp + 0x38]
push 0x8800c6
sbb eax, eax
push ebx
and eax, ecx
mov ecx, dword [esp + 0x18]
push ecx
push eax
mov eax, dword [esp + 0x58]
push 0x14
push edx
push ebx
push ecx
push eax
call ebp
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
neg eax
mov edx, dword [esp + 0x38]
push 0x8800c6
sbb eax, eax
and eax, ecx
lea ecx, [ebx + 0x14]
push ecx
push 0
push eax
mov eax, dword [esp + 0x58]
push 0x14
push edx
push ecx
push 0
push eax
call ebp
mov eax, dword [esp + 0x30]
add ebx, 0x28
dec eax
mov dword [esp + 0x30], eax
jne 0x42049d
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x42050e
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x420591
mov edx, eax
xor ebx, ebx
lea eax, [edx + 1]
shr eax, 1
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
neg eax
sbb eax, eax
push 0xee0086
and eax, ecx
mov ecx, dword [esp + 0x14]
push ebx
push ecx
push eax
mov eax, dword [esp + 0x48]
push 0x14
push eax
push ebx
push ecx
mov ecx, dword [esp + 0x68]
push ecx
call ebp
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
neg eax
mov edx, dword [esp + 0x38]
push 0xee0086
sbb eax, eax
and eax, ecx
lea ecx, [ebx + 0x14]
push ecx
push 0
push eax
mov eax, dword [esp + 0x58]
push 0x14
push edx
push ecx
push 0
push eax
call ebp
mov eax, dword [esp + 0x30]
add ebx, 0x28
dec eax
mov dword [esp + 0x30], eax
jne 0x42052e
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x42059c
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x44]
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0xe4]
neg eax
sbb eax, eax
push 0xcc0020
and eax, ebx
push 0
push 0
push eax
mov eax, dword [esp + 0xe4]
push esi
push edi
push edx
mov edx, dword [ecx + 4]
push eax
push edx
call ebp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [esp + 0x14]
cdq
idiv edi
add eax, dword [esp + 0x40]
sub eax, ecx
push eax
push 0
call fcn.0041bd40
test al, al
jne case.0x41f165.21
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x14]
inc eax
dec ecx
add ebx, edx
cmp eax, edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], ebx
jle 0x4203ff
jmp case.0x41f165.21
cmp edi, esi
mov eax, edi
jg 0x42063b
mov eax, esi
cdq
sub eax, edx
push 3
mov ebp, eax
mov eax, edi
cdq
sub eax, edx
lea ecx, [esp + 0x48]
sar eax, 1
mov dword [esp + 0x5c], eax
mov eax, esi
cdq
sub eax, edx
sar eax, 1
sar ebp, 1
mov dword [esp + 0x34], eax
call fcn.004ad921
mov eax, 1
cmp ebp, eax
mov dword [esp + 0x10], eax
jl case.0x41f165.21
mov ecx, dword [esp + 0xe8]
lea edx, [ebp - 1]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], edx
cmp eax, ebp
jge 0x4206a9
push ebp
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x40]
mov ebx, eax
add ebx, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, ebx
jg 0x420871
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x58]
push ebp
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
push ebp
push ecx
push edx
sub ebx, eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [esp + 0x30]
push ebp
sub ecx, eax
mov eax, dword [esp + 0x3c]
push eax
push edi
mov dword [esp + 0x40], ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [esp + 0x38]
push ebp
push ecx
push esi
mov dword [esp + 0x34], eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xc8]
test eax, eax
jne 0x420708
xor eax, eax
jmp 0x420712
mov edx, dword [esp + 0xc8]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x18]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, ecx
mov ecx, dword [esp + 0x50]
push 0
push eax
push esi
push edi
push 0
push 0
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
cmp dword [esp + 0x10], ebp
jge 0x4207fb
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x420762
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x1c]
push eax
push edx
call fcn.004ad796
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
neg eax
mov ecx, dword [esp + 0x28]
push 0x8800c6
sbb eax, eax
push esi
push edi
and eax, edx
mov edx, dword [esp + 0x40]
push 0
push 0
push eax
mov eax, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x64]
push ecx
push edx
push ebx
push eax
call dword [sym.imp.GDI32.dll_StretchBlt]
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x4207b1
xor eax, eax
jmp 0x4207bb
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x1c]
push eax
push edx
call fcn.004ad796
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
neg eax
mov ecx, dword [esp + 0x28]
push 0xee0086
sbb eax, eax
push esi
push edi
and eax, edx
mov edx, dword [esp + 0x40]
push 0
push 0
push eax
mov eax, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x64]
push ecx
push edx
push ebx
push eax
call dword [sym.imp.GDI32.dll_StretchBlt]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x420806
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x44]
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0xe4]
neg eax
sbb eax, eax
push 0xcc0020
and eax, ebx
push 0
push 0
push eax
mov eax, dword [esp + 0xe4]
push esi
push edi
push edx
mov edx, dword [ecx + 4]
push eax
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [esp + 0x14]
cdq
idiv ebp
add eax, dword [esp + 0x40]
sub eax, ecx
push eax
push 0
call fcn.0041bd40
test al, al
jne case.0x41f165.21
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x14]
inc eax
dec ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xe8]
add ebx, ecx
cmp eax, ebp
mov dword [esp + 0x14], ebx
jle 0x420688
jmp case.0x41f165.21
mov eax, ebp
cdq
sub eax, edx
mov ebp, eax
mov eax, 1
sar ebp, 1
inc ebp
mov dword [esp + 0x10], eax
cmp ebp, eax
mov dword [esp + 0x14], ebp
jl case.0x41f165.21
mov ecx, dword [esp + 0xe8]
cmp eax, ebp
mov dword [esp + 0x30], ecx
jge 0x4208ee
push ebp
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x40]
mov ebx, eax
add ebx, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, ebx
jg 0x420bfd
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
push edx
push ebp
push edi
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ebx, eax
mov eax, dword [esp + 0x14]
push eax
inc ebx
push ebp
push esi
mov dword [esp + 0x34], ebx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, eax
mov eax, edi
cdq
sub eax, edx
inc ecx
sar eax, 1
mov dword [esp + 0x34], eax
mov ebp, eax
mov eax, esi
sub ebp, ebx
cdq
sub eax, edx
inc ebp
sar eax, 1
mov ebx, eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xc8]
sub ebx, ecx
inc ebx
mov dword [esp + 0x3c], ecx
test eax, eax
jne 0x420949
xor eax, eax
jmp 0x420953
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x1c]
push eax
push edx
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x18]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, ecx
push 0
push eax
mov eax, dword [esp + 0x58]
push esi
push edi
push 0
push 0
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x42099a
xor eax, eax
jmp 0x4209a4
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x1c]
push eax
push edx
call fcn.004ad796
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x18]
push 0x8800c6
neg eax
sbb eax, eax
push ecx
and eax, edx
mov edx, dword [esp + 0x30]
push edx
push eax
mov eax, dword [esp + 0x58]
push ebx
push ebp
push 0
push 0
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x18]
push 0x8800c6
neg eax
sbb eax, eax
and eax, ecx
mov ecx, dword [esp + 0x2c]
add ecx, edx
mov edx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x3c]
push edx
push eax
mov eax, dword [esp + 0x58]
push ebx
push ebp
push 0
push ecx
push eax
mov dword [esp + 0x7c], ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x54]
lea eax, [esp + 0x18]
push 0x8800c6
neg eax
sbb eax, eax
push edx
and eax, ecx
mov ecx, dword [esp + 0x44]
add ecx, edx
mov edx, dword [esp + 0x30]
push edx
push eax
mov eax, dword [esp + 0x58]
push ebx
push ebp
push ecx
push 0
push eax
mov dword [esp + 0x5c], ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
lea eax, [esp + 0x18]
push 0x8800c6
neg eax
sbb eax, eax
push ecx
mov ecx, dword [esp + 0x60]
and eax, edx
mov edx, dword [esp + 0x3c]
push edx
push eax
mov eax, dword [esp + 0x48]
push ebx
push ebp
push eax
mov edx, dword [esp + 0x64]
push ecx
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x420a96
xor eax, eax
jmp 0x420aa0
mov eax, dword [esp + 0xcc]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x18]
push 0xee0086
neg eax
sbb eax, eax
push edx
mov edx, dword [esp + 0x50]
and eax, ecx
mov ecx, dword [esp + 0x30]
push ecx
push eax
push ebx
push ebp
push 0
push 0
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x18]
push 0xee0086
neg eax
sbb eax, eax
push ecx
mov ecx, dword [esp + 0x50]
and eax, edx
mov edx, dword [esp + 0x3c]
push edx
push eax
mov eax, dword [esp + 0x68]
push ebx
push ebp
push 0
push eax
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x54]
lea eax, [esp + 0x18]
push 0xee0086
neg eax
sbb eax, eax
push edx
mov edx, dword [esp + 0x40]
and eax, ecx
mov ecx, dword [esp + 0x30]
push ecx
push eax
mov eax, dword [esp + 0x58]
push ebx
push ebp
push edx
push 0
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
lea eax, [esp + 0x18]
push 0xee0086
neg eax
sbb eax, eax
push ecx
mov ecx, dword [esp + 0x60]
and eax, edx
mov edx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x48]
push ebx
push ebp
push eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x420b7f
xor eax, eax
jmp 0x420b86
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x44]
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0xe4]
neg eax
sbb eax, eax
push 0xcc0020
and eax, ebx
push 0
push 0
push eax
mov eax, dword [esp + 0xe4]
push esi
push edi
push edx
mov edx, dword [ecx + 4]
push eax
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [esp + 0x30]
cdq
idiv dword [esp + 0x14]
add eax, dword [esp + 0x40]
sub eax, ecx
push eax
push 0
call fcn.0041bd40
test al, al
jne case.0x41f165.21
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
jmp 0x420c01
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x30]
inc eax
add ebx, ecx
cmp eax, ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], ebx
jle 0x4208cd
jmp case.0x41f165.21
mov eax, ebp
cdq
sub eax, edx
mov ebp, eax
mov eax, 1
sar ebp, 1
inc ebp
mov dword [esp + 0x10], eax
cmp ebp, eax
mov dword [esp + 0x14], ebp
jl case.0x41f165.21
mov ecx, dword [esp + 0xe8]
cmp eax, ebp
mov dword [esp + 0x30], ecx
jge 0x420c71
push ebp
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x40]
mov ebx, eax
add ebx, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, ebx
jg 0x420f72
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
push edx
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ebp, eax
mov eax, dword [esp + 0x14]
push eax
push ebx
push esi
mov dword [esp + 0x34], ebp
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, eax
mov eax, edi
cdq
sub eax, edx
mov dword [esp + 0x3c], ecx
sar eax, 1
mov dword [esp + 0x34], eax
mov ebx, eax
mov eax, esi
sub ebx, ebp
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x54], eax
mov ebp, eax
mov eax, dword [esp + 0xc8]
sub ebp, ecx
test eax, eax
jne 0x420cc8
xor eax, eax
jmp 0x420cd2
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x1c]
push eax
push edx
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x18]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, ecx
push 0
push eax
mov eax, dword [esp + 0x58]
push esi
push edi
push 0
push 0
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x420d19
xor eax, eax
jmp 0x420d23
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x1c]
push eax
push edx
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
neg eax
mov edx, dword [esp + 0x48]
push 0x8800c6
sbb eax, eax
push 0
and eax, ecx
mov ecx, dword [esp + 0x30]
push 0
push eax
mov eax, dword [esp + 0x4c]
push ebp
push ebx
push eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x18]
push 0x8800c6
neg eax
sbb eax, eax
push 0
and eax, edx
mov edx, dword [esp + 0x3c]
add ecx, edx
push ecx
push eax
mov eax, dword [esp + 0x4c]
push ebp
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x5c]
push ebx
push eax
push edx
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x18]
push 0x8800c6
neg eax
sbb eax, eax
and eax, edx
mov edx, dword [esp + 0x58]
add ecx, edx
push ecx
push 0
push eax
mov eax, dword [esp + 0x58]
push ebp
push ebx
push edx
mov edx, dword [esp + 0x44]
push edx
push eax
mov dword [esp + 0x5c], ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x18]
push 0x8800c6
neg eax
sbb eax, eax
push ecx
mov ecx, dword [esp + 0x3c]
and eax, edx
mov edx, dword [esp + 0x60]
push edx
push eax
mov eax, dword [esp + 0x64]
push ebp
push ebx
push eax
push ecx
mov edx, dword [esp + 0x68]
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x420e11
xor eax, eax
jmp 0x420e1b
mov eax, dword [esp + 0xcc]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
mov edx, dword [esp + 0x3c]
push 0xee0086
neg eax
sbb eax, eax
push 0
and eax, ecx
mov ecx, dword [esp + 0x50]
push 0
push eax
mov eax, dword [esp + 0x38]
push ebp
push ebx
push edx
push eax
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
neg eax
sbb eax, eax
mov ecx, dword [esp + 0x34]
and eax, edx
mov edx, dword [esp + 0x58]
push 0xee0086
push 0
push edx
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x4c]
push ebp
push ebx
push eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x18]
push 0xee0086
neg eax
sbb eax, eax
push ecx
mov ecx, dword [esp + 0x50]
and eax, edx
mov edx, dword [esp + 0x5c]
push 0
push eax
mov eax, dword [esp + 0x38]
push ebp
push ebx
push edx
push eax
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x18]
push 0xee0086
neg eax
sbb eax, eax
push edx
mov edx, dword [esp + 0x5c]
and eax, ecx
mov ecx, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x44]
push ebp
push ebx
push edx
push eax
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x420efa
xor eax, eax
jmp 0x420f01
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x44]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
neg eax
sbb eax, eax
push 0xcc0020
and eax, ebx
push 0
push 0
push eax
mov eax, dword [esp + 0xf4]
push esi
push edi
push ecx
mov ecx, dword [eax + 4]
push edx
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [esp + 0x30]
cdq
idiv dword [esp + 0x14]
add eax, dword [esp + 0x40]
sub eax, ecx
push eax
push 0
call fcn.0041bd40
test al, al
jne case.0x41f165.21
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x30]
inc eax
add ebx, ecx
cmp eax, ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], ebx
jle 0x420c50
jmp case.0x41f165.21
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x34], eax
lea ecx, [eax + 1]
mov eax, 1
cmp ecx, eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x10], eax
jl case.0x41f165.21
mov edx, dword [esp + 0xe8]
mov ebx, dword [sym.imp.GDI32.dll_BitBlt]
mov dword [esp + 0x30], edx
cmp eax, ecx
jge 0x420ff0
push ecx
push eax
push edx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x40]
mov ebp, eax
add ebp, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, ebp
jg 0x4211c7
fild dword [esp + 0x10]
fimul dword [esp + 0x14]
fidiv dword [esp + 0x38]
fmul qword [0x4bd0b8]
call fcn.00496fa4
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x28], eax
sub ebp, eax
mov eax, dword [esp + 0xc8]
test eax, eax
jne 0x421020
xor eax, eax
jmp 0x42102a
mov edx, dword [esp + 0xc8]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x18]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, ecx
mov ecx, dword [esp + 0x50]
push 0
push eax
push esi
push edi
push 0
push 0
push ecx
call ebx
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x42106d
xor eax, eax
jmp 0x421077
mov edx, dword [esp + 0xd0]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
neg eax
sbb eax, eax
mov edx, dword [esp + 0x48]
and eax, ecx
mov ecx, dword [esp + 0x28]
push 0x8800c6
push 0
push ecx
push eax
push esi
push ebp
push 0
push 0
push edx
call ebx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x18]
push 0x8800c6
neg eax
sbb eax, eax
push 0
and eax, ecx
mov ecx, dword [esp + 0x3c]
add ecx, edx
mov edx, dword [esp + 0x3c]
push edx
push eax
mov eax, dword [esp + 0x58]
push esi
push ebp
push 0
push ecx
push eax
mov dword [esp + 0x7c], ecx
call ebx
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x4210ed
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
neg eax
sbb eax, eax
push 0xee0086
and eax, edx
mov edx, dword [esp + 0x2c]
push 0
push edx
push eax
mov eax, dword [esp + 0x58]
push esi
push ebp
push 0
push 0
push eax
call ebx
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
neg eax
sbb eax, eax
mov edx, dword [esp + 0x58]
and eax, ecx
mov ecx, dword [esp + 0x34]
push 0xee0086
push 0
push ecx
push eax
mov eax, dword [esp + 0x58]
push esi
push ebp
push 0
push edx
push eax
call ebx
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x421157
xor eax, eax
jmp 0x42115e
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x1c]
push eax
push edx
call fcn.004ad796
mov ebp, dword [esp + 0x48]
lea eax, [esp + 0x44]
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
neg eax
sbb eax, eax
push 0xcc0020
and eax, ebp
push 0
push 0
push eax
mov eax, dword [esp + 0xe8]
push esi
push edi
push eax
mov eax, dword [edx + 4]
push ecx
push eax
call ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [esp + 0x30]
cdq
idiv dword [esp + 0x38]
add eax, dword [esp + 0x40]
sub eax, ecx
push eax
push 0
call fcn.0041bd40
test al, al
jne case.0x41f165.21
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
inc eax
add ebp, edx
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], ebp
jle 0x420fcf
jmp case.0x41f165.21
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x54], eax
lea ecx, [eax + 1]
mov eax, 1
cmp ecx, eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x10], eax
jl case.0x41f165.21
mov edx, dword [esp + 0xe8]
mov ebx, dword [sym.imp.GDI32.dll_BitBlt]
mov dword [esp + 0x30], edx
cmp eax, ecx
jge 0x421249
push ecx
push eax
push edx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x40]
mov ebp, eax
add ebp, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, ebp
jg 0x421420
fild dword [esp + 0x10]
fimul dword [esp + 0x28]
fidiv dword [esp + 0x58]
fmul qword [0x4bd0b8]
call fcn.00496fa4
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x3c], eax
sub ebp, eax
mov eax, dword [esp + 0xc8]
test eax, eax
jne 0x421279
xor eax, eax
jmp 0x421283
mov edx, dword [esp + 0xc8]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x18]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, ecx
mov ecx, dword [esp + 0x50]
push 0
push eax
push esi
push edi
push 0
push 0
push ecx
call ebx
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x4212c6
xor eax, eax
jmp 0x4212d0
mov edx, dword [esp + 0xd0]
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x18]
push 0x8800c6
neg eax
sbb eax, eax
push ecx
and eax, edx
mov edx, dword [esp + 0x50]
push 0
push eax
push ebp
push edi
push 0
push 0
push edx
call ebx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x18]
push 0x8800c6
neg eax
sbb eax, eax
and eax, ecx
mov ecx, dword [esp + 0x58]
add ecx, edx
mov edx, dword [esp + 0x58]
push edx
push 0
push eax
mov eax, dword [esp + 0x58]
push ebp
push edi
push ecx
push 0
push eax
mov dword [esp + 0x5c], ecx
call ebx
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x421346
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x18]
push 0xee0086
neg eax
sbb eax, eax
push edx
and eax, ecx
push 0
push eax
mov eax, dword [esp + 0x58]
push ebp
push edi
push 0
push 0
push eax
call ebx
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
lea eax, [esp + 0x18]
push 0xee0086
neg eax
sbb eax, eax
push ecx
and eax, edx
mov edx, dword [esp + 0x40]
push 0
push eax
mov eax, dword [esp + 0x58]
push ebp
push edi
push edx
push 0
push eax
call ebx
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x4213b0
xor eax, eax
jmp 0x4213b7
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x1c]
push eax
push edx
call fcn.004ad796
mov ebp, dword [esp + 0x48]
lea eax, [esp + 0x44]
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
neg eax
sbb eax, eax
push 0xcc0020
and eax, ebp
push 0
push 0
push eax
mov eax, dword [esp + 0xe8]
push esi
push edi
push eax
mov eax, dword [edx + 4]
push ecx
push eax
call ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [esp + 0x30]
cdq
idiv dword [esp + 0x58]
add eax, dword [esp + 0x40]
sub eax, ecx
push eax
push 0
call fcn.0041bd40
test al, al
jne case.0x41f165.21
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x58]
inc eax
add ebp, edx
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], ebp
jle 0x421228
jmp case.0x41f165.21
mov eax, edi
mov dword [esp + 0x60], 0
cdq
sub eax, edx
mov dword [esp + 0x5c], 0x4bcfb4
mov ebp, eax
sar ebp, 1
mov dword [esp + 0x34], ebp
mov edx, dword [ebx + 4]
push esi
push edi
push edx
mov byte [esp + 0xc8], 3
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
lea ecx, [esp + 0x60]
call fcn.004ae048
lea ecx, [esp + 0x64]
call fcn.004ad59e
test ebx, ebx
mov byte [esp + 0xbc], 4
je 0x42149e
mov ebx, dword [ebx + 4]
push ebx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
lea ecx, [esp + 0x68]
call fcn.004ad655
cmp ebp, 1
mov dword [esp + 0x10], 1
jl 0x4218f8
mov eax, dword [esp + 0xe8]
lea ecx, [edi - 2]
mov dword [esp + 0x58], eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
jge 0x421504
mov edx, dword [esp + 0xe8]
push ecx
push eax
push edx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x40]
mov ebx, eax
add ebx, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, ebx
jg 0x4218c7
mov ebp, dword [esp + 0x78]
lea eax, [esp + 0x74]
neg eax
sbb eax, eax
and eax, ebp
push eax
mov eax, dword [esp + 0x4c]
push eax
call fcn.004ad796
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x42152b
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x18]
mov edx, dword [esp + 0x48]
neg eax
sbb eax, eax
push 0xcc0020
and eax, ebx
push 0
push 0
push eax
push esi
push edi
push 0
push 0
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x421571
mov eax, dword [eax + 4]
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004ad796
mov ebp, dword [esp + 0x60]
mov ecx, dword [esp + 0x68]
lea eax, [esp + 0x5c]
neg eax
sbb eax, eax
and eax, ebp
push eax
push ecx
call fcn.004ad796
push 3
lea ecx, [esp + 0x68]
mov dword [esp + 0x90], eax
call fcn.004ad921
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
neg eax
push 0xcc0020
push esi
sbb eax, eax
push edi
and eax, ebx
push 0
push 0
push eax
mov eax, dword [esp + 0x80]
push esi
push edx
push 0
push ebp
push eax
call dword [sym.imp.GDI32.dll_StretchBlt]
push 3
lea ecx, [esp + 0x48]
call fcn.004ad921
mov ebx, dword [esp + 0x34]
mov ecx, edi
and ecx, 0x80000001
mov dword [esp + 0x38], ebx
jns 0x4215fe
dec ecx
or ecx, 0xfffffffe
inc ecx
mov eax, dword [esp + 0x10]
sub ebx, ecx
cmp eax, ebx
jge 0x4216af
fild dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
mov eax, ebx
sub eax, ecx
fstp qword [esp + 0x7c]
fild dword [esp + 0x10]
mov dword [esp + 0x30], eax
fmul qword [esp + 0x7c]
fidiv dword [esp + 0x38]
fmul qword [0x4bd100]
fstp qword [esp + 0x90]
fild dword [esp + 0x30]
mov dword [esp + 0x30], eax
fstp qword [esp + 0x84]
fild dword [esp + 0x30]
mov edx, dword [esp + 0x68]
lea eax, [esp + 0x64]
neg eax
fmul qword [esp + 0x90]
push 0x8800c6
push esi
sbb eax, eax
push 1
fdiv qword [esp + 0x90]
and eax, edx
push 0
push ebp
push eax
fld qword [esp + 0x94]
fsub st(1)
fld st(1)
fmul qword [0x4bdb78]
fsubp st(1)
call fcn.00496fa4
push eax
push 1
call fcn.00496fa4
mov edx, dword [esp + 0x68]
push eax
push ebp
push edx
call dword [sym.imp.GDI32.dll_StretchBlt]
mov ecx, dword [esp + 0x30]
inc ebp
dec ecx
cmp ebp, ebx
mov dword [esp + 0x30], ecx
jl 0x421648
mov ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x38]
lea eax, [esp + 0x64]
push 0x8800c6
neg eax
sbb eax, eax
lea edx, [ebp - 1]
and eax, ecx
mov ecx, edi
sub ecx, ebp
mov ebp, dword [esp + 0x14]
sub ecx, ebp
push 0
mov dword [esp + 0x44], ecx
push edx
push eax
mov eax, dword [esp + 0x58]
inc ecx
push esi
push ecx
push 0
push edx
push eax
mov dword [esp + 0x78], edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x4216fe
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.004ad796
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x68]
lea eax, [esp + 0x5c]
neg eax
sbb eax, eax
and eax, ecx
push eax
push edx
call fcn.004ad796
push 3
lea ecx, [esp + 0x68]
call fcn.004ad921
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
neg eax
push 0xcc0020
push esi
sbb eax, eax
push edi
and eax, ecx
mov ecx, dword [esp + 0x74]
push 0
push 0
push eax
mov eax, dword [esp + 0x2c]
push esi
push eax
push 0
push ebp
push ecx
call dword [sym.imp.GDI32.dll_StretchBlt]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x421766
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x1c]
push eax
push edx
call fcn.004ad796
push 3
lea ecx, [esp + 0x48]
call fcn.004ad921
cmp ebp, ebx
jge 0x421823
fild dword [esp + 0x28]
mov eax, ebx
sub eax, ebp
fstp qword [esp + 0x7c]
fild dword [esp + 0x10]
mov dword [esp + 0x30], eax
fmul qword [esp + 0x7c]
fidiv dword [esp + 0x38]
fmul qword [0x4bd100]
fstp qword [esp + 0x90]
fild dword [esp + 0x30]
mov dword [esp + 0x30], eax
fstp qword [esp + 0x84]
fild dword [esp + 0x30]
mov edx, dword [esp + 0x68]
lea eax, [esp + 0x64]
neg eax
fmul qword [esp + 0x90]
push 0xee0086
push esi
sbb eax, eax
push 1
fdiv qword [esp + 0x90]
and eax, edx
push 0
push ebp
push eax
fld qword [esp + 0x94]
fsub st(1)
fld st(1)
fmul qword [0x4bdb78]
fsubp st(1)
call fcn.00496fa4
push eax
push 1
call fcn.00496fa4
push eax
mov eax, dword [esp + 0x6c]
push ebp
push eax
call dword [sym.imp.GDI32.dll_StretchBlt]
mov ecx, dword [esp + 0x30]
inc ebp
dec ecx
cmp ebp, ebx
mov dword [esp + 0x30], ecx
jl 0x4217bc
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x54]
lea eax, [esp + 0x64]
push 0xee0086
neg eax
sbb eax, eax
mov ebx, dword [sym.imp.GDI32.dll_BitBlt]
and eax, edx
mov edx, dword [esp + 0x40]
push 0
push ecx
push eax
mov eax, dword [esp + 0x58]
push esi
push edx
push 0
push ecx
push eax
call ebx
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x44]
neg eax
mov edx, dword [esp + 0xd4]
push 0xcc0020
sbb eax, eax
push 0
and eax, ecx
mov ecx, dword [esp + 0xe0]
push 0
push eax
mov eax, dword [esp + 0xf4]
push esi
push edi
push ecx
mov ecx, dword [eax + 4]
push edx
push ecx
call ebx
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x421899
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x68]
push eax
push edx
call fcn.004ad796
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [esp + 0x58]
cdq
idiv dword [esp + 0x34]
add eax, dword [esp + 0x40]
sub eax, ecx
push eax
push 0
call fcn.0041bd40
test al, al
jne 0x42193b
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x34]
inc eax
sub ebp, 2
add ebx, edx
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x58], ebx
jle 0x4214d2
lea ecx, [esp + 0x64]
mov byte [esp + 0xbc], 3
call fcn.004ad6d3
mov dword [esp + 0x5c], vtable.CGdiObject.0
mov byte [esp + 0xbc], 6
lea ecx, [esp + 0x5c]
call fcn.004ae09f
mov byte [esp + 0xbc], 2
mov eax, dword [esp + 0x98]
pop edi
pop esi
pop ebp
test eax, eax
pop ebx
jne 0x42195e
jmp 0x421961
lea ecx, [esp + 0x64]
mov byte [esp + 0xbc], 3
call fcn.004ad6d3
mov dword [esp + 0x5c], vtable.CGdiObject.0
mov byte [esp + 0xbc], 5
jmp 0x421919
mov eax, dword [eax + 4]
push eax
mov eax, dword [esp + 0x3c]
push eax
call fcn.004ad796
mov dword [esp + 0x64], vtable.CGdiObject.0
lea ecx, [esp + 0x64]
mov byte [esp + 0xac], 7
call fcn.004ae09f
lea ecx, [esp + 0x34]
mov byte [esp + 0xac], 0
call fcn.004ad6d3
lea ecx, [esp + 8]
mov dword [esp + 0xac], 0xffffffff
call fcn.004ad6d3
mov ecx, dword [esp + 0xa4]
mov dword fs:[0], ecx
add esp, 0xb0
ret