Function at 0x47f377
Capabilities:
Delete file

Disassembly:
mov eax, 0x66ec28
call fcn.006313fc
sub esp, 0x558
push ebx
push ebp
push esi
xor esi, esi
push edi
push 0x104
cmp dword [esp + 0x580], esi
jne 0x47f593
lea eax, [esp + 0x364]
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
push 0x80
push 4
lea eax, [esp + 0x368]
push eax
call fcn.0045eeaa
mov dword [esp + 0x10], eax
mov ebp, esi
cmp eax, 0xffffffff
jne 0x47f3d4
xor eax, eax
jmp 0x47f602
push eax
call fcn.0047f2a6
test eax, eax
je 0x47f585
push esi
push 0xf8
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x1c]
call fcn.0045f020
test eax, eax
jne 0x47f585
mov ebx, dword [esp + 0xf8]
mov edi, dword [esp + 0xfc]
test ebx, ebx
je 0x47f585
cmp edi, 0xc
jbe 0x47f585
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
push edi
lea ecx, [esp + 0x34]
mov dword [esp + 0x574], esi
call fcn.0045d0b2
push esi
push ebx
push 0xc
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x20]
call fcn.0045f065
test eax, eax
jne 0x47f574
mov eax, 0x200
cmp word [esp + 0x40], ax
jne 0x47f574
push 2
pop eax
cmp word [esp + 0x42], ax
jne 0x47f574
cmp dword [esp + 0x3c], 0x100000
jae 0x47f574
add ebx, dword [esp + 0x3c]
sub edi, dword [esp + 0x3c]
push esi
push ebx
mov ebx, dword [esp + 0x38]
push edi
push ebx
push dword [esp + 0x20]
call fcn.0045f065
test eax, eax
jne 0x47f574
lea eax, [esp + 0x14]
push eax
push ebx
push edi
push ebx
call fcn.0056b862
push esi
push esi
lea eax, [esp + 0x20]
push eax
call fcn.0045ddbc
xor eax, eax
mov dword [esp + 0x5c], 7
mov dword [esp + 0x58], esi
mov word [esp + 0x48], ax
cmp dword [esp + 0x2c], 8
mov eax, dword [esp + 0x18]
mov byte [esp + 0x570], 2
jae 0x47f4e4
lea eax, [esp + 0x18]
push dword [esp + 0x14]
push ebx
push eax
call fcn.0046111c
cmp dword [esp + 0x2c], 8
mov eax, dword [esp + 0x18]
jae 0x47f4fe
lea eax, [esp + 0x18]
xor edi, edi
lea ecx, [esp + 0x48]
inc edi
push edi
push ecx
push eax
call fcn.004f97c9
test eax, eax
je 0x47f548
cmp dword [esp + 0x2c], 8
mov eax, dword [esp + 0x18]
jae 0x47f520
lea eax, [esp + 0x18]
push 0x73f7ec
push edi
lea ecx, [esp + 0x50]
push ecx
push eax
call fcn.004f9423
test al, al
je 0x47f548
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.0047f66d
mov ebp, eax
jmp 0x47f55e
cmp dword [esp + 0x2c], 8
mov eax, dword [esp + 0x18]
jae 0x47f557
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
push esi
push edi
lea ecx, [esp + 0x50]
call fcn.0042341c
push esi
push edi
lea ecx, [esp + 0x20]
call fcn.0042341c
or dword [esp + 0x570], 0xffffffff
lea ecx, [esp + 0x30]
call fcn.0041abd3
lea eax, [esp + 0x10]
push eax
call fcn.0045ee3a
mov eax, ebp
jmp 0x47f602
lea eax, [esp + 0x15c]
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
push 0x80
push 4
lea eax, [esp + 0x160]
push eax
call fcn.0045eeaa
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x47f3cd
push esi
push dword [esp + 0x580]
push eax
call fcn.0047f618
mov esi, eax
mov edi, edx
lea eax, [esp + 0x14]
push eax
call fcn.0045ee3a
mov ecx, esi
or ecx, edi
je 0x47f3cd
push edi
push esi
sub esp, 0x18
lea eax, [esp + 0x178]
mov ecx, esp
push eax
call fcn.004249e7
call fcn.0047e944
mov ecx, dword [esp + 0x568]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
leave
ret 4