Function at 0x4a852c
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x4a8534
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4a88eb
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, 0x4a8904
mov edx, dword [0x4b53e0]
mov eax, 0x80000002
call fcn.0048f990
mov ebx, eax
call fcn.0040b094
call fcn.0040320c
push edx
push eax
mov eax, ebx
cdq
cmp edx, dword [esp + 4]
jne 0x4a8580
cmp eax, dword [esp]
pop edx
pop eax
je 0x4a88bb
inc dword [0x4b69a4]
cmp dword [0x4b69a4], 3
jg 0x4a88bb
xor edx, edx
push ebp
push 0x4a885f
push dword fs:[edx]
mov dword fs:[edx], esp
xor eax, eax
push ebp
push 0x4a884e
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [0x4b68f9], 0
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x45c]
call fcn.0044b1bc
mov eax, dword [ebp - 0x10]
mov edx, 0x4a8914
call fcn.00404cdc
jne 0x4a8618
mov byte [0x4b68f9], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
mov edx, dword [eax]
call dword [edx + 0x58]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x45c]
mov edx, 0x4a8928
call fcn.0044b1ec
call fcn.00404334
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a88bb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x45c]
mov edx, 0x4a8914
call fcn.0044b1ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x458]
mov edx, 0x4a893c
call fcn.0044b1ec
mov dl, 1
mov eax, dword [0x416de4]
call fcn.00403acc
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
mov ecx, dword [ebp - 0xc]
mov edx, 0x4a8958
call fcn.00482b44
cmp byte [0x4b68f9], 0
jne 0x4a8812
lea eax, [ebp - 0x14]
call fcn.0049044c
lea eax, [ebp - 0x14]
mov edx, 0x4a898c
call fcn.00404b98
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
call fcn.0041b9a4
call fcn.0040b094
call fcn.0040320c
push eax
mov ecx, 0x4a8904
mov edx, dword [0x4b53e0]
mov eax, 0x80000002
call fcn.0048fb48
cmp dword [0x4b3ad4], 0
je 0x4a8761
push 0
lea eax, [ebp - 0x18]
mov ecx, 0x4a89a4
mov edx, dword [0x4b3ad4]
call fcn.00404bdc
mov eax, dword [ebp - 0x18]
call fcn.00404d90
push eax
lea eax, [ebp - 0x1c]
call fcn.0049044c
lea eax, [ebp - 0x1c]
mov edx, 0x4a898c
call fcn.00404b98
mov eax, dword [ebp - 0x1c]
call fcn.00404d90
push eax
call sub.kernel32.dll_CopyFileA
push 0
mov ecx, 0x4a89c4
mov edx, 0x4a89d8
mov eax, 0x80000001
call fcn.0048f990
mov ebx, eax
call fcn.0040b094
mov dword [ebp - 0x20], ebx
fild dword [ebp - 0x20]
fsubp st(1)
fcomp dword [0x4a8a00]
fnstsw ax
sahf
jbe 0x4a8761
call fcn.0040b094
call fcn.0040320c
push eax
mov ecx, 0x4a89c4
mov edx, 0x4a89d8
mov eax, 0x80000001
call fcn.0048fb48
mov ecx, 0x4a8a0c
mov edx, 0x4a8a24
mov eax, 0x80000001
call fcn.0048fc48
cmp dword [0x4b3aec], 0
je 0x4a8812
push 0
lea eax, [ebp - 0x24]
mov ecx, 0x4a89a4
mov edx, dword [0x4b3aec]
call fcn.00404bdc
mov eax, dword [ebp - 0x24]
call fcn.00404d90
push eax
lea eax, [ebp - 0x28]
call fcn.0049044c
lea eax, [ebp - 0x28]
mov edx, 0x4a898c
call fcn.00404b98
mov eax, dword [ebp - 0x28]
call fcn.00404d90
push eax
call sub.kernel32.dll_CopyFileA
push 0
mov ecx, 0x4a89c4
mov edx, 0x4a8a54
mov eax, 0x80000001
call fcn.0048f990
mov ebx, eax
call fcn.0040b094
mov dword [ebp - 0x20], ebx
fild dword [ebp - 0x20]
fsubp st(1)
fcomp dword [0x4a8a00]
fnstsw ax
sahf
jbe 0x4a8812
call fcn.0040b094
call fcn.0040320c
push eax
mov ecx, 0x4a89c4
mov edx, 0x4a8a54
mov eax, 0x80000001
call fcn.0048fb48
mov ecx, 0x4a8a0c
mov edx, 0x4a8a7c
mov eax, 0x80000001
call fcn.0048fc48
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a8855
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x45c]
mov edx, 0x4a8928
call fcn.0044b1ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x458]
mov edx, 0x4a8aa8
call fcn.0044b1ec
mov eax, dword [ebp - 0xc]
call fcn.00403afc
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a88f2
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.004048f4
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.004048f4
lea eax, [ebp - 0x10]
call fcn.004048d0
ret