Function at 0x40a325
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54aa7c
mov eax, dword fs:[0]
push eax
sub esp, 0x4a8
mov eax, dword [0x59de90]
xor eax, ebp
mov dword [ebp - 0x10], eax
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0x414], 0
push 0x1ff
push 0
lea eax, [ebp - 0x413]
push eax
call fcn.00527ae0
add esp, 0xc
mov byte [ebp - 0x214], 0
push 0x1ff
push 0
lea eax, [ebp - 0x213]
push eax
call fcn.00527ae0
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [ebp - 0x478], eax
lea eax, [ebp - 0x414]
mov dword [ebp - 0x47c], eax
mov eax, dword [ebp - 0x47c]
mov dword [ebp - 0x480], eax
mov eax, dword [ebp - 0x478]
mov al, byte [eax]
mov byte [ebp - 0x481], al
mov eax, dword [ebp - 0x47c]
mov cl, byte [ebp - 0x481]
mov byte [eax], cl
mov eax, dword [ebp - 0x478]
inc eax
mov dword [ebp - 0x478], eax
mov eax, dword [ebp - 0x47c]
inc eax
mov dword [ebp - 0x47c], eax
cmp byte [ebp - 0x481], 0
jne 0x40a3ac
lea eax, [ebp - 0x414]
mov dword [ebp - 0x488], eax
mov eax, dword [ebp - 0x488]
inc eax
mov dword [ebp - 0x48c], eax
mov eax, dword [ebp - 0x488]
mov al, byte [eax]
mov byte [ebp - 0x48d], al
inc dword [ebp - 0x488]
cmp byte [ebp - 0x48d], 0
jne 0x40a404
mov eax, dword [ebp - 0x488]
sub eax, dword [ebp - 0x48c]
mov dword [ebp - 0x494], eax
mov eax, dword [ebp - 0x494]
movsx eax, byte [ebp + eax - 0x415]
cmp eax, 0x5c
jne 0x40a49c
lea eax, [ebp - 0x414]
mov dword [ebp - 0x498], eax
mov eax, dword [ebp - 0x498]
inc eax
mov dword [ebp - 0x49c], eax
mov eax, dword [ebp - 0x498]
mov al, byte [eax]
mov byte [ebp - 0x49d], al
inc dword [ebp - 0x498]
cmp byte [ebp - 0x49d], 0
jne 0x40a45f
mov eax, dword [ebp - 0x498]
sub eax, dword [ebp - 0x49c]
mov dword [ebp - 0x4a4], eax
mov eax, dword [ebp - 0x4a4]
mov byte [ebp + eax - 0x415], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x4a8], eax
mov eax, dword [ebp - 0x4a8]
inc eax
mov dword [ebp - 0x4ac], eax
mov eax, dword [ebp - 0x4a8]
mov al, byte [eax]
mov byte [ebp - 0x4ad], al
inc dword [ebp - 0x4a8]
cmp byte [ebp - 0x4ad], 0
jne 0x40a4b2
mov eax, dword [ebp - 0x4a8]
sub eax, dword [ebp - 0x4ac]
mov dword [ebp - 0x4b4], eax
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0x4b4]
movsx eax, byte [eax - 1]
cmp eax, 0x5c
jne 0x40a50c
push dword [ebp + 0xc]
push 0x577ebc
lea eax, [ebp - 0x214]
push eax
call fcn.00525032
add esp, 0xc
jmp 0x40a523
push dword [ebp + 0xc]
push 0x577ec0
lea eax, [ebp - 0x214]
push eax
call fcn.00525032
add esp, 0xc
push 0
call fcn.0040b550
pop ecx
push eax
call fcn.00525f68
pop ecx
call fcn.00525f7a
add eax, 0x32
mov dword [ebp - 0x438], eax
mov eax, dword [ebp - 0x438]
and eax, 0x80000001
jns 0x40a552
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x40a567
mov eax, dword [ebp - 0x438]
add eax, 0xf0
mov dword [ebp - 0x438], eax
lea ecx, [ebp - 0x474]
call fcn.00401b3b
and dword [ebp - 4], 0
push 0x577ec4
lea ecx, [ebp - 0x474]
call fcn.00401547
push 0x5d
lea ecx, [ebp - 0x474]
call fcn.00404a3d
push 0x5d
lea ecx, [ebp - 0x474]
call fcn.00404a3d
push 0x45
lea ecx, [ebp - 0x474]
call fcn.00404a3d
push 0x41
lea ecx, [ebp - 0x474]
call fcn.00404a3d
push 0x4d
lea ecx, [ebp - 0x474]
call fcn.00404a3d
push 0x49
lea ecx, [ebp - 0x474]
call fcn.00404a3d
push 0x39
lea ecx, [ebp - 0x474]
call fcn.00404a3d
push 0x35
lea ecx, [ebp - 0x474]
call fcn.00404a3d
push 0x4d
lea ecx, [ebp - 0x474]
call fcn.00404a3d
push 0x3d
lea ecx, [ebp - 0x474]
call fcn.00404a3d
push 0x4d
lea ecx, [ebp - 0x474]
call fcn.00404a3d
push 0x39
lea ecx, [ebp - 0x474]
call fcn.00404a3d
push 0x39
lea ecx, [ebp - 0x474]
call fcn.00404a3d
push 0x5d
lea ecx, [ebp - 0x474]
call fcn.00404a3d
push 0x45
lea ecx, [ebp - 0x474]
call fcn.00404a3d
lea ecx, [ebp - 0x474]
call fcn.00401c04
push eax
push 0x577ec8
call fcn.00525eab
pop ecx
pop ecx
push 0x10
lea eax, [ebp - 0x458]
push eax
push dword [ebp - 0x438]
call fcn.0053e158
add esp, 0xc
push 0x39
lea ecx, [ebp - 0x474]
call fcn.00404a3d
lea ecx, [ebp - 0x474]
call fcn.00401c04
push eax
lea eax, [ebp - 0x458]
push eax
push 0x577ecc
call fcn.00525eab
add esp, 0xc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x474]
call fcn.00401be7
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0x434]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x430], 2
mov eax, 0x214
mov word [ebp - 0x424], ax
lea eax, [ebp - 0x414]
mov dword [ebp - 0x42c], eax
lea eax, [ebp - 0x214]
mov dword [ebp - 0x428], eax
lea eax, [ebp - 0x434]
push eax
call dword [sym.imp.SHELL32.dll_SHFileOperationA]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00524b49
leave
ret