Function at 0x5ae59c
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff40
push ebx
push esi
xor eax, eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x34], eax
xor eax, eax
push ebp
push 0x5aeada
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xb5], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x44]
call fcn.005b4db0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x44]
mov eax, dword [eax + 0x160]
push eax
call sub.kernel32.dll_DeleteFileW
lea eax, [ebp - 0x34]
call fcn.0061caec
call fcn.0064d744
mov edx, dword [0x669540]
mov dword [edx], eax
call fcn.0064d744
mov edx, dword [0x6699dc]
mov dword [edx], eax
mov byte [ebp - 0x2a], 0
mov byte [ebp - 0x29], 0
mov byte [ebp - 0xaf], 0
call fcn.004b3de0
mov dword [ebp - 0xc], eax
call fcn.0064d6f4
mov edx, dword [0x669b68]
mov dword [edx], eax
call fcn.0064d744
mov edx, dword [0x669728]
mov dword [edx], eax
call fcn.0064dfa0
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 7]
mov edx, 7
call fcn.00658544
xor eax, eax
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0xac], 1
xor eax, eax
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
call fcn.0064d744
mov dword [ebp - 0x3c], eax
call fcn.0064d744
mov dword [ebp - 0x14], eax
mov byte [ebp - 0xae], 0
mov byte [ebp - 0xad], 0
xor eax, eax
mov dword [ebp - 0x30], eax
mov edx, 0x5aeaf8
mov eax, dword [ebp - 0xc]
call fcn.004b4384
mov ebx, eax
lea eax, [ebx + 0x34]
mov edx, 0x5aeb04
call fcn.004038bc
mov ecx, 0x5aeb2c
mov edx, 0x5aeb48
mov eax, ebx
call fcn.004b441c
push ebp
mov al, 3
call fcn.005a66c8
pop ecx
push ebp
mov al, 6
call fcn.005a66c8
pop ecx
mov edx, 0x5aeb58
mov eax, dword [ebp - 0xc]
call fcn.004b4384
mov ebx, eax
lea eax, [ebx + 0x34]
mov edx, 0x5aeb6c
call fcn.004038bc
mov ecx, 0x5aeb84
mov edx, 0x5aeb48
mov eax, ebx
call fcn.004b441c
mov edx, 0x5aeba8
mov eax, ebx
call fcn.004b4384
mov esi, eax
mov ecx, 0x5aebc0
mov edx, 0x5aebd0
mov eax, esi
call fcn.004b4168
lea edx, [ebp - 0xc0]
mov eax, 0x5aebdc
call fcn.004b2ad4
mov ecx, dword [ebp - 0xc0]
mov edx, 0x5aebf4
mov eax, esi
call fcn.004b4168
mov ecx, 0x5aec04
mov edx, 0x5aec20
mov eax, esi
call fcn.004b4168
mov edx, 0x5aeba8
mov eax, ebx
call fcn.004b4384
mov esi, eax
mov ecx, 0x5aec30
mov edx, 0x5aebd0
mov eax, esi
call fcn.004b4168
mov ecx, 0x5aec38
mov edx, 0x5aec70
mov eax, esi
call fcn.004b441c
mov ecx, 0x5aec80
mov edx, 0x5aec20
mov eax, esi
call fcn.004b4168
mov edx, 0x5aeba8
mov eax, ebx
call fcn.004b4384
mov ebx, eax
mov ecx, 0x5aec9c
mov edx, 0x5aebd0
mov eax, ebx
call fcn.004b4168
lea edx, [ebp - 0xc0]
mov eax, 0x5aecac
call fcn.004b2ad4
mov ecx, dword [ebp - 0xc0]
mov edx, 0x5aebf4
mov eax, ebx
call fcn.004b4168
mov ecx, 0x5aeccc
mov edx, 0x5aec20
mov eax, ebx
call fcn.004b4168
push ebp
lea edx, [ebp - 0xc0]
mov eax, 0x5aece8
call fcn.004b2a74
mov edx, dword [ebp - 0xc0]
mov eax, 0x5aed00
call fcn.005a67ac
pop ecx
mov edx, 0x5aed1c
mov eax, dword [ebp - 0xc]
call fcn.004b43ac
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add eax, 0x34
mov edx, 0x5aed2c
call fcn.004038bc
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x30], 1
push ebp
call fcn.005a7598
pop ecx
push ebp
call fcn.005a6bcc
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x44]
mov eax, dword [eax + 0x598]
mov ebx, dword [eax + 0x18]
dec ebx
cmp ebx, 0
jl 0x5ae872
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x44]
mov eax, dword [eax + 0x598]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [eax + 0x38], ebx
dec ebx
cmp ebx, 0xffffffff
jne 0x5ae857
push ebp
call fcn.005aa8f0
pop ecx
push ebp
call fcn.005aacc0
pop ecx
push ebp
call fcn.005ab3d8
pop ecx
mov eax, dword [0x6693fc]
push eax
mov edx, dword [0x669460]
mov ecx, 0xb
mov eax, dword [ebp - 0x18]
call fcn.004b44a4
mov edx, 0x5aed58
mov eax, dword [ebp - 0x18]
call fcn.004b43ac
mov ebx, eax
push ebp
mov eax, dword [ebp + 8]
add eax, 0xffffffcc
mov ecx, ebx
mov edx, dword [ebp - 0x18]
call fcn.005ae4c4
pop ecx
mov eax, dword [0x669a50]
test byte [eax + 1], 0x40
je 0x5ae8f1
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x24]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x44]
call fcn.005b85b8
mov edx, dword [ebp + 8]
cmp eax, dword [edx - 0x20]
jne 0x5ae8f1
mov edx, 0x5aed68
mov eax, ebx
call fcn.004b43ac
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x44]
mov eax, dword [eax + 0x1d4]
mov ebx, dword [eax + 0x18]
dec ebx
cmp ebx, 0
jl 0x5ae931
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x44]
mov eax, dword [eax + 0x1d4]
mov edx, dword [eax + 0x1c]
mov edx, dword [edx + ebx*4]
cmp byte [edx + 0xc4], 0
je 0x5ae92b
mov edx, dword [ebp + 8]
mov edx, ebx
call fcn.0064e460
dec ebx
cmp ebx, 0xffffffff
jne 0x5ae906
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x44]
mov dl, byte [0x5aed6c]
cmp dl, byte [eax + 0x594]
je 0x5ae957
push ebp
mov al, 1
call fcn.005a7a30
pop ecx
push ebp
mov al, 2
call fcn.005a7a30
pop ecx
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x18]
dec eax
test eax, eax
jl 0x5ae9c0
inc eax
mov dword [ebp - 0xbc], eax
xor ebx, ebx
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax + ebx*4]
lea eax, [esi + 0x34]
mov ecx, dword [esi + 0x34]
mov edx, dword [ebp - 0x34]
call fcn.00403b24
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
cmp eax, dword [ebp - 0x18]
jne 0x5ae9a1
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x24]
mov edx, dword [ebp + 8]
sub eax, dword [edx - 0x34]
shl eax, 9
jmp 0x5ae9a3
xor eax, eax
test eax, eax
setg dl
push edx
mov ecx, eax
mov edx, 0x5aed78
mov eax, esi
call fcn.004b4948
inc ebx
dec dword [ebp - 0xbc]
jne 0x5ae96b
mov eax, dword [ebp - 0x14]
call fcn.004028c0
mov eax, dword [ebp - 0xb4]
call fcn.0064e5c0
mov eax, dword [0x669728]
mov eax, dword [eax]
call fcn.004028c0
mov eax, dword [0x669b68]
mov eax, dword [eax]
call fcn.004028c0
mov eax, dword [ebp - 0xc]
call fcn.004b4a40
mov eax, dword [0x669540]
mov eax, dword [eax]
mov dl, 1
call fcn.0064f88c
mov eax, dword [0x669b3c]
mov byte [eax], 1
mov eax, dword [0x669894]
mov byte [eax], 0
cmp byte [ebp - 0xb5], 0
jne 0x5aea39
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x44]
mov edx, dword [eax + 0x160]
mov eax, dword [ebp - 0x34]
call fcn.004b3af0
test al, al
jne 0x5aea39
mov byte [ebp - 0xb5], 2
mov eax, dword [0x669894]
mov byte [eax], 1
mov eax, dword [0x669b3c]
mov byte [eax], 0
mov eax, dword [0x669540]
call fcn.006526a0
mov eax, dword [0x6699dc]
mov eax, dword [eax]
call fcn.004028c0
xor edx, edx
mov eax, dword [ebp - 0x34]
call fcn.00621e10
mov eax, dword [ebp - 0x3c]
mov ebx, dword [eax + 0x24]
dec ebx
cmp ebx, 0
jl 0x5aea8a
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + ebx*4]
push eax
call sub.kernel32.dll_DeleteFileW
dec ebx
cmp ebx, 0xffffffff
jne 0x5aea75
mov eax, dword [ebp - 0x3c]
call fcn.004028c0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x44]
mov eax, dword [eax + 0x160]
mov ecx, 1
mov edx, 0xc0000000
call fcn.006585a4
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x44]
mov dword [edx + 0x164], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5aeae1
lea eax, [ebp - 0xc0]
call fcn.00403274
lea eax, [ebp - 0x34]
call fcn.00403880
ret