Function at 0x473f7c
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffdf4
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x204], eax
mov ebx, dword [0x48da44]
mov esi, 0x49bee8
xor eax, eax
push ebp
push 0x47423a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x48dad8]
cmp byte [eax], 4
je 0x473fd1
mov ax, 0x312
call fcn.0040bc04
mov edx, 4
call fcn.00411d74
jmp 0x474216
xor eax, eax
call fcn.0042aef4
test al, al
je 0x474216
mov edx, ebx
lea eax, [ebp - 0x100]
call fcn.00405c48
lea eax, [ebp - 0x100]
call fcn.0040fb40
mov dl, 0x10
mov ax, 0x11
call fcn.0042d52c
test eax, eax
je 0x474216
mov dl, 0x11
mov ax, 0x11
call fcn.0042d52c
test eax, eax
je 0x474216
mov edx, dword [0x48d550]
add edx, 0x100
lea eax, [ebp - 0x200]
call fcn.00405c48
push 0x474248
lea eax, [ebp - 0x200]
push eax
call sub.kernel32.dll_lstrcatA
lea eax, [ebp - 0x204]
lea edx, [ebp - 0x200]
mov ecx, pe_nt_image_headers32
call fcn.0040464c
mov edx, dword [ebp - 0x204]
mov eax, esi
call fcn.00402ba4
mov eax, esi
call fcn.00402934
call fcn.004025ec
test eax, eax
je 0x47408d
lea edx, [ebp - 0x200]
mov ax, 3
call fcn.0040de10
jmp 0x474216
mov ax, 0x136
call fcn.0040bc04
mov edx, eax
mov eax, dword [0x48d948]
call fcn.00405c48
mov eax, dword [0x48d948]
mov dl, 1
call fcn.0040e810
lea eax, [ebp - 0x100]
mov cl, 1
mov dl, 1
call fcn.00472d48
mov edi, eax
mov eax, esi
call fcn.00402c60
mov eax, dword [0x48d9fc]
cmp byte [eax], 0
je 0x4740e1
lea eax, [ebp - 0x200]
push eax
call sub.kernel32.dll_DeleteFileA_1
jmp 0x474216
mov eax, dword [0x48d8dc]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x48d550]
mov eax, dword [eax + 0x16f4]
mov edx, dword [0x48d5f8]
mov dword [edx], eax
mov eax, dword [0x48d5f8]
mov eax, dword [eax]
add eax, edi
dec eax
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004123c0
mov edx, eax
mov eax, ebx
call fcn.00405c48
mov eax, ebx
call fcn.00405bdc
mov edx, dword [0x48d200]
mov byte [edx], al
lea eax, [ebp - 0x20c]
lea edx, [ebp - 0x200]
mov ecx, pe_nt_image_headers32
call fcn.0040464c
mov edx, dword [ebp - 0x20c]
mov eax, esi
call fcn.00402ba4
mov eax, esi
call fcn.00402928
call fcn.004025ec
test eax, eax
je 0x47417e
lea edx, [ebp - 0x200]
mov ax, 1
call fcn.0040de10
jmp 0x474216
mov edx, ebx
mov ecx, 0x22b
mov eax, esi
call fcn.00402f10
mov eax, esi
call fcn.00402f1c
call fcn.004025ec
test eax, eax
jne 0x4741bc
cmp byte [ebx], 0
je 0x4741bc
mov eax, ebx
call fcn.00461960
test al, al
je 0x4741b3
mov eax, dword [0x48d8dc]
inc dword [eax]
mov eax, dword [0x48d5f8]
inc dword [eax]
jmp 0x47417e
mov eax, esi
call fcn.00402c60
lea eax, [ebp - 0x200]
push eax
call sub.kernel32.dll_DeleteFileA_1
call fcn.0040eb04
mov eax, dword [0x48d8dc]
fild dword [eax]
add esp, 0xfffffff8
fistp qword [esp]
wait
mov ax, 0x31a
call fcn.0040bc04
call fcn.0040f4d4
mov dword [ebp - 0x208], edi
fild dword [ebp - 0x208]
add esp, 0xfffffff8
fistp qword [esp]
wait
mov eax, ebx
call fcn.0040f4d4
mov eax, ebx
mov edx, 4
call fcn.00411d74
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x474241
lea eax, [ebp - 0x20c]
call fcn.00404410
lea eax, [ebp - 0x204]
call fcn.00404410
ret