Function at 0x40a030
Capabilities:
Delete file
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x422541
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x564
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea ecx, [esp + 0x14]
mov dword [esp + 0x34], ebp
call fcn.00421016
mov eax, dword [0x431110]
mov edi, dword [sym.imp.MSVCRT.dll__mbscmp]
xor ebx, ebx
push str.CH920
push eax
mov dword [esp + 0x584], ebx
mov dword [0x42ffe4], ebx
mov dword [0x42ffe0], ebx
mov dword [0x430e34], ebx
call edi
add esp, 8
test eax, eax
mov al, byte [0x42ffb5]
jne 0x40a170
cmp al, bl
jne 0x40a202
cmp byte [0x42ffb4], bl
jne 0x40a114
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x54], esp
push 0x431110
call sub.MFC42.DLL_CString::CString_1
push ecx
mov byte [esp + 0x588], 1
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x430ba8
call sub.MFC42.DLL_CString::CString_1
mov ecx, ebp
mov byte [esp + 0x588], bl
call fcn.00405920
cmp eax, ebx
jne 0x40a108
push 0x6e
mov ecx, 0x431104
mov dword [0x4324b0], ebx
call sub.MFC42.DLL_CString::LoadStringA
mov eax, dword [0x431104]
push ebx
push ebx
push eax
call sub.MFC42.DLL_AfxMessageBox
mov byte [0x42ffb4], 1
jmp 0x40a8de
mov ecx, ebp
call fcn.00409cd0
test eax, eax
jne 0x40a155
push 0xe4
mov ecx, 0x431104
mov dword [0x4324b0], ebx
call sub.MFC42.DLL_CString::LoadStringA
mov ecx, dword [0x431104]
push ebx
push ebx
push ecx
call sub.MFC42.DLL_AfxMessageBox
mov edx, dword [ebp + 0x20]
push ebx
push ebx
push 0x10
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x40a8de
push 0x42e1a0
mov ecx, 0x430bd0
call sub.MFC42.DLL_CString::operator
mov byte [0x42ffb5], 1
jmp 0x40a202
cmp al, bl
jne 0x40a202
cmp byte [0x42ffb4], bl
jne 0x40a1ec
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x54], esp
push 0x431110
mov byte [0x42ffb4], 1
call sub.MFC42.DLL_CString::CString_1
push ecx
mov byte [esp + 0x588], 2
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x430ba8
call sub.MFC42.DLL_CString::CString_1
mov ecx, ebp
mov byte [esp + 0x588], bl
call fcn.00405920
cmp eax, ebx
jne 0x40a8de
push 0x6e
mov ecx, 0x431104
mov dword [0x4324b0], ebx
call sub.MFC42.DLL_CString::LoadStringA
mov eax, dword [0x431104]
push ebx
push ebx
push eax
call sub.MFC42.DLL_AfxMessageBox
jmp 0x40a8de
push 0x42e1a0
mov ecx, 0x430bd0
mov byte [0x42ffb5], 1
call sub.MFC42.DLL_CString::operator
mov eax, dword [0x430bd0]
push 0x42e1a0
push eax
call edi
add esp, 8
test eax, eax
jne 0x40a8f9
mov eax, dword [0x430ba8]
push str.ATMEL
push eax
call edi
add esp, 8
test eax, eax
je 0x40a246
mov eax, dword [0x430ba8]
push str.BOOREE
push eax
call edi
add esp, 8
test eax, eax
jne 0x40a8f9
lea ecx, [esp + 0x18]
call fcn.00421016
lea ecx, [esp + 0x1c]
mov byte [esp + 0x57c], 3
call fcn.00421016
lea ecx, [esp + 0x20]
mov byte [esp + 0x57c], 4
call fcn.00421016
lea ecx, [esp + 0x6c]
mov byte [esp + 0x57c], 5
push ecx
push 0x105
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea edx, [esp + 0x6c]
lea ecx, [esp + 0x1c]
push edx
call sub.MFC42.DLL_CString::operator
push 0x42e180
lea eax, [esp + 0x50]
push 0x43191c
push eax
call sub.MFC42.DLL_operator
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x580], 6
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x4c]
mov byte [esp + 0x57c], 5
call sub.MFC42.DLL_CString::CString
push 0x431110
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x50]
call sub.MFC42.DLL_CStdioFile::CStdioFile
mov ecx, dword [esp + 0x18]
push ebx
push ebx
push ecx
lea ecx, [esp + 0x5c]
mov byte [esp + 0x588], 7
call sub.MFC42.DLL_CStdioFile::Open
test eax, eax
jne 0x40a320
push 0x79
mov ecx, 0x431104
call sub.MFC42.DLL_CString::LoadStringA
mov edx, dword [0x431104]
push ebx
push ebx
push edx
call sub.MFC42.DLL_AfxMessageBox
jmp 0x40a89b
mov eax, dword [esp + 0x50]
push ebx
push ebx
lea ecx, [esp + 0x58]
call dword [eax + 0x30]
lea ecx, [esp + 0x10]
call fcn.00421016
lea ecx, [esp + 0x2c]
mov byte [esp + 0x57c], 8
call fcn.00421016
lea ecx, [esp + 0x28]
mov byte [esp + 0x57c], 9
call fcn.00421016
lea ecx, [esp + 0x30]
mov byte [esp + 0x57c], 0xa
xor esi, esi
call fcn.00421016
lea ecx, [esp + 0x10]
mov byte [esp + 0x57c], 0xb
push ecx
lea ecx, [esp + 0x54]
call sub.MFC42.DLL_CStdioFile::ReadString
test eax, eax
je 0x40a3de
cmp esi, ebx
jne 0x40a395
lea edx, [esp + 0x10]
mov ecx, 0x430030
push edx
jmp 0x40a3c6
cmp esi, 1
jne 0x40a3a6
lea eax, [esp + 0x10]
mov ecx, 0x43002c
push eax
jmp 0x40a3c6
cmp esi, 2
jne 0x40a3b7
lea ecx, [esp + 0x10]
push ecx
mov ecx, 0x430028
jmp 0x40a3c6
cmp esi, 3
jne 0x40a3cb
lea edx, [esp + 0x10]
mov ecx, 0x430024
push edx
call sub.MFC42.DLL_CString::operator_1
lea eax, [esp + 0x10]
lea ecx, [esp + 0x50]
push eax
inc esi
call sub.MFC42.DLL_CStdioFile::ReadString
test eax, eax
jne 0x40a385
lea ecx, [esp + 0x50]
call sub.MFC42.DLL_CStdioFile::Close
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 1
push 0x42e17c
mov ecx, 0x43002c
call sub.MFC42.DLL_CString::Find
test eax, eax
jne 0x40a426
push 0x79
mov ecx, 0x431104
call sub.MFC42.DLL_CString::LoadStringA
mov edx, dword [0x431104]
push ebx
push ebx
push edx
call sub.MFC42.DLL_AfxMessageBox
jmp 0x40a857
push 1
push 0x42e17c
mov ecx, 0x430028
call sub.MFC42.DLL_CString::Find
test eax, eax
jne 0x40a459
push 0x79
mov ecx, 0x431104
call sub.MFC42.DLL_CString::LoadStringA
mov eax, dword [0x431104]
push ebx
push ebx
push eax
call sub.MFC42.DLL_AfxMessageBox
jmp 0x40a857
push 1
push 0x42e17c
mov ecx, 0x430024
call sub.MFC42.DLL_CString::Find
test eax, eax
jne 0x40a48d
push 0x79
mov ecx, 0x431104
call sub.MFC42.DLL_CString::LoadStringA
mov ecx, dword [0x431104]
push ebx
push ebx
push ecx
call sub.MFC42.DLL_AfxMessageBox
jmp 0x40a857
lea ecx, [esp + 0x24]
call fcn.00421016
lea ecx, [esp + 0x38]
mov byte [esp + 0x57c], 0xc
call fcn.00421016
push 0x430030
lea ecx, [esp + 0x28]
mov byte [esp + 0x580], 0xd
call sub.MFC42.DLL_CString::operator_1
push 0x42e178
push 0x42e174
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CString::Replace
mov eax, dword [0x431c38]
push 0x42e170
push eax
call edi
mov edx, dword [esp + 0x2c]
add esp, 8
test eax, eax
push edx
jne 0x40a500
lea eax, [esp + 0x3c]
push str._s_Admin
push eax
call sub.MFC42.DLL_CString::Format_1
mov ecx, dword [esp + 0x44]
add esp, 0xc
push ecx
mov ecx, ebp
call sub.MFC42.DLL_CWnd::SetWindowTextA
mov eax, dword [0x43002c]
mov ebp, dword [sym.imp.MSVCRT.dll_sprintf]
push eax
lea ecx, [esp + 0x178]
push 0x42e15c
push ecx
xor edi, edi
call ebp
add esp, 0xc
lea ecx, [esp + 0x44]
call fcn.00421016
lea ecx, [esp + 0x48]
mov byte [esp + 0x57c], 0xe
call fcn.00421016
mov esi, dword [sym.imp.MSVCRT.dll_strtok]
lea edx, [esp + 0x174]
push 0x42e17c
push edx
mov byte [esp + 0x584], 0xf
call esi
add esp, 8
cmp eax, ebx
je 0x40a58f
mov ecx, edi
sub ecx, ebx
je 0x40a575
dec ecx
jne 0x40a57f
push eax
lea ecx, [esp + 0x4c]
jmp 0x40a57a
push eax
lea ecx, [esp + 0x48]
call sub.MFC42.DLL_CString::operator
push 0x42e17c
push ebx
inc edi
call esi
add esp, 8
cmp eax, ebx
jne 0x40a565
mov eax, dword [0x430028]
lea ecx, [esp + 0x174]
push eax
push 0x42e15c
push ecx
call ebp
add esp, 0xc
lea ecx, [esp + 0x40]
call fcn.00421016
lea ecx, [esp + 0x3c]
mov byte [esp + 0x57c], 0x10
call fcn.00421016
lea edx, [esp + 0x174]
push 0x42e17c
push edx
mov byte [esp + 0x584], 0x11
xor edi, edi
call esi
add esp, 8
cmp eax, ebx
je 0x40a60b
mov ecx, edi
sub ecx, ebx
je 0x40a5f1
dec ecx
jne 0x40a5fb
push eax
lea ecx, [esp + 0x40]
jmp 0x40a5f6
push eax
lea ecx, [esp + 0x44]
call sub.MFC42.DLL_CString::operator
push 0x42e17c
push ebx
inc edi
call esi
add esp, 8
cmp eax, ebx
jne 0x40a5e1
mov eax, dword [0x431c38]
push 0x42e158
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
jne 0x40a768
push 0x42e1b4
mov ecx, 0x430bd0
call sub.MFC42.DLL_CString::operator
push 0x42e1b4
mov ecx, 0x430e8c
call sub.MFC42.DLL_CString::operator
push 0x42e1b4
mov ecx, 0x4324ac
call sub.MFC42.DLL_CString::operator
mov eax, dword [esp + 0x34]
push ebx
push ebx
push ebx
push ebx
push eax
push 0x405ff0
mov byte [0x431c28], bl
call sub.MFC42.DLL_AfxBeginThread
mov dword [0x430050], eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x57c], 0x10
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x40]
mov byte [esp + 0x57c], 0xf
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x48]
mov byte [esp + 0x57c], 0xe
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x44]
mov byte [esp + 0x57c], 0xd
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x38]
mov byte [esp + 0x57c], 0xc
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x57c], 0xb
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x30]
mov byte [esp + 0x57c], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x57c], 9
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov byte [esp + 0x57c], 8
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x57c], 7
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x50]
mov byte [esp + 0x57c], 5
call fcn.004211f6
lea ecx, [esp + 0x20]
mov byte [esp + 0x57c], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x57c], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x57c], bl
call sub.MFC42.DLL_CString::CString
mov ebp, dword [esp + 0x34]
jmp 0x40aa37
push 0x42e1b8
mov ecx, 0x430bd0
call sub.MFC42.DLL_CString::operator
push 0x42e1b8
mov ecx, 0x4324ac
call sub.MFC42.DLL_CString::operator
push 2
push ecx
mov ecx, esp
mov dword [esp + 0x6c], esp
push 0x431110
mov byte [0x431c28], bl
call sub.MFC42.DLL_CString::CString_1
push ecx
mov byte [esp + 0x588], 0x12
mov ecx, esp
mov dword [esp + 0x74], esp
push 0x430ba8
call sub.MFC42.DLL_CString::CString_1
mov ecx, dword [esp + 0x40]
mov byte [esp + 0x588], 0x11
call fcn.00405920
cmp eax, ebx
jne 0x40a672
push 0x6e
mov ecx, 0x431104
mov dword [0x4324b0], ebx
call sub.MFC42.DLL_CString::LoadStringA
mov ecx, dword [0x431104]
push ebx
push ebx
push ecx
call sub.MFC42.DLL_AfxMessageBox
lea ecx, [esp + 0x3c]
mov byte [esp + 0x57c], 0x10
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x40]
mov byte [esp + 0x57c], 0xf
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x48]
mov byte [esp + 0x57c], 0xe
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x44]
mov byte [esp + 0x57c], 0xd
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x38]
mov byte [esp + 0x57c], 0xc
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x57c], 0xb
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x30]
mov byte [esp + 0x57c], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x57c], 9
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov byte [esp + 0x57c], 8
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x57c], 7
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x50]
mov byte [esp + 0x57c], 5
call fcn.004211f6
lea ecx, [esp + 0x20]
mov byte [esp + 0x57c], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x57c], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x57c], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x57c], 0xffffffff
call sub.MFC42.DLL_CString::CString
xor eax, eax
jmp 0x40aa61
mov eax, dword [0x430bd0]
push 0x42e1b4
push eax
call edi
add esp, 8
test eax, eax
jne 0x40a981
mov eax, dword [0x430ba8]
push str.ATMEL
push eax
call edi
add esp, 8
test eax, eax
je 0x40a935
mov eax, dword [0x430ba8]
push str.BOOREE
push eax
call edi
add esp, 8
test eax, eax
jne 0x40a981
push 0x42e1b4
mov ecx, 0x430bd0
call sub.MFC42.DLL_CString::operator
push 0x42e1b4
mov ecx, 0x430e8c
call sub.MFC42.DLL_CString::operator
push 0x42e1b4
mov ecx, 0x4324ac
call sub.MFC42.DLL_CString::operator
push ebx
push ebx
push ebx
push ebx
push ebp
push 0x405ff0
mov byte [0x431c28], bl
call sub.MFC42.DLL_AfxBeginThread
mov dword [0x430050], eax
jmp 0x40aa37
mov eax, dword [0x430bd0]
push 0x42e1b8
push eax
call edi
add esp, 8
test eax, eax
jne 0x40aa37
mov eax, dword [0x430ba8]
push str.ATMEL
push eax
call edi
add esp, 8
test eax, eax
je 0x40a9c1
mov eax, dword [0x430ba8]
push str.BOOREE
push eax
call edi
add esp, 8
test eax, eax
jne 0x40aa37
push 0x42e1b8
mov ecx, 0x430bd0
call sub.MFC42.DLL_CString::operator
push 0x42e1b8
mov ecx, 0x430e8c
call sub.MFC42.DLL_CString::operator
push 0x42e1b8
mov ecx, 0x4324ac
call sub.MFC42.DLL_CString::operator
cmp dword [0x430008], 5
jae 0x40aa0e
mov edx, dword [ebp + 0x20]
push ebx
push 0x1b58
push 0x410
push edx
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x40aa37
mov eax, dword [ebp + 0x20]
push 0x413
push eax
call dword [sym.imp.USER32.dll_KillTimer]
push ebx
push ebx
push ebx
push ebx
push ebp
push 0x407700
mov dword [0x430008], ebx
call sub.MFC42.DLL_AfxBeginThread
mov dword [0x43004c], eax
push 0x42ffb0
push 0x498
mov ecx, ebp
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
lea ecx, [esp + 0x14]
mov dword [esp + 0x57c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 1
mov ecx, dword [esp + 0x574]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x570
ret