Function at 0x488c00
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x652356
mov eax, dword fs:[0]
push eax
sub esp, 0xb54
mov eax, dword [0x6dc0b8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0xad4], ebx
mov al, byte [ebp + 8]
mov byte [ebp - 0xac1], al
mov byte [ebp - 0xae0], al
mov al, byte [ebx + 0x164]
mov dword [ebp - 0xb5c], ebx
mov byte [ebp - 0xac3], al
mov byte [ebp - 0xb60], al
mov byte [ebx + 0x164], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0xaf4], 0
mov dword [ebp - 0xaf0], 0
mov dword [ebp - 0xaec], 0
lea eax, [ebp - 0xaf4]
mov byte [ebp - 4], 1
push eax
call fcn.00481880
mov esi, dword [ebp - 0xaf0]
test esi, esi
je 0x48927d
cmp byte [ebp + 0xc], 0
je 0x488cb9
mov ecx, dword [ebx + 0xf8]
push 2
mov eax, dword [ecx]
call dword [eax]
push 8
mov dword [ebp - 0xb2c], 0xffffffff
call fcn.00545b74
xor ecx, ecx
mov dword [ebp - 0xb28], eax
add esp, 4
mov dword [ebp - 0xb24], 0
mov dword [ebp - 0xb20], 3
mov word [eax], cx
mov byte [ebp - 0xb1c], cl
mov dword [ebp - 0xb18], ecx
mov dword [ebp - 0xb14], ecx
mov dword [ebp - 0xb10], ecx
lea eax, [ebp - 0xb2c]
mov byte [ebp - 4], 2
push eax
mov ecx, ebx
call fcn.00480560
push str.FSFolder
mov ecx, ebx
call fcn.00470330
test al, al
je 0x488fea
cmp byte [ebp - 0xac1], 0
je 0x488fea
xor esi, esi
mov dword [ebp - 0xad0], 0
xor edi, edi
mov dword [ebp - 0xad8], esi
mov dword [ebp - 0xacc], esi
mov dword [ebp - 0xac8], edi
lea eax, [ebp - 0xb38]
mov byte [ebp - 4], 3
push eax
mov ecx, ebx
mov dword [ebp - 0xadc], edi
call fcn.00470380
xor eax, eax
mov byte [ebp - 4], 4
mov dword [ebp - 0xad4], eax
cmp dword [ebp - 0xaf0], eax
jbe 0x488e6b
nop word [eax + eax]
mov ecx, dword [ebp - 0xaf4]
push dword [ecx + eax*4]
lea eax, [ebp - 0xb00]
mov ecx, ebx
push eax
call fcn.00482140
push eax
lea edx, [ebp - 0xb38]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xb0c]
call fcn.0049f1c0
add esp, 4
mov byte [ebp - 4], 7
push dword [ebp - 0xb00]
call fcn.00545b61
mov eax, dword [ebp - 0xb08]
add esp, 4
mov ecx, dword [ebp - 0xadc]
cmp eax, ecx
cmova ecx, eax
mov dword [ebp - 0xadc], ecx
lea esi, [eax + 1]
mov ecx, dword [ebp - 0xad8]
sub ecx, edi
cmp ecx, esi
jae 0x488e1a
mov eax, esi
sub eax, ecx
lea ecx, [ebp - 0xad0]
push eax
call fcn.0048a4d0
mov eax, dword [ebp - 0xacc]
mov edi, dword [ebp - 0xac8]
mov dword [ebp - 0xad8], eax
mov eax, dword [ebp - 0xad0]
lea ecx, [eax + edi*2]
add edi, esi
lea eax, [esi + esi]
mov dword [ebp - 0xac8], edi
mov esi, dword [ebp - 0xb0c]
push eax
push esi
push ecx
call fcn.005e0850
add esp, 0xc
mov byte [ebp - 4], 4
push esi
call fcn.00545b61
mov eax, dword [ebp - 0xad4]
add esp, 4
inc eax
mov dword [ebp - 0xad4], eax
cmp eax, dword [ebp - 0xaf0]
jb 0x488d90
mov esi, dword [ebp - 0xad8]
sub esi, edi
cmp esi, 1
jae 0x488e8b
mov eax, 1
lea ecx, [ebp - 0xad0]
sub eax, esi
push eax
call fcn.0048a4d0
mov edi, dword [ebp - 0xac8]
mov esi, dword [ebp - 0xad0]
xor ecx, ecx
lea eax, [esi + edi*2]
inc edi
mov word [eax], cx
cmp dword [ebp - 0xadc], 0x104
mov dword [ebp - 0xac8], edi
jb 0x488ed6
mov edx, 0x17dc
lea ecx, [ebp - 0xb00]
call fcn.0046b000
mov byte [ebp - 4], 8
xor edx, edx
mov ecx, dword [eax]
push 0
call fcn.0042f0f0
add esp, 4
push dword [ebp - 0xb00]
jmp 0x488f1f
push dword [ebp - 0xae0]
lea eax, [ebp - 0xaf4]
sub esp, 0xc
mov ecx, esp
push eax
call fcn.0040e340
lea eax, [ebp - 0xae8]
mov ecx, ebx
push eax
call fcn.00489380
mov byte [ebp - 4], 9
mov edx, 0x6adfe8
mov ecx, dword [ebp - 0xae8]
push 3
call fcn.0042f0f0
add esp, 4
cmp eax, 1
je 0x488f3b
push dword [ebp - 0xae8]
call fcn.00545b61
add esp, 4
push dword [ebp - 0xb38]
call fcn.00545b61
add esp, 4
push esi
jmp 0x48925c
mov ecx, dword [ebx + 0xf8]
push 3
mov eax, dword [ecx]
call dword [eax]
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x488f57
mov eax, dword [ebx + 0x38]
mov dword [ebp - 0xb58], eax
mov eax, 0x50
mov word [ebp - 0xb48], ax
lea eax, [ebp - 0xb58]
push eax
mov dword [ebp - 0xb54], 3
mov dword [ebp - 0xb50], esi
mov dword [ebp - 0xb4c], 0
mov dword [ebp - 0xb46], 0
mov dword [ebp - 0xb42], 0
mov dword [ebp - 0xb3e], 0
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
push dword [ebp - 0xae8]
call fcn.00545b61
add esp, 4
push dword [ebp - 0xb38]
call fcn.00545b61
add esp, 4
mov byte [ebp - 4], 2
push esi
call fcn.00545b61
add esp, 4
lea eax, [ebp - 0xb2c]
mov ecx, ebx
push eax
call fcn.00480620
jmp 0x489264
push 0x17db
mov ecx, ebx
call fcn.00486e20
test al, al
je 0x489264
push 8
call fcn.00545b74
xor ecx, ecx
mov dword [ebp - 0xad0], eax
add esp, 4
mov dword [ebp - 0xacc], 0
mov dword [ebp - 0xac8], 3
mov word [eax], cx
mov byte [ebp - 4], 0xa
cmp esi, 1
jne 0x4890a1
mov eax, dword [ebp - 0xaf4]
mov ecx, ebx
mov esi, dword [eax]
lea eax, [ebp - 0xb00]
push esi
push eax
call fcn.00482140
push eax
lea ecx, [ebp - 0xad0]
mov byte [ebp - 4], 0xb
call fcn.0049f5a0
mov byte [ebp - 4], 0xa
push dword [ebp - 0xb00]
call fcn.00545b61
add esp, 4
cmp esi, 0xffffffff
jne 0x489072
mov cl, 1
jmp 0x48907e
push 6
push esi
mov ecx, ebx
call fcn.00482280
mov cl, al
xor ebx, ebx
test cl, cl
setne bl
xor eax, eax
add ebx, 0x17d4
test cl, cl
setne al
add eax, 0x17d7
mov dword [ebp - 0xae0], eax
mov edi, eax
jmp 0x4890dc
mov ebx, 0x17d6
lea ecx, [ebp - 0xb00]
push 0
push esi
lea edi, [ebx + 3]
call fcn.00464f50
add esp, 8
push eax
lea ecx, [ebp - 0xad0]
mov byte [ebp - 4], 0xc
call fcn.0049f5a0
mov byte [ebp - 4], 0xa
push dword [ebp - 0xb00]
call fcn.00545b61
add esp, 4
mov edx, ebx
lea ecx, [ebp - 0xb0c]
call fcn.0046b000
mov esi, eax
lea eax, [ebp - 0xad0]
mov byte [ebp - 4], 0xd
push eax
mov edx, edi
lea ecx, [ebp - 0xb00]
call fcn.00465100
add esp, 4
mov byte [ebp - 4], 0xe
mov edx, dword [esi]
mov ecx, dword [eax]
push 3
call fcn.0042f0f0
add esp, 4
cmp eax, 1
setne bl
push dword [ebp - 0xb00]
call fcn.00545b61
add esp, 4
mov byte [ebp - 4], 0xa
push dword [ebp - 0xb0c]
call fcn.00545b61
add esp, 4
test bl, bl
mov ebx, dword [ebp - 0xad4]
jne 0x489256
mov al, byte [ebx + 0x165]
mov byte [ebp - 0xac1], al
mov byte [ebp - 0xae4], al
mov al, byte [ebx + 0x166]
mov dword [ebp - 0xae0], ebx
mov byte [ebp - 0xac2], al
mov byte [ebp - 0xae3], al
mov word [ebx + 0x165], 0
push 1
lea ecx, [ebp - 0xac0]
mov byte [ebp - 4], 0xf
call fcn.004888a0
mov byte [ebp - 4], 0x10
mov esi, dword [ebx + 0xf4]
test esi, esi
je 0x4891a4
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x4891b1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
lea eax, [ebp - 0xaf4]
mov dword [ebp - 0x20], esi
push eax
lea ecx, [ebp - 0x2c]
call fcn.00472c30
mov edx, 0x17db
lea ecx, [ebp - 0xb0c]
call fcn.0046b000
mov esi, eax
mov edx, 0x17da
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xb00]
call fcn.0046b000
push esi
push eax
push ebx
lea ecx, [ebp - 0xac0]
mov byte [ebp - 4], 0x12
call fcn.00488a80
push dword [ebp - 0xb00]
call fcn.00545b61
add esp, 4
push dword [ebp - 0xb0c]
call fcn.00545b61
add esp, 4
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xac0]
call fcn.004892c0
mov ecx, dword [ebx + 0x3c]
push 1
mov eax, dword [ecx]
call dword [eax + 0x24]
lea eax, [ebp - 0xb2c]
mov ecx, ebx
push eax
call fcn.00480620
mov al, byte [ebp - 0xac1]
mov byte [ebx + 0x165], al
mov al, byte [ebp - 0xac2]
mov byte [ebx + 0x166], al
push dword [ebp - 0xad0]
call fcn.00545b61
add esp, 4
lea ecx, [ebp - 0xb18]
call fcn.00406650
push dword [ebp - 0xb28]
call fcn.00545b61
add esp, 4
push dword [ebp - 0xaf4]
call fcn.00545b61
mov al, byte [ebp - 0xac3]
add esp, 4
mov byte [ebx + 0x164], al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00545b50
mov esp, ebp
pop ebp
ret 8