Function at 0x4077d0
Capabilities:
Check if file exists
Copy file
Get common file path
Get file attributes
Get program files directory

Disassembly:
mov eax, 0x38d8
call fcn.00448800
mov eax, dword [0x45d600]
xor eax, esp
mov dword [esp + 0x38d4], eax
mov eax, dword [str.CubeLib.dll]
mov ecx, dword [0x4545b4]
mov edx, dword [0x4545b8]
push ebx
push ebp
push esi
push edi
push pe_nt_image_headers32
mov dword [esp + 0x238c], eax
lea eax, [esp + 0x2398]
push 0
push eax
mov dword [esp + 0x2398], ecx
mov dword [esp + 0x239c], edx
call fcn.0043e3a0
mov ecx, dword [str.CubeLib64.dll]
mov edx, dword [0x4545c0]
mov eax, dword [0x4545c4]
mov dword [esp + 0x2498], ecx
movzx ecx, word [0x4545c8]
push 0xf6
mov dword [esp + 0x24a0], edx
lea edx, [esp + 0x24aa]
push 0
push edx
mov dword [esp + 0x24ac], eax
mov word [esp + 0x24b0], cx
call fcn.0043e3a0
mov eax, dword [str.ProcessManager.dll]
mov ecx, dword [0x4545d0]
mov edx, dword [0x4545d4]
mov dword [esp + 0x25a8], eax
mov eax, dword [0x4545d8]
mov dword [esp + 0x25ac], ecx
movzx ecx, word [0x4545dc]
mov dword [esp + 0x25b0], edx
movzx edx, byte [0x4545de]
push 0xf1
mov dword [esp + 0x25b8], eax
lea eax, [esp + 0x25bf]
push 0
push eax
mov word [esp + 0x25c4], cx
mov byte [esp + 0x25c6], dl
call fcn.0043e3a0
mov ecx, dword [str.ProcessManager64.dll]
mov eax, dword [0x4545e8]
mov edx, dword [0x4545e4]
mov dword [esp + 0x26b8], ecx
mov ecx, dword [0x4545ec]
mov dword [esp + 0x26c0], eax
movzx eax, byte [0x4545f4]
push 0xef
mov dword [esp + 0x26c8], ecx
mov dword [esp + 0x26c0], edx
mov edx, dword [0x4545f0]
lea ecx, [esp + 0x26d1]
push 0
push ecx
mov dword [esp + 0x26d4], edx
mov byte [esp + 0x26d8], al
call fcn.0043e3a0
mov edx, dword [str.TRCLib.dll]
mov eax, dword [0x4545fc]
movzx ecx, word [0x454600]
mov dword [esp + 0x27c8], edx
movzx edx, byte [0x454602]
push 0xf9
mov dword [esp + 0x27d0], eax
lea eax, [esp + 0x27d7]
push 0
push eax
mov word [esp + 0x27dc], cx
mov byte [esp + 0x27de], dl
call fcn.0043e3a0
mov ebp, dword [str.TRemote_Server.exe]
mov ebx, dword [0x454608]
mov ecx, dword [0x45460c]
mov dword [esp + 0x28d8], ebp
mov dword [esp + 0x28dc], ebx
mov dword [esp + 0x28e0], ecx
mov edx, dword [0x454610]
movzx eax, word [0x454614]
movzx ecx, byte [0x454616]
push 0xf1
mov dword [esp + 0x28e8], edx
lea edx, [esp + 0x28ef]
push 0
push edx
mov word [esp + 0x28f4], ax
mov byte [esp + 0x28f6], cl
call fcn.0043e3a0
mov eax, dword [str.THOOK.dll]
movzx edx, word [0x454620]
mov ecx, dword [0x45461c]
add esp, 0x48
push 0xfa
mov dword [esp + 0x29a4], eax
lea eax, [esp + 0x29ae]
push 0
push eax
mov dword [esp + 0x29b0], ecx
mov word [esp + 0x29b4], dx
call fcn.0043e3a0
mov ecx, dword [str.texe.exe]
movzx eax, byte [0x45462c]
mov edx, dword [0x454628]
push 0xfb
mov dword [esp + 0x2ab4], ecx
lea ecx, [esp + 0x2abd]
push 0
push ecx
mov dword [esp + 0x2ac0], edx
mov byte [esp + 0x2ac4], al
call fcn.0043e3a0
mov edx, dword [str.texe64.exe]
mov eax, dword [0x454634]
movzx ecx, word [0x454638]
mov dword [esp + 0x2bc0], edx
movzx edx, byte [0x45463a]
push 0xf9
mov dword [esp + 0x2bc8], eax
lea eax, [esp + 0x2bcf]
push 0
push eax
mov word [esp + 0x2bd4], cx
mov byte [esp + 0x2bd6], dl
call fcn.0043e3a0
mov ecx, dword [str.TLog.exe]
movzx eax, byte [0x454644]
mov edx, dword [0x454640]
push 0xfb
mov dword [esp + 0x2cd4], ecx
lea ecx, [esp + 0x2cdd]
push 0
push ecx
mov dword [esp + 0x2ce0], edx
mov byte [esp + 0x2ce4], al
call fcn.0043e3a0
mov edx, dword [str.TLog64.exe]
mov eax, dword [0x45464c]
movzx ecx, word [0x454650]
mov dword [esp + 0x2de0], edx
movzx edx, byte [0x454652]
push 0xf9
mov dword [esp + 0x2de8], eax
lea eax, [esp + 0x2def]
push 0
push eax
mov word [esp + 0x2df4], cx
mov byte [esp + 0x2df6], dl
call fcn.0043e3a0
mov ecx, dword [str.T_SCMgr64.exe]
mov edx, dword [0x454658]
mov eax, dword [0x45465c]
mov dword [esp + 0x2ef0], ecx
movzx ecx, word [0x454660]
push 0xf6
mov dword [esp + 0x2ef8], edx
mov dword [esp + 0x2efc], eax
mov word [esp + 0x2f00], cx
push 0
lea edx, [esp + 0x2f06]
push edx
call fcn.0043e3a0
mov eax, dword [str.TURound.exe]
mov ecx, dword [0x454668]
mov edx, dword [0x45466c]
add esp, 0x48
push pe_nt_image_headers32
mov dword [esp + 0x2fbc], eax
lea eax, [esp + 0x2fc8]
push 0
push eax
mov dword [esp + 0x2fc8], ecx
mov dword [esp + 0x2fcc], edx
call fcn.0043e3a0
mov ecx, dword [str.TURound64.exe]
mov edx, dword [0x454674]
mov eax, dword [0x454678]
mov dword [esp + 0x30c8], ecx
movzx ecx, word [0x45467c]
push 0xf6
mov dword [esp + 0x30d0], edx
lea edx, [esp + 0x30da]
push 0
push edx
mov dword [esp + 0x30dc], eax
mov word [esp + 0x30e0], cx
call fcn.0043e3a0
mov ecx, dword [0x454684]
mov eax, dword [str.TPWatermark.dll]
mov edx, dword [0x454688]
push 0xf4
mov dword [esp + 0x31e0], ecx
mov dword [esp + 0x31dc], eax
mov eax, dword [0x45468c]
lea ecx, [esp + 0x31ec]
push 0
push ecx
mov dword [esp + 0x31ec], edx
mov dword [esp + 0x31f0], eax
call fcn.0043e3a0
mov eax, dword [0x454694]
mov ecx, dword [0x454698]
mov edx, dword [str.TPWatermark64.dll]
mov dword [esp + 0x32ec], eax
movzx eax, word [0x4546a0]
push 0xf2
mov dword [esp + 0x32f4], ecx
mov dword [esp + 0x32ec], edx
mov edx, dword [0x45469c]
lea ecx, [esp + 0x32fe]
push 0
push ecx
mov dword [esp + 0x3300], edx
mov word [esp + 0x3304], ax
call fcn.0043e3a0
mov eax, dword [0x4546a8]
mov edx, dword [str.TMWatermark.dll]
mov ecx, dword [0x4546ac]
push 0xf4
mov dword [esp + 0x3400], eax
mov dword [esp + 0x33fc], edx
mov edx, dword [0x4546b0]
lea eax, [esp + 0x340c]
push 0
push eax
mov dword [esp + 0x340c], ecx
mov dword [esp + 0x3410], edx
call fcn.0043e3a0
mov edx, dword [0x4546b8]
mov ecx, dword [str.TMWatermark64.dll]
mov eax, dword [0x4546bc]
mov dword [esp + 0x350c], edx
movzx edx, word [0x4546c4]
mov dword [esp + 0x3508], ecx
mov ecx, dword [0x4546c0]
push 0xf2
mov dword [esp + 0x3514], eax
mov dword [esp + 0x3518], ecx
mov word [esp + 0x351c], dx
push 0
lea eax, [esp + 0x3522]
push eax
call fcn.0043e3a0
mov ecx, dword [str.TMW.exe]
mov edx, dword [0x4546cc]
add esp, 0x48
push 0xfc
lea eax, [esp + 0x35dc]
push 0
push eax
mov dword [esp + 0x35dc], ecx
mov dword [esp + 0x35e0], edx
call fcn.0043e3a0
mov ecx, dword [str.TMW64.exe]
movzx eax, word [0x4546d8]
mov edx, dword [0x4546d4]
push 0xfa
mov dword [esp + 0x36e4], ecx
lea ecx, [esp + 0x36ee]
push 0
push ecx
mov dword [esp + 0x36f0], edx
mov word [esp + 0x36f4], ax
call fcn.0043e3a0
push 0x103
lea edx, [esp + 0x37f5]
push 0
push edx
mov byte [esp + 0x37fc], 0
call fcn.0043e3a0
mov eax, dword [str.CubeLibUp.dll]
mov ecx, dword [0x4546e0]
mov edx, dword [0x4546e4]
mov dword [esp + 0x93c], eax
movzx eax, word [0x4546e8]
push 0xf6
mov dword [esp + 0x944], ecx
lea ecx, [esp + 0x94e]
push 0
push ecx
mov dword [esp + 0x950], edx
mov word [esp + 0x954], ax
call fcn.0043e3a0
mov eax, dword [0x4546f0]
mov edx, dword [str.CubeLib64up.dll]
mov ecx, dword [0x4546f4]
push 0xf4
mov dword [esp + 0xa54], eax
mov dword [esp + 0xa50], edx
mov edx, dword [0x4546f8]
lea eax, [esp + 0xa60]
push 0
push eax
mov dword [esp + 0xa60], ecx
mov dword [esp + 0xa64], edx
call fcn.0043e3a0
mov ecx, dword [str.ProcessManagerUp.dll]
mov eax, dword [0x454704]
mov edx, dword [0x454700]
mov dword [esp + 0xb5c], ecx
mov ecx, dword [0x454708]
mov dword [esp + 0xb64], eax
movzx eax, byte [0x454710]
push 0xef
mov dword [esp + 0xb6c], ecx
mov dword [esp + 0xb64], edx
mov edx, dword [0x45470c]
lea ecx, [esp + 0xb75]
push 0
push ecx
mov dword [esp + 0xb78], edx
mov byte [esp + 0xb7c], al
call fcn.0043e3a0
mov ecx, 5
mov esi, str.ProcessManager64Up.dll
lea edi, [esp + 0xc6c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
add esp, 0x48
movsb byte es:[edi], byte [esi]
push 0xed
lea edx, [esp + 0xc3f]
push 0
push edx
call fcn.0043e3a0
mov eax, dword [str.TRCLibUp.dll]
mov ecx, dword [0x454730]
mov edx, dword [0x454734]
mov dword [esp + 0xd34], eax
movzx eax, byte [0x454738]
push 0xf7
mov dword [esp + 0xd3c], ecx
lea ecx, [esp + 0xd45]
push 0
push ecx
mov dword [esp + 0xd48], edx
mov byte [esp + 0xd4c], al
call fcn.0043e3a0
mov edx, dword [0x45460c]
mov eax, dword [0x454610]
movzx ecx, word [0x454614]
mov dword [esp + 0xe4c], edx
movzx edx, byte [0x454616]
push 0xf1
mov dword [esp + 0xe54], eax
lea eax, [esp + 0xe5b]
push 0
push eax
mov dword [esp + 0xe50], ebp
mov dword [esp + 0xe54], ebx
mov word [esp + 0xe60], cx
mov byte [esp + 0xe62], dl
call fcn.0043e3a0
mov ecx, dword [str.THOOKUp.dll]
mov edx, dword [0x454740]
mov eax, dword [0x454744]
push pe_nt_image_headers32
mov dword [esp + 0xf58], ecx
lea ecx, [esp + 0xf64]
push 0
push ecx
mov dword [esp + 0xf64], edx
mov dword [esp + 0xf68], eax
call fcn.0043e3a0
mov edx, dword [str.texeup.exe]
mov eax, dword [0x45474c]
movzx ecx, word [0x454750]
mov dword [esp + 0x1064], edx
movzx edx, byte [0x454752]
push 0xf9
mov dword [esp + 0x106c], eax
lea eax, [esp + 0x1073]
push 0
push eax
mov word [esp + 0x1078], cx
mov byte [esp + 0x107a], dl
call fcn.0043e3a0
mov ecx, dword [str.texe64up.exe]
mov edx, dword [0x454758]
mov eax, dword [0x45475c]
mov dword [esp + 0x1174], ecx
movzx ecx, byte [0x454760]
push 0xf7
mov dword [esp + 0x117c], edx
lea edx, [esp + 0x1185]
push 0
push edx
mov dword [esp + 0x1188], eax
mov byte [esp + 0x118c], cl
call fcn.0043e3a0
mov eax, dword [str.TLogup.exe]
mov ecx, dword [0x454768]
movzx edx, word [0x45476c]
add esp, 0x48
mov dword [esp + 0x123c], eax
movzx eax, byte [0x45476e]
push 0xf9
mov dword [esp + 0x1244], ecx
mov word [esp + 0x1248], dx
mov byte [esp + 0x124a], al
push 0
lea ecx, [esp + 0x124f]
push ecx
call fcn.0043e3a0
mov edx, dword [str.TLog64up.exe]
mov eax, dword [0x454774]
mov ecx, dword [0x454778]
mov dword [esp + 0x134c], edx
movzx edx, byte [0x45477c]
push 0xf7
mov dword [esp + 0x1354], eax
lea eax, [esp + 0x135d]
push 0
push eax
mov dword [esp + 0x1360], ecx
mov byte [esp + 0x1364], dl
call fcn.0043e3a0
mov edx, dword [0x454784]
mov ecx, dword [str.T_SCMgr64up.exe]
mov eax, dword [0x454788]
push 0xf4
mov dword [esp + 0x1464], edx
mov dword [esp + 0x1460], ecx
mov ecx, dword [0x45478c]
lea edx, [esp + 0x1470]
push 0
push edx
mov dword [esp + 0x1470], eax
mov dword [esp + 0x1474], ecx
call fcn.0043e3a0
mov eax, dword [str.TURoundup.exe]
mov ecx, dword [0x454794]
mov edx, dword [0x454798]
mov dword [esp + 0x156c], eax
movzx eax, word [0x45479c]
push 0xf6
mov dword [esp + 0x1574], ecx
lea ecx, [esp + 0x157e]
push 0
push ecx
mov dword [esp + 0x1580], edx
mov word [esp + 0x1584], ax
call fcn.0043e3a0
mov eax, dword [0x4547a4]
mov edx, dword [str.TURound64up.exe]
mov ecx, dword [0x4547a8]
push 0xf4
mov dword [esp + 0x1684], eax
mov dword [esp + 0x1680], edx
mov edx, dword [0x4547ac]
lea eax, [esp + 0x1690]
push 0
push eax
mov dword [esp + 0x1690], ecx
mov dword [esp + 0x1694], edx
call fcn.0043e3a0
mov edx, dword [0x4547b4]
mov eax, dword [0x4547b8]
mov ecx, dword [str.TPWatermarkup.dll]
mov dword [esp + 0x1790], edx
movzx edx, word [0x4547c0]
push 0xf2
mov dword [esp + 0x1798], eax
mov dword [esp + 0x1790], ecx
mov ecx, dword [0x4547bc]
lea eax, [esp + 0x17a2]
push 0
push eax
mov dword [esp + 0x17a4], ecx
mov word [esp + 0x17a8], dx
call fcn.0043e3a0
mov ecx, dword [str.TPWatermark64up.dll]
mov edx, dword [0x4547c8]
mov eax, dword [0x4547cc]
mov dword [esp + 0x189c], ecx
mov ecx, dword [0x4547d0]
mov dword [esp + 0x18a0], edx
mov edx, dword [0x4547d4]
add esp, 0x48
mov dword [esp + 0x185c], eax
mov dword [esp + 0x1860], ecx
mov dword [esp + 0x1864], edx
push 0xf0
lea eax, [esp + 0x186c]
push 0
push eax
call fcn.0043e3a0
mov edx, dword [0x4547dc]
mov eax, dword [0x4547e0]
mov ecx, dword [str.TMWatermarkup.dll]
mov dword [esp + 0x1968], edx
movzx edx, word [0x4547e8]
push 0xf2
mov dword [esp + 0x1970], eax
mov dword [esp + 0x1968], ecx
mov ecx, dword [0x4547e4]
lea eax, [esp + 0x197a]
push 0
push eax
mov dword [esp + 0x197c], ecx
mov word [esp + 0x1980], dx
call fcn.0043e3a0
mov eax, dword [0x4547f4]
mov ecx, dword [str.TMWatermark64up.dll]
mov edx, dword [0x4547f0]
push 0xf0
mov dword [esp + 0x1a80], eax
mov dword [esp + 0x1a78], ecx
mov ecx, dword [0x4547f8]
mov dword [esp + 0x1a7c], edx
mov edx, dword [0x4547fc]
lea eax, [esp + 0x1a8c]
push 0
push eax
mov dword [esp + 0x1a8c], ecx
mov dword [esp + 0x1a90], edx
call fcn.0043e3a0
mov ecx, dword [str.TMWUp.exe]
movzx eax, word [0x454808]
mov edx, dword [0x454804]
push 0xfa
mov dword [esp + 0x1b88], ecx
lea ecx, [esp + 0x1b92]
push 0
push ecx
mov dword [esp + 0x1b94], edx
mov word [esp + 0x1b98], ax
call fcn.0043e3a0
mov edx, dword [str.TMW64Up.exe]
mov eax, dword [0x454810]
mov ecx, dword [0x454814]
push pe_nt_image_headers32
mov dword [esp + 0x1c98], edx
lea edx, [esp + 0x1ca4]
push 0
push edx
mov dword [esp + 0x1ca4], eax
mov dword [esp + 0x1ca8], ecx
call fcn.0043e3a0
push 0x103
lea eax, [esp + 0x1da9]
push 0
push eax
mov byte [esp + 0x1db0], 0
call fcn.0043e3a0
add esp, 0x48
push 0x103
lea ecx, [esp + 0x2fd]
push 0
push ecx
mov byte [esp + 0x304], 0
call fcn.0043e3a0
push 0x103
lea edx, [esp + 0xf9]
push 0
push edx
mov byte [esp + 0x100], 0
call fcn.0043e3a0
push 0x103
lea eax, [esp + 0x20d]
push 0
push eax
mov byte [esp + 0x214], 0
call fcn.0043e3a0
add esp, 0x24
push 0x104
lea ecx, [esp + 0x2fc]
push ecx
push 0x400000
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 0x2f8]
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
push 0x454100
lea eax, [esp + 0x2fc]
push 0x104
push eax
call fcn.00435f19
add esp, 0xc
xor ebp, ebp
cmp byte [esp + 0x918], 0
je 0x4086fd
lea edi, [esp + 0x918]
xor esi, esi
lea ecx, [esp + 0x2f8]
push ecx
lea edx, [esp + 0xec]
push 0x104
push edx
call fcn.00435e29
lea eax, [esp + 0x304]
push eax
lea ecx, [esp + 0x200]
push 0x104
push ecx
call fcn.00435e29
lea esi, [esp + esi + 0x23a0]
push esi
lea edx, [esp + 0x104]
push 0x104
push edx
call fcn.00435f19
push edi
lea eax, [esp + 0x218]
push 0x104
push eax
call fcn.00435f19
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
add esp, 0x30
lea ecx, [esp + 0x1f0]
push ecx
call ebx
cmp eax, 0xffffffff
je 0x4086df
lea edx, [esp + 0xe8]
push edx
call ebx
cmp eax, 0xffffffff
je 0x40853a
lea eax, [esp + 0x80]
push eax
lea ebx, [esp + 0xec]
mov byte [esp + 0x1c], 0
mov byte [esp + 0x84], 0
call fcn.00407740
lea ecx, [esp + 0x1c]
push ecx
lea ebx, [esp + 0x1f8]
call fcn.00407740
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x8c]
push eax
call fcn.00436105
add esp, 0x10
test eax, eax
jge 0x408552
push 0
lea ecx, [esp + 0xec]
push ecx
mov edx, ebx
push edx
jmp 0x40854c
push 0
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x1f8]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ebx, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
push 0
push 0x2a
lea edx, [esp + 0xf0]
push edx
push 0
call ebx
test eax, eax
jne 0x40857b
push eax
push 0x26
lea eax, [esp + 0xf0]
push eax
push 0
call ebx
push str.TerutenWebCube_
lea ecx, [esp + 0xec]
push 0x104
push ecx
call fcn.00435f19
push edi
lea edx, [esp + 0xf8]
push 0x104
push edx
call fcn.00435f19
add esp, 0x18
lea eax, [esp + 0xe8]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x40861f
lea ecx, [esp + 0x80]
push ecx
lea ebx, [esp + 0xec]
mov byte [esp + 0x1c], 0
mov byte [esp + 0x84], 0
call fcn.00407740
lea edx, [esp + 0x1c]
push edx
lea ebx, [esp + 0x1f8]
call fcn.00407740
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x8c]
push ecx
call fcn.00436105
add esp, 0x10
test eax, eax
jge 0x408619
push 0
lea edx, [esp + 0xec]
push edx
mov eax, ebx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ebx, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
push 0
push 0x2a
lea ecx, [esp + 0xf0]
push ecx
push 0
call ebx
test eax, eax
jne 0x408641
push eax
push 0x26
lea edx, [esp + 0xf0]
push edx
push eax
call ebx
push str.TerutenWebCube_
lea eax, [esp + 0xec]
push 0x104
push eax
call fcn.00435f19
push esi
lea ecx, [esp + 0xf8]
push 0x104
push ecx
call fcn.00435f19
add esp, 0x18
lea edx, [esp + 0xe8]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x4086df
lea eax, [esp + 0x80]
push eax
lea ebx, [esp + 0xec]
mov byte [esp + 0x1c], 0
mov byte [esp + 0x84], 0
call fcn.00407740
lea ecx, [esp + 0x1c]
push ecx
lea ebx, [esp + 0x1f8]
call fcn.00407740
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x8c]
push eax
call fcn.00436105
add esp, 0x10
test eax, eax
jge 0x4086df
push 0
lea ecx, [esp + 0xec]
push ecx
mov edx, ebx
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
inc ebp
mov esi, ebp
imul esi, esi, 0x104
cmp byte [esp + esi + 0x918], 0
lea edi, [esp + esi + 0x918]
jne 0x408454
mov ecx, dword [0x4546a8]
mov eax, dword [str.TMWatermark.dll]
mov edx, dword [0x4546ac]
push 0xf4
mov dword [esp + 0x408], ecx
mov dword [esp + 0x404], eax
mov eax, dword [0x4546b0]
lea ecx, [esp + 0x414]
push 0
push ecx
mov dword [esp + 0x414], edx
mov dword [esp + 0x418], eax
call fcn.0043e3a0
mov eax, dword [0x4546b8]
mov ecx, dword [0x4546bc]
mov edx, dword [str.TMWatermark64.dll]
mov dword [esp + 0x514], eax
movzx eax, word [0x4546c4]
push 0xf2
mov dword [esp + 0x51c], ecx
mov dword [esp + 0x514], edx
mov edx, dword [0x4546c0]
lea ecx, [esp + 0x526]
push 0
push ecx
mov dword [esp + 0x528], edx
mov word [esp + 0x52c], ax
call fcn.0043e3a0
mov edx, dword [str.TMW.exe]
mov eax, dword [0x4546cc]
push 0xfc
lea ecx, [esp + 0x62c]
push 0
push ecx
mov dword [esp + 0x62c], edx
mov dword [esp + 0x630], eax
call fcn.0043e3a0
mov edx, dword [str.TMW64.exe]
mov eax, dword [0x4546d4]
mov cx, word [0x4546d8]
push 0xfa
mov dword [esp + 0x734], edx
lea edx, [esp + 0x73e]
push 0
push edx
mov dword [esp + 0x740], eax
mov word [esp + 0x744], cx
call fcn.0043e3a0
push 0x103
lea eax, [esp + 0x845]
push 0
push eax
mov byte [esp + 0x84c], 0
call fcn.0043e3a0
mov edx, dword [0x4547dc]
mov eax, dword [0x4547e0]
mov ecx, dword [str.TMWatermarkup.dll]
push 0xf2
mov dword [esp + 0x1eb8], eax
mov dword [esp + 0x1eb0], ecx
mov ecx, dword [0x4547e4]
mov dword [esp + 0x1eb4], edx
mov dx, word [0x4547e8]
lea eax, [esp + 0x1ec2]
push 0
push eax
mov dword [esp + 0x1ec4], ecx
mov word [esp + 0x1ec8], dx
call fcn.0043e3a0
mov ecx, dword [str.TMWatermark64up.dll]
mov edx, dword [0x4547f0]
mov eax, dword [0x4547f4]
mov dword [esp + 0x1fbc], ecx
mov ecx, dword [0x4547f8]
mov dword [esp + 0x1fc0], edx
mov edx, dword [0x4547fc]
add esp, 0x48
mov dword [esp + 0x1f7c], eax
mov dword [esp + 0x1f80], ecx
mov dword [esp + 0x1f84], edx
push 0xf0
lea eax, [esp + 0x1f8c]
push 0
push eax
call fcn.0043e3a0
mov ecx, dword [str.TMWUp.exe]
movzx eax, word [0x454808]
mov edx, dword [0x454804]
push 0xfa
mov dword [esp + 0x2088], ecx
lea ecx, [esp + 0x2092]
push 0
push ecx
mov dword [esp + 0x2094], edx
mov word [esp + 0x2098], ax
call fcn.0043e3a0
mov edx, dword [str.TMW64Up.exe]
mov eax, dword [0x454810]
mov ecx, dword [0x454814]
push pe_nt_image_headers32
mov dword [esp + 0x2198], edx
lea edx, [esp + 0x21a4]
push 0
push edx
mov dword [esp + 0x21a4], eax
mov dword [esp + 0x21a8], ecx
call fcn.0043e3a0
push 0x103
lea eax, [esp + 0x22a9]
push 0
push eax
mov byte [esp + 0x22b0], 0
call fcn.0043e3a0
add esp, 0x30
xor ebp, ebp
cmp byte [esp + 0x400], 0
mov byte [esp + 0x18], 0
mov byte [esp + 0x80], 0
je 0x408ab5
lea edi, [esp + 0x400]
xor esi, esi
jmp 0x408990
push str.C:WindowsTerutenTCube_
lea ecx, [esp + 0xec]
push 0x104
push ecx
call fcn.00435e29
push edi
lea edx, [esp + 0xf8]
push 0x104
push edx
call fcn.00435f19
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
add esp, 0x18
lea eax, [esp + 0xe8]
push eax
call edi
cmp eax, 0xffffffff
je 0x408a13
lea ecx, [esp + 0x18]
push ecx
lea ebx, [esp + 0xec]
call fcn.00407740
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x88]
push eax
call fcn.00436105
add esp, 0xc
test eax, eax
jge 0x408a13
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x84]
push 0x64
push edx
call fcn.00435e29
add esp, 0xc
push str.C:WindowsTerutenTCube_
lea eax, [esp + 0xec]
push 0x104
push eax
call fcn.00435e29
lea ecx, [esp + esi + 0x1e7c]
push ecx
lea edx, [esp + 0xf8]
push 0x104
push edx
call fcn.00435f19
add esp, 0x18
lea eax, [esp + 0xe8]
push eax
call edi
cmp eax, 0xffffffff
je 0x408a97
lea ecx, [esp + 0x18]
push ecx
lea ebx, [esp + 0xec]
call fcn.00407740
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x88]
push eax
call fcn.00436105
add esp, 0xc
test eax, eax
jge 0x408a97
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x84]
push 0x64
push edx
call fcn.00435e29
add esp, 0xc
inc ebp
mov esi, ebp
imul esi, esi, 0x104
cmp byte [esp + esi + 0x400], 0
lea edi, [esp + esi + 0x400]
jne 0x408990
lea eax, [esp + 0x2f8]
push eax
lea ecx, [esp + 0x1f4]
push 0x104
push ecx
call fcn.00435e29
push str.TMW.exe
lea edx, [esp + 0x200]
push 0x104
push edx
call fcn.00435f19
lea eax, [esp + 0x30]
push eax
lea ebx, [esp + 0x20c]
call fcn.00407740
add esp, 0x1c
cmp byte [esp + 0x80], 0
je 0x408c83
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x84]
push edx
call fcn.00436105
add esp, 8
test eax, eax
jge 0x408c83
xor esi, esi
cmp byte [esp + 0x400], 0
mov dword [esp + 0x10], esi
je 0x408c83
mov ebx, dword [sym.imp.USER32.dll_FindWindowA]
mov ebp, dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
lea edi, [esp + 0x400]
lea esp, [esp]
lea eax, [esp + 0x2f8]
push eax
lea ecx, [esp + 0x1f4]
push 0x104
push ecx
call fcn.00435e29
push edi
lea edx, [esp + 0x200]
push 0x104
push edx
call fcn.00435f19
push str.C:WindowsTerutenTCube_
lea eax, [esp + 0x104]
push 0x104
push eax
call fcn.00435e29
push edi
lea ecx, [esp + 0x110]
push 0x104
push ecx
call fcn.00435f19
add esp, 0x30
lea edx, [esp + 0xe8]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x408bdd
push 0
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x1f8]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x408c5f
push str.C:WindowsTerutenTCube_
lea edx, [esp + 0xec]
push 0x104
push edx
call fcn.00435e29
lea eax, [esp + esi + 0x1e7c]
push eax
lea ecx, [esp + 0xf8]
push 0x8b550104
push ebp
mov ebp, esp
je 0x408c85
or al, 0xff
push esp
and al, 0xc
inc esp
and al, 0xfc
cld
add eax, 2
mov dword [esp - 4], eax
mov eax, dword [esp - 8]
sub esp, 4
ret