Function at 0x401c00
Capabilities:
Link many functions at runtime
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc9c
push ebx
push esi
push edi
mov dword [ebp - 0x528], 0
mov dword [ebp - 0x838], 0
mov dword [ebp - 0x14], 0
push 0
push 0
push 0x147
push 0x65
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x118], eax
lea eax, [ebp - 0x51c]
push eax
mov eax, dword [ebp - 0x118]
push eax
push 0x148
push 0x65
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x834], eax
cmp dword [ebp - 0x834], 0xffffffff
jne 0x401cc2
push 0xff
push 0x404080
push str.Invalid_server_name_selected
push 0x2718
call section..text
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
mov eax, 0x404280
add eax, 4
push eax
push 0x404080
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x40285f
push 0xff
lea eax, [ebp - 0x72c]
push eax
push str.QUERY
push 0x2719
call section..text
mov eax, 0x404280
add eax, 0x304
push eax
push 0xff
lea eax, [ebp - 0x41c]
push eax
push 0x4061a0
lea eax, [ebp - 0x72c]
push eax
lea eax, [ebp - 0x51c]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x401d55
push 0xff
push 0x404080
push str.Cannot_read_address_string_for_the_server
push 0x271a
call section..text
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
mov eax, 0x404280
add eax, 4
push eax
push 0x404080
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x40285f
lea eax, [ebp - 0x41c]
mov dword [ebp - 0x21c], eax
push 0x2c
lea eax, [ebp - 0x41c]
push eax
call dword [sym.imp.MSVCRT20.dll_strchr]
add esp, 8
mov dword [ebp - 0xa8c], eax
cmp dword [ebp - 0xa8c], 0
jne 0x401deb
push 0x3b
lea eax, [ebp - 0x41c]
push eax
call dword [sym.imp.MSVCRT20.dll_strchr]
add esp, 8
mov dword [ebp - 0xa8c], eax
cmp dword [ebp - 0xa8c], 0
jne 0x401deb
push 0xff
push 0x404080
push str.Syntax_error_in_the_address_string_for_the_server
push 0x271b
call section..text
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
mov eax, 0x404280
add eax, 4
push eax
push 0x404080
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x40285f
mov eax, dword [ebp - 0xa8c]
movsx eax, byte [eax]
cmp eax, 0x3b
jne 0x401f0b
mov eax, dword [ebp - 0xa8c]
mov byte [eax], 0
push 0xff
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x72c]
push eax
call dword [sym.imp.MSVCRT20.dll_strncpy]
add esp, 0xc
mov eax, 0x404280
add eax, 0x304
push eax
push 0xff
lea eax, [ebp - 0x41c]
push eax
push 0x4061a0
lea eax, [ebp - 0x72c]
push eax
lea eax, [ebp - 0x51c]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x401e9a
push 0xff
push 0x404080
push str.Cannot_read_address_string_for_the_server
push 0x271a
call section..text
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
mov eax, 0x404280
add eax, 4
push eax
push 0x404080
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x40285f
lea eax, [ebp - 0x41c]
mov dword [ebp - 0x21c], eax
push 0x2c
lea eax, [ebp - 0x41c]
push eax
call dword [sym.imp.MSVCRT20.dll_strchr]
add esp, 8
mov dword [ebp - 0xa8c], eax
cmp dword [ebp - 0xa8c], 0
jne 0x401f0b
push 0xff
push 0x404080
push str.Syntax_error_in_the_address_string_for_the_server
push 0x271b
call section..text
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
mov eax, 0x404280
add eax, 4
push eax
push 0x404080
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x40285f
mov eax, dword [ebp - 0xa8c]
mov byte [eax], 0
inc dword [ebp - 0xa8c]
jmp 0x401f25
inc dword [ebp - 0x21c]
cmp dword [ebp - 0x21c], 0
je 0x401f5a
mov eax, dword [ebp - 0x21c]
movsx eax, byte [eax]
test eax, eax
je 0x401f5a
mov eax, dword [ebp - 0x21c]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x401f5a
jmp 0x401f1f
push 0x20
mov eax, dword [ebp - 0x21c]
push eax
call dword [sym.imp.MSVCRT20.dll_strchr]
add esp, 8
mov dword [ebp - 0x62c], eax
cmp dword [ebp - 0x62c], 0
je 0x401f88
mov eax, dword [ebp - 0x62c]
mov byte [eax], 0
push 0xff
lea eax, [ebp - 0x628]
push eax
push str.DRIVERS
push 0x271c
call section..text
mov eax, 0x404280
add eax, 0x204
push eax
push 0xff
lea eax, [ebp - 0x218]
push eax
push 0x4061a0
mov eax, dword [ebp - 0x21c]
push eax
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x402039
push 0xff
lea eax, [ebp - 0xb8c]
push eax
push str.NetLibrary_driver__s_is_not_properly_installed
push 0x271a
call section..text
mov eax, dword [ebp - 0x21c]
push eax
lea eax, [ebp - 0xb8c]
push eax
push 0x404080
call dword [sym.imp.MSVCRT20.dll_sprintf]
add esp, 0xc
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
mov eax, 0x404280
add eax, 4
push eax
push 0x404080
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x40285f
mov eax, dword [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4020c4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x844], eax
push 0xff
lea eax, [ebp - 0xb8c]
push eax
push str.NetLibrary_driver__s_cant_be_loaded_nOperating_System_returned__ld
push 0x271a
call section..text
mov eax, dword [ebp - 0x844]
push eax
mov eax, dword [ebp - 0x21c]
push eax
lea eax, [ebp - 0xb8c]
push eax
push 0x404080
call dword [sym.imp.MSVCRT20.dll_sprintf]
add esp, 0x10
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
mov eax, 0x404280
add eax, 4
push eax
push 0x404080
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x40285f
push 0xff
lea eax, [ebp - 0x114]
push eax
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x4020fe
push 0xff
mov eax, dword [ebp - 0x21c]
push eax
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.MSVCRT20.dll_strncpy]
add esp, 0xc
push str.ipd_initsize
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xc90], eax
push str.ipd_init
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xc], eax
push str.ipd_close
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xa88], eax
push str.ipd_connect
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 4], eax
push str.ipd_exit
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 8], eax
push str.ipd_property
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x840], eax
push str.ipd_err_string
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x83c], eax
cmp dword [ebp - 0x83c], 0
je 0x4021fd
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0xff
lea eax, [ebp - 0xb8c]
push eax
push str.The_DLL__s_is_not_a_current_Netlibrary_driver
push 0x2721
call section..text
mov eax, dword [ebp - 0x21c]
push eax
lea eax, [ebp - 0xb8c]
push eax
push 0x404080
call dword [sym.imp.MSVCRT20.dll_sprintf]
add esp, 0xc
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
mov eax, 0x404280
add eax, 4
push eax
push 0x404080
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x40285f
cmp dword [ebp - 0xc90], 0
je 0x402242
cmp dword [ebp - 0xc], 0
je 0x402242
cmp dword [ebp - 0xa88], 0
je 0x402242
cmp dword [ebp - 4], 0
je 0x402242
cmp dword [ebp - 8], 0
je 0x402242
cmp dword [ebp - 0x840], 0
jne 0x4022aa
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0xff
lea eax, [ebp - 0xb8c]
push eax
push str.The_DLL__s_is_not_a_valid_Netlibrary_driver
push 0x271e
call section..text
mov eax, dword [ebp - 0x21c]
push eax
lea eax, [ebp - 0xb8c]
push eax
push 0x404080
call dword [sym.imp.MSVCRT20.dll_sprintf]
add esp, 0xc
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
mov eax, 0x404280
add eax, 4
push eax
push 0x404080
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x40285f
lea eax, [ebp - 0xc9c]
push eax
push 0
push 0x100
lea eax, [ebp - 0x31c]
push eax
push 0xc
mov eax, dword [ebp - 0x528]
push eax
mov eax, dword [ebp - 0x838]
push eax
call dword [ebp - 0x840]
test eax, eax
je 0x402345
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0xff
lea eax, [ebp - 0xb8c]
push eax
push str.The_DLL__s_is_not_a_current_Netlibrary_driver
push 0x2721
call section..text
mov eax, dword [ebp - 0x21c]
push eax
lea eax, [ebp - 0xb8c]
push eax
push 0x404080
call dword [sym.imp.MSVCRT20.dll_sprintf]
add esp, 0xc
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
mov eax, 0x404280
add eax, 4
push eax
push 0x404080
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x40285f
push 0xff
lea eax, [ebp - 0xb8c]
push eax
push str._slocales_s_s_s
push 0x2727
call section..text
lea eax, [ebp - 0x31c]
push eax
mov eax, 0x404280
add eax, 0x504
push eax
mov eax, 0x404280
add eax, 0x404
push eax
mov eax, 0x404280
add eax, 0x104
push eax
lea eax, [ebp - 0xb8c]
push eax
lea eax, [ebp - 0xa84]
push eax
call dword [sym.imp.MSVCRT20.dll_sprintf]
add esp, 0x18
lea eax, [ebp - 0xc9c]
push eax
push 0
push 0x100
lea eax, [ebp - 0xc8c]
push eax
push 0xd
mov eax, dword [ebp - 0x528]
push eax
mov eax, dword [ebp - 0x838]
push eax
call dword [ebp - 0x840]
test eax, eax
je 0x40243a
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0xff
lea eax, [ebp - 0xb8c]
push eax
push str.The_DLL__s_is_not_a_current_Netlibrary_driver
push 0x2721
call section..text
mov eax, dword [ebp - 0x21c]
push eax
lea eax, [ebp - 0xb8c]
push eax
push 0x404080
call dword [sym.imp.MSVCRT20.dll_sprintf]
add esp, 0xc
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
mov eax, 0x404280
add eax, 4
push eax
push 0x404080
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x40285f
lea eax, [ebp - 0x984]
push eax
lea eax, [ebp - 0xa84]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0xc94], eax
cmp dword [ebp - 0xc94], 0xffffffff
jne 0x4024c4
push 0xff
lea eax, [ebp - 0xb8c]
push eax
push str.Cannot_find_localization_file__s._Check_your_SYBASE__t_t_t_tenvironment_variable
push 0x2728
call section..text
lea eax, [ebp - 0xa84]
push eax
lea eax, [ebp - 0xb8c]
push eax
push 0x404080
call dword [sym.imp.MSVCRT20.dll_sprintf]
add esp, 0xc
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
mov eax, 0x404280
add eax, 4
push eax
push 0x404080
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x40285f
mov eax, dword [ebp - 0xc94]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0x520]
push eax
lea eax, [ebp - 0x524]
push eax
call dword [ebp - 0xc90]
test eax, eax
je 0x402555
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0xff
lea eax, [ebp - 0xb8c]
push eax
push str.NetLibrary_driver__s_had_an_error
push 0x271f
call section..text
mov eax, dword [ebp - 0x21c]
push eax
lea eax, [ebp - 0xb8c]
push eax
push 0x404080
call dword [sym.imp.MSVCRT20.dll_sprintf]
add esp, 0xc
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
mov eax, 0x404280
add eax, 4
push eax
push 0x404080
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x40285f
cmp dword [ebp - 0x524], 0
jle 0x4025cf
mov eax, dword [ebp - 0x524]
push eax
call dword [sym.imp.MSVCRT20.dll_malloc]
add esp, 4
mov dword [ebp - 0x838], eax
cmp dword [ebp - 0x838], 0
jne 0x4025cf
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0xff
push 0x404080
push str.Cannot_allocate_memory
push 0x2720
call section..text
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
mov eax, 0x404280
add eax, 4
push eax
push 0x404080
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x40285f
cmp dword [ebp - 0x520], 0
jle 0x402659
mov eax, dword [ebp - 0x520]
push eax
call dword [sym.imp.MSVCRT20.dll_malloc]
add esp, 4
mov dword [ebp - 0x528], eax
cmp dword [ebp - 0x528], 0
jne 0x402659
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x838]
push eax
call dword [sym.imp.MSVCRT20.dll_free]
add esp, 4
push 0xff
push 0x404080
push str.Cannot_allocate_memory
push 0x2720
call section..text
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
mov eax, 0x404280
add eax, 4
push eax
push 0x404080
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x40285f
lea eax, [ebp - 0xc9c]
push eax
lea eax, [ebp - 0x730]
push eax
push 0
mov eax, dword [ebp - 0x838]
push eax
call dword [ebp - 0xc]
test eax, eax
je 0x402680
jmp 0x40274e
lea eax, [ebp - 0xc9c]
push eax
mov eax, dword [ebp - 0xa8c]
push eax
mov eax, dword [ebp - 0x528]
push eax
mov eax, dword [ebp - 0x838]
push eax
call dword [ebp - 4]
test eax, eax
je 0x4026ac
jmp 0x40274e
mov dword [ebp - 0x14], 1
lea eax, [ebp - 0xc9c]
push eax
push 0
mov eax, dword [ebp - 0x528]
push eax
mov eax, dword [ebp - 0x838]
push eax
call dword [ebp - 0xa88]
test eax, eax
je 0x4026dd
jmp 0x40274e
lea eax, [ebp - 0xc9c]
push eax
mov eax, dword [ebp - 0x838]
push eax
call dword [ebp - 8]
test eax, eax
je 0x4026fb
jmp 0x40274e
push 0xff
lea eax, [ebp - 0xb8c]
push eax
push str.Connection_to_server__s__s__was_successful_n_nLoaded_Netlibrary_driver__s__s_
push 0x2723
call section..text
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x218]
push eax
mov eax, dword [ebp - 0xa8c]
push eax
lea eax, [ebp - 0x51c]
push eax
lea eax, [ebp - 0xb8c]
push eax
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.MSVCRT20.dll_sprintf]
add esp, 0x18
jmp 0x4027ef
push 0xff
push 0x404080
lea eax, [ebp - 0xc9c]
push eax
lea eax, [ebp - 0xc8c]
push eax
lea eax, [ebp - 0xa84]
push eax
call fcn.00402870
cmp dword [ebp - 0x14], 0
jne 0x40279c
push 0xff
lea eax, [ebp - 0xb8c]
push eax
push str.Connection_to_server__s__s__Failed_n_nLoaded_Netlibrary_driver__s__s__nError_String:_n__s
push 0x271f
call section..text
jmp 0x4027b7
push 0xff
lea eax, [ebp - 0xb8c]
push eax
push str.Connection_to_server__s__s__succeeded__but_close_or_exit_failed_n_nLoaded_Netlibrary_driver__s__s__nError_String:_n__s
push 0x2726
call section..text
push 0x404080
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x218]
push eax
mov eax, dword [ebp - 0xa8c]
push eax
lea eax, [ebp - 0x51c]
push eax
lea eax, [ebp - 0xb8c]
push eax
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.MSVCRT20.dll_sprintf]
add esp, 0x1c
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
push 0
mov eax, 0x404280
add eax, 4
push eax
lea eax, [ebp - 0x830]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp dword [ebp - 0x838], 0
je 0x40282e
mov eax, dword [ebp - 0x838]
push eax
call dword [sym.imp.MSVCRT20.dll_free]
add esp, 4
cmp dword [ebp - 0x528], 0
je 0x40284b
mov eax, dword [ebp - 0x528]
push eax
call dword [sym.imp.MSVCRT20.dll_free]
add esp, 4
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
jmp 0x40285f
pop edi
pop esi
pop ebx
leave
ret 4