Function at 0x484140
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53fdf1
mov eax, dword fs:[0]
push eax
sub esp, 0x69c
mov eax, dword [0x5bc684]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x6a8], eax
mov dword [ebp - 0x6a4], ecx
mov edi, 0x10a
test ebx, ebx
je 0x4848d0
cmp dword [0x5c19bc], 0
jne 0x4848d0
push str.svrltwp.dll
push str.._vsext
lea ecx, [ebp - 0x6a0]
call fcn.00415690
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x6a0]
call fcn.00415e30
test eax, eax
je 0x4841de
lea ecx, [ebp - 0x6a0]
call fcn.004157e0
lea ecx, [ebp - 0x6a0]
call fcn.00415770
push str.svrltwp.dll
push str.._ntext
lea ecx, [ebp - 0x45c]
call fcn.00415690
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x45c]
call fcn.00415e30
test eax, eax
je 0x48421c
lea ecx, [ebp - 0x45c]
call fcn.004157e0
lea ecx, [ebp - 0x45c]
call fcn.00415770
mov eax, dword [ebx + 0x60]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
add eax, 0x1ec8
cmp byte [eax], 0
je 0x484232
push eax
call esi
push 0x103
lea edx, [ebp - 0x113]
push 0
push edx
mov byte [ebp - 0x114], 0
call fcn.004ff6f0
lea eax, [ebp - 0x114]
push 0x104
push eax
call fcn.0046e5d0
lea ecx, [ebp - 0x114]
push ecx
call fcn.004bf2e0
lea eax, [ebp - 0x114]
add esp, 0x18
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x484273
mov edx, dword [str.xsysym.dll]
mov ecx, dword [0x56e9a8]
mov dword [eax], edx
mov dx, word [0x56e9ac]
mov dword [eax + 4], ecx
mov cl, byte [0x56e9ae]
mov word [eax + 8], dx
lea edx, [ebp - 0x114]
push edx
mov byte [eax + 0xa], cl
call esi
mov eax, dword [0x5c159c]
xor ecx, ecx
cmp dword [0x5c0184], ecx
push eax
sete cl
push ecx
push ebx
call fcn.0047dda0
add esp, 0xc
push ebx
call fcn.0047e9c0
mov edx, dword [0x5c159c]
push edx
push ebx
call fcn.0047ec90
push ebx
call fcn.0047daf0
mov eax, dword [0x5c159c]
mov ecx, dword [0x5c0184]
mov edx, dword [ebx + 0x60]
push eax
push 1
push ecx
push str..dll
push 0xb
add edx, 0x1ab8
push 0x5c0520
push edx
call fcn.00481c90
mov eax, dword [0x5c159c]
mov ecx, dword [0x5c0184]
mov edx, dword [ebx + 0x60]
push eax
push 1
push ecx
push str..dll
push 0x12
add edx, 0x448
push 0x5c0628
push edx
call fcn.00481c90
mov eax, dword [0x5c159c]
mov ecx, dword [0x5c0184]
mov edx, dword [ebx + 0x60]
add esp, 0x44
push eax
push 1
push ecx
push str..dll
push 0
add edx, 0x17ac
push 0x5c0418
push edx
call fcn.00481c90
mov eax, dword [0x5c159c]
mov ecx, dword [0x5c0184]
mov edx, dword [ebx + 0x60]
push eax
push 1
push ecx
push str..dll
push 1
add edx, 0xa60
push 0x5c0d60
push edx
call fcn.00481c90
mov eax, dword [0x5c159c]
mov ecx, dword [0x5c0184]
push eax
push 1
mov edx, dword [ebx + 0x60]
push ecx
push str..dll
push 8
add edx, 0x754
push 0x5c1078
push edx
call fcn.00481c90
add esp, 0x54
cmp dword [0x5c159c], 0
je 0x4843e0
push 0
push 0xa
push 0x104
push 0x5c1390
call fcn.0047d6b0
push 0x5c1390
call fcn.004c9100
add esp, 0x14
jmp 0x484400
xor eax, eax
mov cl, byte [eax + 0x5c0418]
mov byte [eax + 0x5c1390], cl
inc eax
test cl, cl
jne 0x4843e2
push 0x5c1390
call fcn.004c9100
add esp, 4
push 0x104
push 0x5c1288
call fcn.0046e5d0
push 0x5c1288
call fcn.004bf2e0
mov eax, 0x5c1390
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x484423
mov edi, 0x5c1288
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x484432
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, 0x5c1288
rep movsb byte es:[edi], byte [esi]
dec eax
mov edi, edi
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x484450
mov ecx, dword [str..sys]
mov dl, byte [0x56e9a0]
mov dword [eax], ecx
mov ecx, dword [0x5c0184]
mov byte [eax + 4], dl
mov eax, dword [0x5c159c]
mov edx, dword [ebx + 0x60]
push eax
push 1
push ecx
push 0x54f278
push 5
add edx, 0x18b0
push 0x5c0730
push edx
call fcn.00481c90
mov eax, dword [0x5c159c]
mov ecx, dword [0x5c0184]
mov edx, dword [ebx + 0x60]
push eax
push 1
push ecx
push str..dll
push 6
add edx, 0x19b4
push 0x5c0838
push edx
call fcn.00481c90
mov eax, dword [0x5c159c]
mov ecx, dword [0x5c0184]
mov edx, dword [ebx + 0x60]
push eax
push 1
push ecx
push str..dll
push 7
add edx, 0x98cc
push 0x5c0b50
push edx
call fcn.00481c90
add esp, 0x54
push 0x47
push 4
push str.shell32.dll
call fcn.004c3eb0
add esp, 0xc
test eax, eax
jne 0x48452c
mov eax, dword [0x5c159c]
mov ecx, dword [0x5c0184]
mov edx, dword [ebx + 0x60]
push eax
push 1
push ecx
push 0x54f278
push 4
add edx, 0x9ad4
push 0x5c0c58
push edx
call fcn.00481c90
add esp, 0x1c
xor eax, eax
mov edi, edi
mov cl, byte [eax + str.ocxdrv32.dll]
mov byte [ebp + eax - 0x218], cl
inc eax
test cl, cl
jne 0x484530
push 0x5c
push 0x5bff78
call fcn.004ff460
add esp, 8
test eax, eax
je 0x48456a
inc eax
mov edx, str.ocxdrv32.dll
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x484560
mov eax, dword [ebp - 0x6a4]
push eax
push ebx
call fcn.00483f40
mov ecx, dword [ebp - 0x6a8]
push 1
push ecx
push ebx
call fcn.00482860
add esp, 0x14
mov edi, eax
xor eax, eax
lea ecx, [ecx]
mov cl, byte [ebp + eax - 0x218]
mov byte [eax + str.ocxdrv32.dll], cl
inc eax
test cl, cl
jne 0x484590
test edi, edi
je 0x4845ea
mov edx, dword [0x5bbfe4]
mov dword [ebp - 0x6a4], edx
mov byte [ebp - 4], 2
push edi
lea eax, [ebp - 0x6a4]
push 0xe001
push eax
call fcn.004c13b0
mov ecx, dword [ebp - 0x6a4]
push 1
push 0xa
push ecx
call fcn.00407720
add esp, 0x18
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6a4]
call fcn.004bfa40
cmp byte [0x5bfef8], 0
je 0x484602
push 0
push 0x5bfef8
call fcn.004cabd0
add esp, 8
mov eax, dword [ebx + 0x60]
mov edx, 0x5c0418
add eax, 0x17ac
nop
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
test cl, cl
jne 0x484610
mov eax, dword [ebx + 0x60]
mov edx, 0x5c0520
add eax, 0x1ab8
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
test cl, cl
jne 0x484627
mov eax, dword [ebx + 0x60]
mov edx, 0x5c0d60
add eax, 0xa60
mov edi, edi
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
test cl, cl
jne 0x484640
mov ecx, dword [ebx + 0x60]
mov edx, 0x5c0e68
add ecx, 0xb64
mov al, byte [edx]
mov byte [ecx], al
inc edx
inc ecx
test al, al
jne 0x484658
mov ecx, dword [ebx + 0x60]
mov edx, 0x5c0f70
add ecx, 0x1dc4
mov al, byte [edx]
mov byte [ecx], al
inc edx
inc ecx
test al, al
jne 0x484670
mov eax, dword [ebx + 0x60]
mov edx, 0x5c1078
add eax, 0x754
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
test cl, cl
jne 0x484687
mov ecx, dword [ebx + 0x60]
mov edx, 0x5c1180
add ecx, 0x858
nop
mov al, byte [edx]
mov byte [ecx], al
inc edx
inc ecx
test al, al
jne 0x4846a0
mov eax, dword [ebx + 0x60]
mov edx, 0x5c1288
add eax, 0x650
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
test cl, cl
jne 0x4846b7
mov eax, dword [ebx + 0x60]
mov edx, 0x5c0730
add eax, 0x18b0
mov edi, edi
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
test cl, cl
jne 0x4846d0
mov eax, dword [ebx + 0x60]
mov edx, 0x5c0838
add eax, 0x19b4
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
test cl, cl
jne 0x4846e7
mov eax, dword [ebx + 0x60]
mov edx, 0x5c0b50
add eax, 0x98cc
mov edi, edi
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
test cl, cl
jne 0x484700
mov eax, dword [ebx + 0x60]
mov edx, 0x5c0c58
add eax, 0x9ad4
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
test cl, cl
jne 0x484717
mov eax, dword [ebx + 0x60]
mov edx, 0x5c0628
add eax, 0x448
mov edi, edi
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
test cl, cl
jne 0x484730
mov eax, dword [ebx + 0x60]
mov edx, 0x5c1390
add eax, 0x1bbc
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
test cl, cl
jne 0x484747
mov ecx, dword [ebx + 0x60]
mov edx, 0x5c1498
add ecx, 0x54c
nop
mov al, byte [edx]
mov byte [ecx], al
inc edx
inc ecx
test al, al
jne 0x484760
mov ecx, dword [ebx + 0x60]
mov edx, 0x5c15a0
add ecx, 0x1ec8
mov al, byte [edx]
mov byte [ecx], al
inc edx
inc ecx
test al, al
jne 0x484778
cmp dword [0x5c159c], 0
je 0x4847da
mov ecx, dword [ebx + 0x60]
mov edx, str.__923__
add ecx, 0x95c0
lea esp, [esp]
mov al, byte [edx]
mov byte [ecx], al
inc edx
inc ecx
test al, al
jne 0x4847a0
mov ecx, dword [ebx + 0x60]
mov edx, 0x5bba08
add ecx, 0x96c4
mov al, byte [edx]
mov byte [ecx], al
inc edx
inc ecx
test al, al
jne 0x4847b8
mov ecx, dword [ebx + 0x60]
mov edx, 0x5bb9e8
add ecx, 0x97c8
mov al, byte [edx]
mov byte [ecx], al
inc edx
inc ecx
test al, al
jne 0x4847d0
mov edx, dword [ebx + 0x60]
mov esi, dword [sym.imp.ole32.dll_CoCreateGuid]
add edx, 0x2414
push edx
call esi
mov eax, dword [ebx + 0x60]
add eax, 0xc80
push eax
call esi
mov ecx, dword [ebx + 0x60]
add ecx, 0xc90
push ecx
call esi
cmp dword [0x5c159c], 0
je 0x48482c
mov ecx, dword [ebx + 0x60]
mov edx, str._34_.__.
add ecx, 0x2424
lea ebx, [ebx]
mov al, byte [edx]
mov byte [ecx], al
inc edx
inc ecx
test al, al
jne 0x484820
jmp 0x48483e
mov edx, dword [ebx + 0x60]
add edx, 0x2424
push edx
call fcn.004da960
add esp, 4
mov eax, dword [ebx + 0x60]
movsx ecx, byte [eax + 0x2424]
push ecx
call fcn.00501492
mov edx, dword [ebx + 0x60]
mov byte [edx + 0x2424], al
mov eax, dword [ebx + 0x60]
add eax, 0xca0
push eax
call fcn.004da960
mov ecx, dword [ebx + 0x60]
movsx edx, byte [ecx + 0xca0]
push edx
call fcn.00501492
mov ecx, dword [ebx + 0x60]
mov byte [ecx + 0xca0], al
mov edx, dword [ebx + 0x60]
add edx, 0xd20
push edx
call fcn.004da960
mov eax, dword [ebx + 0x60]
movsx ecx, byte [eax + 0xd20]
push ecx
call fcn.00501492
mov edx, dword [ebx + 0x60]
push ebx
mov byte [edx + 0xd20], al
call fcn.004836f0
add esp, 0x18
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x45c]
call fcn.00415dc0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6a0]
call fcn.00415dc0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004fe1f5
mov esp, ebp
pop ebp
ret