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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x710
mov dword [ebp - 0x704], ecx
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x704]
mov dword [eax + 0x2a8], 1
mov ecx, dword [ebp - 0x704]
mov edx, dword [ecx + 0x2fc]
mov eax, dword [ebp - 0x704]
mov ecx, dword [eax + 0x2fc]
mov eax, dword [edx + 0x30]
imul eax, dword [ecx + 0x34]
mov edx, dword [ebp - 0x704]
mov ecx, dword [edx + 0x2fc]
imul eax, dword [ecx + 0x38]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
call fcn.004bc930
add esp, 4
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x704]
add edx, 0x14
mov eax, dword [ebp - 0x14]
add eax, 0x1c
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x14]
call fcn.004bc770
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x14]
add ecx, 4
call fcn.004ef740
mov dword [ebp - 0x684], eax
mov dword [ebp - 0x690], 0
mov eax, dword [ebp - 0x704]
mov ecx, dword [eax + 0x2fc]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x704]
mov ecx, dword [eax + 0x2fc]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 4], edx
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 8]
push ecx
call fcn.004bc650
add esp, 8
mov edx, dword [ebp - 0x704]
mov eax, dword [edx + 0x2fc]
mov ecx, dword [eax + 0x30]
lea edx, [ecx*4 + 1]
push edx
call fcn.00598286
add esp, 4
mov dword [ebp - 0x6fc], eax
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x68c], 0
mov dword [ebp - 0x688], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x34], 0
call dword [sym.imp.USER32.dll_GetClipboardSequenceNumber]
mov ecx, dword [ebp - 0x704]
mov dword [ecx + 0x2ec], eax
mov ecx, dword [ebp - 0x704]
sub ecx, 8
call fcn.004b9130
push 0
mov ecx, dword [ebp - 0x704]
sub ecx, 8
call fcn.004b91d0
push 0
push 0x12
mov ecx, dword [ebp - 0x704]
add ecx, 0x10
mov edx, dword [ebp - 0x704]
mov eax, dword [edx + 0x10]
mov edx, dword [eax + 4]
call edx
test eax, eax
je 0x4bad26
cmp dword [0x653730], 3
jg 0x4bad26
push str.Desktop_was_not_initicated_
push 0x26e
push 0x5c1fd4
push 3
call fcn.00401320
add esp, 0x10
mov eax, dword [ebp - 0x704]
cmp dword [eax + 0x2a8], 0
je 0x4bad50
mov ecx, dword [ebp - 0x704]
cmp dword [ecx + 0x2a4], 1
jge 0x4bad50
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4bad26
mov edx, dword [ebp - 0x704]
cmp dword [edx + 0x2a8], 0
je 0x4bbbe3
mov eax, dword [ebp - 0x690]
push eax
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x704]
add ecx, 0x260
call fcn.004bc8a0
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 1
jne 0x4badc3
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x704]
sub ecx, 8
call fcn.004b8920
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [eax + 4]
call edx
mov eax, dword [ebp - 0x704]
mov ecx, dword [eax + 0x2d4]
mov dword [ebp - 0x690], ecx
jmp 0x4bad63
cmp dword [ebp - 0x40], 0xffffffff
jne 0x4badce
jmp 0x4bbbe3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x704]
cmp dword [edx + 0x2b0], 0
jbe 0x4bae6c
mov eax, dword [ebp - 0x704]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x2b0]
jb 0x4bae12
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x34]
sub eax, dword [edx + 0x2b0]
mov dword [ebp - 0x708], eax
jmp 0x4bae2a
mov ecx, dword [ebp - 0x704]
or edx, 0xffffffff
sub edx, dword [ecx + 0x2b0]
add edx, dword [ebp - 0x34]
mov dword [ebp - 0x708], edx
cmp dword [ebp - 0x708], 0xfa0
jbe 0x4bae6c
mov ecx, dword [ebp - 0x704]
sub ecx, 8
call fcn.004b9130
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
mov ecx, dword [ebp - 0x704]
sub ecx, 8
call fcn.004b91d0
mov eax, dword [ebp - 0x704]
mov dword [eax + 0x2b0], 0
mov ecx, dword [ebp - 0x704]
add ecx, 0x34
call fcn.00401060
lea ecx, [ebp - 0x680]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x68c], 0
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ebp - 0x704]
mov ecx, dword [eax + 0x2fc]
push ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [edx + 0x2fc]
mov ecx, dword [eax + 0x10]
call ecx
add esp, 8
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x4baee8
mov edx, dword [ebp - 0x24]
add edx, 0x10
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x68c]
mov ecx, dword [ebp - 0x68c]
add ecx, 1
mov dword [ebp - 0x68c], ecx
cmp eax, 0x62
jg 0x4baee4
cmp dword [ebp - 0x38], 2
jne 0x4baee6
jmp 0x4baee8
jmp 0x4bae8d
cmp dword [ebp - 0x68c], 6
jle 0x4bb013
lea edx, [ebp - 0x680]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x694], eax
mov ecx, dword [ebp - 0x694]
add ecx, 0x10
mov dword [ebp - 0x694], ecx
mov dword [ebp - 0x698], 1
mov dword [ebp - 0x69c], 1
jmp 0x4baf4a
mov edx, dword [ebp - 0x69c]
add edx, 1
mov dword [ebp - 0x69c], edx
mov eax, dword [ebp - 0x694]
add eax, 0x10
mov dword [ebp - 0x694], eax
mov ecx, dword [ebp - 0x69c]
cmp ecx, dword [ebp - 0x68c]
jge 0x4bb007
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
add eax, 0x50
mov ecx, dword [ebp - 0x694]
cmp dword [ecx + 4], eax
jle 0x4bafb7
mov edx, dword [ebp - 0x698]
add edx, 1
mov dword [ebp - 0x698], edx
mov eax, dword [ebp - 0x24]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x694]
je 0x4bafb2
mov edx, dword [ebp - 0x694]
mov eax, dword [ebp - 0x24]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
jmp 0x4baf2c
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x694]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x694]
mov ecx, dword [ebp - 0x24]
mov edx, dword [eax]
cmp edx, dword [ecx]
jge 0x4bafe2
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x694]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ebp - 0x694]
mov ecx, dword [ebp - 0x24]
mov edx, dword [eax + 8]
cmp edx, dword [ecx + 8]
jle 0x4bb002
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x694]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
jmp 0x4baf2c
mov eax, dword [ebp - 0x698]
mov dword [ebp - 0x68c], eax
push 0x1388
mov ecx, dword [ebp - 0x704]
add ecx, 0x34
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.004ba170
test eax, eax
jg 0x4bb079
mov ecx, dword [ebp - 0x14]
call fcn.004e3650
cmp eax, 1
jle 0x4bb079
mov ecx, dword [ebp - 0x704]
add ecx, 0x34
call fcn.00401070
cmp dword [0x653730], 3
jg 0x4bb074
mov ecx, dword [ebp - 0x14]
call fcn.004e3650
push eax
push str.Fatal_error._cant_wait_buffer...ref_d
push 0x2d1
push 0x5c2010
push 3
call fcn.00401320
add esp, 0x14
jmp 0x4bbbe3
mov ecx, dword [ebp - 0x14]
call fcn.004b9f90
mov edx, dword [ebp - 0x684]
push edx
mov ecx, dword [ebp - 0x14]
call fcn.0041a080
cmp dword [0x654854], 0
jne 0x4bb1a5
mov dword [0x654840], 0x14
push 0x654840
call dword [sym.imp.USER32.dll_GetCursorInfo]
test eax, eax
je 0x4bb1a5
cmp dword [0x654844], 1
jne 0x4bb1a5
mov eax, dword [0x654848]
cmp eax, dword [ebp - 0x30]
je 0x4bb1a5
mov ecx, dword [0x654848]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.004bbc50
add esp, 0xc
test eax, eax
je 0x4bb1a5
push 0
push 3
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x704]
mov ecx, dword [eax + 0x29c]
push ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [edx - 4]
mov ecx, dword [ebp - 0x704]
mov ecx, dword [ecx - 4]
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
push 0x1388
mov ecx, dword [ebp - 0x704]
add ecx, 0x34
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.004ba170
test eax, eax
jg 0x4bb18e
mov ecx, dword [ebp - 0x14]
call fcn.004e3650
cmp eax, 1
jle 0x4bb18e
mov ecx, dword [ebp - 0x704]
add ecx, 0x34
call fcn.00401070
cmp dword [0x653730], 3
jg 0x4bb189
mov ecx, dword [ebp - 0x14]
call fcn.004e3650
push eax
push str.Fatal_error._cant_wait_buffer_2...ref_d
push 0x2e5
push 0x5c2050
push 3
call fcn.00401320
add esp, 0x14
jmp 0x4bbbe3
mov ecx, dword [ebp - 0x14]
call fcn.004b9f90
mov edx, dword [ebp - 0x684]
push edx
mov ecx, dword [ebp - 0x14]
call fcn.0041a080
cmp dword [ebp - 0x68c], 0
jle 0x4bbaf4
lea eax, [ebp - 0x680]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x14]
call fcn.004bc770
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x690], 0
mov dword [ebp - 0x6a4], 0
jmp 0x4bb1f4
mov ecx, dword [ebp - 0x6a4]
add ecx, 1
mov dword [ebp - 0x6a4], ecx
mov edx, dword [ebp - 0x24]
add edx, 0x10
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x6a4]
cmp eax, dword [ebp - 0x68c]
jge 0x4bb9d4
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
mov eax, dword [ecx + 8]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0xc]
sub ecx, dword [edx + 4]
imul eax, ecx
imul eax, eax, 3
mov dword [ebp - 0x6ac], eax
mov dword [ebp - 0x6a8], 0
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x6ac]
cmp eax, dword [edx + 0x2cc]
jae 0x4bb6e0
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx]
add edx, 0xa
cmp edx, dword [ebp - 0x688]
jl 0x4bb2c3
mov eax, dword [ebp - 0x688]
add eax, 0xa
mov ecx, dword [ebp - 0x24]
cmp dword [ecx], eax
jg 0x4bb2c3
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
add eax, 0xa
cmp eax, dword [ebp - 0x2c]
jl 0x4bb2c3
mov ecx, dword [ebp - 0x2c]
add ecx, 0xa
mov edx, dword [ebp - 0x24]
cmp dword [edx + 4], ecx
jg 0x4bb2c3
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
add ecx, 0xa
cmp ecx, dword [ebp - 0x20]
jl 0x4bb2c3
mov edx, dword [ebp - 0x20]
add edx, 0xa
mov eax, dword [ebp - 0x24]
cmp dword [eax + 8], edx
jg 0x4bb2c3
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
add edx, 0xa
cmp edx, dword [ebp - 0x1c]
jl 0x4bb2c3
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0xc], eax
jle 0x4bb6e0
mov ecx, dword [ebp - 0x14]
call fcn.004bc790
mov dword [ebp - 0x6bc], eax
mov edx, dword [ebp - 0x704]
mov eax, dword [edx + 0x2fc]
mov ecx, dword [ebp - 0x704]
mov edx, dword [ecx + 0x2fc]
mov eax, dword [eax + 0x6c]
imul eax, dword [edx + 0x74]
add eax, 0x1f
sar eax, 5
shl eax, 2
mov dword [ebp - 0x6b8], eax
mov ecx, dword [ebp - 0x704]
mov edx, dword [ecx + 0x2fc]
cmp dword [edx + 0x70], 0
jle 0x4bb328
mov eax, dword [ebp - 0x704]
mov ecx, dword [eax + 0x2fc]
mov edx, dword [ecx + 0x70]
mov dword [ebp - 0x70c], edx
jmp 0x4bb33f
mov eax, dword [ebp - 0x704]
mov ecx, dword [eax + 0x2fc]
mov edx, dword [ecx + 0x70]
neg edx
mov dword [ebp - 0x70c], edx
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x6b4], eax
mov ecx, dword [ebp - 0x704]
mov edx, dword [ecx + 0x2fc]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x6b0], eax
mov ecx, dword [ebp - 0x28]
push ecx
lea edx, [ebp - 0x6bc]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x704]
mov ecx, dword [eax + 0x2fc]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
imul eax, dword [ecx + 0x74]
add eax, 7
sar eax, 3
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x704]
mov ecx, dword [eax + 0x2fc]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx]
imul eax, dword [ecx + 0x74]
sar eax, 3
push eax
mov ecx, dword [ebp - 0x704]
mov edx, dword [ecx + 0x2fc]
mov eax, dword [edx + 0x74]
push eax
lea ecx, [ebp - 0x6b8]
push ecx
call fcn.004bfcc0
add esp, 0x24
test eax, eax
jne 0x4bb6e0
cmp dword [ebp - 0x6bc], 0x7d0
jb 0x4bb3fb
mov edx, dword [ebp - 0x6bc]
imul edx, edx, 0xc
cmp edx, dword [ebp - 0x6ac]
jae 0x4bb6ba
mov dword [ebp - 0x6a8], 1
cmp dword [ebp - 0x68c], 1
jne 0x4bb463
push 1
push 6
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x14]
call fcn.004bc6e0
mov ecx, dword [ebp - 0x6bc]
add ecx, 9
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.0041a080
push 0
push 3
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x704]
mov ecx, dword [eax + 0x298]
push ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [edx - 4]
mov ecx, dword [ebp - 0x704]
mov ecx, dword [ecx - 4]
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
jmp 0x4bb51f
mov ecx, dword [ebp - 0x6bc]
add ecx, 8
mov dword [ebp - 0x6c0], ecx
mov edx, dword [ebp - 0x6c0]
and edx, 7
shl edx, 0x19
or edx, dword [ebp - 0x6c0]
mov dword [ebp - 0x6c0], edx
mov eax, dword [ebp - 0x6c0]
or eax, 0x1000000
mov dword [ebp - 0x6c0], eax
cmp dword [ebp - 0x6a4], 0
jne 0x4bb4c8
push 1
push 0x15
mov ecx, dword [ebp - 0x24]
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.004bc6e0
mov edx, dword [ebp - 0x6c0]
or edx, 0x80000000
mov dword [ebp - 0x6c0], edx
jmp 0x4bb4ff
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x24]
mov dx, word [ecx]
mov word [eax - 8], dx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x24]
mov dx, word [ecx + 4]
mov word [eax - 6], dx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x24]
mov dx, word [ecx + 8]
mov word [eax - 4], dx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x24]
mov dx, word [ecx + 0xc]
mov word [eax - 2], dx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x6bc]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x6c0]
mov dword [ecx], edx
mov eax, dword [ebp - 0xc]
add eax, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x10], 0
je 0x4bb6b8
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x704]
mov eax, dword [ecx]
cmp eax, dword [edx + 0x300]
jg 0x4bb5f4
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x704]
mov eax, dword [ecx + 8]
cmp eax, dword [edx + 0x308]
jl 0x4bb5f4
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x30c]
cmp eax, dword [edx + 0xc]
jg 0x4bb594
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x30c]
cmp eax, dword [edx + 4]
jl 0x4bb594
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
mov dword [ecx + 0x30c], eax
jmp 0x4bb5ce
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x304]
cmp eax, dword [edx + 4]
jl 0x4bb5ce
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x304]
cmp eax, dword [edx + 0xc]
jg 0x4bb5ce
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x304], eax
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x704]
mov eax, dword [ecx + 0x30c]
cmp eax, dword [edx + 0x304]
jl 0x4bb5ef
mov dword [ebp - 0x10], 0
jmp 0x4bb6b8
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x704]
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 0x304]
jg 0x4bb6b8
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x704]
mov eax, dword [ecx + 0xc]
cmp eax, dword [edx + 0x30c]
jl 0x4bb6b8
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x308]
cmp eax, dword [edx + 8]
jg 0x4bb65e
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x308]
cmp eax, dword [edx]
jl 0x4bb65e
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx]
mov dword [ecx + 0x308], eax
jmp 0x4bb697
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x300]
cmp eax, dword [edx]
jl 0x4bb697
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x300]
cmp eax, dword [edx + 8]
jg 0x4bb697
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
mov dword [ecx + 0x300], eax
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x704]
mov eax, dword [ecx + 0x308]
cmp eax, dword [edx + 0x300]
jl 0x4bb6b8
mov dword [ebp - 0x10], 0
jmp 0x4bb6e0
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx]
mov dword [ebp - 0x688], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x6a8], 0
jne 0x4bb9cf
mov ecx, dword [ebp - 0x14]
call fcn.004bc790
mov dword [ebp - 0x6e0], eax
mov dword [ebp - 0x6dc], 0x32
cmp dword [ebp - 0x6ac], 0x4e200
jbe 0x4bb7f2
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x6dc], 0x14
cmp dword [ebp - 0x10], 0
jne 0x4bb75c
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x704]
add edx, 0x300
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov dword [ebp - 0x10], 1
jmp 0x4bb7f2
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x24]
mov ecx, dword [edx + 0x300]
cmp ecx, dword [eax]
jle 0x4bb780
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
mov dword [edx + 0x300], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x24]
mov ecx, dword [edx + 0x304]
cmp ecx, dword [eax + 4]
jle 0x4bb7a6
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [edx + 0x304], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x24]
mov ecx, dword [edx + 0x308]
cmp ecx, dword [eax + 8]
jge 0x4bb7cc
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
mov dword [edx + 0x308], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x24]
mov ecx, dword [edx + 0x30c]
cmp ecx, dword [eax + 0xc]
jge 0x4bb7f2
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov dword [edx + 0x30c], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [edx + 0x2fc]
mov ecx, dword [eax + 0x6c]
mov dword [ebp - 0x6d8], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [edx + 0x2fc]
mov ecx, dword [eax + 0x70]
mov dword [ebp - 0x6d4], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [edx + 0x2fc]
mov ecx, dword [eax + 0x74]
mov dword [ebp - 0x6d0], ecx
mov dword [ebp - 0x6cc], 0
mov edx, dword [ebp - 0x704]
mov eax, dword [edx + 0x2fc]
mov ecx, dword [eax + 0x78]
mov dword [ebp - 0x6c8], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [edx + 0x2fc]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x6c4], ecx
mov edx, dword [ebp - 0x6dc]
push edx
mov eax, dword [ebp - 0x28]
push eax
lea ecx, [ebp - 0x6e0]
push ecx
mov edx, dword [ebp - 0xc]
sub edx, 4
push edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x6d8]
push edx
call fcn.004bda50
add esp, 0x24
cmp dword [ebp - 0x6e0], 0
jbe 0x4bb9cf
cmp dword [ebp - 0x10], 1
jne 0x4bb8df
cmp dword [ebp - 0x6ac], 0x4e200
jbe 0x4bb8df
mov eax, dword [ebp - 0x6e0]
imul eax, eax, 0xc
cmp eax, dword [ebp - 0x6ac]
jbe 0x4bb8df
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x68c], 1
jne 0x4bb93f
push 0
push 0xf
mov ecx, dword [ebp - 0x24]
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.004bc6e0
mov edx, dword [ebp - 0x6e0]
add edx, 5
push edx
mov ecx, dword [ebp - 0x14]
call fcn.0041a080
push 0
push 3
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x704]
mov edx, dword [ecx + 0x298]
push edx
mov eax, dword [ebp - 0x704]
mov ecx, dword [eax - 4]
mov edx, dword [ebp - 0x704]
mov eax, dword [edx - 4]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 8]
call eax
jmp 0x4bb9cf
mov ecx, dword [ebp - 0x6e0]
add ecx, 4
mov dword [ebp - 0x6e4], ecx
mov edx, dword [ebp - 0x6e4]
and edx, 7
shl edx, 0x19
or edx, dword [ebp - 0x6e4]
mov dword [ebp - 0x6e4], edx
cmp dword [ebp - 0x6a4], 0
jne 0x4bb993
push 0
push 0x15
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x14]
call fcn.004bc6e0
mov ecx, dword [ebp - 0x6e4]
or ecx, 0x80000000
mov dword [ebp - 0x6e4], ecx
jmp 0x4bb9ae
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
mov cx, word [eax]
mov word [edx - 8], cx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
mov cx, word [eax + 4]
mov word [edx - 6], cx
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x6e0]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x6e4]
mov dword [eax - 4], ecx
mov edx, dword [ebp - 0xc]
add edx, 8
mov dword [ebp - 0xc], edx
jmp 0x4bb1dc
cmp dword [ebp - 0x68c], 1
jle 0x4bbaaf
mov ecx, dword [ebp - 0x14]
add ecx, 4
call fcn.00415eb0
mov ecx, dword [ebp - 0xc]
sub ecx, eax
sub ecx, 8
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.0041a080
mov ecx, dword [ebp - 0x14]
add ecx, 4
call fcn.004ef740
sub eax, 4
mov dword [ebp - 0x6e8], eax
mov ecx, dword [ebp - 0x14]
add ecx, 4
call fcn.00415eb0
mov dword [ebp - 0x6ec], eax
mov edx, dword [ebp - 0x6ec]
add edx, dword [ebp - 0x6e8]
mov eax, dword [edx]
mov dword [ebp - 0x6f0], eax
mov ecx, dword [ebp - 0x6f0]
and ecx, 0xffffff
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f0]
and edx, 0x1000000
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x6f8]
add eax, 4
mov ecx, dword [ebp - 0x6e8]
sub ecx, eax
mov dword [ebp - 0x6e8], ecx
mov edx, dword [ebp - 0x6f0]
and edx, 0x80000000
je 0x4bba22
push 0
push 3
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x704]
mov edx, dword [ecx + 0x298]
push edx
mov eax, dword [ebp - 0x704]
mov ecx, dword [eax - 4]
mov edx, dword [ebp - 0x704]
mov eax, dword [edx - 4]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 8]
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x6a0], eax
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x34]
add edx, dword [ecx + 0x2d8]
cmp dword [ebp - 0x6a0], edx
jae 0x4bbaef
mov eax, dword [ebp - 0x6a0]
sub eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x704]
mov edx, dword [ecx + 0x2d8]
sub edx, eax
mov dword [ebp - 0x690], edx
jmp 0x4bbbd0
cmp dword [ebp - 0x690], 0
jne 0x4bbb0f
mov eax, dword [ebp - 0x704]
mov ecx, dword [eax + 0x2d0]
mov dword [ebp - 0x690], ecx
mov edx, dword [ebp - 0x704]
movzx eax, byte [edx + 0x2f2]
test eax, eax
je 0x4bbb3d
mov ecx, dword [ebp - 0x704]
sub ecx, 8
call fcn.004bc540
mov ecx, dword [ebp - 0x704]
mov byte [ecx + 0x2f2], 0
jmp 0x4bbbb1
cmp dword [ebp - 0x10], 0
je 0x4bbbb1
mov edx, dword [ebp - 0x34]
cmp edx, dword [ebp - 0x18]
jb 0x4bbb59
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x710], eax
jmp 0x4bbb68
or ecx, 0xffffffff
sub ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x34]
mov dword [ebp - 0x710], ecx
cmp dword [ebp - 0x710], 0x12c
jbe 0x4bbbb1
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 0x704]
sub ecx, 8
call fcn.004bc270
test eax, eax
jne 0x4bbb9b
mov dword [ebp - 0x10], 0
jmp 0x4bbbb1
cmp dword [ebp - 0x10], 2
je 0x4bbbaa
mov dword [ebp - 0x10], 2
jmp 0x4bbbb1
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x704]
movzx eax, byte [edx + 0x2f0]
test eax, eax
je 0x4bbbd0
mov ecx, dword [ebp - 0x704]
sub ecx, 8
call fcn.004b9340
mov ecx, dword [ebp - 0x704]
add ecx, 0x34
call fcn.00401070
jmp 0x4bad50
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x700], ecx
mov edx, dword [ebp - 0x700]
push edx
call fcn.00596bea
add esp, 4
cmp dword [0x653730], 2
jg 0x4bbc1d
push str.screen_capture_exit
push 0x3f9
push str..TShareApePng.cpp
push 2
call fcn.00401320
add esp, 0x10
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x704]
sub ecx, 8
call fcn.004b9130
mov ecx, dword [ebp - 0x704]
call fcn.005114d0
mov esp, ebp
pop ebp
ret