Function at 0x405ed6
Capabilities:
Schedule task via itaskscheduler

Disassembly:
push 0x9c
mov eax, 0x464ad1
call fcn.0046049c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp + 0xc]
mov esi, ecx
xor ebx, ebx
push ebx
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], 0x2712
call dword [sym.imp.ole32.dll_CoInitialize]
cmp eax, ebx
jl 0x406323
mov dword [ebp - 0x74], ebx
lea eax, [ebp - 0x74]
push eax
push 0x46740c
push 1
push ebx
push 0x46742c
mov dword [ebp - 4], ebx
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, ebx
jl 0x40630c
push ebx
call fcn.004520e1
pop ecx
push eax
call fcn.004520ae
pop ecx
mov edi, str.TopArcadeHits
mov ecx, esi
cmp esi, ebx
jne 0x405f5a
mov ecx, edi
mov eax, dword [ebp - 0x74]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x1c]
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x78], ebx
mov byte [ebp - 4], 2
cmp esi, ebx
je 0x405f74
mov edi, esi
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
lea edx, [ebp - 0x70]
push edx
push 0x4673fc
push 0x46741c
push edi
push eax
call dword [ecx + 0x20]
cmp eax, ebx
jl 0x4062eb
mov dword [ebp - 0x7c], ebx
lea edx, [ebp - 0x7c]
push edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
lea edx, [ebp - 0x9c]
push edx
push eax
call dword [ecx + 0xc]
cmp eax, ebx
jl 0x4062da
push 0x30
lea eax, [ebp - 0x5c]
push ebx
push eax
call fcn.00456240
add esp, 0xc
cmp esi, ebx
jne 0x406020
xor esi, esi
inc esi
mov eax, esi
mov word [ebp - 0x54], ax
mov word [ebp - 0x56], ax
mov eax, 0x7dd
mov word [ebp - 0x58], ax
push 0x30
pop eax
mov word [ebp - 0x5c], ax
call fcn.004520c0
cdq
push 3
pop ecx
idiv ecx
inc edx
mov word [ebp - 0x4c], dx
call fcn.004520c0
push 0x3c
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x3c], esi
mov word [ebp - 0x38], si
mov dword [ebp - 0x44], 0xb4
mov dword [ebp - 0x48], 0x5a0
mov word [ebp - 0x4a], dx
jmp 0x4060a8
lea eax, [ebp - 0x88]
push eax
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
add dword [ebp - 0x88], 0xb8797400
lea eax, [ebp - 0xa8]
push eax
adc dword [ebp - 0x84], 0xffffffff
lea eax, [ebp - 0x88]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0xa8]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
mov ax, word [ebp - 0x66]
mov word [ebp - 0x54], ax
mov ax, word [ebp - 0x6a]
mov word [ebp - 0x56], ax
mov ax, word [ebp - 0x6c]
mov word [ebp - 0x58], ax
push 0x30
pop eax
mov word [ebp - 0x5c], ax
mov ax, word [ebp - 0x64]
mov word [ebp - 0x4c], ax
mov ax, word [ebp - 0x62]
mov word [ebp - 0x4a], ax
xor eax, eax
inc eax
mov dword [ebp - 0x3c], ebx
mov word [ebp - 0x38], ax
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
lea edx, [ebp - 0x5c]
push edx
push eax
call dword [ecx + 0xc]
cmp eax, ebx
jl 0x4062da
mov eax, dword [ebp - 0x98]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4060c6
sub eax, esi
lea esi, [eax + 1]
xor ecx, ecx
push 2
pop edx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045010c
mov edi, eax
pop ecx
mov dword [ebp - 0x84], edi
mov byte [ebp - 4], 4
cmp edi, ebx
jne 0x4060ff
push ebx
jmp 0x4062d4
push esi
push ebx
push edi
call fcn.00456240
add esp, 0xc
push esi
push edi
or esi, 0xffffffff
push esi
push dword [ebp - 0x98]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
push edi
push eax
call dword [ecx + 0x80]
cmp eax, ebx
jge 0x406170
push edi
call fcn.00450117
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x7c]
pop ecx
cmp eax, ebx
je 0x406147
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x78]
cmp eax, ebx
je 0x406158
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x70]
cmp eax, ebx
je 0x406168
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], esi
jmp 0x406310
mov ecx, dword [ebp - 0x90]
cmp ecx, ebx
jne 0x40617f
mov ecx, 0x46b90c
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x88]
cmp eax, ebx
jl 0x40612f
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
xor edx, edx
cmp dword [ebp - 0x94], ebx
setne dl
or edx, 0x2000
push edx
push eax
call dword [ecx + 0x70]
cmp eax, ebx
jl 0x40612f
call fcn.00405051
cmp eax, ebx
jne 0x4061bc
xor edi, edi
jmp 0x4061bf
mov edi, dword [eax + 8]
mov eax, edi
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4061d1
sub eax, esi
mov ecx, edi
lea edx, [ebp - 0x2c]
call fcn.004063f2
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x4062c2
lea edi, [eax + 1]
xor ecx, ecx
push 2
pop edx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045010c
mov esi, eax
pop ecx
mov dword [ebp - 0x90], esi
mov byte [ebp - 4], 6
cmp esi, ebx
jne 0x406223
push ebx
jmp 0x4062bc
push edi
push ebx
push esi
call fcn.00456240
mov eax, dword [ebp - 0x2c]
add esp, 0xc
cmp dword [ebp - 0x18], 0x10
jae 0x40623a
lea eax, [ebp - 0x2c]
push edi
push esi
push 0xffffffffffffffff
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
push ebx
push esi
push eax
call dword [ecx + 0x78]
cmp eax, ebx
jl 0x4062bb
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
lea edx, [ebp - 0x78]
push edx
push 0x465350
push eax
call dword [ecx]
cmp eax, ebx
jl 0x4062bb
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
push 1
push ebx
push eax
call dword [ecx + 0x18]
cmp eax, ebx
jl 0x4062bb
cmp dword [ebp - 0x94], ebx
je 0x4062b1
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
push 0x5dc
mov edi, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x34]
xor eax, eax
cmp edi, ebx
setge al
mov dword [ebp - 0x8c], eax
jmp 0x4062bb
mov dword [ebp - 0x8c], 0x2710
push esi
call fcn.00450117
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x2c]
call fcn.004063b7
push dword [ebp - 0x84]
call fcn.00450117
pop ecx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x7c]
cmp eax, ebx
je 0x4062eb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x78]
cmp eax, ebx
je 0x4062fc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x70]
cmp eax, ebx
je 0x40630c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x74]
cmp eax, ebx
je 0x40631d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x8c]
call fcn.004604e6
ret