Function at 0x41b000
Capabilities:
Get common file path
Move file
Read .ini file

Disassembly:
sub esp, 0x438
mov eax, dword [esp + 0x440]
push ebx
dec eax
cmp eax, 0x65
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x10], ebx
ja case.0x41b027.3
movzx eax, byte [eax + 0x41b43c]
jmp dword [eax*4 + 0x41b424]
mov ecx, dword [ebx]
push 0
push 0
push 0x188
push 0x67
push ecx
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
cmp eax, 0xffffffff
je 0x41b062
mov edx, dword [ebx]
push eax
push edx
call dword [sym.imp.USER32.dll_EndDialog]
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x438
ret 8
mov eax, dword [ebx]
push 0x3e8
push eax
call dword [sym.imp.USER32.dll_EndDialog]
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x438
ret 8
mov ecx, dword [ebx]
push 0x3e8
push ecx
call dword [sym.imp.USER32.dll_EndDialog]
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x438
ret 8
push 0x4668f8
push 0
push 0x455e64
push 0x455e6c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov esi, eax
inc esi
push esi
lea edx, [esp + 0x18]
push 0x455e74
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0x4668f8
lea eax, [esp + 0x18]
push eax
push 0x455e78
push 0x455e80
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push str.A_new_TncPort_File_Has_Been_Created._You_Must_Configure_That_Tnc_First.To_Energize_it_You_Must_Restart_The_Program
push str.NEWPORT
push str.FINDPORT
call fcn.0040d190
mov ecx, dword [ebx]
add esp, 0xc
push 0x40
push str.AGWTNC
push 0x466a30
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov edx, dword [ebx]
dec esi
push esi
push edx
call dword [sym.imp.USER32.dll_EndDialog]
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x438
ret 8
mov eax, dword [ebx]
push 0
push 0
push 0x147
push 0x67
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
lea ecx, [esp + 0x138]
push ecx
push 0x104
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
cmp edi, 0xffffffff
jne 0x41b17d
mov edx, dword [ebx]
push 0x3e8
push edx
call dword [sym.imp.USER32.dll_EndDialog]
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x438
ret 8
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push ebp
push edi
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0x40]
push 0x455f18
push ecx
call esi
push edi
lea edx, [esp + 0x150]
push edx
lea eax, [esp + 0x258]
push str._s_port_d.old
push eax
call esi
add esp, 0x20
push 1
lea ecx, [esp + 0x244]
push ecx
lea edx, [esp + 0x40]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 0x4668f8
push 0
push 0x455f38
push 0x455f40
call ebx
dec eax
push eax
mov dword [esp + 0x14], eax
lea eax, [esp + 0x1c]
push 0x455f48
push eax
call esi
mov ebp, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
add esp, 0xc
push 0x4668f8
lea ecx, [esp + 0x1c]
push ecx
push 0x455f4c
push 0x455f54
call ebp
mov eax, dword [esp + 0x10]
cmp eax, edi
je 0x41b3ce
inc edi
cmp edi, eax
jg 0x41b3ce
jmp 0x41b230
push edi
lea edx, [esp + 0x140]
push edx
lea eax, [esp + 0x40]
push 0x455f5c
push eax
call esi
add esp, 0x10
lea ecx, [esp + 0x38]
push ecx
push 0
push 0x455f6c
push 0x455f78
call ebx
cmp eax, 1
jle 0x41b38e
lea edx, [esp + 0x38]
push edx
push 0
push 0x455f7c
push 0x455f88
call ebx
dec eax
test eax, eax
jle 0x41b2a2
push eax
lea eax, [esp + 0x1c]
push 0x455f94
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x1c]
push edx
push 0x455f98
push 0x455fa4
call ebp
lea eax, [esp + 0x38]
push eax
push 0
push 0x455fb0
push 0x455fbc
call ebx
dec eax
test eax, eax
jle 0x41b2e0
push eax
lea ecx, [esp + 0x1c]
push 0x455fc8
push ecx
call esi
add esp, 0xc
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x1c]
push eax
push 0x455fcc
push 0x455fd8
call ebp
lea ecx, [esp + 0x38]
push ecx
push 0
push 0x455fe4
push 0x455ff0
call ebx
dec eax
test eax, eax
jle 0x41b31e
push eax
lea edx, [esp + 0x1c]
push 0x455ffc
push edx
call esi
add esp, 0xc
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x1c]
push ecx
push 0x456000
push 0x45600c
call ebp
lea edx, [esp + 0x38]
push edx
push 0xf
lea eax, [esp + 0x20]
push eax
push str.SV_AGW
push 0x456020
push 0x45602c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x18]
push 0x456038
push ecx
call fcn.0044370e
add esp, 8
test eax, eax
jne 0x41b38e
lea edx, [esp + 0x38]
push edx
push eax
push 0x456040
push 0x45604c
call ebx
dec eax
push eax
lea eax, [esp + 0x1c]
push 0x456058
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x1c]
push edx
push 0x45605c
push 0x456068
call ebp
lea eax, [edi - 1]
push eax
lea ecx, [esp + 0x140]
push ecx
lea edx, [esp + 0x34c]
push str._s_port_d.ini
push edx
call esi
add esp, 0x10
push 1
lea eax, [esp + 0x348]
push eax
lea ecx, [esp + 0x40]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
mov eax, dword [esp + 0x10]
inc edi
cmp edi, eax
jle 0x41b230
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
push 0x3e8
push eax
call dword [sym.imp.USER32.dll_EndDialog]
pop ebp
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x438
ret 8
mov ecx, dword [ebx]
push 1
push 1
push 0x466620
push ecx
call dword [sym.imp.USER32.dll_WinHelpA]
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x438
ret 8
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x438
ret 8