Function at 0x4679e0
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 6
push 0
push 0
dec ecx
jne 0x4679e9
xchg dword [ebp - 4], ecx
push ebx
push esi
mov dword [ebp - 4], ecx
mov ebx, edx
mov eax, dword [ebp - 4]
call fcn.0040453c
xor eax, eax
push ebp
push 0x467c16
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp + 8], 0x3e8
jge 0x467a2a
mov edx, 0x467c30
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x7c]
jmp 0x467bf3
mov dl, 1
mov eax, dword [0x4129a4]
call fcn.00403288
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x467bec
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, 0x467c48
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.004654bc
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 4
jge 0x467a7a
mov edx, 0x467c54
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x7c]
call fcn.00403af0
jmp 0x467bf3
lea ecx, [ebp - 0x10]
mov edx, 3
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 0xc]
call fcn.004089a8
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 5
jl 0x467afc
lea ecx, [ebp - 0x14]
mov edx, 2
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x14]
call fcn.004085cc
test al, al
je 0x467afc
lea ecx, [ebp - 0x1c]
mov edx, 4
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
call fcn.00407dd0
mov eax, dword [ebp - 0x18]
mov edx, 0x467c6c
call fcn.00404498
jne 0x467afc
mov eax, dword [ebp - 0xc]
call fcn.004085dc
test al, al
jne 0x467afc
mov eax, dword [ebp - 0xc]
call fcn.00408600
lea ecx, [ebp - 0x20]
mov edx, 2
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x20]
call fcn.004085cc
test al, al
je 0x467ba0
mov eax, dword [ebp - 0xc]
call fcn.004085dc
test al, al
je 0x467ba0
push 0
lea ecx, [ebp - 0x24]
mov edx, 3
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x24]
call fcn.0040454c
push eax
lea ecx, [ebp - 0x28]
mov edx, 2
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x28]
call fcn.0040454c
push eax
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x467b73
mov edx, 0x467c7c
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x7c]
jmp 0x467bd6
call sub.kernel32.dll_GetLastError
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x30]
call fcn.004081d0
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
mov edx, 0x467c8c
call fcn.00404398
mov edx, dword [ebp - 0x2c]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x7c]
jmp 0x467bd6
lea ecx, [ebp - 0x34]
mov edx, 3
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x34]
call fcn.004085cc
test al, al
jne 0x467bca
mov edx, 0x467ca8
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x7c]
jmp 0x467bd6
mov edx, 0x467cc4
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x7c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x467bf3
mov eax, dword [ebp - 8]
call fcn.004032b8
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x467c1d
lea eax, [ebp - 0x34]
mov edx, 0xb
call fcn.004040b0
lea eax, [ebp - 4]
call fcn.0040408c
ret