Function at 0x45f678
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe7c
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x180], ecx
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], ecx
mov edi, edx
mov esi, eax
lea eax, [ebp - 0x168]
mov edx, dword [0x4085dc]
call fcn.0040580c
xor eax, eax
push ebp
push 0x45f900
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
lea edx, [ebp - 4]
mov eax, esi
call fcn.00409844
lea edx, [ebp - 8]
mov eax, edi
call fcn.00409844
cmp dword [ebp - 4], 0
jne 0x45f702
cmp dword [ebp - 8], 0
je 0x45f8bc
mov eax, esi
call fcn.0040a124
test al, al
jne 0x45f714
mov eax, esi
call fcn.0040a148
mov eax, dword [ebp - 8]
call fcn.0040a124
test al, al
jne 0x45f728
mov eax, dword [ebp - 8]
call fcn.0040a148
lea eax, [ebp - 4]
call fcn.0045f5f4
lea eax, [ebp - 8]
call fcn.0045f5f4
mov dl, 1
mov eax, dword [0x417a64]
call fcn.00403d64
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x45f8b3
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x16c]
mov ecx, 0x45f918
mov edx, dword [ebp - 4]
call fcn.00404e44
mov eax, dword [ebp - 0x16c]
lea ecx, [ebp - 0x168]
mov edx, 0x3f
call fcn.0040a2f4
test eax, eax
jne 0x45f89d
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x15c]
call fcn.00404bc0
mov eax, dword [ebp - 0xc]
mov edx, 0x45f924
call fcn.00404f44
je 0x45f80e
mov eax, dword [ebp - 0xc]
mov edx, 0x45f930
call fcn.00404f44
je 0x45f80e
mov eax, dword [ebp - 0x160]
and eax, 0x10
cmp eax, 0x10
jne 0x45f7cd
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x45f80e
push 0
lea eax, [ebp - 0x170]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00404e44
mov eax, dword [ebp - 0x170]
call fcn.00404ff8
push eax
lea eax, [ebp - 0x174]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
call fcn.00404e44
mov eax, dword [ebp - 0x174]
call fcn.00404ff8
push eax
call sub.kernel32.dll_CopyFileA
lea eax, [ebp - 0x168]
call fcn.0040a344
test eax, eax
je 0x45f786
lea eax, [ebp - 0x168]
call fcn.0040a368
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x45f89d
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x17c]
mov edx, ebx
mov eax, dword [ebp - 0x10]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x17c]
lea eax, [ebp - 0x178]
mov edx, dword [ebp - 8]
call fcn.00404e44
mov eax, dword [ebp - 0x178]
push eax
lea ecx, [ebp - 0x184]
mov edx, ebx
mov eax, dword [ebp - 0x10]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x184]
lea eax, [ebp - 0x180]
mov edx, dword [ebp - 4]
call fcn.00404e44
mov eax, dword [ebp - 0x180]
pop edx
call fcn.0045f678
inc ebx
dec esi
jne 0x45f83e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45f8ba
mov eax, dword [ebp - 0x10]
call fcn.00403d94
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45f907
lea eax, [ebp - 0x184]
mov edx, 7
call fcn.00404b4c
lea eax, [ebp - 0x168]
mov edx, dword [0x4085dc]
call fcn.004058dc
lea eax, [ebp - 0xc]
call fcn.00404b28
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404b4c
ret