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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x10
push 0
push 0
dec ecx
jne 0x4d86a4
push ebx
push esi
push edi
mov esi, eax
lea eax, [ebp - 0x3e]
mov edx, dword [0x4be580]
call fcn.004050a0
mov ebx, 0x5026c8
mov edi, 0x504148
xor eax, eax
push ebp
push 0x4d91fc
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
push eax
push esi
call sub.user32.dll_GetWindowThreadProcessId
mov eax, dword [ebp - 4]
push eax
push 0
push 0x1f0fff
call sub.kernel32.dll_OpenProcess
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4d91cb
mov dword [ebp - 0xc], 4
push 4
lea ecx, [ebp - 0xc]
mov edx, 0x4d6df0
mov eax, esi
call fcn.004d6e40
mov eax, 0x1f4
call fcn.004d6bd8
mov eax, dword [ebp - 8]
call fcn.004d9f78
jmp 0x4d8751
mov eax, 0xc8
call fcn.004d6bd8
mov eax, dword [ebp - 8]
call fcn.004d9f78
cmp byte [0x50268a], 0
je 0x4d8751
cmp byte [ebx + 0x1895], 1
jne 0x4d87de
mov eax, dword [ebx + 0x498]
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x44], eax
fild qword [ebp - 0x48]
mov eax, dword [ebx + 0x4e0]
mov dword [ebp - 0x50], eax
xor eax, eax
mov dword [ebp - 0x4c], eax
fild qword [ebp - 0x50]
fld xword [0x4d920c]
fmulp st(1)
fcompp
fnstsw ax
sahf
seta al
and al, byte [0x5040f0]
jne 0x4d8729
jmp 0x4d87de
mov ecx, 0xe2c
mov edx, esi
mov eax, dword [0x504144]
call fcn.004c1394
test al, al
je 0x4d87ba
mov eax, dword [0x504144]
mov eax, dword [eax + 0x1a18]
mov edx, dword [eax + 0x39c]
mov eax, esi
call fcn.004bf23c
mov eax, 0x7d0
call fcn.004d6bd8
mov eax, dword [ebp - 8]
call fcn.004d9f78
cmp byte [0x50268a], 0
je 0x4d87de
cmp byte [ebx + 0x1895], 1
jne 0x4d87f0
cmp dword [ebx + 0x690], 2
setne al
and al, byte [0x5040f0]
jne 0x4d878d
cmp byte [0x502698], 0
je 0x4d894b
mov edx, esi
mov eax, dword [0x504144]
call fcn.004c0678
test al, al
je 0x4d88db
mov eax, dword [0x504144]
cmp dword [eax + 0x18dc], 0
je 0x4d8832
xor edx, edx
mov eax, esi
call fcn.004bfa20
mov eax, 0x64
call fcn.004d6bd8
mov eax, dword [0x504144]
mov eax, dword [eax + 0x18c0]
cmp eax, dword [0x5026a4]
jae 0x4d894b
mov ecx, 0x4d9220
mov edx, esi
mov eax, dword [0x504144]
call fcn.004c10bc
test al, al
je 0x4d894b
xor edx, edx
mov eax, esi
call fcn.004bf9c8
mov eax, 0x1f4
call fcn.004d6bd8
push esi
mov eax, dword [0x504144]
push eax
call fcn.004c0180
test al, al
je 0x4d894b
mov eax, dword [0x504144]
cmp dword [eax + 0x744], 0
jne 0x4d894b
mov eax, dword [0x504144]
cmp dword [eax + 0x1a0c], 0
jne 0x4d894b
mov eax, dword [0x504144]
mov eax, dword [eax + 0x18a8]
push eax
push 0
mov eax, dword [0x504144]
mov ecx, dword [eax + 0x19fc]
mov dl, 0x29
mov eax, esi
call fcn.004bf758
mov eax, 0x1f4
call fcn.004d6bd8
jmp 0x4d894b
mov ecx, dword [0x50269c]
mov edx, esi
mov eax, dword [0x504144]
call fcn.004c0bb4
test al, al
je 0x4d890a
mov edx, dword [0x50269c]
mov eax, esi
call fcn.004bfb58
mov eax, 0x3e8
call fcn.004d6bd8
jmp 0x4d894b
mov ecx, 0x4d9234
mov edx, esi
mov eax, dword [0x504144]
call fcn.004c10bc
test al, al
je 0x4d894b
mov eax, dword [0x504144]
mov eax, dword [eax + 0x48c]
push eax
push 0
mov eax, dword [0x504144]
mov ecx, dword [eax + 0x19fc]
mov dl, 0x29
mov eax, esi
call fcn.004bf758
mov eax, 0x258
call fcn.004d6bd8
mov eax, dword [0x5022ec]
mov eax, dword [eax + 0x68c]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4d8a75
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x36], eax
mov eax, dword [ebx + 0x44]
mov dword [ebp - 0x32], eax
lea edx, [ebp - 0x54]
mov eax, dword [0x5022ec]
mov eax, dword [eax + 0x690]
call fcn.00466978
mov eax, dword [ebp - 0x54]
call fcn.00409694
mov dword [ebp - 0x58], eax
fild dword [ebp - 0x58]
fadd dword [ebx + 0x40]
fstp dword [ebp - 0x2e]
wait
mov eax, dword [ebp - 8]
call fcn.004d9f78
jmp 0x4d8a1d
lea edx, [ebp - 0x3e]
mov eax, esi
call fcn.004d76b0
mov eax, 0x1f4
call fcn.004d6bd8
mov eax, dword [ebp - 8]
call fcn.004d9f78
mov eax, esi
call fcn.004da8e0
cmp byte [0x50268a], 0
je 0x4d89dd
cmp byte [ebx + 0x1895], 1
jne 0x4d8a75
cmp dword [ebx + 0x690], 2
je 0x4d8a1d
mov ecx, 0xe2c
mov edx, esi
mov eax, dword [0x504144]
call fcn.004c1394
test al, al
je 0x4d8a13
mov eax, dword [0x504144]
mov eax, dword [eax + 0x1a18]
mov edx, dword [eax + 0x39c]
mov eax, esi
call fcn.004bf23c
mov eax, 0x7d0
call fcn.004d6bd8
fld dword [ebx + 0x3c]
fsub dword [ebp - 0x36]
fabs
fcomp dword [0x4d9240]
fnstsw ax
sahf
ja 0x4d8a56
fld dword [ebx + 0x44]
fsub dword [ebp - 0x32]
fabs
fcomp dword [0x4d9240]
fnstsw ax
sahf
ja 0x4d8a56
fld dword [ebx + 0x40]
fsub dword [ebp - 0x2e]
fabs
fcomp dword [0x4d9240]
fnstsw ax
sahf
jbe 0x4d8a75
cmp dword [ebx + 0x690], 2
jne 0x4d8a75
cmp dword [ebx + 0x498], 0
je 0x4d8a75
cmp byte [0x5040f0], 0
jne 0x4d89a4
mov eax, dword [0x5022ec]
mov eax, dword [eax + 0x65c]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4d8c44
lea edx, [ebp - 0x5c]
mov eax, dword [0x5022ec]
mov eax, dword [eax + 0x668]
call fcn.00466978
mov eax, dword [ebp - 0x5c]
call fcn.0040b160
fsub dword [0x4d9244]
fmul dword [0x4d9248]
fstp dword [ebp - 0x36]
wait
lea edx, [ebp - 0x60]
mov eax, dword [0x5022ec]
mov eax, dword [eax + 0x66c]
call fcn.00466978
mov eax, dword [ebp - 0x60]
call fcn.0040b160
fsub dword [0x4d924c]
fmul dword [0x4d9248]
fstp dword [ebp - 0x32]
wait
lea edx, [ebp - 0x64]
mov eax, dword [0x5022ec]
mov eax, dword [eax + 0x670]
call fcn.00466978
mov eax, dword [ebp - 0x64]
call fcn.0040b160
fmul dword [0x4d9248]
fstp dword [ebp - 0x2e]
wait
mov eax, dword [ebp - 8]
call fcn.004d9f78
call sub.kernel32.dll_GetTickCount_1
mov dword [edi + 4], eax
jmp 0x4d8bec
lea edx, [ebp - 0x3e]
mov eax, esi
call fcn.004d76b0
mov eax, 0x1f4
call fcn.004d6bd8
mov eax, dword [ebp - 8]
call fcn.004d9f78
mov eax, esi
call fcn.004da8e0
cmp byte [0x50268a], 0
je 0x4d8b59
cmp byte [ebx + 0x1895], 1
jne 0x4d8c44
mov byte [edi + 0x1c], 1
fld dword [edi + 8]
fsub dword [ebx + 0x3c]
fabs
fcomp dword [0x4d9250]
fnstsw ax
sahf
ja 0x4d8b96
fld dword [edi + 0xc]
fsub dword [ebx + 0x44]
fabs
fcomp dword [0x4d9250]
fnstsw ax
sahf
ja 0x4d8b96
fld dword [edi + 0x10]
fsub dword [ebx + 0x40]
fabs
fcomp dword [0x4d9250]
fnstsw ax
sahf
jbe 0x4d8bb2
mov eax, dword [ebx + 0x3c]
mov dword [edi + 8], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0xc], eax
mov eax, dword [ebx + 0x40]
mov dword [edi + 0x10], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [edi + 4], eax
jmp 0x4d8be8
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [edi + 4]
cmp eax, 0x3a98
jbe 0x4d8be8
cmp byte [edi + 0x1c], 0
je 0x4d8be8
push 0x41a00000
push 0xc1f00000
mov ecx, ebx
lea edx, [ebp - 0x3e]
mov eax, dword [0x502608]
call fcn.004d68cc
call sub.kernel32.dll_GetTickCount_1
mov dword [edi + 4], eax
mov byte [edi + 0x1c], 0
fld dword [ebx + 0x3c]
fsub dword [ebp - 0x36]
fabs
fcomp dword [0x4d9240]
fnstsw ax
sahf
ja 0x4d8c25
fld dword [ebx + 0x44]
fsub dword [ebp - 0x32]
fabs
fcomp dword [0x4d9240]
fnstsw ax
sahf
ja 0x4d8c25
fld dword [ebx + 0x40]
fsub dword [ebp - 0x2e]
fabs
fcomp dword [0x4d9240]
fnstsw ax
sahf
jbe 0x4d8c44
cmp dword [ebx + 0x690], 2
jne 0x4d8c44
cmp dword [ebx + 0x498], 0
je 0x4d8c44
cmp byte [0x5040f0], 0
jne 0x4d8b20
mov eax, dword [0x5022ec]
mov eax, dword [eax + 0x660]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4d8e13
lea edx, [ebp - 0x68]
mov eax, dword [0x5022ec]
mov eax, dword [eax + 0x674]
call fcn.00466978
mov eax, dword [ebp - 0x68]
call fcn.0040b160
fsub dword [0x4d9244]
fmul dword [0x4d9248]
fstp dword [ebp - 0x36]
wait
lea edx, [ebp - 0x6c]
mov eax, dword [0x5022ec]
mov eax, dword [eax + 0x678]
call fcn.00466978
mov eax, dword [ebp - 0x6c]
call fcn.0040b160
fsub dword [0x4d924c]
fmul dword [0x4d9248]
fstp dword [ebp - 0x32]
wait
lea edx, [ebp - 0x70]
mov eax, dword [0x5022ec]
mov eax, dword [eax + 0x67c]
call fcn.00466978
mov eax, dword [ebp - 0x70]
call fcn.0040b160
fmul dword [0x4d9248]
fstp dword [ebp - 0x2e]
wait
mov eax, dword [ebp - 8]
call fcn.004d9f78
call sub.kernel32.dll_GetTickCount_1
mov dword [edi + 4], eax
jmp 0x4d8dbb
lea edx, [ebp - 0x3e]
mov eax, esi
call fcn.004d76b0
mov eax, 0x1f4
call fcn.004d6bd8
mov eax, dword [ebp - 8]
call fcn.004d9f78
mov eax, esi
call fcn.004da8e0
cmp byte [0x50268a], 0
je 0x4d8d28
cmp byte [ebx + 0x1895], 1
jne 0x4d8e13
mov byte [edi + 0x1c], 1
fld dword [edi + 8]
fsub dword [ebx + 0x3c]
fabs
fcomp dword [0x4d9250]
fnstsw ax
sahf
ja 0x4d8d65
fld dword [edi + 0xc]
fsub dword [ebx + 0x44]
fabs
fcomp dword [0x4d9250]
fnstsw ax
sahf
ja 0x4d8d65
fld dword [edi + 0x10]
fsub dword [ebx + 0x40]
fabs
fcomp dword [0x4d9250]
fnstsw ax
sahf
jbe 0x4d8d81
mov eax, dword [ebx + 0x3c]
mov dword [edi + 8], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0xc], eax
mov eax, dword [ebx + 0x40]
mov dword [edi + 0x10], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [edi + 4], eax
jmp 0x4d8db7
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [edi + 4]
cmp eax, 0x3a98
jbe 0x4d8db7
cmp byte [edi + 0x1c], 0
je 0x4d8db7
push 0x41a00000
push 0xc1f00000
mov ecx, ebx
lea edx, [ebp - 0x3e]
mov eax, dword [0x502608]
call fcn.004d68cc
call sub.kernel32.dll_GetTickCount_1
mov dword [edi + 4], eax
mov byte [edi + 0x1c], 0
fld dword [ebx + 0x3c]
fsub dword [ebp - 0x36]
fabs
fcomp dword [0x4d9240]
fnstsw ax
sahf
ja 0x4d8df4
fld dword [ebx + 0x44]
fsub dword [ebp - 0x32]
fabs
fcomp dword [0x4d9240]
fnstsw ax
sahf
ja 0x4d8df4
fld dword [ebx + 0x40]
fsub dword [ebp - 0x2e]
fabs
fcomp dword [0x4d9240]
fnstsw ax
sahf
jbe 0x4d8e13
cmp dword [ebx + 0x690], 2
jne 0x4d8e13
cmp dword [ebx + 0x498], 0
je 0x4d8e13
cmp byte [0x5040f0], 0
jne 0x4d8cef
mov eax, dword [0x5022ec]
mov eax, dword [eax + 0x664]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4d8fe2
lea edx, [ebp - 0x74]
mov eax, dword [0x5022ec]
mov eax, dword [eax + 0x680]
call fcn.00466978
mov eax, dword [ebp - 0x74]
call fcn.0040b160
fsub dword [0x4d9244]
fmul dword [0x4d9248]
fstp dword [ebp - 0x36]
wait
lea edx, [ebp - 0x78]
mov eax, dword [0x5022ec]
mov eax, dword [eax + 0x684]
call fcn.00466978
mov eax, dword [ebp - 0x78]
call fcn.0040b160
fsub dword [0x4d924c]
fmul dword [0x4d9248]
fstp dword [ebp - 0x32]
wait
lea edx, [ebp - 0x7c]
mov eax, dword [0x5022ec]
mov eax, dword [eax + 0x688]
call fcn.00466978
mov eax, dword [ebp - 0x7c]
call fcn.0040b160
fmul dword [0x4d9248]
fstp dword [ebp - 0x2e]
wait
mov eax, dword [ebp - 8]
call fcn.004d9f78
call sub.kernel32.dll_GetTickCount_1
mov dword [edi + 4], eax
jmp 0x4d8f8a
lea edx, [ebp - 0x3e]
mov eax, esi
call fcn.004d76b0
mov eax, 0x1f4
call fcn.004d6bd8
mov eax, dword [ebp - 8]
call fcn.004d9f78
mov eax, esi
call fcn.004da8e0
cmp byte [0x50268a], 0
je 0x4d8ef7
cmp byte [ebx + 0x1895], 1
jne 0x4d8fe2
mov byte [edi + 0x1c], 1
fld dword [edi + 8]
fsub dword [ebx + 0x3c]
fabs
fcomp dword [0x4d9250]
fnstsw ax
sahf
ja 0x4d8f34
fld dword [edi + 0xc]
fsub dword [ebx + 0x44]
fabs
fcomp dword [0x4d9250]
fnstsw ax
sahf
ja 0x4d8f34
fld dword [edi + 0x10]
fsub dword [ebx + 0x40]
fabs
fcomp dword [0x4d9250]
fnstsw ax
sahf
jbe 0x4d8f50
mov eax, dword [ebx + 0x3c]
mov dword [edi + 8], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0xc], eax
mov eax, dword [ebx + 0x40]
mov dword [edi + 0x10], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [edi + 4], eax
jmp 0x4d8f86
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [edi + 4]
cmp eax, 0x3a98
jbe 0x4d8f86
cmp byte [edi + 0x1c], 0
je 0x4d8f86
push 0x41a00000
push 0xc1f00000
mov ecx, ebx
lea edx, [ebp - 0x3e]
mov eax, dword [0x502608]
call fcn.004d68cc
call sub.kernel32.dll_GetTickCount_1
mov dword [edi + 4], eax
mov byte [edi + 0x1c], 0
fld dword [ebx + 0x3c]
fsub dword [ebp - 0x36]
fabs
fcomp dword [0x4d9240]
fnstsw ax
sahf
ja 0x4d8fc3
fld dword [ebx + 0x44]
fsub dword [ebp - 0x32]
fabs
fcomp dword [0x4d9240]
fnstsw ax
sahf
ja 0x4d8fc3
fld dword [ebx + 0x40]
fsub dword [ebp - 0x2e]
fabs
fcomp dword [0x4d9240]
fnstsw ax
sahf
jbe 0x4d8fe2
cmp dword [ebx + 0x690], 2
jne 0x4d8fe2
cmp dword [ebx + 0x498], 0
je 0x4d8fe2
cmp byte [0x5040f0], 0
jne 0x4d8ebe
mov eax, dword [0x50405c]
call fcn.0040596c
dec eax
cmp eax, dword [0x502630]
jg 0x4d8ffe
xor eax, eax
mov dword [0x502630], eax
jmp 0x4d9004
inc dword [0x502630]
mov eax, dword [0x5022ec]
mov eax, dword [eax + 0x698]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x4d91c2
imul eax, dword [0x502630], 0xb5
mov edx, dword [0x50405c]
mov eax, dword [edx + eax + 0x89]
mov dword [ebp - 0x36], eax
imul eax, dword [0x502630], 0xb5
mov edx, dword [0x50405c]
mov eax, dword [edx + eax + 0x8d]
mov dword [ebp - 0x32], eax
lea edx, [ebp - 0x80]
mov eax, dword [0x5022ec]
mov eax, dword [eax + 0x694]
call fcn.00466978
mov eax, dword [ebp - 0x80]
call fcn.0040b160
imul eax, dword [0x502630], 0xb5
mov edx, dword [0x50405c]
fadd dword [edx + eax + 0x91]
fstp dword [ebp - 0x2e]
wait
mov eax, dword [ebp - 8]
call fcn.004d9f78
call sub.kernel32.dll_GetTickCount_1
mov dword [edi + 4], eax
jmp 0x4d916a
lea edx, [ebp - 0x3e]
mov eax, esi
call fcn.004d76b0
mov eax, 0x3e8
call fcn.004d6bd8
mov eax, dword [ebp - 8]
call fcn.004d9f78
mov eax, esi
call fcn.004da8e0
cmp byte [0x50268a], 0
je 0x4d90d7
cmp byte [ebx + 0x1895], 1
jne 0x4d91c2
mov byte [edi + 0x1c], 1
fld dword [edi + 8]
fsub dword [ebx + 0x3c]
fabs
fcomp dword [0x4d9250]
fnstsw ax
sahf
ja 0x4d9114
fld dword [edi + 0xc]
fsub dword [ebx + 0x44]
fabs
fcomp dword [0x4d9250]
fnstsw ax
sahf
ja 0x4d9114
fld dword [edi + 0x10]
fsub dword [ebx + 0x40]
fabs
fcomp dword [0x4d9250]
fnstsw ax
sahf
jbe 0x4d9130
mov eax, dword [ebx + 0x3c]
mov dword [edi + 8], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0xc], eax
mov eax, dword [ebx + 0x40]
mov dword [edi + 0x10], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [edi + 4], eax
jmp 0x4d9166
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [edi + 4]
cmp eax, 0x3a98
jbe 0x4d9166
cmp byte [edi + 0x1c], 0
je 0x4d9166
push 0x41a00000
push 0xc1f00000
mov ecx, ebx
lea edx, [ebp - 0x3e]
mov eax, dword [0x502608]
call fcn.004d68cc
call sub.kernel32.dll_GetTickCount_1
mov dword [edi + 4], eax
mov byte [edi + 0x1c], 0
fld dword [ebx + 0x3c]
fsub dword [ebp - 0x36]
fabs
fcomp dword [0x4d9254]
fnstsw ax
sahf
ja 0x4d91a3
fld dword [ebx + 0x44]
fsub dword [ebp - 0x32]
fabs
fcomp dword [0x4d9254]
fnstsw ax
sahf
ja 0x4d91a3
fld dword [ebx + 0x40]
fsub dword [ebp - 0x2e]
fabs
fcomp dword [0x4d9254]
fnstsw ax
sahf
jbe 0x4d91c2
cmp dword [ebx + 0x690], 2
jne 0x4d91c2
cmp dword [ebx + 0x498], 0
je 0x4d91c2
cmp byte [0x5040f0], 0
jne 0x4d909e
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d9203
lea eax, [ebp - 0x80]
mov edx, 0xa
call fcn.004046f0
lea eax, [ebp - 0x54]
call fcn.004046cc
lea eax, [ebp - 0x3e]
mov edx, dword [0x4be580]
call fcn.00405170
ret