Function at 0x918ca4
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff9c
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x919122
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x9190e8
push dword fs:[edx]
mov dword fs:[edx], esp
mov byte [ebp - 9], 0
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 8], 0
je 0x918d04
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jg 0x918d11
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x9190f2
xor edx, edx
push ebp
push 0x9190d4
push dword fs:[edx]
mov dword fs:[edx], esp
mov dl, 1
mov eax, dword [0x4820cc]
call fcn.00483400
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x918d74
inc ebx
xor esi, esi
lea ecx, [ebp - 0x1c]
mov edx, esi
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1c]
call fcn.00405620
cmp eax, 3
jle 0x918d70
lea edx, [ebp - 0x58]
mov eax, dword [ebp - 0x1c]
call fcn.008b0fc0
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc esi
dec ebx
jne 0x918d40
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jg 0x918d92
call fcn.004046a4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x9190f2
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
jne 0x918db6
lea ecx, [ebp - 0x5c]
xor edx, edx
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x5c]
call fcn.008b4aa0
test al, al
jne 0x918dba
xor ebx, ebx
jmp 0x918dbc
mov bl, 1
call fcn.008b1994
xor al, 1
mov byte [ebp - 0xa], al
test bl, bl
je 0x918dee
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0x78]
cmp eax, 2
je 0x918dea
mov edx, dword [0x98a548]
cmp eax, 3
jne 0x918dee
mov byte [ebp - 0xa], 0
mov byte [ebp - 0x29], 0
mov byte [ebp - 0x2a], 0
cmp byte [ebp - 0xa], 0
je 0x918e38
test bl, bl
je 0x918e13
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp dword [eax + 0x78], 0
jne 0x918e38
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.00918748
test al, al
jne 0x918e34
call fcn.004046a4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x9190f2
mov byte [ebp - 0x29], 1
test bl, bl
je 0x918eed
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0x78]
cmp eax, 1
je 0x918e64
mov edx, dword [0x98a548]
cmp eax, 3
jne 0x918eed
mov byte [ebp - 0x2a], 1
mov eax, dword [ebp - 4]
call fcn.008f8604
test al, al
jne 0x918e8d
mov ecx, dword [0x98a548]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x7b7728]
call fcn.00473550
mov dword [ebp - 0x10], eax
jmp 0x918ea5
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xea4]
mov dl, 1
mov eax, dword [0x7b7728]
call fcn.00473550
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x60]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x520]
mov edx, dword [edx + 0x144]
call fcn.00405594
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2f0]
call fcn.004b1da8
mov eax, dword [ebp - 0x10]
call fcn.00477928
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x80]
call sub.kernel32.dll_GetTickCount
xor edx, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
xor eax, eax
push ebp
push 0x919033
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x20]
call fcn.004053b0
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x918f3e
inc ebx
xor esi, esi
push dword [ebp - 0x20]
lea ecx, [ebp - 0x64]
mov edx, esi
mov eax, dword [ebp - 0x30]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x64]
push 0x919138
lea eax, [ebp - 0x20]
mov edx, 3
call fcn.004056f0
inc esi
dec ebx
jne 0x918f15
lea eax, [ebp - 0x20]
mov edx, 0x919138
call fcn.0040562c
lea eax, [ebp - 0x24]
mov edx, 0x919140
call fcn.00405410
xor ebx, ebx
lea eax, [ebp - 0x52]
xor ecx, ecx
mov edx, 0x1e
call fcn.0040357c
mov eax, dword [ebp - 4]
call fcn.0093f790
mov dword [ebp - 0x52], eax
mov dword [ebp - 0x4e], 3
mov eax, dword [ebp - 0x20]
call fcn.00405610
mov dword [ebp - 0x4a], eax
mov eax, dword [ebp - 0x24]
call fcn.00405610
mov dword [ebp - 0x46], eax
cmp bl, 1
cmc
sbb eax, eax
mov dword [ebp - 0x40], eax
mov word [ebp - 0x42], 0
cmp byte [ebp - 0xa], 0
je 0x918fab
or word [ebp - 0x42], 0x40
or word [ebp - 0x42], 4
mov al, byte [ebp - 0x29]
or al, byte [ebp - 0x2a]
je 0x918fbd
or word [ebp - 0x42], 0x10
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x524]
mov edx, dword [edx + 0x128]
call fcn.00405594
mov eax, dword [ebp - 0x34]
call fcn.00405610
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], 1
xor eax, eax
push ebp
push 0x919022
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x52]
push eax
call sub.shell32.dll_SHFileOperationW
mov dword [ebp - 0x28], eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00795560
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x919029
cmp dword [ebp - 0x28], 0
sete byte [ebp - 9]
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x919129
lea eax, [ebp - 0x64]
mov edx, 4
call fcn.004053c8
lea eax, [ebp - 0x34]
call fcn.004053b0
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.004053c8
ret