Function at 0x4a83cf
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x23
push 0
push 0
dec ecx
jne 0x4a82b4
push ebx
push esi
push edi
mov dword [ebp - 0x58], eax
xor eax, eax
push ebp
push 0x4a8f55
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004034d4
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [0x4c5a10], 0
jle 0x4a8399
push 0
lea edx, [ebp - 0xb4]
xor eax, eax
call fcn.00403474
mov ecx, dword [ebp - 0xb4]
mov dl, 1
mov eax, dword [0x41dac4]
call fcn.00422324
mov ebx, eax
mov edx, dword [0x4c5a10]
neg edx
sub edx, 4
mov cx, 2
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x14]
lea edx, [ebp - 0x5c]
mov ecx, 4
mov eax, ebx
call fcn.0042209c
mov eax, dword [0x4c5a20]
cmp eax, dword [ebp - 0x5c]
jne 0x4a83cf
mov eax, dword [0x4c5a10]
call fcn.00403094
mov dword [ebp - 0x74], eax
xor eax, eax
push ebp
push 0x4a8392
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x74]
mov ecx, dword [0x4c5a10]
mov eax, ebx
call fcn.0042209c
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 4]
mov edx, dword [0x4c5a10]
mov eax, dword [ebp - 0x74]
call fcn.00496c54
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a83cf
mov eax, dword [ebp - 0x74]
call fcn.004030b0
ret
lea eax, [ebp - 8]
push eax
mov ecx, 0xa
mov edx, 1
mov eax, dword [0x4c5990]
call fcn.004975fc
push eax
mov ecx, 0xa
mov edx, 1
mov eax, dword [0x4c5990]
call fcn.004975c4
lea ecx, [ebp - 4]
pop edx
call fcn.00496c54
cmp dword [ebp - 8], 0
je 0x4a8f0a
cmp dword [0x4c5a18], 1
jne 0x4a8599
lea eax, [ebp - 0x40]
xor edx, edx
call fcn.00406384
mov eax, 4
call fcn.004034fc
mov ebx, eax
test ebx, ebx
jl 0x4a842f
inc ebx
mov eax, 0x24
call fcn.004034fc
movzx edx, word [eax*2 + 0x4bf074]
lea eax, [ebp - 0xb8]
call fcn.0040649c
mov edx, dword [ebp - 0xb8]
lea eax, [ebp - 0x40]
call fcn.00406654
dec ebx
jne 0x4a8401
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x40]
call fcn.00406384
lea eax, [ebp - 0x44]
xor edx, edx
call fcn.00406384
mov eax, 4
call fcn.004034fc
mov ebx, eax
test ebx, ebx
jl 0x4a8483
inc ebx
mov eax, 0x24
call fcn.004034fc
movzx edx, word [eax*2 + 0x4bf074]
lea eax, [ebp - 0xbc]
call fcn.0040649c
mov edx, dword [ebp - 0xbc]
lea eax, [ebp - 0x44]
call fcn.00406654
dec ebx
jne 0x4a8455
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x44]
call fcn.00406384
lea eax, [ebp - 0x48]
xor edx, edx
call fcn.00406384
mov eax, 4
call fcn.004034fc
mov ebx, eax
test ebx, ebx
jl 0x4a84d7
inc ebx
mov eax, 0x24
call fcn.004034fc
movzx edx, word [eax*2 + 0x4bf074]
lea eax, [ebp - 0xc0]
call fcn.0040649c
mov edx, dword [ebp - 0xc0]
lea eax, [ebp - 0x48]
call fcn.00406654
dec ebx
jne 0x4a84a9
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0x48]
call fcn.00406384
lea eax, [ebp - 0x4c]
xor edx, edx
call fcn.00406384
mov eax, 4
call fcn.004034fc
mov ebx, eax
test ebx, ebx
jl 0x4a852b
inc ebx
mov eax, 0x24
call fcn.004034fc
movzx edx, word [eax*2 + 0x4bf074]
lea eax, [ebp - 0xc4]
call fcn.0040649c
mov edx, dword [ebp - 0xc4]
lea eax, [ebp - 0x4c]
call fcn.00406654
dec ebx
jne 0x4a84fd
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x4c]
call fcn.00406384
lea eax, [ebp - 0x50]
xor edx, edx
call fcn.00406384
mov eax, 4
call fcn.004034fc
mov ebx, eax
test ebx, ebx
jl 0x4a857f
inc ebx
mov eax, 0x24
call fcn.004034fc
movzx edx, word [eax*2 + 0x4bf074]
lea eax, [ebp - 0xc8]
call fcn.0040649c
mov edx, dword [ebp - 0xc8]
lea eax, [ebp - 0x50]
call fcn.00406654
dec ebx
jne 0x4a8551
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x50]
call fcn.00406384
lea edx, [ebp - 0x28]
mov eax, 0x4a8f70
call fcn.00494f18
jmp 0x4a85e7
lea eax, [ebp - 0x14]
mov edx, 0x4a8f8c
call fcn.00406384
lea eax, [ebp - 0x18]
mov edx, 0x4a8fa0
call fcn.00406384
lea eax, [ebp - 0x1c]
mov edx, 0x4a8fbc
call fcn.00406384
lea eax, [ebp - 0x20]
mov edx, 0x4a8fd4
call fcn.00406384
lea eax, [ebp - 0x24]
mov edx, 0x4a8fe8
call fcn.00406384
lea edx, [ebp - 0x28]
mov eax, 0x4a9008
call fcn.00494f18
cmp dword [ebp - 0x58], 0xfffffffe
jne 0x4a8626
call fcn.00403414
dec eax
jne 0x4a8f0a
lea edx, [ebp - 0xcc]
mov eax, 1
call fcn.00403474
mov eax, dword [ebp - 0xcc]
mov edx, 0xfffffffe
call fcn.0040c790
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0xfffffffe
je 0x4a8f0a
cmp dword [ebp - 0x58], 0
jge 0x4a8640
mov byte [ebp - 0x61], 1
mov byte [ebp - 0x63], 0
xor eax, eax
mov byte [ebp - 0x62], 0
mov byte [ebp - 0x65], 0
jmp 0x4a8667
test byte [ebp - 0x58], 1
setne byte [ebp - 0x61]
test byte [ebp - 0x58], 2
setne byte [ebp - 0x63]
test byte [ebp - 0x58], 4
setne al
test byte [ebp - 0x58], 8
setne byte [ebp - 0x62]
test byte [ebp - 0x58], 0x10
setne byte [ebp - 0x65]
test byte [ebp - 0x63], al
je 0x4a8791
mov dl, 1
mov eax, dword [0x42a514]
call fcn.0042a680
mov dword [ebp - 0x6c], eax
mov dl, 1
mov eax, dword [0x41d890]
call fcn.00421de8
mov dword [ebp - 0x70], eax
xor eax, eax
push ebp
push 0x4a878a
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000001
mov eax, dword [ebp - 0x6c]
call fcn.0042a720
xor eax, eax
push ebp
push 0x4a8762
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xd0]
mov ecx, dword [0x4c5a34]
mov edx, 0x4a9020
call fcn.004066d4
mov edx, dword [ebp - 0xd0]
xor ecx, ecx
mov eax, dword [ebp - 0x6c]
call fcn.0042a788
test al, al
je 0x4a8758
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
call fcn.0042ac84
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x4a8758
inc esi
xor ebx, ebx
lea ecx, [ebp - 0xd4]
mov edx, ebx
mov eax, dword [ebp - 0x70]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x6c]
call fcn.0042adc4
cmp al, 3
jne 0x4a8754
lea ecx, [ebp - 0xd8]
mov edx, ebx
mov eax, dword [ebp - 0x70]
mov esi, dword [eax]
call dword [esi + 0xc]
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x6c]
call fcn.0042af04
push eax
call fcn.004a81c4
pop edx
sub eax, edx
cmp eax, 0x15180
jae 0x4a8758
mov byte [ebp - 0x63], 0
jmp 0x4a8758
inc ebx
dec esi
jne 0x4a86fe
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a876c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a8791
mov eax, dword [ebp - 0x6c]
call fcn.00404318
mov eax, dword [ebp - 0x70]
call fcn.00404318
ret
cmp byte [0x4c5a01], 0
je 0x4a8efc
xor edx, edx
push ebp
push 0x4a8ef5
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0xc]
call fcn.004a0e1c
lea eax, [ebp - 0x10]
mov ecx, 0x4a9040
mov edx, dword [ebp - 0xc]
call fcn.004066d4
cmp byte [ebp - 0x63], 0
je 0x4a895e
mov dl, 1
mov eax, dword [0x42a514]
call fcn.0042a680
mov dword [ebp - 0x6c], eax
xor edx, edx
push ebp
push 0x4a88bd
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, 0x80000001
mov eax, dword [ebp - 0x6c]
call fcn.0042a720
xor edx, edx
push ebp
push 0x4a889d
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0xdc]
mov ecx, dword [0x4c5a34]
mov edx, 0x4a9020
call fcn.004066d4
mov edx, dword [ebp - 0xdc]
mov cl, 1
mov eax, dword [ebp - 0x6c]
call fcn.0042a788
test al, al
je 0x4a8893
lea eax, [ebp - 0x54]
xor edx, edx
call fcn.00406384
mov eax, 4
call fcn.004034fc
mov ebx, eax
test ebx, ebx
jl 0x4a8879
inc ebx
mov eax, 0x24
call fcn.004034fc
movzx edx, word [eax*2 + 0x4bf074]
lea eax, [ebp - 0xe0]
call fcn.0040649c
mov edx, dword [ebp - 0xe0]
lea eax, [ebp - 0x54]
call fcn.00406654
dec ebx
jne 0x4a884b
call fcn.004a81c4
mov ecx, eax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x6c]
call fcn.0042aef0
mov eax, dword [ebp - 0x6c]
call fcn.0042a6f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a88a7
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a88c4
mov eax, dword [ebp - 0x6c]
call fcn.00404318
ret
cmp byte [0x4c59ff], 0
jne 0x4a897d
mov eax, dword [ebp - 0x10]
call fcn.0040cbcc
test al, al
jne 0x4a897d
push ebp
mov eax, dword [ebp - 0x10]
call fcn.004a8218
pop ecx
cmp byte [ebp - 0x61], 0
je 0x4a8ee7
mov eax, 0x64
call fcn.004034fc
sub eax, 0x21
jb 0x4a899d
sub eax, 0x21
jb 0x4a89ac
jmp 0x4a89bb
lea eax, [ebp - 0x38]
mov edx, 0x4a90a4
call fcn.00406384
jmp 0x4a89c8
lea eax, [ebp - 0x38]
mov edx, 0x4a90c0
call fcn.00406384
jmp 0x4a89c8
lea eax, [ebp - 0x38]
mov edx, 0x4a90dc
call fcn.00406384
cmp dword [0x4c5a30], 0
je 0x4a8aba
push 0x4a90f8
push dword [ebp - 0x38]
push 0x4a9120
push 0x4a9148
push dword [ebp - 0x28]
push 0x4a9178
push dword [ebp - 0x14]
push 0x4a9188
push dword [0x4c5950]
push 0x4a9198
push dword [ebp - 0x18]
push 0x4a9188
push dword [0x4c594c]
push 0x4a9198
push dword [ebp - 0x24]
push 0x4a9188
lea eax, [ebp - 0xf8]
call fcn.0049f9a8
push dword [ebp - 0xf8]
lea eax, [ebp - 0xf4]
mov edx, 0xd
call fcn.004067a4
mov edx, dword [ebp - 0xf4]
lea eax, [ebp - 0xf0]
mov ecx, 0
call fcn.00406544
mov eax, dword [ebp - 0xf0]
lea edx, [ebp - 0xec]
call fcn.0049eb6c
mov ecx, dword [ebp - 0xec]
lea eax, [ebp - 0xe8]
mov edx, dword [0x4c5a30]
call fcn.004058f8
mov edx, dword [ebp - 0xe8]
lea eax, [ebp - 0xe4]
call fcn.0040651c
push dword [ebp - 0xe4]
push 0x4a9178
push dword [ebp - 0x1c]
push 0x4a91a8
push dword [ebp - 0x20]
push 0x4a91c8
lea eax, [ebp - 0x3c]
mov edx, 0xa
call fcn.004067a4
jmp 0x4a8b41
push 0x4a90f8
push dword [ebp - 0x38]
push 0x4a9120
push 0x4a91e4
mov eax, dword [0x4bf32c]
push dword [eax]
push 0x4a9224
push dword [ebp - 0x28]
push 0x4a9178
push dword [ebp - 0x14]
push 0x4a9188
push dword [0x4c5950]
push 0x4a9198
push dword [ebp - 0x18]
push 0x4a9188
push dword [0x4c594c]
push 0x4a9198
push dword [ebp - 0x24]
push 0x4a9188
lea eax, [ebp - 0xfc]
call fcn.0049f9a8
push dword [ebp - 0xfc]
push 0x4a9198
push dword [ebp - 0x1c]
push 0x4a91a8
push dword [ebp - 0x20]
push 0x4a91c8
lea eax, [ebp - 0x3c]
mov edx, 0x18
call fcn.004067a4
lea eax, [ebp - 0xb0]
xor ecx, ecx
mov edx, 0x3c
call fcn.00403ad8
mov dword [ebp - 0xb0], 0x3c
mov dword [ebp - 0xac], 0x40
mov eax, 0x4a9064
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x10]
call fcn.004063bc
mov ebx, eax
mov dword [ebp - 0xa0], ebx
mov eax, dword [ebp - 0x3c]
call fcn.004063bc
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xc]
call fcn.004063bc
mov dword [ebp - 0x98], eax
xor eax, eax
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0xb0]
push eax
call sub.shell32.dll_ShellExecuteExW
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x4a8ee7
push 0xffffffffffffffff
push eax
call sub.kernel32.dll_WaitForSingleObject
cmp byte [0x4c59ff], 0
jne 0x4a8bd4
push ebx
call sub.kernel32.dll_DeleteFileW
cmp byte [ebp - 0x62], 0
je 0x4a8ee7
push dword [ebp - 0xc]
lea eax, [ebp - 0x100]
call fcn.0049fec8
push dword [ebp - 0x100]
push 0x4a9234
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004067a4
mov dl, 1
mov eax, dword [0x41d890]
call fcn.00421de8
mov dword [ebp - 0x60], eax
xor eax, eax
push ebp
push 0x4a8caa
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x4a924c
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x4a9268
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x4a9284
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x4a92b8
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x4a92d4
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x4a92f0
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x4a9318
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x4a9334
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
call dword [ecx + 0x7c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a8cb1
mov eax, dword [ebp - 0x60]
call fcn.00404318
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a8efc
ret
cmp dword [ebp - 8], 0
jle 0x4a8f0a
mov eax, dword [ebp - 4]
call fcn.004030b0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a8f5c
lea eax, [ebp - 0x118]
mov edx, 0xa
call fcn.00406328
lea eax, [ebp - 0xf0]
mov edx, 3
call fcn.00405508
lea eax, [ebp - 0xe4]
mov edx, 0xd
call fcn.00406328
lea eax, [ebp - 0x54]
mov edx, 0x13
call fcn.00406328
ret