Function at 0x465860
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
xor eax, eax
push ebp
push 0x465b69
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x2f4]
call fcn.0045eac4
test eax, eax
je 0x465b4e
xor eax, eax
push ebp
push 0x465b47
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 4], eax
mov eax, 0x465b7c
call fcn.004088a4
test al, al
je 0x4658db
mov eax, 0x465b8c
call fcn.004088a4
test al, al
je 0x4658db
mov eax, 0x465b9c
call fcn.004088a4
test al, al
je 0x4658db
xor ecx, ecx
mov dl, 1
mov eax, 0x465b9c
call fcn.00463978
mov eax, 0x465b9c
call fcn.004088a4
test al, al
je 0x46596f
mov eax, 0x465b7c
call fcn.004088a4
test al, al
je 0x465940
mov eax, 0x465b8c
call fcn.004088a4
test al, al
je 0x46591f
mov ecx, 0x465bb0
mov dl, 1
mov eax, dword [0x407628]
call fcn.0040bea0
call fcn.00403ce4
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x2f4]
mov eax, dword [eax + 0x22c]
mov edx, 2
call fcn.0045b414
mov dword [ebp - 4], eax
jmp 0x46598b
mov eax, 0x465b8c
call fcn.004088a4
test al, al
je 0x46598b
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x2f4]
mov eax, dword [eax + 0x22c]
mov edx, 1
call fcn.0045b414
mov dword [ebp - 4], eax
jmp 0x46598b
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x2f4]
mov eax, dword [eax + 0x22c]
xor edx, edx
call fcn.0045b414
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x4659a7
mov ecx, 0x465bd4
mov dl, 1
mov eax, dword [0x407628]
call fcn.0040bea0
call fcn.00403ce4
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x2f4]
call fcn.0045eac4
cmp eax, dword [ebp - 4]
je 0x465b39
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, 0x465bec
call fcn.00404680
je 0x465a4b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, 0x465c08
call fcn.00404680
jne 0x465a10
push 0x465c1c
push 0x465c24
call sub.kernel32.dll_MoveFileA
test eax, eax
jne 0x465a4b
mov ecx, 0x465c38
mov dl, 1
mov eax, dword [0x407628]
call fcn.0040bea0
call fcn.00403ce4
jmp 0x465a4b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, 0x465c58
call fcn.00404680
jne 0x465a4b
push 0x465c6c
push 0x465c24
call sub.kernel32.dll_MoveFileA
test eax, eax
jne 0x465a4b
mov ecx, 0x465c7c
mov dl, 1
mov eax, dword [0x407628]
call fcn.0040bea0
call fcn.00403ce4
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x2f4]
call fcn.0045eac4
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, 0x465bec
call fcn.00404680
je 0x465b39
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, 0x465c08
call fcn.00404680
jne 0x465ad8
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 8]
push eax
lea edx, [ebp - 8]
or ecx, 0xffffffff
mov eax, 0x465c9c
call fcn.00409520
mov eax, dword [ebp - 8]
mov edx, 0x465cb4
call fcn.00464d18
pop ecx
push 0x465c24
push 0x465c1c
call sub.kernel32.dll_MoveFileA
test eax, eax
jne 0x465b39
mov ecx, 0x465cc4
mov dl, 1
mov eax, dword [0x407628]
call fcn.0040bea0
call fcn.00403ce4
jmp 0x465b39
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, 0x465c58
call fcn.00404680
jne 0x465b39
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0xc]
push eax
lea edx, [ebp - 8]
or ecx, 0xffffffff
mov eax, 0x465ce4
call fcn.00409520
mov eax, dword [ebp - 0xc]
mov edx, 0x465cb4
call fcn.00464d18
pop ecx
push 0x465c24
push 0x465c6c
call sub.kernel32.dll_MoveFileA
test eax, eax
jne 0x465b39
mov ecx, 0x465c7c
mov dl, 1
mov eax, dword [0x407628]
call fcn.0040bea0
call fcn.00403ce4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x465b4e
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x465b70
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004042a8
ret