Function at 0x4b5574
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 4
push 0
push 0
dec ecx
jne 0x4b557c
push ecx
push ebx
push esi
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x4b5839
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, esi
mov byte [ebx + 0xa6dc], al
mov eax, dword [ebx + 0x708]
call fcn.00432084
mov dl, 1
mov eax, dword [ebx + 0x708]
call fcn.00431d58
cmp esi, 5
je 0x4b55df
lea ecx, [ebp - 0x10]
mov edx, 0xd3
mov eax, dword [ebx + 0x72c]
call fcn.0046d2f4
mov eax, dword [ebp - 0x10]
mov edx, 0x4b584c
call fcn.00404428
je 0x4b5627
lea ecx, [ebp - 0x14]
mov edx, 0xd3
mov eax, dword [ebx + 0x72c]
call fcn.0046d2f4
mov edx, dword [ebp - 0x14]
mov eax, 0x4b5868
call fcn.004044c4
test eax, eax
jg 0x4b5627
lea ecx, [ebp - 0x18]
mov edx, 0xd3
mov eax, dword [ebx + 0x72c]
call fcn.0046d2f4
mov edx, dword [ebp - 0x18]
mov eax, 0x4b5878
call fcn.004044c4
test eax, eax
jle 0x4b5639
xor ecx, ecx
mov edx, 3
mov eax, dword [ebx + 0x72c]
call fcn.00472088
xor edx, edx
mov eax, dword [ebx + 0x66c]
call fcn.00431d58
lea eax, [ebp - 0xc]
mov edx, 0x4b588c
call fcn.00403c8c
cmp esi, 3
jne 0x4b57c9
mov byte [ebx + 0xa6dc], 1
push dword [ebx + 0x50244]
push dword [ebx + 0x50294]
push 0x4b58a0
push 0x4b58ac
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403f34
mov eax, dword [ebp - 8]
call fcn.004094f4
test al, al
jne 0x4b574e
lea eax, [ebp - 4]
mov edx, 0x4b58c4
call fcn.00403c8c
cmp dword [ebx + 0xabd8], 0
je 0x4b56e8
mov eax, dword [ebx + 0xabd8]
call fcn.004094f4
test al, al
je 0x4b56e8
push dword [ebp - 4]
push 0x4b59b8
lea edx, [ebp - 0x1c]
mov eax, dword [ebx + 0xabd8]
call fcn.00409644
push dword [ebp - 0x1c]
push 0x4b59dc
lea eax, [ebp - 4]
mov edx, 4
call fcn.00403f34
jmp 0x4b5702
push dword [ebp - 4]
push 0x4b59e8
push 0x4b59f8
lea eax, [ebp - 4]
mov edx, 3
call fcn.00403f34
push dword [ebp - 4]
push 0x4b5a04
push 0x4b59f8
push 0x4b5a14
push 0x4b59f8
lea eax, [ebp - 4]
mov edx, 5
call fcn.00403f34
mov eax, dword [ebx + 0x728]
mov eax, dword [eax + 0x208]
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebx + 0x728]
mov eax, dword [eax + 0x208]
mov edx, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x64]
push dword [ebx + 0x50244]
push dword [ebx + 0x50294]
push 0x4b58a0
call fcn.0040a4dc
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x20]
mov eax, 0x4b5a24
call fcn.0040b0d8
push dword [ebp - 0x20]
push 0x4b5a30
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 0x4b57b9
lea eax, [ebx + 0xabec]
mov edx, dword [ebp - 4]
call fcn.00403c48
cmp esi, 1
jne 0x4b57c9
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00403c8c
cmp esi, 5
jne 0x4b57e3
lea eax, [ebp - 0xc]
mov edx, dword [ebx + 0xabec]
call fcn.00403c8c
mov byte [ebx + 0xa6dc], 1
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0xc]
call fcn.004043fc
mov edx, dword [ebp - 0x24]
mov eax, dword [ebx + 0x72c]
call fcn.00471f60
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b5840
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