Function at 0x40e050
Capabilities:
Check if file exists
Copy file
Create process on windows

Disassembly:
sub esp, 0x440
mov eax, dword [0x4382c4]
xor eax, esp
mov dword [esp + 0x438], eax
push ebx
push esi
push edi
call fcn.0040dff0
test eax, eax
je 0x40e5ed
xor ebx, ebx
push 0x103
lea eax, [esp + 0x25]
push ebx
push eax
mov byte [esp + 0x2c], bl
call fcn.00420f50
add esp, 0xc
push 0x103
lea ecx, [esp + 0x33d]
push ebx
push ecx
mov byte [esp + 0x344], bl
call fcn.00420f50
add esp, 0xc
push 0x103
lea edx, [esp + 0x235]
push ebx
push edx
mov byte [esp + 0x23c], bl
call fcn.00420f50
add esp, 0xc
push 0x103
lea eax, [esp + 0x12d]
push ebx
push eax
mov byte [esp + 0x134], bl
call fcn.00420f50
add esp, 0xc
push 0x104
lea ecx, [esp + 0x33c]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 0x338]
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
lea edi, [esp + 0x230]
call fcn.00413aa0
cmp eax, 0xffffffff
jne 0x40e146
mov eax, edi
push eax
push str.BoostPrivilege_Get_app_path__s_failed
mov ecx, 0x43b48c
call fcn.0040a090
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.0041aec3
add esp, 0x440
ret
lea esi, [esp + 0x230]
call fcn.00413880
test eax, eax
jne 0x40e185
mov ecx, esi
push ecx
push str.BoostPrivilege_Create_app_path__s_failed
mov ecx, 0x43b48c
call fcn.0040a090
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.0041aec3
add esp, 0x440
ret
lea edx, [esp + 0x338]
push edx
lea eax, [esp + 0x234]
push eax
push str.svn_path:_s__current_path:__s
mov ecx, 0x43b48c
call fcn.0040a090
add esp, 0xc
lea ecx, [esp + 0x230]
push ecx
lea edx, [esp + 0x33c]
push edx
call fcn.0041d5c0
add esp, 8
test eax, eax
je 0x40e5ed
push 0x42cfc8
lea eax, [esp + 0x234]
push 0x104
push eax
call fcn.0041af88
add esp, 0xc
push str.zlib.dll
lea ecx, [esp + 0x234]
push ecx
push str._s_s
lea edx, [esp + 0x2c]
push 0x104
push edx
call fcn.0041af4d
add esp, 0x14
push str.zlib.dll
lea eax, [esp + 0x33c]
push eax
push 0x42ced8
lea ecx, [esp + 0x134]
push 0x104
push ecx
call fcn.0041af4d
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
add esp, 0x14
lea edx, [esp + 0x20]
push edx
call edi
test eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_CopyFileA]
jne 0x40e28b
push ebx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x130]
push ecx
call esi
test eax, eax
jne 0x40e28b
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x12c]
push eax
push str.Copy_file_form__s_to__s_failed
call fcn.00403400
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.0041aec3
add esp, 0x440
ret
push str.dbghelp.dll
lea ecx, [esp + 0x234]
push ecx
push str._s_s
lea edx, [esp + 0x2c]
push 0x104
push edx
call fcn.0041af4d
add esp, 0x14
push str.dbghelp.dll
lea eax, [esp + 0x33c]
push eax
push 0x42ced8
lea ecx, [esp + 0x134]
push 0x104
push ecx
call fcn.0041af4d
add esp, 0x14
lea edx, [esp + 0x20]
push edx
call edi
test eax, eax
jne 0x40e2f9
push ebx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x130]
push ecx
call esi
test eax, eax
je 0x40e257
push str.SSLVPNDump.dll
lea ecx, [esp + 0x234]
push ecx
push str._s_s
lea edx, [esp + 0x2c]
push 0x104
push edx
call fcn.0041af4d
add esp, 0x14
push str.SSLVPNDump.dll
lea eax, [esp + 0x33c]
push eax
push 0x42ced8
lea ecx, [esp + 0x134]
push 0x104
push ecx
call fcn.0041af4d
add esp, 0x14
call fcn.00415010
test eax, eax
jne 0x40e395
push ebx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x130]
push eax
call esi
test eax, eax
jne 0x40e395
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x12c]
push edx
push str.Copy_file_form__s_to__s_failed
call fcn.00403400
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.0041aec3
add esp, 0x440
ret
lea eax, [esp + 0x230]
push eax
push 0x430ecc
lea ecx, [esp + 0x28]
push 0x104
push ecx
call fcn.0041af4d
lea edx, [esp + 0x348]
push edx
push str._sMicrosoft.VC80.CRT.manifest
lea eax, [esp + 0x140]
push 0x104
push eax
call fcn.0041af4d
add esp, 0x20
push ebx
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x130]
push edx
call esi
test eax, eax
lea eax, [esp + 0x20]
jne 0x40e41b
push eax
lea ecx, [esp + 0x12c]
push ecx
push str.Copy_file_form__s_to__s_failed
call fcn.00403400
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.0041aec3
add esp, 0x440
ret
lea edx, [esp + 0x230]
push edx
push 0x430f0c
push 0x104
push eax
call fcn.0041af4d
lea ecx, [esp + 0x348]
push ecx
push str._smsvcp80.dll
lea edx, [esp + 0x140]
push 0x104
push edx
call fcn.0041af4d
add esp, 0x20
push ebx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x130]
push ecx
call esi
test eax, eax
lea edx, [esp + 0x20]
je 0x40e25b
lea ecx, [esp + 0x230]
push ecx
push 0x430f2c
push 0x104
push edx
call fcn.0041af4d
lea eax, [esp + 0x348]
push eax
push str._smsvcr80.dll
lea ecx, [esp + 0x140]
push 0x104
push ecx
call fcn.0041af4d
add esp, 0x20
push ebx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x130]
push eax
call esi
test eax, eax
lea ecx, [esp + 0x20]
je 0x40e365
push 0x430f4c
lea eax, [esp + 0x234]
push eax
push str._s_s
push 0x104
push ecx
call fcn.0041af4d
add esp, 0x14
push 0x430f4c
lea edx, [esp + 0x33c]
push edx
push 0x42ced8
lea eax, [esp + 0x134]
push 0x104
push eax
call fcn.0041af4d
add esp, 0x14
push ebx
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x130]
push edx
call esi
test eax, eax
je 0x40e5b4
xor eax, eax
mov byte [esp + 0x10], bl
mov dword [esp + 0x11], eax
mov dword [esp + 0x15], eax
mov dword [esp + 0x19], eax
mov word [esp + 0x1d], ax
mov byte [esp + 0x1f], al
call fcn.0040dff0
test eax, eax
je 0x40e558
push str.runas
push 0x10
lea eax, [esp + 0x18]
push eax
jmp 0x40e564
push str.open
push 0x10
lea ecx, [esp + 0x18]
push ecx
call fcn.0041aff9
add esp, 0xc
push ebx
push ebx
push str._startservice
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x20]
push eax
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push eax
push str.ShellExecute_return:_d
call fcn.00403400
mov eax, 1
add esp, 8
mov dword [0x43af94], eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.0041aec3
add esp, 0x440
ret
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x12c]
push edx
push str.Copy_from__s_to__s_failed
mov ecx, 0x43b48c
call fcn.0040a090
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.0041aec3
add esp, 0x440
ret
mov ecx, dword [esp + 0x444]
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 1
call fcn.0041aec3
add esp, 0x440
ret