Function at 0x47f9bc
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x47fd5a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp word [eax + 0x3a], 0
je 0x47f9f7
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
call dword [ebx + 0x38]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1c], 0
jne 0x47fa16
mov ecx, 0x47fd74
mov dl, 1
mov eax, dword [0x47f12c]
call fcn.004100c4
call fcn.004046a0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x10], 0
jne 0x47fa35
mov ecx, 0x47fdc4
mov dl, 1
mov eax, dword [0x47f12c]
call fcn.004100c4
call fcn.004046a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
call fcn.0040bd50
test al, al
jne 0x47fa51
push ebp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
call fcn.0047f7ec
pop ecx
lea ecx, [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
mov edx, 0x47fe08
call fcn.00479df0
lea ecx, [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
mov edx, 0x47fe34
call fcn.00479df0
mov eax, dword [ebp - 4]
call fcn.004803f4
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
call fcn.0047ef04
mov edx, dword [ebp - 8]
call fcn.0047e000
mov eax, dword [ebp - 0x14]
call fcn.0047ef04
mov edx, dword [ebp - 0xc]
call fcn.0047e000
mov eax, dword [ebp - 8]
call fcn.0040bd08
test al, al
je 0x47fb2b
mov dl, 1
mov eax, dword [0x47ae74]
call fcn.0047d61c
mov dword [ebp - 0x18], eax
xor eax, eax
push ebp
push 0x47fb24
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x14]
call fcn.0047ef04
mov edx, dword [ebp - 0x18]
call fcn.0047da80
mov eax, dword [ebp - 0x14]
call fcn.0047ef04
mov byte [eax + 0x28], 1
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
call fcn.0047ec40
mov eax, dword [ebp - 0x14]
call fcn.0047ef04
mov byte [eax + 0x28], 0
mov eax, dword [ebp - 0x14]
call fcn.0047ef04
mov edx, dword [ebp - 0x18]
call fcn.0047da8c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47fb2b
mov eax, dword [ebp - 0x18]
call fcn.00403cac
ret
mov eax, dword [ebp - 4]
cmp dword [eax + 0x14], 0
je 0x47fb47
mov eax, dword [ebp - 0x14]
add eax, 4
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x14]
call fcn.004056cc
jmp 0x47fb63
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0040ad68
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
add eax, 4
call fcn.004056cc
mov eax, dword [ebp - 4]
cmp dword [eax + 0x18], 0
je 0x47fb7f
mov eax, dword [ebp - 0x14]
add eax, 8
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x18]
call fcn.004056cc
jmp 0x47fb90
mov eax, dword [ebp - 0x14]
add eax, 8
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x10]
call fcn.004056cc
mov eax, dword [ebp - 0x14]
add eax, 0xc
xor edx, edx
call fcn.004056cc
mov eax, dword [ebp - 4]
cmp dword [eax + 0x20], 0
je 0x47fbc6
push dword [ebp - 0xc]
push 0x47fe60
mov eax, dword [ebp - 4]
push dword [eax + 0x20]
mov eax, dword [ebp - 0x14]
add eax, 0x10
mov edx, 3
call fcn.00405c6c
jmp 0x47fbd4
mov eax, dword [ebp - 0x14]
add eax, 0x10
mov edx, dword [ebp - 0xc]
call fcn.004056cc
mov eax, dword [ebp - 4]
call fcn.004803d8
mov esi, eax
dec esi
test esi, esi
jl 0x47fc18
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004803e0
push eax
mov eax, dword [ebp - 4]
call fcn.004803d8
mov edx, eax
mov ecx, ebx
mov eax, dword [ebp - 4]
call fcn.004800c0
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004803e0
mov edx, dword [eax]
call dword [edx + 0x10]
inc ebx
dec esi
jne 0x47fbe6
mov eax, dword [ebp - 4]
cmp word [eax + 0x62], 0
je 0x47fc2e
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x64]
call dword [ebx + 0x60]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x24], 0
je 0x47fd16
mov eax, dword [ebp - 0xc]
call fcn.0040bd08
test al, al
je 0x47fc85
mov eax, dword [ebp - 0xc]
call fcn.00405758
push eax
call sub.kernel32.dll_DeleteFileW
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x47fc85
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x20], 0x11
lea eax, [ebp - 0x24]
push eax
push 0
mov ecx, 0x47fe70
mov dl, 1
mov eax, dword [0x47f12c]
call fcn.00410100
call fcn.004046a0
push 0xffff
mov ecx, dword [ebp - 0xc]
mov dl, 1
mov eax, dword [0x41cfb8]
call fcn.00422028
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x47fcf1
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x47fce0
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x24]
mov eax, dword [ebp - 0x10]
call fcn.00421e10
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47fce7
mov eax, dword [ebp - 0x10]
call fcn.00403cac
ret
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
call fcn.0047ebcc
mov eax, dword [ebp - 4]
cmp word [eax + 0x42], 0
je 0x47fd37
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x44]
call dword [ebx + 0x40]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47fd61
lea eax, [ebp - 0x1c]
call fcn.004056bc
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004056c4
ret