Function at 0x4b6464
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 4
push 0
push 0
dec ecx
jne 0x4b646c
push ecx
push ebx
push esi
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x4b6729
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, esi
mov byte [ebx + 0xc6a0], al
mov eax, dword [ebx + 0x694]
call fcn.00432084
mov dl, 1
mov eax, dword [ebx + 0x694]
call fcn.00431d58
cmp esi, 5
je 0x4b64cf
lea ecx, [ebp - 0x10]
mov edx, 0xd3
mov eax, dword [ebx + 0x6b8]
call fcn.0046d2f4
mov eax, dword [ebp - 0x10]
mov edx, 0x4b673c
call fcn.00404428
je 0x4b6517
lea ecx, [ebp - 0x14]
mov edx, 0xd3
mov eax, dword [ebx + 0x6b8]
call fcn.0046d2f4
mov edx, dword [ebp - 0x14]
mov eax, 0x4b6758
call fcn.004044c4
test eax, eax
jg 0x4b6517
lea ecx, [ebp - 0x18]
mov edx, 0xd3
mov eax, dword [ebx + 0x6b8]
call fcn.0046d2f4
mov edx, dword [ebp - 0x18]
mov eax, 0x4b6768
call fcn.004044c4
test eax, eax
jle 0x4b6529
xor ecx, ecx
mov edx, 3
mov eax, dword [ebx + 0x6b8]
call fcn.00472088
xor edx, edx
mov eax, dword [ebx + 0x62c]
call fcn.00431d58
lea eax, [ebp - 0xc]
mov edx, 0x4b677c
call fcn.00403c8c
cmp esi, 3
jne 0x4b66b9
mov byte [ebx + 0xc6a0], 1
push dword [ebx + 0x5fcd8]
push dword [ebx + 0x5fd28]
push 0x4b6790
push 0x4b679c
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403f34
mov eax, dword [ebp - 8]
call fcn.004094f4
test al, al
jne 0x4b663e
lea eax, [ebp - 4]
mov edx, 0x4b67b4
call fcn.00403c8c
cmp dword [ebx + 0xcbac], 0
je 0x4b65d8
mov eax, dword [ebx + 0xcbac]
call fcn.004094f4
test al, al
je 0x4b65d8
push dword [ebp - 4]
push 0x4b68a8
lea edx, [ebp - 0x1c]
mov eax, dword [ebx + 0xcbac]
call fcn.00409644
push dword [ebp - 0x1c]
push 0x4b68cc
lea eax, [ebp - 4]
mov edx, 4
call fcn.00403f34
jmp 0x4b65f2
push dword [ebp - 4]
push 0x4b68d8
push 0x4b68e8
lea eax, [ebp - 4]
mov edx, 3
call fcn.00403f34
push dword [ebp - 4]
push 0x4b68f4
push 0x4b68e8
push 0x4b6904
push 0x4b68e8
lea eax, [ebp - 4]
mov edx, 5
call fcn.00403f34
mov eax, dword [ebx + 0x6b4]
mov eax, dword [eax + 0x208]
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebx + 0x6b4]
mov eax, dword [eax + 0x208]
mov edx, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x64]
push dword [ebx + 0x5fcd8]
push dword [ebx + 0x5fd28]
push 0x4b6790
call fcn.0040a4dc
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x20]
mov eax, 0x4b6914
call fcn.0040b0d8
push dword [ebp - 0x20]
push 0x4b6920
lea eax, [ebp - 4]
mov edx, 5
call fcn.00403f34
push 0
mov eax, dword [ebp - 4]
call fcn.00404038
push eax
mov eax, dword [ebp - 8]
call fcn.00404038
push eax
call sub.kernel32.dll_CopyFileA
cmp esi, 3
jne 0x4b66a9
lea eax, [ebx + 0xcbc0]
mov edx, dword [ebp - 4]
call fcn.00403c48
cmp esi, 1
jne 0x4b66b9
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00403c8c
cmp esi, 5
jne 0x4b66d3
lea eax, [ebp - 0xc]
mov edx, dword [ebx + 0xcbc0]
call fcn.00403c8c
mov byte [ebx + 0xc6a0], 1
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0xc]
call fcn.004043fc
mov edx, dword [ebp - 0x24]
mov eax, dword [ebx + 0x6b8]
call fcn.00471f60
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b6730
lea eax, [ebp - 0x24]
call fcn.004042b8
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.00403c18
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.004042d0
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00403c18
ret