Function at 0x403b40
Capabilities:
Delete file
Execute command
Move file

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x408883
push eax
mov eax, 0x1c08
mov dword fs:[0], esp
call fcn.00408450
push ebx
push ebp
push esi
push edi
mov eax, dword [esp + 0x1c28]
xor ebp, ebp
lea ecx, [esp + 0x1c28]
mov dword [esp + 0x1c20], ebp
mov eax, dword [eax - 8]
mov dword [esp + 0x14], ebp
push eax
call sub.MFC42.DLL_CString::GetBuffer
mov ebx, dword [sym.imp.MSVCRT.dll_sprintf]
push eax
lea ecx, [esp + 0xc1c]
push 0x40b11c
push ecx
call ebx
mov edx, dword [esp + 0x1c34]
add esp, 0xc
lea ecx, [esp + 0x1c28]
mov eax, dword [edx - 8]
push eax
call sub.MFC42.DLL_CString::GetBuffer
push eax
lea eax, [esp + 0x141c]
push str._s.tmp
push eax
call ebx
mov ecx, dword [0x40c528]
mov edx, dword [0x40c51c]
add esp, 0xc
mov eax, dword [ecx - 8]
mov ecx, dword [0x40c524]
mov esi, dword [edx - 8]
push ecx
push eax
mov ecx, 0x40c528
call sub.MFC42.DLL_CString::GetBuffer
mov edi, dword [sym.imp.WS2_32.dll_inet_addr]
push eax
call edi
mov edx, dword [0x40c518]
push eax
push edx
push esi
mov ecx, 0x40c51c
call sub.MFC42.DLL_CString::GetBuffer
push eax
call edi
push eax
lea eax, [esp + 0x28]
push str.__u__s__u__s_
push eax
call ebx
add esp, 0x18
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc18]
lea edx, [esp + 0xc18]
push ecx
push edx
lea eax, [esp + 0x18]
push str.copy__s__s.logbase
push eax
mov byte [esp + 0x1c30], 1
call sub.MFC42.DLL_CString::Format
add esp, 0x10
lea ecx, [esp + 0xc18]
push ecx
mov ecx, 0x40c544
call sub.MFC42.DLL_CString::operator_1
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.MSVCRT.dll_system]
mov esi, dword [sym.imp.MSVCRT.dll_fopen]
lea eax, [esp + 0xc1c]
push 0x40baa4
push eax
call esi
mov ebx, eax
add esp, 0xc
cmp ebx, ebp
je 0x403ca3
lea ecx, [esp + 0x1418]
push 0x40baa0
push ecx
call esi
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x403cd2
lea ecx, [esp + 0x10]
mov byte [esp + 0x1c20], 0
call fcn.0040830c
lea ecx, [esp + 0x1c28]
mov dword [esp + 0x1c20], 0xffffffff
call fcn.0040830c
xor eax, eax
jmp 0x40405a
push ebx
lea edx, [esp + 0x81c]
push 0x400
push edx
call dword [sym.imp.MSVCRT.dll_fgets]
mov esi, dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0xc
test eax, eax
je 0x403ee2
mov al, byte [esp + 0x818]
mov byte [esp + 0xc17], 0
test al, al
lea edi, [esp + 0x818]
je 0x403eb7
mov al, byte [edi]
mov ecx, edi
test al, al
je 0x403d35
cmp al, 0x20
je 0x403d35
cmp al, 9
je 0x403d35
cmp al, 0xd
je 0x403d35
cmp al, 0xa
je 0x403d35
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x403d1d
mov al, byte [edi]
test al, al
je 0x403d56
cmp al, 0x20
je 0x403d4b
cmp al, 9
je 0x403d4b
cmp al, 0xd
je 0x403d4b
cmp al, 0xa
jne 0x403d56
mov byte [edi], 0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x403d3b
lea eax, [esp + 0x18]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
je 0x403d84
lea ecx, [esp + 0x818]
push ecx
push ebp
call esi
push 0x40ba9c
push ebp
call esi
add esp, 0x10
jmp 0x403eae
lea edx, [esp + 0x18]
push edx
push ebp
call esi
mov eax, dword [0x40c510]
push str.powerbuilder
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 0x10
test eax, eax
je 0x403e2f
mov eax, dword [0x40c510]
push str.sqladvantage
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
je 0x403e2f
mov eax, dword [0x40c51c]
mov ecx, dword [0x40c52c]
push ecx
mov ecx, 0x40c51c
mov eax, dword [eax - 8]
push eax
call sub.MFC42.DLL_CString::GetBuffer
push eax
lea edx, [esp + 0x20]
push str._nmasterNLWNSCK__s__d
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
lea eax, [esp + 0x28]
push eax
push ebp
call esi
mov ecx, dword [0x40c51c]
mov edx, dword [0x40c52c]
add esp, 0x18
mov eax, dword [ecx - 8]
mov ecx, 0x40c51c
push edx
push eax
call sub.MFC42.DLL_CString::GetBuffer
push eax
lea eax, [esp + 0x20]
push str._nqueryNLWNSCK__s__d
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
lea ecx, [esp + 0x28]
push ecx
push ebp
call esi
add esp, 0x18
jmp 0x403e70
mov edx, dword [0x40c500]
lea eax, [esp + 0x18]
push edx
push str._nmasterNLWNSCK_127.0.0.1__d
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
lea ecx, [esp + 0x24]
push ecx
push ebp
call esi
mov edx, dword [0x40c500]
lea eax, [esp + 0x2c]
push edx
push str._nqueryNLWNSCK_127.0.0.1__d
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
lea ecx, [esp + 0x38]
push ecx
push ebp
call esi
add esp, 0x28
push 0x40ba9c
push ebp
call esi
push ebx
lea edx, [esp + 0x824]
push 0x400
push edx
call dword [sym.imp.MSVCRT.dll_fgets]
push ebx
lea eax, [esp + 0x830]
push 0x400
push eax
call dword [sym.imp.MSVCRT.dll_fgets]
add esp, 0x20
mov dword [esp + 0x14], 1
mov byte [edi], 0
cmp byte [edi], 0
jne 0x403d15
push ebx
lea ecx, [esp + 0x81c]
push 0x400
push ecx
call dword [sym.imp.MSVCRT.dll_fgets]
add esp, 0xc
test eax, eax
jne 0x403cf7
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x403ff7
push 0x40ba9c
push ebx
call esi
push 0x40ba9c
push ebx
call esi
lea edx, [esp + 0x28]
push edx
push ebx
call esi
mov eax, dword [0x40c510]
mov edi, dword [sym.imp.MSVCRT.dll__mbsicmp]
push str.powerbuilder
push eax
call edi
add esp, 0x20
test eax, eax
je 0x403f99
mov eax, dword [0x40c510]
push str.sqladvantage
push eax
call edi
add esp, 8
test eax, eax
je 0x403f99
mov eax, dword [0x40c51c]
mov ecx, dword [0x40c52c]
push ecx
mov ecx, 0x40c51c
mov eax, dword [eax - 8]
push eax
call sub.MFC42.DLL_CString::GetBuffer
mov edi, dword [sym.imp.MSVCRT.dll_sprintf]
push eax
lea edx, [esp + 0x20]
push str._nmasterNLWNSCK__s__d
push edx
call edi
lea eax, [esp + 0x28]
push eax
push ebx
call esi
mov ecx, dword [0x40c51c]
mov edx, dword [0x40c52c]
add esp, 0x18
mov eax, dword [ecx - 8]
mov ecx, 0x40c51c
push edx
push eax
call sub.MFC42.DLL_CString::GetBuffer
push eax
lea eax, [esp + 0x20]
push str._nqueryNLWNSCK__s__d
push eax
call edi
lea ecx, [esp + 0x28]
push ecx
push ebx
call esi
add esp, 0x18
jmp 0x403fd8
mov edx, dword [0x40c500]
mov edi, dword [sym.imp.MSVCRT.dll_sprintf]
push edx
lea eax, [esp + 0x1c]
push str._nmasterNLWNSCK_127.0.0.1__d
push eax
call edi
lea ecx, [esp + 0x24]
push ecx
push ebx
call esi
mov edx, dword [0x40c500]
lea eax, [esp + 0x2c]
push edx
push str._nqueryNLWNSCK_127.0.0.1__d
push eax
call edi
lea ecx, [esp + 0x38]
push ecx
push ebx
call esi
add esp, 0x28
mov esi, dword [sym.imp.MSVCRT.dll_fclose]
push ebx
call esi
push ebp
call esi
add esp, 8
lea edx, [esp + 0x1418]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x40402d
mov esi, dword [sym.imp.MSVCRT.dll_fclose]
push ebx
call esi
push ebp
call esi
add esp, 8
lea eax, [esp + 0xc18]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0xc18]
lea edx, [esp + 0x1418]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll_rename]
add esp, 8
lea ecx, [esp + 0x10]
mov byte [esp + 0x1c20], 0
call fcn.0040830c
lea ecx, [esp + 0x1c28]
mov dword [esp + 0x1c20], 0xffffffff
call fcn.0040830c
mov eax, 1
mov ecx, dword [esp + 0x1c18]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1c14
ret 4