Function at 0x464280
Capabilities:
Check if file exists
Copy file

Disassembly:
push 0xffffffffffffffff
push 0x4938cf
mov eax, dword fs:[0]
push eax
sub esp, 0x8b0
mov eax, dword [0x4d01d4]
xor eax, esp
mov dword [esp + 0x8ac], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d01d4]
xor eax, esp
push eax
lea eax, [esp + 0x8c4]
mov dword fs:[0], eax
mov eax, dword [0x4de1d0]
mov ecx, 0x1a
mov esi, str.http:__file1.updrv.com_soft_2013_dtl_off_install.exe
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, 8
cmp dword [0x4de1e4], esi
jae 0x4642e4
mov eax, 0x4de1d0
push eax
lea ecx, [esp + 0x18]
call fcn.00401840
add esp, 4
xor ebp, ebp
mov dword [esp + 0x8cc], ebp
cmp dword [eax + 0x18], esi
jb 0x464304
mov eax, dword [eax + 4]
jmp 0x464307
add eax, 4
xor ecx, ecx
mov word [esp + 0x38], cx
mov edi, 7
mov ecx, eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebp
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, bp
jne 0x464320
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [esp + 0x38]
call fcn.00403b50
mov ebx, 2
mov byte [esp + 0x8cc], bl
cmp dword [esp + 0x2c], 8
jb 0x464359
mov edx, dword [esp + 0x18]
push edx
call fcn.00471099
add esp, 4
mov dword [esp + 0x2c], edi
xor eax, eax
mov esi, str.STR_EVALUATE_INSTALL_EXE
lea edi, [esp + 0x14]
mov dword [esp + 0x28], ebp
mov word [esp + 0x18], ax
call fcn.0040ba70
mov byte [esp + 0x8cc], 3
mov ecx, eax
call fcn.0048cdb0
mov ecx, eax
lea edx, [ecx + 2]
lea ebx, [ebx]
mov si, word [ecx]
add ecx, ebx
cmp si, bp
jne 0x464390
sub ecx, edx
sar ecx, 1
push ecx
push eax
lea eax, [esp + 0x3c]
call fcn.00403a30
mov byte [esp + 0x8cc], bl
lea ecx, [esp + 0x14]
call fcn.0048cfe0
push 4
push str..exe
lea eax, [esp + 0x3c]
call fcn.00403a30
call fcn.00403860
mov eax, dword [eax]
push ebp
push 3
push 0x491
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [esp + 0x38]
mov esi, 8
mov ebp, 7
cmp dword [esp + 0x4c], esi
jae 0x4643f7
lea ecx, [esp + 0x38]
lea edx, [esp + 0x50]
push 1
push edx
call fcn.004112e0
add esp, 8
test eax, eax
jle 0x4644ac
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x4c], esi
jae 0x46441c
lea ecx, [esp + 0x38]
lea eax, [esp + 0x50]
push ebx
push eax
call fcn.004112e0
add esp, 8
test eax, eax
jle 0x4644ac
lea edx, [esp + 0xbc]
lea ecx, [esp + 0x50]
call fcn.00411400
lea eax, [esp + 0xbc]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x464448
sub eax, edx
sar eax, 1
lea ecx, [esp + 0xbc]
push ecx
mov edi, eax
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x38]
call fcn.0040ae60
test eax, eax
je 0x4644a2
lea edx, [esp + 0xbc]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4644a2
mov eax, dword [esp + 0x38]
cmp dword [esp + 0x4c], esi
jae 0x464491
lea eax, [esp + 0x38]
push 0
push eax
lea eax, [esp + 0xc4]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov ebp, 6
jmp 0x464677
lea ebx, [esp + 0x50]
call fcn.00411130
call fcn.004111b0
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x4c], esi
jae 0x4644c8
lea ecx, [esp + 0x38]
lea edx, [esp + 0x50]
push edx
call fcn.00411040
add esp, 4
test al, al
jne 0x4644ec
lea ebx, [esp + 0x50]
call fcn.00411130
call fcn.004111b0
jmp 0x464677
mov eax, dword [esp + 0x8d4]
xor edi, edi
cmp byte [eax + 0x1dc], 0
jne 0x464669
test edi, edi
jne 0x46459f
lea ebx, [esp + 0x50]
call fcn.00411530
mov ebp, eax
cmp ebp, 6
je 0x4645da
cmp ebp, 7
je 0x46465b
push 0x20
call fcn.004710bf
add esp, 4
mov dword [esp + 0x30], eax
mov byte [esp + 0x8cc], 4
test eax, eax
je 0x46455e
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov esi, eax
jmp 0x464560
xor esi, esi
mov byte [esp + 0x8cc], 2
lea ebx, [esp + 0x50]
call fcn.00411690
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
call fcn.00411740
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], edx
call fcn.004115e0
mov dword [esi + 0xc], eax
call fcn.00403860
mov eax, dword [eax]
push esi
push ebp
push 0x491
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
inc edi
mov eax, 0x99999999
imul edi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + edi]
push 0xc8
lea edi, [ecx + eax*4]
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [esp + 0x8d4]
cmp byte [edx + 0x1dc], 0
je 0x464502
jmp 0x464669
lea edx, [esp + 0xbc]
lea ecx, [esp + 0x50]
call fcn.00411400
lea eax, [esp + 0xbc]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4645f4
sub eax, edx
sar eax, 1
lea ecx, [esp + 0xbc]
push ecx
mov edi, eax
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x38]
call fcn.0040ae60
test eax, eax
je 0x464650
lea edx, [esp + 0xbc]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x464650
cmp dword [esp + 0x4c], 8
mov eax, dword [esp + 0x38]
jae 0x46463f
lea eax, [esp + 0x38]
push 0
push eax
lea eax, [esp + 0xc4]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ebx, [esp + 0x50]
call fcn.00411130
jmp 0x464669
lea ebx, [esp + 0x50]
call fcn.00411130
call fcn.004111b0
lea ebx, [esp + 0x50]
call fcn.00411130
mov esi, 8
call fcn.00403860
mov eax, dword [eax]
push 0
push ebp
push 0x491
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov dword [esp + 0x8cc], 0xffffffff
cmp dword [esp + 0x4c], esi
jb 0x4646ab
mov ecx, dword [esp + 0x38]
push ecx
call fcn.00471099
add esp, 4
xor edx, edx
mov dword [esp + 0x4c], 7
mov dword [esp + 0x48], 0
mov word [esp + 0x38], dx
mov ecx, dword [esp + 0x8c4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x8ac]
xor ecx, esp
call fcn.00470f4c
add esp, 0x8bc
ret 4