Function at 0x440d80
Capabilities:
Check if file exists
Delete file
Get common file path
Set registry value
Shutdown system
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x469755
mov eax, dword fs:[0]
push eax
sub esp, 0xb80
mov eax, dword [0x481288]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0x864], 0
push 0x103
push 0
lea eax, [ebp - 0x863]
push eax
call fcn.00415680
add esp, 0xc
mov byte [ebp - 0x22c], 0
push 0x103
push 0
lea ecx, [ebp - 0x22b]
push ecx
call fcn.00415680
add esp, 0xc
mov byte [ebp - 0x11c], 0
push 0x103
push 0
lea edx, [ebp - 0x11b]
push edx
call fcn.00415680
add esp, 0xc
push 0
push 0
push 0x104
lea eax, [ebp - 0x864]
push eax
push 0x489520
call fcn.00414d31
add esp, 4
push eax
push 0x489520
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 0
push 0
push 0x104
lea ecx, [ebp - 0x22c]
push ecx
push 0x489728
call fcn.00414d31
add esp, 4
push eax
push 0x489728
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 0
push 0
push 0x104
lea edx, [ebp - 0x11c]
push edx
push 0x489930
call fcn.00414d31
add esp, 4
push eax
push 0x489930
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov byte [ebp - 0x544], 0
push 0x30b
push 0
lea eax, [ebp - 0x543]
push eax
call fcn.00415680
add esp, 0xc
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0xb7c], 0
mov dword [ebp - 0xb78], 0
lea ecx, [ebp - 0xb7c]
push ecx
lea edx, [ebp - 0x124]
push edx
call fcn.00464650
add esp, 8
push 0x1bb
call fcn.00439e50
push eax
mov eax, dword [0x489ba8]
push eax
mov ecx, dword [ebp - 0xb78]
push ecx
mov edx, dword [ebp - 0xb7c]
push edx
mov eax, dword [ebp - 0x120]
push eax
mov ecx, dword [ebp - 0x124]
push ecx
mov edx, dword [0x489ba4]
push edx
push 0
push 0
push 0
push 0
push 0
mov eax, dword [0x489ba0]
push eax
mov ecx, dword [0x489b9c]
push ecx
mov edx, dword [0x489b98]
push edx
mov eax, dword [0x489b94]
push eax
mov ecx, dword [0x489b70]
push ecx
mov edx, dword [0x489b6c]
push edx
mov eax, dword [0x489b68]
push eax
mov ecx, dword [0x489b64]
push ecx
mov edx, dword [0x489b60]
push edx
mov eax, dword [0x489b5c]
push eax
mov ecx, dword [0x489b58]
push ecx
mov edx, dword [0x489b54]
push edx
mov eax, dword [0x489b50]
push eax
mov ecx, dword [0x489b4c]
push ecx
mov edx, dword [0x489b3c]
push edx
mov eax, dword [0x489b38]
push eax
mov ecx, dword [0x489b48]
push ecx
mov edx, dword [0x489b44]
push edx
mov eax, dword [0x489b40]
push eax
lea ecx, [ebp - 0x11c]
push ecx
lea edx, [ebp - 0x22c]
push edx
lea eax, [ebp - 0x864]
push eax
push str.GET__Upload_Data_r_nVERSION:_1__r_nMODULE_ID:_600__r_nCOMM:_s__s__s__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__I64u__I64u__d_r_nUser_Agent:_Mozilla_4.0__compatible__MSIE_5.00__Windows_Xp__r_nHost:__s:_d_r_nCache_Control:_no_cache_r_n_r_n
push 0x30c
lea ecx, [ebp - 0x544]
push ecx
call fcn.00416f88
add esp, 0x98
mov byte [ebp - 0xb74], 0
push 0x30b
push 0
lea edx, [ebp - 0xb73]
push edx
call fcn.00415680
add esp, 0xc
mov eax, dword [0x489ba8]
push eax
mov ecx, dword [ebp - 0xb78]
push ecx
mov edx, dword [ebp - 0xb7c]
push edx
mov eax, dword [ebp - 0x120]
push eax
mov ecx, dword [ebp - 0x124]
push ecx
mov edx, dword [0x489ba4]
push edx
push 0
push 0
push 0
push 0
push 0
mov eax, dword [0x489ba0]
push eax
mov ecx, dword [0x489b9c]
push ecx
mov edx, dword [0x489b98]
push edx
mov eax, dword [0x489b94]
push eax
mov ecx, dword [0x489b70]
push ecx
mov edx, dword [0x489b6c]
push edx
mov eax, dword [0x489b68]
push eax
mov ecx, dword [0x489b64]
push ecx
mov edx, dword [0x489b60]
push edx
mov eax, dword [0x489b5c]
push eax
mov ecx, dword [0x489b58]
push ecx
mov edx, dword [0x489b54]
push edx
mov eax, dword [0x489b50]
push eax
mov ecx, dword [0x489b4c]
push ecx
mov edx, dword [0x489b3c]
push edx
mov eax, dword [0x489b38]
push eax
mov ecx, dword [0x489b48]
push ecx
mov edx, dword [0x489b44]
push edx
mov eax, dword [0x489b40]
push eax
lea ecx, [ebp - 0x11c]
push ecx
lea edx, [ebp - 0x22c]
push edx
lea eax, [ebp - 0x864]
push eax
push str._s__s__s__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__I64u__I64u__d
push 0x30c
lea ecx, [ebp - 0xb74]
push ecx
call fcn.00416f88
add esp, 0x90
push 1
push 0x1a
lea edx, [ebp - 0x754]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
jne 0x4410ec
jmp 0x44126a
lea eax, [ebp - 0x754]
push eax
call fcn.00414d31
add esp, 4
movzx ecx, word [ebp + eax*2 - 0x756]
cmp ecx, 0x5c
jne 0x44112f
lea edx, [ebp - 0x754]
push edx
push 0x472f84
push 0x208
push 0x104
lea eax, [ebp - 0x754]
push eax
call fcn.004157ac
add esp, 0x14
jmp 0x441154
lea ecx, [ebp - 0x754]
push ecx
push str._sTencentQQInstallPackageDR
push 0x208
push 0x104
lea edx, [ebp - 0x754]
push edx
call fcn.004157ac
add esp, 0x14
lea eax, [ebp - 0x754]
push eax
call fcn.00437cb0
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xb84], eax
mov ecx, dword [ebp - 0xb84]
push ecx
lea edx, [ebp - 0x754]
push edx
push str._s_u.dr1
push 0x208
push 0x104
lea eax, [ebp - 0x754]
push eax
call fcn.004157ac
add esp, 0x18
lea ecx, [ebp - 0x754]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4411b9
lea edx, [ebp - 0x754]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x473178
lea eax, [ebp - 0x754]
push eax
call fcn.00414e0d
add esp, 8
mov dword [ebp - 0xb80], eax
cmp dword [ebp - 0xb80], 0
jne 0x4411e1
jmp 0x44126a
lea ecx, [ebp - 0xb8c]
call fcn.00430e00
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xb74]
push ecx
push 0x473180
lea edx, [ebp - 0xb8c]
push edx
call fcn.00430ee0
add esp, 0xc
push 0x2c
lea ecx, [ebp - 0xb8c]
call fcn.00431440
mov dword [ebp - 0xb88], eax
mov eax, dword [ebp - 0xb80]
push eax
lea ecx, [ebp - 0xb74]
push ecx
call fcn.00415fa0
add esp, 4
push eax
push 1
lea edx, [ebp - 0xb74]
push edx
call fcn.004150b3
add esp, 0x10
mov eax, dword [ebp - 0xb80]
push eax
call fcn.00414e92
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb8c]
call fcn.004310c0
mov dword [ebp - 0x230], 0
lea ecx, [ebp - 0x544]
push ecx
call fcn.00415fa0
add esp, 4
push eax
lea edx, [ebp - 0x544]
push edx
call fcn.0043c3c0
add esp, 8
test eax, eax
jne 0x4412ed
lea eax, [ebp - 0x544]
push eax
call fcn.00415fa0
add esp, 4
push eax
lea ecx, [ebp - 0x544]
push ecx
call fcn.0043c3c0
add esp, 8
test eax, eax
jne 0x4412e1
lea edx, [ebp - 0x544]
push edx
call fcn.00415fa0
add esp, 4
push eax
lea eax, [ebp - 0x544]
push eax
call fcn.0043c3c0
add esp, 8
mov dword [ebp - 0x230], eax
jmp 0x4412eb
mov dword [ebp - 0x230], 1
jmp 0x4412f7
mov dword [ebp - 0x230], 1
lea ecx, [ebp - 0x548]
push ecx
push 0x20006
push 0
push 0x473188
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x75c], eax
cmp dword [ebp - 0x75c], 0
je 0x441329
jmp 0x4413ab
mov byte [ebp - 0x755], 0
movzx edx, byte [ebp - 0x755]
or edx, 1
mov byte [ebp - 0x755], dl
cmp dword [ebp - 0x230], 0
je 0x441359
movzx eax, byte [ebp - 0x755]
or eax, 2
mov byte [ebp - 0x755], al
cmp dword [0x489b9c], 0
je 0x441372
movzx ecx, byte [ebp - 0x755]
or ecx, 4
mov byte [ebp - 0x755], cl
movzx edx, byte [ebp - 0x755]
mov dword [ebp - 0x10], edx
push 4
lea eax, [ebp - 0x10]
push eax
push 4
push 0
push str.nInstallState
mov ecx, dword [ebp - 0x548]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp dword [0x489ba0], 1
jne 0x4413ab
push 0
push 2
call dword [sym.imp.USER32.dll_ExitWindowsEx]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004151d0
mov esp, ebp
pop ebp
ret