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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4eec6f
mov eax, dword fs:[0]
push eax
sub esp, 0x150
mov eax, dword [0x52910c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x134], esi
mov edi, dword [ebp + 8]
lea ebx, [esi + 0x24]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x154], 0
push ebx
mov dword [ebp - 0x158], edi
mov dword [ebp - 0x15c], edi
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x12c], ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 2
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x14], 0xf
cmp dword [edi + 0x14], 0x10
mov dword [edi + 0x10], 0
jb 0x46df15
mov eax, dword [edi]
jmp 0x46df17
mov eax, edi
push 0
push 0x509250
mov ecx, edi
mov byte [eax], 0
call fcn.00409af0
mov dword [edi + 0x18], 0
mov byte [ebp - 4], 1
push 0
push 0x509250
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x154], 1
mov dword [ebp - 0x8c], 0xf
mov dword [ebp - 0x90], 0
mov byte [ebp - 0xa0], 0
call fcn.00409af0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xd0]
push 0
push 0x509250
mov dword [ebp - 0xbc], 0xf
mov dword [ebp - 0xc0], 0
mov byte [ebp - 0xd0], 0
call fcn.00409af0
lea edi, [esi + 0x1c]
mov byte [ebp - 4], 4
mov eax, 2
mov dword [ebp - 0x150], edi
nop dword [eax]
dec eax
mov ecx, edi
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x114]
mov eax, dword [eax]
push eax
mov dword [ebp - 0x144], eax
call fcn.004131f0
mov edi, dword [edi]
mov esi, eax
mov dword [ebp - 0x14c], edi
cmp esi, edi
je 0x46e072
cmp dword [esi + 0x24], 0x10
lea edx, [esi + 0x10]
lea ebx, [edx + 0x10]
mov dword [ebp - 0x108], ebx
jb 0x46dff3
mov edx, dword [edx]
mov ecx, dword [ebp - 0x144]
cmp dword [ecx + 0x14], 0x10
lea eax, [ecx + 0x10]
mov dword [ebp - 0x130], eax
jb 0x46e010
mov ecx, dword [ecx]
mov dword [ebp - 0x144], ecx
mov edi, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x108]
mov eax, dword [ebx]
mov ebx, dword [edi]
cmp ebx, dword [ecx]
mov ecx, dword [ebp - 0x144]
cmovb eax, ebx
push eax
push edx
push ecx
call fcn.00413f70
mov edi, dword [ebp - 0x14c]
add esp, 0xc
mov ebx, dword [ebp - 0x12c]
test eax, eax
jne 0x46e06b
mov ebx, dword [ebp - 0x108]
mov edx, dword [ebp - 0x130]
mov eax, dword [ebx]
mov ecx, dword [edx]
mov ebx, dword [ebp - 0x12c]
cmp ecx, eax
jae 0x46e065
or eax, 0xffffffff
jmp 0x46e06b
cmp eax, ecx
sbb eax, eax
neg eax
shr eax, 0x1f
test al, al
je 0x46e074
mov esi, edi
mov edi, dword [ebp - 0x150]
cmp esi, dword [edi]
jne 0x46e0b2
cmp dword [ebp - 0x90], 0
ja 0x46e0a2
mov esi, dword [ebp - 0x134]
mov ecx, esi
call fcn.0046f8d0
mov ecx, esi
call fcn.0046fc60
mov ecx, esi
call fcn.0046f060
mov eax, dword [ebp - 0x118]
test eax, eax
jne 0x46dfb0
jmp 0x46e114
mov esi, dword [ebp - 0x114]
lea eax, [ebp - 0x11c]
mov ecx, edi
push dword [esi]
push eax
call fcn.00470c10
mov eax, dword [ebp - 0x11c]
lea ecx, [ebp - 0xa0]
add eax, 0x58
cmp ecx, eax
je 0x46e0e5
push 0xffffffffffffffff
push 0
push eax
call fcn.00409690
push dword [esi]
lea eax, [ebp - 0x11c]
mov ecx, edi
push eax
call fcn.00470c10
mov eax, dword [ebp - 0x11c]
lea ecx, [ebp - 0xd0]
add eax, 0x88
cmp ecx, eax
je 0x46e114
push 0xffffffffffffffff
push 0
push eax
call fcn.00409690
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
push str._appxmanifest.xml
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.00454b50
add esp, 0xc
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb8]
push 0
push 0x509250
mov dword [ebp - 0xa4], 0xf
mov dword [ebp - 0xa8], 0
mov byte [ebp - 0xb8], 0
call fcn.00409af0
lea eax, [ebp - 0xe8]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x104]
call fcn.0042f510
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x40]
push 0xc
xor eax, eax
mov dword [ebp - 0x2c], 7
push str.Applications
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
call fcn.00403e20
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0x104]
call fcn.00430050
push eax
lea ecx, [ebp - 0x140]
call fcn.00454ae0
mov eax, dword [ebp - 0x128]
test eax, eax
je 0x46e23d
push dword [ebp - 0x124]
push eax
call fcn.00430a90
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x128]
sub ecx, eax
sar ecx, 3
push ecx
push eax
call fcn.0041a6f0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x46e256
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00403f90
mov eax, dword [ebp - 0x140]
mov edi, eax
cmp eax, dword [ebp - 0x13c]
je 0x46e5e7
nop word [eax + eax]
push ecx
push edi
lea ecx, [ebp - 0x10c]
call fcn.004317c0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x58]
push 0xb
push str.Application
mov dword [ebp - 0x44], 0xf
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x58], 0
call fcn.00409af0
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x10c]
call fcn.004131f0
mov esi, eax
mov eax, dword [ebp - 0x10c]
cmp esi, eax
je 0x46e332
cmp dword [esi + 0x24], 0x10
lea edx, [esi + 0x10]
lea eax, [edx + 0x10]
mov dword [ebp - 0x114], eax
jb 0x46e2d1
mov edx, dword [edx]
cmp dword [ebp - 0x44], 0x10
lea ecx, [ebp - 0x58]
mov ebx, dword [ebp - 0x48]
cmovae ecx, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x118], ecx
mov ecx, dword [ebp - 0x114]
cmp ebx, dword [ecx]
mov ecx, dword [ebp - 0x118]
cmovb eax, ebx
push eax
push edx
push ecx
call fcn.00413f70
mov ebx, dword [ebp - 0x12c]
add esp, 0xc
test eax, eax
jne 0x46e325
mov edx, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x48]
mov eax, dword [edx]
cmp eax, ecx
jbe 0x46e321
or eax, 0xffffffff
jmp 0x46e325
sbb eax, eax
neg eax
shr eax, 0x1f
test al, al
mov eax, dword [ebp - 0x10c]
je 0x46e334
mov esi, eax
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x118], eax
cmp ecx, 0x10
jb 0x46e357
lea eax, [ecx + 1]
push eax
push dword [ebp - 0x58]
lea ecx, [ebp - 0x58]
call fcn.004099a0
mov eax, dword [ebp - 0x10c]
cmp esi, dword [ebp - 0x118]
jne 0x46e371
push eax
mov byte [ebp - 4], 8
push dword [eax]
lea eax, [ebp - 0x150]
jmp 0x46e4ba
push 0xb
push str.Application
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.00409af0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x40]
push 0xa
push 0x50c88c
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
call fcn.00409af0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x58]
push 0xb
push str.Application
mov dword [ebp - 0x44], 0xf
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x58], 0
call fcn.00409af0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x10c]
call fcn.00454c50
mov esi, dword [ebp - 0x148]
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x124]
push eax
mov esi, dword [esi + 0x28]
lea ecx, [ebp - 0x10c]
call fcn.00454c50
mov ecx, dword [ebp - 0x124]
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x14c]
add ecx, 0x28
push eax
call fcn.00412b40
cmp dword [eax], esi
mov eax, dword [ebp - 0x44]
sete byte [ebp - 0x10d]
cmp eax, 0x10
jb 0x46e44c
inc eax
lea ecx, [ebp - 0x58]
push eax
push dword [ebp - 0x58]
call fcn.004099a0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x44], 0xf
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x58], 0
cmp eax, 0x10
jb 0x46e473
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.004099a0
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
cmp eax, 0x10
jb 0x46e49e
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.004099a0
cmp byte [ebp - 0x10d], 0
je 0x46e4e8
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x10c]
push eax
push dword [eax]
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x10c]
call fcn.004308c0
push dword [ebp - 0x10c]
call fcn.00496f90
add edi, 8
add esp, 4
cmp edi, dword [ebp - 0x13c]
jne 0x46e270
jmp 0x46e5e7
push 0xa
push 0x50c88c
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.00409af0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
push 0xb
push str.Application
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
call fcn.00409af0
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x10c]
call fcn.00454c50
mov ecx, dword [ebp - 0x124]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x124]
add ecx, 0x28
push eax
call fcn.00413550
mov eax, dword [ebp - 0x124]
lea ecx, [ebp - 0xb8]
add eax, 0x28
cmp ecx, eax
je 0x46e57e
push 0xffffffffffffffff
push 0
push eax
call fcn.00409690
mov eax, dword [ebp - 0x2c]
cmp eax, 0x10
jb 0x46e593
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.004099a0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
cmp eax, 0x10
jb 0x46e5ba
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.004099a0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x10c]
mov eax, dword [ebp - 0x10c]
push eax
push dword [eax]
lea eax, [ebp - 0x118]
push eax
call fcn.004308c0
push dword [ebp - 0x10c]
call fcn.00496f90
add esp, 4
push 0
push 0x509250
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x5c], 0xf
mov dword [ebp - 0x60], 0
mov byte [ebp - 0x70], 0
call fcn.00409af0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x88]
push 0
push 0x509250
mov dword [ebp - 0x74], 0xf
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x88], 0
call fcn.00409af0
mov byte [ebp - 4], 0x11
mov edi, dword [ebp - 0x158]
nop dword [eax]
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x28]
call fcn.0042a180
mov esi, eax
lea eax, [ebp - 0x88]
cmp eax, esi
je 0x46e696
mov eax, dword [ebp - 0x74]
cmp eax, 0x10
jb 0x46e675
inc eax
lea ecx, [ebp - 0x88]
push eax
push dword [ebp - 0x88]
call fcn.004099a0
push esi
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x74], 0xf
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x88], 0
call fcn.00407660
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x46e6af
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.004099a0
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x28]
call fcn.0042a180
mov esi, eax
lea eax, [ebp - 0x70]
cmp eax, esi
je 0x46e6f6
mov eax, dword [ebp - 0x5c]
cmp eax, 0x10
jb 0x46e6db
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.004099a0
push esi
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x5c], 0xf
mov dword [ebp - 0x60], 0
mov byte [ebp - 0x70], 0
call fcn.00407660
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x46e70f
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.004099a0
push ecx
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x28]
call fcn.0041fd00
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x46e726
mov eax, dword [eax]
mov ecx, eax
call fcn.00428290
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x46e745
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00403f90
push ecx
lea edx, [ebp - 0x88]
lea ecx, [ebp - 0x28]
call fcn.0041fd00
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x46e75f
mov eax, dword [eax]
mov ecx, eax
call fcn.00428290
mov ecx, dword [ebp - 0x14]
mov esi, eax
cmp ecx, 8
jb 0x46e77d
inc ecx
push ecx
push dword [ebp - 0x28]
lea ecx, [ebp - 0x28]
call fcn.00403f90
mov eax, dword [edi + 0x18]
test eax, eax
je 0x46e78c
test esi, esi
je 0x46e7c1
test eax, eax
jne 0x46e790
test esi, esi
je 0x46e7d4
push 0x12c
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor ecx, ecx
sub eax, dword [ebp - 0x134]
sbb ecx, ecx
test ecx, ecx
jg 0x46e7d4
jl 0x46e640
cmp eax, 0x3a98
jae 0x46e7d4
jmp 0x46e640
lea eax, [ebp - 0x70]
cmp edi, eax
je 0x46e7d4
push 0xffffffffffffffff
push 0
push eax
mov ecx, edi
call fcn.00409690
mov eax, dword [ebp - 0x74]
cmp eax, 0x10
jb 0x46e7ef
inc eax
lea ecx, [ebp - 0x88]
push eax
push dword [ebp - 0x88]
call fcn.004099a0
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x74], 0xf
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x88], 0
cmp eax, 0x10
jb 0x46e819
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.004099a0
mov dword [ebp - 0x5c], 0xf
mov dword [ebp - 0x60], 0
mov byte [ebp - 0x70], 0
mov byte [ebp - 4], 7
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0xec]
cmp eax, 0x10
jb 0x46e853
inc eax
lea ecx, [ebp - 0x100]
push eax
push dword [ebp - 0x100]
call fcn.004099a0
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0xec], 0xf
mov dword [ebp - 0xf0], 0
mov byte [ebp - 0x100], 0
test ecx, ecx
je 0x46e87e
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0xa4]
cmp eax, 0x10
jb 0x46e89c
inc eax
lea ecx, [ebp - 0xb8]
push eax
push dword [ebp - 0xb8]
call fcn.004099a0
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xa4], 0xf
mov dword [ebp - 0xa8], 0
mov byte [ebp - 0xb8], 0
cmp eax, 0x10
jb 0x46e8d5
inc eax
lea ecx, [ebp - 0xe8]
push eax
push dword [ebp - 0xe8]
call fcn.004099a0
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0xd4], 0xf
mov dword [ebp - 0xd8], 0
mov byte [ebp - 0xe8], 0
test eax, eax
je 0x46e91e
push dword [ebp - 0x13c]
push eax
call fcn.00430a90
mov ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x138]
sub eax, ecx
sar eax, 3
push eax
push ecx
call fcn.0041a6f0
mov eax, dword [ebp - 0xbc]
cmp eax, 0x10
jb 0x46e93c
inc eax
lea ecx, [ebp - 0xd0]
push eax
push dword [ebp - 0xd0]
call fcn.004099a0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xbc], 0xf
mov dword [ebp - 0xc0], 0
mov byte [ebp - 0xd0], 0
cmp eax, 0x10
jb 0x46e975
inc eax
lea ecx, [ebp - 0xa0]
push eax
push dword [ebp - 0xa0]
call fcn.004099a0
push ebx
mov dword [ebp - 0x8c], 0xf
mov dword [ebp - 0x90], 0
mov byte [ebp - 0xa0], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004a1855
mov esp, ebp
pop ebp
ret 0xc