Function at 0x497a0b
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x610
mov dword [ebp - 0x610], 0
push 0x5b8d60
lea eax, [ebp - 0x60c]
push eax
call sub.MSVCRT.dll_strcpy
add esp, 8
push 0x5b8d64
lea ecx, [ebp - 0x500]
push ecx
call sub.MSVCRT.dll_strcpy
add esp, 8
push 0x5b7cb4
lea edx, [ebp - 0x200]
push edx
call sub.MSVCRT.dll_strcpy
add esp, 8
push 0x561ac0
lea eax, [ebp - 0x200]
push eax
call sub.MSVCRT.dll_strcat
add esp, 8
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0050c456
add esp, 4
test eax, eax
je 0x497a9b
push 0x561ad0
lea edx, [ebp - 0x200]
push edx
call dword [sym.imp.MSVCRT.dll_fopen]
add esp, 8
mov dword [ebp - 0x50c], eax
jmp 0x497ab3
push 0x561ad4
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
add esp, 8
mov dword [ebp - 0x50c], eax
cmp dword [ebp - 0x50c], 0
je 0x497dd1
mov ecx, dword [ebp - 0x50c]
push ecx
push 0x200
lea edx, [ebp - 0x400]
push edx
call dword [sym.imp.MSVCRT.dll_fgets]
add esp, 0xc
mov dword [0x5b84b8], 0
jmp 0x497af5
mov eax, dword [0x5b84b8]
add eax, 1
mov dword [0x5b84b8], eax
cmp dword [0x5b84b8], 0x200
jge 0x497b11
mov ecx, dword [0x5b84b8]
mov byte [ebp + ecx - 0x400], 0
jmp 0x497ae8
mov edx, dword [ebp - 0x50c]
push edx
push 0x200
lea eax, [ebp - 0x400]
push eax
call dword [sym.imp.MSVCRT.dll_fgets]
add esp, 0xc
mov ecx, dword [ebp - 0x50c]
mov edx, dword [ecx + 0xc]
and edx, 0x10
test edx, edx
je 0x497b42
jmp 0x497dc1
lea eax, [ebp - 0x400]
push eax
call fcn.00401fca
add esp, 4
push str._COMMAND_
lea ecx, [ebp - 0x400]
push ecx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x497db4
lea edx, [ebp - 0x400]
push edx
call sub.MSVCRT.dll_strlen
add esp, 4
mov dword [ebp - 0x508], eax
mov dword [0x5b84b8], 0
jmp 0x497b9c
mov eax, dword [0x5b84b8]
add eax, 1
mov dword [0x5b84b8], eax
mov ecx, dword [0x5b84b8]
cmp ecx, dword [ebp - 0x508]
jge 0x497bc1
mov edx, dword [0x5b84b8]
movsx eax, byte [ebp + edx - 0x400]
cmp eax, 0x3e
jne 0x497bbf
jmp 0x497bc1
jmp 0x497b8f
mov ecx, dword [0x5b84b8]
add ecx, 1
mov dword [0x5b84b8], ecx
mov dword [ebp - 0x504], 0
jmp 0x497bfa
mov edx, dword [0x5b84b8]
add edx, 1
mov dword [0x5b84b8], edx
mov eax, dword [ebp - 0x504]
add eax, 1
mov dword [ebp - 0x504], eax
mov ecx, dword [0x5b84b8]
cmp ecx, dword [ebp - 0x508]
jge 0x497c46
mov edx, dword [0x5b84b8]
movsx eax, byte [ebp + edx - 0x400]
cmp eax, 0x3c
jne 0x497c2b
mov ecx, dword [ebp - 0x504]
mov byte [ebp + ecx - 0x60c], 0
jmp 0x497c46
mov edx, dword [ebp - 0x504]
mov eax, dword [0x5b84b8]
mov cl, byte [ebp + eax - 0x400]
mov byte [ebp + edx - 0x60c], cl
jmp 0x497bdc
push str.REGSVR32.EXE
lea edx, [ebp - 0x60c]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x497c93
push str.RUNDLL32
lea eax, [ebp - 0x60c]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x497c93
push str.SYSTEM32PCALUA.EXE
lea ecx, [ebp - 0x60c]
push ecx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x497db2
mov edx, dword [ebp - 0x50c]
push edx
push 0x200
lea eax, [ebp - 0x400]
push eax
call dword [sym.imp.MSVCRT.dll_fgets]
add esp, 0xc
lea ecx, [ebp - 0x400]
push ecx
call fcn.00401fca
add esp, 4
push str._ARGUMENTS_
lea edx, [ebp - 0x400]
push edx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x497db2
lea eax, [ebp - 0x400]
push eax
call sub.MSVCRT.dll_strlen
add esp, 4
mov dword [ebp - 0x508], eax
mov dword [0x5b84b8], 0
jmp 0x497d0b
mov ecx, dword [0x5b84b8]
add ecx, 1
mov dword [0x5b84b8], ecx
mov edx, dword [0x5b84b8]
cmp edx, dword [ebp - 0x508]
jge 0x497d2f
mov eax, dword [0x5b84b8]
movsx ecx, byte [ebp + eax - 0x400]
cmp ecx, 0x3e
jne 0x497d2d
jmp 0x497d2f
jmp 0x497cfc
mov edx, dword [0x5b84b8]
add edx, 1
mov dword [0x5b84b8], edx
mov dword [ebp - 0x504], 0
jmp 0x497d66
mov eax, dword [0x5b84b8]
add eax, 1
mov dword [0x5b84b8], eax
mov ecx, dword [ebp - 0x504]
add ecx, 1
mov dword [ebp - 0x504], ecx
mov edx, dword [0x5b84b8]
cmp edx, dword [ebp - 0x508]
jge 0x497db2
mov eax, dword [0x5b84b8]
movsx ecx, byte [ebp + eax - 0x400]
cmp ecx, 0x3c
jne 0x497d96
mov edx, dword [ebp - 0x504]
mov byte [ebp + edx - 0x500], 0
jmp 0x497db2
mov eax, dword [ebp - 0x504]
mov ecx, dword [0x5b84b8]
mov dl, byte [ebp + ecx - 0x400]
mov byte [ebp + eax - 0x500], dl
jmp 0x497d4a
jmp 0x497dc1
mov eax, 1
test eax, eax
jne 0x497adc
mov ecx, dword [ebp - 0x50c]
push ecx
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
lea edx, [ebp - 0x200]
push edx
call dword [sym.imp.MSVCRT.dll_remove]
add esp, 4
push 0x5b8d68
lea eax, [ebp - 0x500]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x497e23
push 0x561b24
lea ecx, [ebp - 0x60c]
push ecx
call sub.MSVCRT.dll_strcat
add esp, 8
lea edx, [ebp - 0x500]
push edx
lea eax, [ebp - 0x60c]
push eax
call sub.MSVCRT.dll_strcat
add esp, 8
lea ecx, [ebp - 0x60c]
push ecx
mov ecx, dword [ebp + 8]
call sub.MFC42.DLL_CString::CString_2
mov edx, dword [ebp - 0x610]
or edx, 1
mov dword [ebp - 0x610], edx
mov eax, dword [ebp + 8]
mov esp, ebp
pop ebp
ret