Function at 0x477d78
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x6c
push 0
push 0
dec ecx
jne 0x477d81
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov byte [ebp - 5], cl
mov dword [ebp - 4], edx
mov ebx, eax
lea eax, [ebp - 0x160]
mov edx, dword [0x408104]
call fcn.004056b4
xor eax, eax
push ebp
push 0x478143
push dword fs:[eax]
mov dword fs:[eax], esp
xor edi, edi
cmp byte [ebp - 5], 0
je 0x478114
lea eax, [ebp - 0x330]
mov ecx, 0x47815c
mov edx, ebx
call fcn.00404ff4
mov eax, dword [ebp - 0x330]
lea ecx, [ebp - 0x160]
mov edx, 0x10
call fcn.00409a18
mov esi, eax
test esi, esi
jne 0x478109
mov eax, dword [ebp - 0x154]
mov edx, 0x478168
call fcn.004050f4
je 0x4780f4
mov eax, dword [ebp - 0x154]
mov edx, 0x478174
call fcn.004050f4
je 0x4780f4
lea eax, [ebp - 0x334]
mov ecx, dword [ebp - 0x154]
mov edx, ebx
call fcn.00404ff4
mov eax, dword [ebp - 0x334]
call fcn.00409960
test al, al
je 0x4780c6
lea edx, [ebp - 0x338]
mov eax, dword [ebp - 0x154]
call fcn.00408dac
mov eax, dword [ebp - 0x338]
mov edx, 0x478180
call fcn.004050f4
je 0x4780c6
mov edx, ebx
mov eax, 0x478190
call fcn.004052ec
test eax, eax
jne 0x4780c6
mov edx, ebx
mov eax, 0x4781a0
call fcn.004052ec
test eax, eax
jne 0x4780c6
push ebx
push dword [ebp - 0x154]
push 0x4781b8
lea eax, [ebp - 0x33c]
mov edx, 3
call fcn.00405068
mov eax, dword [ebp - 0x33c]
xor edx, edx
call fcn.00409984
push ebx
push dword [ebp - 0x154]
push 0x4781b8
lea eax, [ebp - 0x340]
mov edx, 3
call fcn.00405068
mov edx, dword [ebp - 0x340]
lea eax, [ebp - 0x32c]
call fcn.004032e8
lea eax, [ebp - 0x32c]
call fcn.00403084
call fcn.00402d54
test eax, eax
jne 0x477fd9
mov edx, 0x4781d0
lea eax, [ebp - 0x32c]
call fcn.00405398
call fcn.00403994
call fcn.00402c5c
lea eax, [ebp - 0x344]
mov ecx, dword [ebp - 0x154]
mov edx, 0x4781e4
call fcn.00404ff4
mov edx, dword [ebp - 0x344]
lea eax, [ebp - 0x32c]
call fcn.00405398
call fcn.00403994
call fcn.00402c5c
lea eax, [ebp - 0x348]
mov ecx, dword [ebp - 0x154]
mov edx, 0x4781f4
call fcn.00404ff4
mov edx, dword [ebp - 0x348]
lea eax, [ebp - 0x32c]
call fcn.00405398
call fcn.00403994
call fcn.00402c5c
lea eax, [ebp - 0x34c]
mov ecx, dword [ebp - 0x154]
mov edx, 0x47820c
call fcn.00404ff4
mov edx, dword [ebp - 0x34c]
lea eax, [ebp - 0x32c]
call fcn.00405398
call fcn.00403994
call fcn.00402c5c
mov edx, 0x478228
lea eax, [ebp - 0x32c]
call fcn.00405398
call fcn.00403994
call fcn.00402c5c
lea eax, [ebp - 0x32c]
call fcn.00403464
call fcn.00402c5c
push ebx
push dword [ebp - 0x154]
push 0x4781b8
lea eax, [ebp - 0x350]
mov edx, 3
call fcn.00405068
mov eax, dword [ebp - 0x350]
mov edx, 6
call fcn.00409984
push 0
push ebx
push dword [ebp - 0x154]
push 0x47823c
push dword [ebp - 0x154]
push 0x478248
lea eax, [ebp - 0x354]
mov edx, 5
call fcn.00405068
mov eax, dword [ebp - 0x354]
call fcn.004051a8
push eax
lea edx, [ebp - 0x358]
mov eax, dword [0x47ecec]
mov eax, dword [eax]
call fcn.00455108
mov eax, dword [ebp - 0x358]
call fcn.004051a8
push eax
call sub.kernel32.dll_CopyFileA
push ebx
push dword [ebp - 0x154]
push 0x47823c
push dword [ebp - 0x154]
push 0x478248
lea eax, [ebp - 0x35c]
mov edx, 5
call fcn.00405068
mov eax, dword [ebp - 0x35c]
call fcn.00475b14
push ebx
push dword [ebp - 0x154]
push 0x47823c
push dword [ebp - 0x154]
push 0x478248
lea eax, [ebp - 0x360]
mov edx, 5
call fcn.00405068
mov eax, dword [ebp - 0x360]
mov edx, 1
call fcn.00409984
push ebx
push dword [ebp - 0x154]
push 0x47823c
lea eax, [ebp - 0x364]
mov edx, 3
call fcn.00405068
mov eax, dword [ebp - 0x364]
mov cl, 1
mov edx, dword [ebp - 4]
call fcn.00477d78
add edi, eax
lea eax, [ebp - 0x160]
call fcn.00409a68
mov esi, eax
test esi, esi
je 0x477df3
lea eax, [ebp - 0x160]
call fcn.00409a8c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47814a
lea eax, [ebp - 0x364]
mov edx, 0xe
call fcn.00404d0c
lea eax, [ebp - 0x160]
mov edx, dword [0x408104]
call fcn.00405778
ret