Function at 0x47f53c
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push ebx
push esi
push edi
call fcn.004041fc
je 0x47fcb2
mov ebx, eax
xor eax, eax
push ebp
push 0x47fca9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
xor edx, edx
call fcn.00423aa8
push 0
call sub.ole32.dll_OleInitialize
call fcn.0047d2b8
xor eax, eax
mov dword [ebx + 0x54], eax
push 0
push 0
mov cl, 1
xor edx, edx
xor eax, eax
call fcn.00426430
xor ecx, ecx
xor edx, edx
call fcn.004263f4
mov esi, eax
mov dword [ebx + 0x9c], esi
mov eax, dword [0x59eee0]
cmp byte [eax], 0
je 0x47f5ba
mov edx, dword [0x59ec10]
mov edx, dword [edx]
mov eax, dword [esi + 0x80]
call fcn.004254b0
jmp 0x47f5d0
mov ecx, 0x47fcbc
mov eax, dword [esi + 0x80]
mov edx, dword [0x5a27f8]
call fcn.00425f4c
mov eax, dword [ebx + 0x9c]
mov dword [eax + 0xbc], ebx
mov dword [eax + 0xb8], 0x47d548
mov edx, 0x47fcd0
call fcn.00425634
mov eax, dword [0x59ee20]
cmp byte [eax], 0
je 0x47f601
mov eax, ebx
call fcn.0047d4c0
push 0x7f00
mov eax, dword [0x5a27f8]
push eax
call sub.user32.dll_LoadIconA
push eax
push 0
push 0x80
mov eax, dword [ebx + 0x9c]
mov eax, dword [eax + 0x1c]
push eax
call sub.user32.dll_SendMessageA
push 0x4e
call sub.user32.dll_GetSystemMetrics
mov esi, eax
mov eax, dword [ebx + 0x9c]
mov eax, dword [eax + 0x80]
sub esi, dword [eax + 0x24]
sar esi, 1
jns 0x47f647
adc esi, 0
push 0x4f
call sub.user32.dll_GetSystemMetrics
mov edi, eax
mov eax, dword [ebx + 0x9c]
mov eax, dword [eax + 0x80]
sub edi, dword [eax + 0x28]
sar edi, 1
jns 0x47f666
adc edi, 0
mov eax, dword [ebx + 0x9c]
mov eax, dword [eax + 0x80]
mov eax, dword [eax + 0x24]
push eax
mov eax, dword [ebx + 0x9c]
mov eax, dword [eax + 0x80]
mov eax, dword [eax + 0x28]
push eax
mov eax, dword [ebx + 0x9c]
mov ecx, edi
mov edx, esi
call fcn.004263f4
mov eax, dword [ebx + 0x9c]
xor ecx, ecx
xor edx, edx
call fcn.00426260
mov ecx, dword [0x59ec68]
mov ecx, dword [ecx]
mov edx, dword [0x59ed0c]
mov edx, dword [edx]
call fcn.00425918
mov dword [ebx + 0x58], eax
mov edx, dword [0x59ebd0]
mov edx, dword [edx]
mov eax, dword [ebx + 0x58]
call fcn.00426130
mov eax, dword [ebx + 0x58]
mov edx, 0xffff
call fcn.00425ad0
mov eax, dword [ebx + 0x58]
mov dl, 1
call fcn.004261d0
call sub.kernel32.dll_GetCurrentProcessId
mov edx, dword [0x59e950]
mov edx, dword [edx]
mov dword [edx], eax
mov eax, dword [0x59ef6c]
movzx eax, byte [eax]
xor al, 1
mov edx, dword [0x59e950]
mov edx, dword [edx]
mov byte [edx + 4], al
mov eax, dword [ebx + 0x9c]
xor ecx, ecx
xor edx, edx
call fcn.00426260
mov ecx, dword [0x59ecf4]
mov ecx, dword [ecx]
mov edx, dword [0x59ed84]
mov edx, dword [edx]
call fcn.00425918
mov dword [ebx + 0x60], eax
mov edx, dword [0x59ec58]
mov edx, dword [edx]
mov eax, dword [ebx + 0x60]
call fcn.00426130
mov eax, dword [ebx + 0x60]
mov edx, 0xbdd0ee
call fcn.00425ad0
mov eax, dword [ebx + 0x60]
mov dl, 1
call fcn.004261d0
mov eax, dword [0x59efb4]
mov eax, dword [eax]
xor edx, edx
push edx
push eax
lea eax, [ebp - 8]
call fcn.00421f90
mov ecx, dword [ebp - 8]
lea eax, [ebp - 4]
mov edx, 0x47fce4
call fcn.004056a4
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x60]
call fcn.00425634
mov eax, dword [ebx + 0x9c]
xor edx, edx
call fcn.0042f900
mov dword [ebx + 0x68], eax
mov edx, dword [0x59edb8]
mov edx, dword [edx]
mov eax, dword [ebx + 0x68]
call fcn.00425834
mov edx, dword [0x59ed18]
mov edx, dword [edx]
mov eax, dword [ebx + 0x68]
call fcn.00425880
mov edx, dword [0x59ec94]
mov edx, dword [edx]
mov eax, dword [ebx + 0x68]
call fcn.00426130
mov edx, dword [0x59eb28]
mov edx, dword [edx]
mov eax, dword [ebx + 0x68]
call fcn.00425ad0
mov eax, dword [ebx + 0x68]
mov dl, 1
call fcn.004261d0
mov edx, dword [0x59ef5c]
mov edx, dword [edx]
mov eax, dword [ebx + 0x68]
call fcn.00425634
mov eax, dword [ebx + 0x68]
mov dword [eax + 0x44], ebx
mov dword [eax + 0x40], 0x47f334
mov eax, dword [ebx + 0x9c]
xor edx, edx
call fcn.0042f900
mov dword [ebx + 0x94], eax
mov edx, dword [0x59ec08]
mov edx, dword [edx]
mov eax, dword [ebx + 0x94]
call fcn.00425834
mov edx, dword [0x59ecc4]
mov edx, dword [edx]
mov eax, dword [ebx + 0x94]
call fcn.00425880
mov edx, dword [0x59eaac]
mov edx, dword [edx]
mov eax, dword [ebx + 0x94]
call fcn.00426130
mov edx, dword [0x59ea84]
mov edx, dword [edx]
mov eax, dword [ebx + 0x94]
call fcn.004258ec
mov eax, dword [ebx + 0x9c]
xor edx, edx
call fcn.0042f900
mov dword [ebx + 0x90], eax
mov edx, dword [0x59ee08]
mov edx, dword [edx]
mov eax, dword [ebx + 0x90]
call fcn.00425834
mov edx, dword [0x59eea8]
mov edx, dword [edx]
mov eax, dword [ebx + 0x90]
call fcn.00425880
mov edx, dword [0x59eccc]
mov edx, dword [edx]
mov eax, dword [ebx + 0x90]
call fcn.00426130
mov edx, dword [0x59ecac]
mov edx, dword [edx]
mov eax, dword [ebx + 0x90]
call fcn.004258ec
mov eax, dword [ebx + 0x9c]
xor edx, edx
call fcn.0042f900
mov dword [ebx + 0x98], eax
mov edx, dword [0x59ea2c]
mov edx, dword [edx]
mov eax, dword [ebx + 0x98]
call fcn.00425834
mov edx, dword [0x59eb08]
mov edx, dword [edx]
mov eax, dword [ebx + 0x98]
call fcn.00425880
mov edx, dword [0x59e918]
mov edx, dword [edx]
mov eax, dword [ebx + 0x98]
call fcn.00426130
mov edx, dword [0x59e908]
mov edx, dword [edx]
mov eax, dword [ebx + 0x98]
call fcn.004258ec
mov eax, dword [0x59f0b0]
cmp dword [eax], 0
je 0x47f936
mov edx, dword [0x59f0b0]
mov edx, dword [edx]
mov eax, dword [ebx + 0x94]
call fcn.0042fa9c
jmp 0x47f943
mov eax, dword [ebx + 0x94]
xor edx, edx
call fcn.00426130
mov eax, dword [0x59e8d0]
cmp dword [eax], 0
je 0x47f960
mov edx, dword [0x59e8d0]
mov edx, dword [edx]
mov eax, dword [ebx + 0x94]
call fcn.0042fb00
mov eax, dword [0x59ea44]
cmp dword [eax], 0
je 0x47f97f
mov edx, dword [0x59ea44]
mov edx, dword [edx]
mov eax, dword [ebx + 0x90]
call fcn.0042fa9c
jmp 0x47f98c
mov eax, dword [ebx + 0x90]
xor edx, edx
call fcn.00426130
mov eax, dword [0x59eaa8]
cmp dword [eax], 0
je 0x47f9a9
mov edx, dword [0x59eaa8]
mov edx, dword [edx]
mov eax, dword [ebx + 0x90]
call fcn.0042fb00
mov eax, dword [0x59eec0]
cmp dword [eax], 0
je 0x47f9c8
mov edx, dword [0x59eec0]
mov edx, dword [edx]
mov eax, dword [ebx + 0x98]
call fcn.0042fa9c
jmp 0x47f9d5
mov eax, dword [ebx + 0x98]
xor edx, edx
call fcn.00426130
mov eax, dword [0x59ef14]
cmp dword [eax], 0
je 0x47f9f2
mov edx, dword [0x59ef14]
mov edx, dword [edx]
mov eax, dword [ebx + 0x98]
call fcn.0042fb00
mov eax, dword [ebx + 0x9c]
xor edx, edx
call fcn.0042f900
mov dword [ebx + 0x64], eax
mov edx, dword [0x59ef7c]
mov edx, dword [edx]
mov eax, dword [ebx + 0x64]
call fcn.00425880
mov edx, dword [0x59f03c]
mov edx, dword [edx]
mov eax, dword [ebx + 0x64]
call fcn.00425834
mov edx, dword [0x59eec8]
mov edx, dword [edx]
mov eax, dword [ebx + 0x64]
call fcn.00426130
mov eax, dword [ebx + 0x64]
mov edx, 0xbdd0ee
call fcn.00425ad0
mov eax, dword [ebx + 0x64]
mov dl, 1
call fcn.004261d0
mov eax, dword [ebx + 0x64]
mov edx, 0x47fcf0
call fcn.00425634
mov eax, dword [ebx + 0x64]
mov dword [eax + 0x44], ebx
mov dword [eax + 0x40], 0x47f2dc
mov eax, dword [ebx + 0x9c]
xor ecx, ecx
xor edx, edx
call fcn.00426260
mov ecx, dword [0x59ee64]
mov ecx, dword [ecx]
mov edx, dword [0x59eef8]
mov edx, dword [edx]
call fcn.00425918
mov dword [ebx + 0x5c], eax
mov edx, dword [0x59edc0]
mov edx, dword [edx]
mov eax, dword [ebx + 0x5c]
call fcn.00426130
mov eax, dword [ebx + 0x5c]
mov edx, 0xbdd0ee
call fcn.00425ad0
mov eax, dword [ebx + 0x5c]
mov dl, 1
call fcn.004261d0
mov eax, dword [ebx + 0x5c]
xor edx, edx
call fcn.00425b40
mov eax, dword [ebx + 0x90]
mov dl, 1
call fcn.004261d0
mov eax, dword [ebx + 0x90]
mov dword [eax + 0x44], ebx
mov dword [eax + 0x40], 0x47f4a8
mov eax, dword [ebx + 0x94]
mov dl, 1
call fcn.004261d0
mov eax, dword [ebx + 0x94]
mov dword [eax + 0x44], ebx
mov dword [eax + 0x40], 0x47f3c0
mov eax, dword [ebx + 0x98]
mov dl, 1
call fcn.004261d0
mov eax, dword [ebx + 0x98]
mov dword [eax + 0x44], ebx
mov dword [eax + 0x40], 0x47f418
mov edx, ebx
mov eax, dword [ebx + 0x9c]
call fcn.00423af4
mov ecx, 0x47ca24
mov edx, ebx
lea eax, [ebx + 0x1c]
call fcn.00422cd8
lea eax, [ebx + 0x1c]
push eax
push 0x64
push 0x58
mov eax, dword [ebx + 0x9c]
mov eax, dword [eax + 0x1c]
push eax
call sub.user32.dll_SetTimer
mov eax, 0x47d9b8
mov edx, dword [0x59e97c]
mov dword [edx], eax
mov eax, 0x47d868
mov edx, dword [0x59f02c]
mov dword [edx], eax
mov eax, 0x47da6c
mov edx, dword [0x59ef10]
mov dword [edx], eax
mov eax, ebx
call fcn.0047ebe0
mov eax, ebx
mov edx, 0xc8
call fcn.0047d118
mov ecx, 0x47c8cc
mov edx, ebx
lea eax, [ebx + 0x2e]
call fcn.00422cd8
mov ecx, 0x47f534
mov edx, ebx
lea eax, [ebx + 0x7e]
call fcn.00422cd8
mov ecx, 0x47c644
mov edx, ebx
lea eax, [ebx + 0x6c]
call fcn.00422cd8
lea eax, [ebx + 0x2e]
push eax
push 0x3e8
push 0x59
mov eax, dword [ebx + 0x9c]
mov eax, dword [eax + 0x1c]
push eax
call sub.user32.dll_SetTimer
lea eax, [ebx + 0x6c]
push eax
push 0x3e8
push 0xde
mov eax, dword [ebx + 0x9c]
mov eax, dword [eax + 0x1c]
push eax
call sub.user32.dll_SetTimer
push 1
call main
push 1
call main
lea eax, [ebx + 0x7e]
push eax
push 0xea60
push 0xe9
mov eax, dword [ebx + 0x9c]
mov eax, dword [eax + 0x1c]
push eax
call sub.user32.dll_SetTimer
mov eax, dword [0x59ea64]
mov byte [eax], 1
push 0x13
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
mov eax, dword [ebx + 0x9c]
mov eax, dword [eax + 0x1c]
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [0x59edbc]
mov eax, dword [eax]
mov edx, 0x47fd04
call fcn.004057b4
je 0x47fc56
mov eax, dword [0x59edbc]
mov eax, dword [eax]
call fcn.0040581c
push eax
call sub.kernel32.dll_DeleteFileA
mov eax, dword [ebx + 0x9c]
mov edx, dword [eax + 0x80]
mov ecx, dword [edx + 0x24]
push ecx
mov edx, dword [edx + 0x28]
push edx
mov ecx, edi
mov edx, esi
call fcn.004263f4
push 0x13
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
mov eax, dword [ebx + 0x9c]
mov eax, dword [eax + 0x1c]
push eax
call sub.user32.dll_SetWindowPos
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47fcb0
lea eax, [ebp - 8]
mov edx, 2
call fcn.004053b0
ret
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
ret