Function at 0x47054e
Capabilities:
Check if file exists
Create thread

Disassembly:
push 0xd0
mov eax, 0x4b98e2
call fcn.00473b05
mov dword [ebp - 0x64], ecx
xor ebx, ebx
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push 0x2710
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
call esi
lea ecx, [ebp - 0xbc]
call fcn.0042d1df
mov dword [ebp - 4], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
mov edi, 0x4c649c
push edi
call fcn.00418464
mov byte [ebp - 4], 2
push ecx
mov eax, esp
mov dword [ebp - 0x60], esp
push eax
lea ecx, [ebp - 0xc0]
call fcn.004330a8
mov byte [ebp - 4], 3
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xc0]
call fcn.004330ec
mov byte [ebp - 4], 4
push dword [ebp - 0x68]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x47061c
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x50], esp
lea ecx, [ebp - 0x68]
cmp byte [0x4fae51], bl
je 0x4705fe
push str.__postdata__autostartup
push ecx
push eax
call fcn.00418219
add esp, 0xc
mov byte [ebp - 4], 5
jmp 0x470611
push str.__postdata
push ecx
push eax
call fcn.00418219
add esp, 0xc
mov byte [ebp - 4], 6
mov byte [ebp - 4], 4
call fcn.00420ec1
pop ecx
pop ecx
push 0xbb8
call esi
push 0x4f930c
lea ecx, [ebp - 0x60]
call fcn.0040a6cc
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xd8]
call fcn.0042d1df
mov byte [ebp - 4], 0xa
push ecx
mov ecx, esp
mov dword [ebp - 0x54], esp
push edi
call fcn.00418464
mov byte [ebp - 4], 0xb
push ecx
mov eax, esp
mov dword [ebp - 0x58], esp
push eax
lea ecx, [ebp - 0xdc]
call fcn.004330a8
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xdc]
call fcn.004330ec
mov byte [ebp - 4], 0xd
mov eax, dword [eax]
lea ecx, [ebp - 0x74]
push ecx
mov ecx, eax
call fcn.0041d082
pop ecx
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x50]
add ecx, 0xfffffff0
call fcn.00409a10
push dword [ebp - 0x74]
push str.http:__www.tweakcube.com_start3_index_show.htm_ver_s
lea eax, [ebp - 0x60]
push eax
call fcn.0040ab53
add esp, 0xc
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x58], esp
lea eax, [ebp - 0x60]
push eax
call fcn.0040a8a7
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 0xf
mov edi, dword [ebp - 0x64]
mov ecx, edi
call fcn.004417f7
push 0x3e8
call esi
push ebx
mov ecx, dword [0x4fb330]
call fcn.0043a674
mov ecx, dword [0x4fb330]
call fcn.00464f97
push ebx
push ebx
push edi
push 0x46f418
push ebx
push ebx
call fcn.00478972
push ebx
push ebx
push edi
push 0x45216e
push ebx
push ebx
call fcn.00478972
add esp, 0x30
mov byte [ebp - 4], 0x12
mov ecx, edi
call fcn.0046b460
lea ecx, [ebp - 0xa4]
call fcn.0042d1df
mov byte [ebp - 4], 0x13
mov byte [ebp - 0x49], 1
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x58], esp
push 0x4c63c0
call fcn.00418464
mov byte [ebp - 4], 0x14
push SysReAllocStringLen
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xa4]
call fcn.00431d68
cmp eax, ebx
je 0x470907
push ecx
mov ecx, esp
mov dword [ebp - 0x58], esp
push 0x4c2d20
call fcn.00418464
mov byte [ebp - 4], 0x15
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.LastCheckUpdateTime2
call fcn.00418464
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x54]
push eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xa4]
call fcn.00432ae1
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x54]
cmp dword [eax - 0xc], ebx
je 0x4708eb
push eax
call fcn.00477c9e
pop ecx
mov dword [ebp - 0x50], eax
lea ecx, [ebp - 0x54]
call fcn.0042b24c
add eax, 0xa
push eax
call fcn.00477c9e
pop ecx
mov edi, eax
lea ecx, [ebp - 0x54]
call fcn.0042b24c
add eax, 0x10
push eax
call fcn.00477c9e
pop ecx
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x5c]
push eax
call fcn.00427f0e
push 0xffffffffffffffff
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x5c]
call fcn.00425bf1
push eax
lea ecx, [ebp - 0x5c]
call fcn.00425bc0
push eax
lea ecx, [ebp - 0x5c]
call fcn.00425b8b
push eax
lea ecx, [ebp - 0x1c]
call fcn.00425971
mov ecx, dword [eax]
mov dword [ebp - 0x5c], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], 0x70
or dword [ebp - 0x28], 0xffffffff
lea eax, [ebp - 0x48]
push eax
call fcn.00477555
pop ecx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
and eax, edx
cmp eax, 0xffffffff
jne 0x47085b
push 0x80070057
call fcn.0040987d
mov ecx, dword [ebp - 0x50]
lea eax, [ecx - 0x76c]
cmp eax, 0x44c
ja 0x4708be
lea eax, [edi - 1]
cmp eax, 0xb
ja 0x4708be
mov eax, dword [ebp - 0x64]
lea edx, [eax - 1]
cmp edx, 0x1e
ja 0x4708be
push dword [ebp - 0x58]
push dword [ebp - 0x5c]
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push eax
push edi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00425971
mov ecx, eax
call fcn.00439699
test al, al
je 0x4708be
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push dword [ebp - 0x64]
push edi
push dword [ebp - 0x50]
lea ecx, [ebp - 0x1c]
call fcn.00425971
mov ecx, dword [eax]
mov dword [ebp - 0x70], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x49], bl
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x58]
sbb ecx, dword [ebp - 0x6c]
push ebx
push 0xe10
push ecx
push eax
call fcn.004787a0
cmp edx, ebx
jl 0x4708eb
jg 0x4708e7
cmp eax, 0xa8
jb 0x4708eb
mov byte [ebp - 0x49], 1
mov byte [ebp - 4], 0x18
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x54]
add ecx, 0xfffffff0
call fcn.00409a10
cmp byte [ebp - 0x49], bl
je 0x470a39
lea ecx, [ebp - 0x8c]
call fcn.0042d1df
mov byte [ebp - 4], 0x19
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x58], esp
push 0x4c63c0
call fcn.00418464
mov byte [ebp - 4], 0x1a
push SysReAllocStringLen
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x8c]
call fcn.00431d68
cmp eax, ebx
je 0x4709dd
xor eax, eax
mov word [ebp - 0x24], ax
lea edi, [ebp - 0x22]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0x4f930c
lea ecx, [ebp - 0x54]
call fcn.0040a6cc
mov byte [ebp - 4], 0x1b
mov byte [ebp - 4], 0x1c
movzx eax, word [ebp - 0x1e]
push eax
movzx eax, word [ebp - 0x22]
push eax
movzx eax, word [ebp - 0x24]
push eax
push 0x4c63a4
lea eax, [ebp - 0x54]
push eax
call fcn.0040ab53
add esp, 0x10
mov ecx, esp
mov dword [ebp - 0x58], esp
lea eax, [ebp - 0x54]
push eax
call fcn.0040a8a7
mov byte [ebp - 4], 0x1d
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.LastCheckUpdateTime2
call fcn.00418464
mov byte [ebp - 4], 0x1e
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x8c]
call fcn.0042d445
mov byte [ebp - 4], 0x1f
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x54]
add ecx, 0xfffffff0
call fcn.00409a10
push 0x3e8
call esi
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
mov byte [ebp - 4], 0x21
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x48]
call fcn.0046fb3b
test eax, eax
je 0x470a1e
lea ecx, [ebp - 0x48]
call fcn.0045b8f6
lea ecx, [ebp - 0x48]
call fcn.00452e57
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x48]
call fcn.0046fa7d
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x8c]
call fcn.0042d237
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0xa4]
call fcn.0042d237
mov dword [ebp - 4], 0xf
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x74]
add ecx, 0xfffffff0
call fcn.00409a10
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xd8]
call fcn.0042d237
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x60]
add ecx, 0xfffffff0
call fcn.00409a10
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x68]
add ecx, 0xfffffff0
call fcn.00409a10
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xbc]
call fcn.0042d237
call fcn.00473b61
ret