Function at 0x4784cc
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe78
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x184], ebx
mov dword [ebp - 0x188], ebx
mov dword [ebp - 0x180], ebx
mov dword [ebp - 0x17c], ebx
mov dword [ebp - 0x170], ebx
mov dword [ebp - 0x174], ebx
mov dword [ebp - 0x178], ebx
mov dword [ebp - 0x16c], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 4], ecx
mov edi, edx
mov esi, eax
lea eax, [ebp - 0x168]
mov edx, dword [0x408228]
call fcn.0040550c
xor eax, eax
push ebp
push 0x4787dd
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
xor eax, eax
push ebp
push 0x47879a
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x16c]
mov ecx, 0x4787f8
mov edx, esi
call fcn.00404c8c
mov eax, dword [ebp - 0x16c]
lea ecx, [ebp - 0x168]
mov edx, 0x3f
call fcn.00409b6c
test eax, eax
jne 0x47877d
mov ebx, dword [ebp - 0x160]
test bl, 2
jne 0x47876a
test bl, 4
jne 0x47876a
test bl, 8
jne 0x47876a
mov eax, dword [ebp - 0x15c]
mov edx, 0x478804
call fcn.00404d84
je 0x47876a
mov eax, dword [ebp - 0x15c]
mov edx, 0x478810
call fcn.00404d84
je 0x47876a
test bl, 0x10
jne 0x478635
lea eax, [ebp - 0xc]
mov ecx, dword [ebp - 0x15c]
mov edx, esi
call fcn.00404c8c
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x15c]
mov edx, edi
call fcn.00404c8c
mov eax, edi
call fcn.0040991c
test al, al
jne 0x47860a
mov eax, edi
call fcn.00409ebc
test al, al
jne 0x47860a
call fcn.004043f0
jmp 0x4787a1
push 0
mov eax, dword [ebp - 0x10]
call fcn.00404e38
push eax
mov eax, dword [ebp - 0xc]
call fcn.00404e38
push eax
call sub.kernel32.dll_CopyFileA
test eax, eax
jne 0x47876a
call fcn.004043f0
jmp 0x4787a1
cmp byte [ebp + 8], 0
je 0x47876a
mov eax, dword [ebp - 4]
call fcn.00404c40
test eax, eax
je 0x4786af
mov eax, dword [ebp - 4]
call fcn.00404c40
test eax, eax
jle 0x47876a
lea edx, [ebp - 0x170]
mov eax, dword [ebp - 4]
call fcn.00408f58
mov eax, dword [ebp - 0x170]
push eax
push esi
push dword [ebp - 0x15c]
push 0x47881c
lea eax, [ebp - 0x178]
mov edx, 3
call fcn.00404d00
mov eax, dword [ebp - 0x178]
lea edx, [ebp - 0x174]
call fcn.00408f58
mov edx, dword [ebp - 0x174]
pop eax
call fcn.00404d84
je 0x47876a
push edi
push dword [ebp - 0x15c]
push 0x47881c
lea eax, [ebp - 0x17c]
mov edx, 3
call fcn.00404d00
mov eax, dword [ebp - 0x17c]
call fcn.0040991c
test al, al
jne 0x47870f
push edi
push dword [ebp - 0x15c]
push 0x47881c
lea eax, [ebp - 0x180]
mov edx, 3
call fcn.00404d00
mov eax, dword [ebp - 0x180]
call fcn.00409ebc
test al, al
jne 0x47870f
call fcn.004043f0
jmp 0x4787a1
push 1
push edi
push dword [ebp - 0x15c]
push 0x47881c
lea eax, [ebp - 0x184]
mov edx, 3
call fcn.00404d00
mov eax, dword [ebp - 0x184]
push eax
push esi
push dword [ebp - 0x15c]
push 0x47881c
lea eax, [ebp - 0x188]
mov edx, 3
call fcn.00404d00
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 4]
pop edx
call fcn.004784cc
test al, al
jne 0x47876a
call fcn.004043f0
jmp 0x4787a1
lea eax, [ebp - 0x168]
call fcn.00409bbc
test eax, eax
je 0x478578
mov byte [ebp - 5], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4787a1
lea eax, [ebp - 0x168]
call fcn.00409be0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4787e4
lea eax, [ebp - 0x188]
mov edx, 8
call fcn.004049ac
lea eax, [ebp - 0x168]
mov edx, dword [0x408228]
call fcn.004055dc
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.004049ac
ret