Function at 0x46cb20
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc0
push ebx
push esi
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], eax
xor eax, eax
push ebp
push 0x46cf3a
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x672690], 1
jne 0x46cf07
mov eax, dword [0x66f834]
cmp byte [eax], 1
jne 0x46cb71
mov eax, dword [0x6726c0]
call fcn.00652b80
mov eax, dword [0x66f834]
cmp byte [eax], 3
sete al
mov edx, dword [0x66f834]
mov byte [edx], 0
test al, al
je 0x46cf00
mov byte [0x672690], 3
push 0
push 0
mov ecx, dword [0x672694]
mov dl, 1
mov eax, dword [0x616a0c]
call fcn.00618118
mov ebx, eax
mov edx, 0x46cf50
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
mov edx, 0x46cf60
mov eax, ebx
call fcn.00617894
mov esi, eax
lea ecx, [ebp - 0x28]
mov eax, dword [0x66f294]
movzx eax, byte [eax]
mov edx, dword [eax*4 + 0x662ba4]
mov eax, ebx
call fcn.006179d4
mov edx, dword [ebp - 0x28]
mov eax, 0x672698
call fcn.004032c8
mov eax, 0x67269c
call fcn.00403274
lea ecx, [ebp - 0x28]
mov edx, 0x46cf78
mov eax, ebx
call fcn.006179d4
mov edx, dword [ebp - 0x28]
mov eax, 0x6726a0
call fcn.004032c8
lea ecx, [ebp - 0x28]
mov edx, 0x46cf90
mov eax, ebx
call fcn.006179d4
mov edx, dword [ebp - 0x28]
mov eax, 0x6726a4
call fcn.004032c8
xor eax, eax
mov dword [0x6726a8], eax
mov byte [0x6726ac], 0
mov eax, 0x6726b0
call fcn.00403274
mov eax, 0x6726b4
call fcn.00403274
mov edx, 0x46cfa4
mov eax, ebx
call fcn.00617894
mov dword [0x6726b8], eax
test esi, esi
jle 0x46cea7
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], 1
lea ecx, [ebp - 0x28]
mov eax, 0x46cfb0
mov edx, dword [ebp - 0x20]
call fcn.00655c8c
mov edx, dword [ebp - 0x28]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
lea ecx, [ebp - 4]
mov edx, 0x46cfc4
mov eax, ebx
call fcn.006179d4
lea ecx, [ebp - 8]
mov edx, 0x46cfd4
mov eax, ebx
call fcn.006179d4
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.00655d24
mov ecx, eax
mov eax, ecx
mov esi, 0x64
cdq
idiv esi
mov esi, 0x64
cdq
idiv esi
push edx
mov eax, ecx
mov esi, 0x2710
cdq
idiv esi
push eax
mov eax, ecx
mov ecx, 0x64
cdq
idiv ecx
mov ecx, edx
pop eax
pop edx
call fcn.00655e08
fstp qword [ebp - 0x1c]
wait
lea ecx, [ebp - 0xc]
mov edx, 0x46cfec
mov eax, ebx
call fcn.006179d4
lea ecx, [ebp - 0x10]
mov edx, 0x46cffc
mov eax, ebx
call fcn.006179d4
lea ecx, [ebp - 0x14]
mov edx, 0x46d008
mov eax, ebx
call fcn.006179d4
mov eax, dword [ebp - 4]
call fcn.0062968c
mov esi, eax
mov dword [0x6726a8], esi
test esi, esi
je 0x46cdd4
cmp esi, 0x2687c50
jle 0x46cd40
mov byte [0x6726ac], 1
cmp byte [0x6726ac], 0
je 0x46ce9b
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x34], 0xb
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
lea eax, [ebp - 0x40]
call fcn.00656644
mov eax, dword [ebp - 0x40]
lea edx, [ebp - 0x3c]
call fcn.00654c3c
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x2c], 0xb
lea edx, [ebp - 0x38]
mov eax, dword [0x66f1fc]
mov eax, dword [eax]
mov ecx, 1
call fcn.00655a28
push dword [ebp - 0x28]
push 0x46d014
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 0xc]
call fcn.00619ca0
push dword [ebp - 0x3c]
push 0x46d028
push dword [0x67269c]
mov eax, 0x67269c
mov edx, 5
call fcn.004035dc
mov eax, 0x6726b0
mov edx, dword [ebp - 4]
call fcn.004032c8
jmp 0x46ce9b
cmp dword [ebp - 0x10], 0
je 0x46ce9b
cmp dword [ebp - 0x14], 0
je 0x46ce9b
call fcn.00656138
fsub qword [ebp - 0x1c]
fcomp dword [0x46d030]
fnstsw ax
sahf
ja 0x46ce53
mov eax, dword [0x66fa54]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x40]
inc eax
jne 0x46ce9b
cmp dword [0x6726b4], 0
je 0x46ce29
mov eax, 0x6726b4
mov edx, 0x46d03c
call fcn.00403524
push dword [0x6726b4]
push dword [ebp - 0xc]
push 0x46d03c
push dword [ebp - 0x10]
push 0x46d03c
push dword [ebp - 0x14]
mov eax, 0x6726b4
mov edx, 6
call fcn.004035dc
jmp 0x46ce9b
mov eax, dword [0x66f29c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov esi, eax
cmp esi, 0xffffffff
je 0x46ce77
mov eax, dword [0x66f29c]
mov eax, dword [eax]
mov edx, esi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x66fa54]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov esi, eax
cmp esi, 0xffffffff
je 0x46ce9b
mov eax, dword [0x66fa54]
mov eax, dword [eax]
mov edx, esi
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 0x20]
dec dword [ebp - 0x24]
jne 0x46cc73
mov eax, dword [0x66f51c]
cmp byte [eax], 0
jne 0x46ceec
mov eax, dword [0x66f350]
cmp dword [eax], 0
je 0x46ceec
mov edx, 0x46d048
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
mov edx, dword [0x66f350]
mov edx, dword [edx]
mov eax, ebx
call fcn.00617894
mov edx, dword [0x670200]
cmp eax, dword [edx]
jle 0x46ceec
mov eax, dword [0x66e8a8]
or dword [eax + 0xc], 0x20000
mov eax, ebx
call fcn.004028c0
mov eax, dword [0x672694]
push eax
call sub.kernel32.dll_DeleteFileW
jmp 0x46cf07
mov byte [0x672690], 2
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46cf41
lea eax, [ebp - 0x40]
call fcn.00403880
lea eax, [ebp - 0x3c]
call fcn.00403274
lea eax, [ebp - 0x28]
call fcn.00403274
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.00403298
ret