Function at 0x4cf44c
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 4
push 0
push 0
dec ecx
jne 0x4cf454
push ecx
push ebx
push esi
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x4cf720
push dword fs:[eax]
mov dword fs:[eax], esp
test esi, esi
jne 0x4cf47f
lea eax, [ebx + 0x14948]
call fcn.00403ccc
mov eax, esi
mov byte [ebx + 0x14418], al
mov eax, dword [ebx + 0x960]
call fcn.0043565c
mov dl, 1
mov eax, dword [ebx + 0x960]
call fcn.00435330
cmp esi, 5
je 0x4cf520
lea ecx, [ebp - 0x10]
mov edx, 0xd3
mov eax, dword [ebx + 0x8f4]
call fcn.004789b4
mov eax, dword [ebp - 0x10]
mov edx, 0x4cf734
call fcn.00404500
je 0x4cf50e
lea ecx, [ebp - 0x14]
mov edx, 0xd3
mov eax, dword [ebx + 0x8f4]
call fcn.004789b4
mov edx, dword [ebp - 0x14]
mov eax, 0x4cf750
call fcn.0040459c
test eax, eax
jg 0x4cf50e
lea ecx, [ebp - 0x18]
mov edx, 0xd3
mov eax, dword [ebx + 0x8f4]
call fcn.004789b4
mov edx, dword [ebp - 0x18]
mov eax, 0x4cf760
call fcn.0040459c
test eax, eax
jle 0x4cf520
xor ecx, ecx
mov edx, 3
mov eax, dword [ebx + 0x8f4]
call fcn.0047d6f8
xor edx, edx
mov eax, dword [ebx + 0x8bc]
call fcn.00435330
lea eax, [ebp - 0xc]
mov edx, 0x4cf774
call fcn.00403d64
cmp esi, 3
jne 0x4cf6b0
mov byte [ebx + 0x14418], 1
push dword [ebx + 0x153f8]
push dword [ebx + 0x1544c]
push 0x4cf788
push 0x4cf794
lea eax, [ebp - 8]
mov edx, 4
call fcn.0040400c
mov eax, dword [ebp - 8]
call fcn.00409718
test al, al
jne 0x4cf635
lea eax, [ebp - 4]
mov edx, 0x4cf7ac
call fcn.00403d64
cmp dword [ebx + 0x14934], 0
je 0x4cf5cf
mov eax, dword [ebx + 0x14934]
call fcn.00409718
test al, al
je 0x4cf5cf
push dword [ebp - 4]
push 0x4cf8a0
lea edx, [ebp - 0x1c]
mov eax, dword [ebx + 0x14934]
call fcn.00409868
push dword [ebp - 0x1c]
push 0x4cf8c4
lea eax, [ebp - 4]
mov edx, 4
call fcn.0040400c
jmp 0x4cf5e9
push dword [ebp - 4]
push 0x4cf8d0
push 0x4cf8e0
lea eax, [ebp - 4]
mov edx, 3
call fcn.0040400c
push dword [ebp - 4]
push 0x4cf8ec
push 0x4cf8e0
push 0x4cf8fc
push 0x4cf8e0
lea eax, [ebp - 4]
mov edx, 5
call fcn.0040400c
mov eax, dword [ebx + 0x8f0]
mov eax, dword [eax + 0x208]
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebx + 0x8f0]
mov eax, dword [eax + 0x208]
mov edx, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x64]
push dword [ebx + 0x153f8]
push dword [ebx + 0x1544c]
push 0x4cf788
call fcn.0040a76c
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x20]
mov eax, 0x4cf90c
call fcn.0040b368
push dword [ebp - 0x20]
push 0x4cf918
lea eax, [ebp - 4]
mov edx, 5
call fcn.0040400c
push 0
mov eax, dword [ebp - 4]
call fcn.00404110
push eax
mov eax, dword [ebp - 8]
call fcn.00404110
push eax
call sub.kernel32.dll_CopyFileA
cmp esi, 3
jne 0x4cf6a0
lea eax, [ebx + 0x14948]
mov edx, dword [ebp - 4]
call fcn.00403d20
cmp esi, 1
jne 0x4cf6b0
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00403d64
cmp esi, 5
jne 0x4cf6ca
lea eax, [ebp - 0xc]
mov edx, dword [ebx + 0x14948]
call fcn.00403d64
mov byte [ebx + 0x14418], 1
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0xc]
call fcn.004044d4
mov edx, dword [ebp - 0x24]
mov eax, dword [ebx + 0x8f4]
call fcn.0047d620
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4cf727
lea eax, [ebp - 0x24]
call fcn.00404390
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.00403cf0
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.004043a8
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00403cf0
ret