Function at 0x4e604b
Capabilities:
Check if file exists
Copy file
Create process on windows
Get file attributes
Set file attributes

Disassembly:
push 0xc0
mov eax, 0x5db5da
call fcn.00506dc7
mov ebx, ecx
and dword [ebp - 4], 0
lea eax, [ebx - 0x2d0]
neg ebx
lea ecx, [ebp - 0xcc]
sbb ebx, ebx
and ebx, eax
call fcn.0042d4f8
lea eax, [ebp - 0xcc]
mov byte [ebp - 4], 1
push eax
mov eax, dword [ebp + 8]
push ecx
add eax, 0xfffffff0
mov esi, esp
mov dword [ebp - 0x28], esi
push eax
mov dword [ebp - 0x28], eax
call fcn.00412393
pop ecx
add eax, 0x10
mov ecx, 0x682bb8
mov dword [esi], eax
call fcn.0047d6be
test al, al
je 0x4e6953
lea ecx, [ebp - 0x40]
call fcn.0042ca82
mov byte [ebp - 4], 2
call fcn.0041279d
push eax
lea ecx, [ebp - 0x1c]
call fcn.00411d94
cmp dword [ebp - 0x6c], 1
mov byte [ebp - 4], 3
jne 0x4e60e4
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00411f3a
jmp 0x4e613d
push ecx
mov esi, esp
mov dword [ebp - 0x14], esp
mov dword [ebp - 0x10], esi
mov eax, dword [ebp - 0xac]
add eax, 0xfffffff0
push eax
call fcn.00412393
add eax, 0x10
mov dword [esi], eax
mov ecx, dword [0x682eb4]
push esp
mov byte [ebp - 4], 4
call fcn.0048264a
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x40]
call fcn.00434114
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.00411f3a
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov byte [ebp - 4], 3
call fcn.00412ac4
mov esi, dword [ebp - 0x1c]
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4e672a
push ecx
lea eax, [esi - 0x10]
mov edi, esp
mov dword [ebp + 0xc], edi
push eax
mov dword [ebp - 0x10], eax
call fcn.00412393
add eax, 0x10
pop ecx
mov dword [edi], eax
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0x20]
push eax
call fcn.0042f284
push str..zip
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 6
call fcn.0042e69b
test eax, eax
jne 0x4e6297
push ecx
push esp
lea ecx, [ebp - 0x40]
call fcn.004e5ec6
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x40]
call fcn.004675df
lea eax, [ebp + 0xc]
mov byte [ebp - 4], 7
push eax
call fcn.00467006
mov esi, esp
mov dword [ebp - 0x14], esp
mov dword [ebp - 0x18], esi
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
push eax
call fcn.00412393
add eax, 0x10
mov dword [esi], eax
mov esi, esp
mov byte [ebp - 4], 8
mov dword [ebp - 0x18], esi
push dword [ebp - 0x10]
call fcn.00412393
pop ecx
add eax, 0x10
mov edi, 0x682bb8
mov dword [esi], eax
mov ecx, edi
mov byte [ebp - 4], 7
call fcn.004e977c
push ecx
mov esi, esp
mov dword [ebp - 0x10], esi
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
push eax
call fcn.00412393
add eax, 0x10
pop ecx
mov dword [esi], eax
mov ecx, edi
lea eax, [ebp - 0x10]
push eax
call fcn.0047bcf3
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 9
call fcn.00411f3a
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 7
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov esi, dword [ebp - 0x1c]
cmp dword [esi - 0xc], 0
jne 0x4e6288
push 0x620614
lea ecx, [ebp - 0x18]
call fcn.00413f09
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x14]
push 0x61e100
push eax
call fcn.0042e01c
push 0x6238f4
push eax
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0xb
push eax
call fcn.0042dfbd
push 0x40
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xc
push ecx
push eax
push dword [ebx + 4]
call fcn.004a7b44
add esp, 0x28
jmp 0x4e667a
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
mov byte [ebp - 4], 6
call fcn.00412ac4
push ecx
lea eax, [esi - 0x10]
mov edi, esp
push eax
mov dword [ebp + 0xc], edi
call fcn.00412393
pop ecx
add eax, 0x10
mov ecx, 0x682bb8
mov dword [edi], eax
call fcn.0049bab6
cmp dword [ebp - 0x6c], 1
mov bh, al
je 0x4e6447
test bh, bh
je 0x4e644f
push ecx
mov edi, esp
mov dword [ebp - 0x10], esp
mov dword [ebp + 0xc], edi
mov eax, dword [ebp - 0xac]
add eax, 0xfffffff0
push eax
call fcn.00412393
add eax, 0x10
mov dword [edi], eax
mov edi, esp
mov byte [ebp - 4], 0xd
push ecx
mov ecx, esp
push str._WinDir_ResourcesThemes
call fcn.00413f09
push edi
lea ecx, [ebp - 0x40]
call fcn.004cd49a
lea eax, [ebp + 0xc]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x40]
call fcn.00434114
push dword [ebp + 0xc]
mov byte [ebp - 4], 0xe
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4e63d0
push 0x620614
lea ecx, [ebp - 0x18]
call fcn.00413f09
lea eax, [ebp - 0xb4]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x14]
push 0x623974
push eax
call fcn.0042e01c
push str._fT_rT_N
push eax
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0x10
push eax
call fcn.0042dfbd
push 0x44
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x11
push ecx
push eax
push 0
call fcn.004a7b44
mov ecx, dword [ebp - 0x10]
add esp, 0x28
cmp eax, 7
sete bl
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 4], 0xe
lea ecx, [ecx - 0x10]
call fcn.00412ac4
test bl, bl
jne 0x4e669b
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4e63c7
cmp eax, 1
jne 0x4e63c7
push 0
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push dword [ebp + 0xc]
call fcn.004e5952
pop ecx
push 0
push dword [ebp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x4e6429
push 0x620614
lea ecx, [ebp - 0x14]
call fcn.00413f09
push 0x623980
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x12
call fcn.00413f09
push 0x40
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x18]
push eax
push 0
call fcn.004a7b44
mov ecx, dword [ebp - 0x18]
add esp, 0x10
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov ecx, dword [ebp - 0x14]
jmp 0x4e6693
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00411f3a
mov ecx, dword [ebp + 0xc]
mov byte [ebp - 4], 6
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov esi, dword [ebp - 0x1c]
test bh, bh
jne 0x4e670c
push str..themepack
lea ecx, [ebp - 0x20]
call fcn.0042e69b
test eax, eax
je 0x4e670c
call fcn.0042fb20
cmp eax, 0x1b
jl 0x4e64b7
push 0x620614
lea ecx, [ebp - 0x14]
call fcn.00413f09
push 0x6239b8
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0x14
call fcn.00413f09
push 0x40
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp + 0xc]
push eax
push 0
call fcn.004a7b44
mov ecx, dword [ebp + 0xc]
add esp, 0x10
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov ecx, dword [ebp - 0x14]
jmp 0x4e669e
push ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
mov ebx, str.VisualMaster.exe
push ebx
call fcn.00413f09
push ecx
push esp
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x16
call fcn.0043944c
lea eax, [ebp + 0xc]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x40]
call fcn.00434114
push dword [ebp + 0xc]
mov byte [ebp - 4], 0x17
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4e662d
lea ecx, [ebp - 0x58]
call fcn.0042ca82
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0x18
call fcn.004124d1
push 0x623a08
lea ecx, [ebp - 0x18]
call fcn.00413f09
mov byte [ebp - 4], 0x19
call fcn.00430f47
test eax, eax
je 0x4e6536
push 0x623a40
lea ecx, [ebp - 0x18]
call fcn.0041421f
push 0
push ecx
mov edi, esp
mov dword [ebp - 0x10], edi
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
push eax
call fcn.00412393
pop ecx
add eax, 0x10
lea ecx, [ebp - 0x58]
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [edi], eax
call fcn.0043fb03
test eax, eax
je 0x4e65ae
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push 0x5f1b30
call fcn.00413f09
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x1a
push 0x61c598
call fcn.00413f09
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [ebp - 0x58]
call fcn.00434880
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0x1b
call fcn.00411f3a
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x19
call fcn.00412ac4
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0xc], 0
je 0x4e66a8
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push ebx
call fcn.00413f09
push ecx
mov edi, esp
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x14], edi
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
push eax
call fcn.00412393
add eax, 0x10
mov dword [edi], eax
lea eax, [ebp - 0x10]
pop ecx
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x19
call fcn.00434114
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0x1d
call fcn.00411f3a
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x17
call fcn.0042e60b
mov ecx, dword [ebp - 0x48]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x40]
call fcn.0043944c
mov edi, eax
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x20
push eax
lea eax, [ebp - 0x14]
push str._setuptheme__
push eax
call fcn.0042e01c
push 0x60cdbc
push eax
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0x21
push eax
call fcn.0042dfbd
add esp, 0x18
push 5
push dword [edi]
push dword [eax]
push dword [ebp + 0xc]
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
jmp 0x4e671a
push 0x620614
lea ecx, [ebp - 0x10]
call fcn.00413f09
push 0x623a90
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x1e
call fcn.00413f09
push 0x40
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x14]
push eax
push 0
call fcn.004a7b44
mov ecx, dword [ebp - 0x14]
add esp, 0x10
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
lea ecx, [ebp - 0x58]
call fcn.0042e60b
mov ecx, dword [ebp - 0x48]
jmp 0x4e6693
xor eax, eax
push eax
push eax
push eax
push esi
push eax
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
jmp 0x4e6938
push 0x2c8
call fcn.00506ecd
pop ecx
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x22
test eax, eax
je 0x4e674b
mov ecx, eax
call fcn.00451b4c
mov edi, eax
jmp 0x4e674d
xor edi, edi
push 0
mov eax, SysReAllocString
mov byte [ebp - 4], 3
push eax
push eax
push eax
push eax
push 0
push eax
push 0x620fb0
push dword [ebx + 4]
mov ecx, edi
call fcn.005237e1
test edi, edi
je 0x4e6938
push dword [edi + 4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4e6938
push ecx
mov ecx, esp
push 0x620614
call fcn.00413f09
mov ecx, edi
call fcn.004db57a
push ecx
mov ecx, esp
push str.dk_N
call fcn.00413f09
mov ecx, edi
call fcn.004db227
cmp dword [ebp + 0xc], 0
je 0x4e67c9
push ecx
mov ecx, esp
push 0x623b3c
call fcn.00413f09
mov ecx, edi
call fcn.004d931a
push ecx
mov ecx, esp
push 0x623b48
call fcn.00413f09
mov ecx, edi
call fcn.004da2ea
push 2
mov ecx, edi
call fcn.004d8460
mov ecx, edi
call fcn.00524ae2
cmp eax, 1
jne 0x4e6910
push str.body.download.list.downloaded
lea ecx, [ebx + 0x20]
call fcn.00530748
test eax, eax
je 0x4e680c
lea ebx, [eax - 8]
jmp 0x4e680e
xor ebx, ebx
test ebx, ebx
je 0x4e6938
mov eax, dword [ebx]
xor edi, edi
mov ecx, ebx
mov dword [ebp + 0xc], edi
call dword [eax + 0xc]
test eax, eax
jle 0x4e6938
mov eax, dword [ebx]
mov ecx, ebx
push edi
call dword [eax]
test eax, eax
je 0x4e683a
lea ecx, [eax - 8]
jmp 0x4e683c
xor ecx, ecx
add ecx, 8
mov eax, dword [ecx]
call dword [eax + 0x16c]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.00412393
mov dword [ebp - 0x10], eax
lea ecx, [eax + 0x10]
mov dword [ebp - 0x24], ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push 0x620148
mov byte [ebp - 4], 0x23
call fcn.00413f09
push ecx
mov edi, esp
mov byte [ebp - 4], 0x24
mov dword [ebp - 0x20], edi
push dword [ebp - 0x10]
call fcn.00412393
add eax, 0x10
mov dword [edi], eax
lea eax, [ebp - 0x4c]
pop ecx
push eax
mov byte [ebp - 4], 0x23
call fcn.004fff66
add esp, 0xc
cmp dword [ebp - 0x48], 0
mov byte [ebp - 4], 0x25
jle 0x4e68e4
push 0
lea ecx, [ebp - 0x4c]
call fcn.0042def1
push dword [ebp + 8]
mov ecx, eax
call fcn.0042e677
test eax, eax
jne 0x4e68e4
mov eax, dword [ebx]
mov ecx, ebx
push dword [ebp + 0xc]
call dword [eax + 0x1c]
push ecx
mov edi, esp
mov dword [ebp - 0x14], edi
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
push eax
call fcn.00412393
pop ecx
add eax, 0x10
mov ecx, 0x682dc4
mov dword [edi], eax
call fcn.0046ebf0
lea ecx, [ebp - 0x4c]
call fcn.00434a10
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 3
call fcn.00412ac4
mov edi, dword [ebp + 0xc]
mov ecx, ebx
mov eax, dword [ebx]
inc edi
mov dword [ebp + 0xc], edi
call dword [eax + 0xc]
cmp edi, eax
jl 0x4e682a
jmp 0x4e6938
cmp eax, 2
jne 0x4e6938
push ecx
mov edi, esp
mov dword [ebp + 0xc], edi
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
push eax
call fcn.00412393
pop ecx
add eax, 0x10
lea ecx, [ebx + 0x2d0]
mov dword [edi], eax
call fcn.004e6f16
lea ecx, [esi - 0x10]
call fcn.00412ac4
lea ecx, [ebp - 0x40]
call fcn.0042e60b
mov ecx, dword [ebp - 0x30]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
lea ecx, [ebp - 0xcc]
call fcn.0042d9a9
mov ecx, dword [ebp - 0x28]
call fcn.00412ac4
call fcn.00506d90
ret 8