Function at 0x572188
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x11
push 0
push 0
dec ecx
jne 0x572190
push ecx
push ebx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x572919
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
mov eax, dword [0x588360]
call fcn.0051af0c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x870]
mov edx, dword [eax + 0x68]
mov eax, dword [eax + 0x254]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [0x581df0]
cmp byte [eax], 1
jae 0x5721eb
mov eax, 0x5817f4
mov edx, 0x572934
call fcn.004054a4
push 0x572940
push dword [0x5817f4]
push 0x572950
push dword [0x5817f4]
push 0x57296c
mov eax, 0x588394
mov edx, 5
call fcn.004057d4
mov eax, dword [0x588360]
mov eax, dword [eax + 0x368]
call fcn.0047d2a8
mov dword [0x5884b8], eax
mov dl, 1
mov eax, dword [0x4ab274]
call fcn.004ac6e0
mov dword [0x588364], eax
xor edx, edx
mov eax, dword [0x588364]
call fcn.004acfcc
mov eax, dword [0x588364]
mov eax, dword [eax + 0x54]
mov edx, dword [0x588434]
call fcn.0042ff88
mov eax, dword [0x588364]
mov edx, dword [ebp - 4]
mov dword [eax + 0x64], edx
mov dword [eax + 0x60], 0x556358
mov dl, 1
mov eax, dword [0x434fb4]
call fcn.0043e9c0
mov dword [0x588458], eax
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x50da4c]
call fcn.0050daa4
mov dword [0x588404], eax
push 0xffffffffffffffff
mov eax, dword [ebp - 4]
call fcn.00474f28
push eax
call sub.shell32.dll_DragAcceptFiles
lea eax, [ebp - 0x30]
push eax
mov eax, 0x57298c
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x44], 0xb
lea ecx, [ebp - 0x4c]
mov edx, 0x50
mov al, 0x20
call fcn.00405c00
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x3c], 0xb
mov eax, 0x57299c
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x34], 0xb
lea edx, [ebp - 0x48]
mov ecx, 2
mov eax, 0x5729a8
call fcn.0040eb08
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.0046b060
lea eax, [ebp - 0x50]
push eax
mov eax, 0x57298c
mov dword [ebp - 0x60], eax
mov byte [ebp - 0x5c], 0xb
mov eax, 0x57299c
mov dword [ebp - 0x58], eax
mov byte [ebp - 0x54], 0xb
lea edx, [ebp - 0x60]
mov ecx, 1
mov eax, 0x5729d4
call fcn.0040eb08
mov edx, dword [ebp - 0x50]
mov eax, dword [0x581d10]
mov eax, dword [eax]
call fcn.0048eda4
push 0xbff00000
push 0
call fcn.00558978
push 0xbff00000
push 0
call fcn.005587fc
mov edx, 0xa
mov eax, dword [ebp - 4]
call fcn.005693b8
xor eax, eax
call fcn.00557244
xor eax, eax
call fcn.00557288
xor eax, eax
call fcn.005572e0
xor eax, eax
call fcn.00557330
xor eax, eax
call fcn.00557198
xor eax, eax
call fcn.005571e8
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.005692e0
mov eax, 0x588580
xor edx, edx
call fcn.00558720
xor eax, eax
call fcn.00557394
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00558698
mov dword [0x588584], 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x65c]
mov dword [0x588590], eax
lea eax, [ebp - 8]
call fcn.00571d24
lea eax, [ebp - 8]
mov edx, 0x5729e8
call fcn.0056dc24
mov eax, dword [ebp - 4]
call fcn.0056bd88
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x68]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00559470
mov eax, dword [ebp - 0x68]
push eax
mov eax, 0x5729f4
mov dword [ebp - 0x70], eax
mov eax, 0x572a08
mov dword [ebp - 0x6c], eax
lea edx, [ebp - 0x70]
mov ecx, 1
pop eax
call fcn.00518d10
mov edx, dword [ebp - 0x64]
mov eax, 0x588550
call fcn.004054a4
call fcn.00560dac
mov byte [ebp - 0xa], 0
mov eax, 0x10
call fcn.005181f4
test al, al
jne 0x57243e
push ebp
call fcn.00571f04
pop ecx
mov byte [ebp - 0xa], al
jmp 0x572450
mov ecx, 5
mov edx, 0x572a1c
mov eax, dword [ebp - 4]
call fcn.0056e4fc
mov eax, 0x11
call fcn.005181f4
test al, al
jne 0x572485
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a8]
cmp byte [eax + 0x38], 0
je 0x572485
mov eax, dword [0x581a0c]
mov eax, dword [eax]
cmp byte [eax + 8], 0
jne 0x572485
mov byte [ebp - 9], 0
mov byte [0x58854c], 1
movzx ebx, byte [ebp - 0xa]
xor bl, 1
test bl, bl
je 0x57249a
mov eax, dword [0x5884e4]
call fcn.00550ddc
lea eax, [ebp - 8]
xor edx, edx
call fcn.0056dc24
cmp byte [0x58854c], 0
jne 0x572556
test bl, bl
je 0x57252d
call fcn.0054fe80
call fcn.0056d62c
test al, al
jne 0x57252d
mov ecx, dword [0x588360]
mov dl, 1
mov eax, dword [0x532138]
call fcn.004845c4
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x572526
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0xfc]
cmp eax, 6
jne 0x572510
call fcn.0056d85c
test al, al
jne 0x572510
xor ecx, ecx
mov edx, 0x10
mov eax, 0x572a30
call fcn.005138c4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x57252d
mov eax, dword [ebp - 0x10]
call fcn.00404510
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5dc]
cmp byte [eax + 0x38], 0
je 0x572556
mov eax, 0x58838c
xor edx, edx
call fcn.005167f0
test al, al
je 0x572556
mov eax, dword [0x58838c]
call fcn.0054d674
push 0
lea eax, [ebp - 0x74]
call fcn.00516b54
mov ebx, dword [ebp - 0x74]
mov eax, ebx
call fcn.00406a08
push eax
mov edx, ebx
mov eax, dword [0x588378]
pop ecx
call fcn.00513b14
test al, al
jne 0x57258c
lea eax, [ebp - 0x78]
call fcn.004ac284
mov eax, dword [ebp - 0x78]
call fcn.0054d674
mov dl, 1
mov eax, dword [0x50def0]
call fcn.0050df64
mov dword [0x588530], eax
mov eax, dword [0x588530]
mov byte [eax + 0x29], 1
mov eax, dword [ebp - 4]
call fcn.005584fc
mov eax, dword [0x581d10]
mov eax, dword [eax]
mov dword [eax + 0x78], 0x64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x734]
mov byte [eax + 0x19c], 0
mov byte [eax + 0x19c], 1
mov edx, dword [eax]
call dword [edx + 0x8c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x7b0]
mov eax, dword [eax + 0x4c]
mov dword [0x58864c], eax
cmp byte [0x58854c], 0
jne 0x572773
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e4]
cmp byte [eax + 0x38], 0
je 0x572622
lea eax, [ebp - 0x7c]
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [0x588380]
call fcn.0054a404
mov eax, dword [ebp - 0x7c]
call fcn.00517cb8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4dc]
cmp byte [eax + 0x38], 0
je 0x572668
mov eax, dword [0x5883e4]
call fcn.0040db48
test al, al
jne 0x572668
lea eax, [ebp - 0x80]
mov ecx, 0x572a70
mov edx, dword [0x5883e4]
call fcn.00405760
mov eax, dword [ebp - 0x80]
call fcn.0040db48
test al, al
jne 0x572668
mov eax, 0x5883e4
call fcn.00405450
mov eax, 0x572a80
call fcn.005176a4
fstp qword [ebp - 0x70]
wait
mov eax, dword [0x5883e4]
call fcn.005176a4
fcomp qword [ebp - 0x70]
wait
fnstsw ax
sahf
jae 0x572765
xor ecx, ecx
mov edx, 0x34
mov eax, 0x572a94
call fcn.005138c4
cmp eax, 6
jne 0x572765
mov ecx, 0x572a70
lea eax, [ebp - 0x84]
mov edx, dword [0x5883e4]
call fcn.00405760
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
call fcn.00405914
push eax
call sub.kernel32.dll_DeleteFileA
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0x15], al
mov eax, dword [0x5883e4]
mov dword [ebp - 0x1c], eax
mov ecx, 0x572a70
lea eax, [ebp - 0x88]
mov edx, dword [0x5883e4]
call fcn.00405760
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
call fcn.00405914
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00405914
push eax
call sub.kernel32.dll_MoveFileA
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x572756
mov eax, dword [0x5883e4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
call fcn.00405914
push eax
mov eax, 0x572a80
call fcn.00405914
push eax
call sub.kernel32.dll_MoveFileA
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0x29], al
jmp 0x572765
mov eax, 0x5883e4
mov edx, 0x572a80
call fcn.004054a4
mov edx, dword [0x5883e4]
mov eax, dword [ebp - 4]
call fcn.0056ab30
lea edx, [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.0056dec8
cmp byte [0x58854c], 0
jne 0x5727e2
cmp byte [ebp - 0xa], 0
jne 0x57279c
movzx edx, byte [0x5817f0]
mov eax, dword [ebp - 4]
call fcn.0056baa0
mov edx, dword [0x588458]
mov eax, dword [0x588404]
call fcn.0050dbc0
mov eax, dword [0x588404]
mov edx, dword [ebp - 4]
mov dword [eax + 0x1fc], edx
mov dword [eax + 0x1f8], 0x5663bc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x468]
cmp byte [eax + 0x38], 0
je 0x5727e2
call fcn.005481b0
mov eax, dword [0x588404]
call fcn.0050dccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ac]
mov dl, 1
call fcn.00454860
mov byte [0x588578], 1
cmp byte [0x58854c], 0
je 0x57281a
mov eax, dword [0x581d10]
mov eax, dword [eax]
mov byte [eax + 0x5b], 0
mov eax, dword [ebp - 4]
call fcn.0048a82c
jmp 0x5728bd
mov eax, dword [ebp - 4]
call fcn.0048aa18
push ebp
mov eax, dword [0x588560]
call fcn.00572088
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x430]
cmp byte [eax + 0x38], 0
je 0x572849
mov eax, dword [0x581d10]
mov eax, dword [eax]
call fcn.0048eaa0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5dc]
cmp byte [eax + 0x38], 0
je 0x572873
cmp dword [0x58838c], 0
jne 0x572873
mov ecx, 0x1e
mov edx, 0x572b00
mov eax, dword [ebp - 4]
call fcn.0056e4fc
call fcn.005502b4
push ebp
call fcn.00571e48
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x7a4]
mov edx, dword [eax]
call dword [edx + 0xd4]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00557568
cmp byte [0x588555], 0
jne 0x5728a8
call fcn.00550cec
lea eax, [ebp - 0x8c]
push eax
xor ecx, ecx
xor edx, edx
mov eax, 0x572b2c
call fcn.0054160c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x572920
lea eax, [ebp - 0x8c]
mov edx, 6
call fcn.00405474
lea eax, [ebp - 0x74]
mov edx, dword [0x407aec]
call fcn.00406cdc
lea eax, [ebp - 0x68]
mov edx, 2
call fcn.00405474
lea eax, [ebp - 0x50]
mov edx, 2
call fcn.00405474
lea eax, [ebp - 0x30]
call fcn.00405450
lea eax, [ebp - 8]
mov edx, dword [0x407aec]
call fcn.00406cdc
ret