Function at 0x4c8c24
Capabilities:
Capture screenshot

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffe0
mov esi, edx
mov ebp, eax
mov eax, ebp
mov edx, dword [eax]
call dword [edx + 0x20]
mov dword [esp + 4], eax
mov eax, ebp
mov edx, dword [eax]
call dword [edx + 0x2c]
mov dword [esp + 8], eax
cmp dword [esp + 4], 0
je 0x4c9034
cmp esi, dword [esp + 4]
jge 0x4c8c60
mov eax, dword [esp + 4]
neg eax
cmp esi, eax
jg 0x4c8c69
mov eax, esi
cdq
idiv dword [esp + 4]
mov esi, edx
mov eax, dword [esp + 4]
sar eax, 1
jns 0x4c8c74
adc eax, 0
cmp esi, eax
jle 0x4c8c7e
sub esi, dword [esp + 4]
jmp 0x4c8c93
mov eax, dword [esp + 4]
neg eax
sar eax, 1
jns 0x4c8c8b
adc eax, 0
cmp esi, eax
jge 0x4c8c93
add esi, dword [esp + 4]
test esi, esi
je 0x4c9034
mov eax, ebp
call fcn.00421ddc
test al, al
je 0x4c8caa
sub al, 8
jne 0x4c8cb9
xor ecx, ecx
mov eax, dword [esp + 8]
lea eax, [eax + eax*2]
mov dword [esp + 0xc], eax
jmp 0x4c8d19
mov eax, ebp
call fcn.00421ddc
call fcn.004c4fbc
xor ecx, ecx
mov cl, al
mov eax, dword [esp + 8]
imul ecx
test eax, eax
jns 0x4c8cd6
add eax, 7
sar eax, 3
mov dword [esp + 0xc], eax
cmp ecx, 1
jne 0x4c8cfc
mov eax, dword [esp + 8]
and eax, 0x80000007
jns 0x4c8cf2
dec eax
or eax, 0xfffffff8
inc eax
test eax, eax
je 0x4c8cfc
inc dword [esp + 0xc]
jmp 0x4c8d19
cmp ecx, 4
jne 0x4c8d19
mov eax, dword [esp + 8]
and eax, 0x80000001
jns 0x4c8d11
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x4c8d19
inc dword [esp + 0xc]
mov eax, esi
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x4c8e93
mov eax, dword [esp + 0x14]
imul dword [esp + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
call fcn.0040279c
mov dword [esp], eax
test esi, esi
jle 0x4c8de3
mov edi, esi
dec edi
test edi, edi
jl 0x4c8d7b
inc edi
xor ebx, ebx
mov edx, dword [esp + 4]
sub edx, ebx
dec edx
mov eax, ebp
call fcn.00421e60
mov edx, dword [esp + 0xc]
imul edx, ebx
add edx, dword [esp]
mov ecx, dword [esp + 0xc]
call fcn.00402a0c
inc ebx
dec edi
jne 0x4c8d56
mov ebx, dword [esp + 4]
dec ebx
sub ebx, esi
cmp ebx, 0
jl 0x4c8dab
lea edx, [esi + ebx]
mov eax, ebp
call fcn.00421e60
push eax
mov edx, ebx
mov eax, ebp
call fcn.00421e60
mov ecx, dword [esp + 0x10]
pop edx
call fcn.00402a0c
dec ebx
cmp ebx, 0xffffffff
jne 0x4c8d87
mov edi, esi
dec edi
test edi, edi
jl 0x4c8e82
inc edi
xor ebx, ebx
mov edx, esi
dec edx
sub edx, ebx
mov eax, ebp
call fcn.00421e60
mov edx, eax
mov eax, dword [esp + 0xc]
imul eax, ebx
add eax, dword [esp]
mov ecx, dword [esp + 0xc]
call fcn.00402a0c
inc ebx
dec edi
jne 0x4c8db9
jmp 0x4c8e82
test esi, esi
jge 0x4c8e82
mov edi, dword [esp + 0x14]
dec edi
test edi, edi
jl 0x4c8e1c
inc edi
xor ebx, ebx
mov edx, dword [esp + 0x14]
dec edx
sub edx, ebx
mov eax, ebp
call fcn.00421e60
mov edx, dword [esp + 0xc]
imul edx, ebx
add edx, dword [esp]
mov ecx, dword [esp + 0xc]
call fcn.00402a0c
inc ebx
dec edi
jne 0x4c8df7
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 4]
dec edi
sub edi, ebx
jl 0x4c8e4f
inc edi
mov edx, ebx
sub edx, dword [esp + 0x14]
mov eax, ebp
call fcn.00421e60
push eax
mov edx, ebx
mov eax, ebp
call fcn.00421e60
mov ecx, dword [esp + 0x10]
pop edx
call fcn.00402a0c
inc ebx
dec edi
jne 0x4c8e2a
mov edi, dword [esp + 0x14]
dec edi
test edi, edi
jl 0x4c8e82
inc edi
xor ebx, ebx
mov edx, dword [esp + 4]
sub edx, ebx
dec edx
mov eax, ebp
call fcn.00421e60
mov edx, eax
mov eax, dword [esp + 0xc]
imul eax, ebx
add eax, dword [esp]
mov ecx, dword [esp + 0xc]
call fcn.00402a0c
inc ebx
dec edi
jne 0x4c8e5b
mov edx, dword [esp + 0x10]
mov eax, dword [esp]
call fcn.004027b4
jmp 0x4c9034
mov dl, 1
mov eax, dword [0x41b0d4]
call fcn.0042178c
mov dword [esp + 0x18], eax
mov dl, 6
mov eax, dword [esp + 0x18]
call fcn.00422cfc
mov edx, dword [esp + 0x14]
inc edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [esp + 0x18]
call fcn.00421cf8
call fcn.0041d564
mov dword [esp + 0x1c], eax
mov eax, ebp
call fcn.00421cf8
call fcn.0041d564
mov ebp, eax
test esi, esi
jle 0x4c8f86
push 0xcc0020
mov eax, dword [esp + 8]
sub eax, esi
push eax
push 0
push ebp
push esi
mov eax, dword [esp + 0x1c]
push eax
push 0
push 0
mov eax, dword [esp + 0x3c]
push eax
call sub.gdi32.dll_BitBlt
mov ebx, dword [esp + 4]
dec ebx
sub ebx, esi
cmp ebx, 0
jl 0x4c8f63
push 0xcc0020
push ebx
push 0
push ebp
push 1
mov eax, dword [esp + 0x1c]
push eax
push esi
push 0
mov eax, dword [esp + 0x3c]
push eax
call sub.gdi32.dll_BitBlt
push 0xcc0020
push esi
push 0
mov eax, dword [esp + 0x28]
push eax
push 1
mov eax, dword [esp + 0x1c]
push eax
lea eax, [esi + ebx]
push eax
push 0
push ebp
call sub.gdi32.dll_BitBlt
dec ebx
cmp ebx, 0xffffffff
jne 0x4c8f20
push 0xcc0020
push 0
push 0
mov eax, dword [esp + 0x28]
push eax
push esi
mov eax, dword [esp + 0x1c]
push eax
push 0
push 0
push ebp
call sub.gdi32.dll_BitBlt
jmp 0x4c902b
push 0xcc0020
push 0
push 0
push ebp
mov eax, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x1c]
push eax
push 0
push 0
mov eax, dword [esp + 0x3c]
push eax
call sub.gdi32.dll_BitBlt
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 4]
dec edi
sub edi, ebx
jl 0x4c9002
inc edi
push 0xcc0020
push ebx
push 0
push ebp
push 1
mov eax, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x2c]
push eax
push 0
mov eax, dword [esp + 0x3c]
push eax
call sub.gdi32.dll_BitBlt
push 0xcc0020
mov eax, dword [esp + 0x18]
push eax
push 0
mov eax, dword [esp + 0x28]
push eax
push 1
mov eax, dword [esp + 0x1c]
push eax
mov eax, ebx
sub eax, dword [esp + 0x2c]
push eax
push 0
push ebp
call sub.gdi32.dll_BitBlt
inc ebx
dec edi
jne 0x4c8fb6
push 0xcc0020
push 0
push 0
mov eax, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x2c]
push eax
push 0
push ebp
call sub.gdi32.dll_BitBlt
mov eax, dword [esp + 0x18]
call fcn.00403170
add esp, 0x20
pop ebp
pop edi
pop esi
pop ebx
ret