Function at 0x140008b90
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
mov eax, 0x10a0
call fcn.140021580
sub rsp, rax
mov rax, qword [0x14002c0b0]
xor rax, rsp
mov qword [rsp + 0x1090], rax
mov rsi, rcx
mov rbx, rdx
lea rcx, [rsp + 0xa91]
xor edx, edx
mov r8d, 0x1ff
mov byte [rsp + 0xa90], 0
call fcn.140013cc0
xor eax, eax
lea rcx, [rsp + 0x291]
xor edx, edx
mov r8d, 0x7ff
mov byte [rsp + 0x50], 0
mov qword [rsp + 0x51], rax
mov dword [rsp + 0x59], eax
mov word [rsp + 0x5d], ax
mov byte [rsp + 0x5f], al
mov byte [rsp + 0x40], al
mov dword [rsp + 0x41], eax
mov word [rsp + 0x45], ax
mov byte [rsp + 0x47], al
mov byte [rsp + 0x290], al
call fcn.140013cc0
lea rbp, [0x14002e000]
lea r9, [rsp + 0xa90]
lea rdx, str.Host
lea rcx, str.GlobalSettings
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 0x200
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x140008ca6
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0xa90]
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
lea rcx, [rsp + 0xa90]
call fcn.140004800
lea rcx, [rsp + 0xa90]
lea r8, str.PRIVMSG__s_:1.Host___s_r_n
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
call fcn.140013ac4
jmp 0x140008cc2
lea r8, str.PRIVMSG__s_:1.Host__Not_Found_r_n
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
call fcn.140013ac4
lea rdx, [rsp + 0x290]
mov rcx, rsi
call fcn.1400063e0
test eax, eax
jne 0x140008cdd
xor eax, eax
jmp 0x140009738
mov ecx, WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_Sleep]
lea r9, [rsp + 0x50]
lea rdx, str.Port
lea rcx, str.GlobalSettings
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], reloc.WS2_32.dll_recv
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x140008d5b
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x50]
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
lea rcx, [rsp + 0x50]
call fcn.140004800
lea rcx, [rsp + 0x50]
lea r8, str.PRIVMSG__s_:2.Port___s_r_n
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
call fcn.140013ac4
jmp 0x140008d77
lea r8, str.PRIVMSG__s_:2.Port__Not_Found_r_n
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
call fcn.140013ac4
lea rdx, [rsp + 0x290]
mov rcx, rsi
call fcn.1400063e0
test eax, eax
je 0x140008cd6
mov ecx, WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_Sleep]
lea r8, str.PRIVMSG__s_:3.BandWidth__Unlimited_r_n
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
call fcn.140013ac4
lea r9, [rsp + 0x40]
lea rdx, str.BandWidth
lea rcx, str.GlobalSettings
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 8
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x140008e25
lea rcx, [rsp + 0x40]
call fcn.140001270
test eax, eax
je 0x140008e25
lea rcx, [rsp + 0x40]
call fcn.140014018
test eax, eax
jle 0x140008e25
lea rax, [rsp + 0x40]
lea r8, str.PRIVMSG__s_:3.BandWidth___s_r_n
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
mov qword [rsp + 0x20], rax
call fcn.140013ac4
lea rdx, [rsp + 0x290]
mov rcx, rsi
call fcn.1400063e0
test eax, eax
je 0x140008cd6
mov ecx, WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x290]
xor edx, edx
mov r8d, 0x800
call fcn.140013cc0
lea rcx, [rsp + 0x181]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x180], 0
call fcn.140013cc0
lea r9, [rsp + 0x180]
lea rdx, str.IRCServer
lea rcx, str.GlobalSettings
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x140008ee4
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x180]
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
lea rcx, [rsp + 0x180]
call fcn.140004800
lea rcx, [rsp + 0x180]
lea r8, str.PRIVMSG__s_:4.IRC_Server___s_r_n
mov qword [rsp + 0x20], rcx
jmp 0x140008ef8
lea rax, [rsp + 0x180]
lea r8, str.PRIVMSG__s_:4.IRC_Server__Not_Found_r_n
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
call fcn.140013ac4
lea rdx, [rsp + 0x290]
mov rcx, rsi
call fcn.1400063e0
test eax, eax
je 0x140008cd6
mov ecx, WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x290]
xor edx, edx
mov r8d, 0x800
call fcn.140013cc0
xor eax, eax
lea r9, [rsp + 0x48]
lea rdx, str.IRCServerPort
lea rcx, str.GlobalSettings
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x49], eax
mov word [rsp + 0x4d], ax
mov byte [rsp + 0x4f], al
mov dword [rsp + 0x20], 8
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x140008fcc
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x48]
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
lea rcx, [rsp + 0x48]
call fcn.140004800
lea rcx, [rsp + 0x48]
lea r8, str.PRIVMSG__s_:5.IRC_Server_Port___s_r_n
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
call fcn.140013ac4
jmp 0x140008fe8
lea r8, str.PRIVMSG__s_:5.IRC_Server_Port__Not_Found_r_n
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
call fcn.140013ac4
lea rdx, [rsp + 0x290]
mov rcx, rsi
call fcn.1400063e0
test eax, eax
je 0x140008cd6
mov ecx, WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x290]
xor edx, edx
mov r8d, 0x800
call fcn.140013cc0
xor edx, edx
lea rcx, [rsp + 0x101]
lea r8d, [rdx + 0x7f]
mov byte [rsp + 0x100], 0
call fcn.140013cc0
lea r9, [rsp + 0x100]
lea rdx, str.DefaultChannel
lea rcx, str.GlobalSettings
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 0x80
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x1400090ba
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x100]
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
lea rcx, [rsp + 0x100]
call fcn.140004800
lea rcx, [rsp + 0x100]
lea r8, str.PRIVMSG__s_:6.Default_Channel___s_r_n
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
call fcn.140013ac4
jmp 0x1400090d6
lea r8, str.PRIVMSG__s_:6.Default_Channel__Not_Found_r_n
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
call fcn.140013ac4
lea rdx, [rsp + 0x290]
mov rcx, rsi
call fcn.1400063e0
test eax, eax
je 0x140008cd6
mov ecx, WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x290]
xor edx, edx
mov r8d, 0x800
call fcn.140013cc0
xor eax, eax
lea r9, [rsp + 0x60]
lea rdx, str.ChannelKey
lea rcx, str.GlobalSettings
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov byte [rsp + 0x60], 0
mov qword [rsp + 0x61], rax
mov qword [rsp + 0x69], rax
mov qword [rsp + 0x71], rax
mov dword [rsp + 0x79], eax
mov word [rsp + 0x7d], ax
mov byte [rsp + 0x7f], al
mov dword [rsp + 0x20], 0x20
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x1400091a4
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x60]
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
lea rcx, [rsp + 0x60]
call fcn.140004800
lea rcx, [rsp + 0x60]
lea r8, str.PRIVMSG__s_:7.Channel_Key___s_r_n
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
call fcn.140013ac4
jmp 0x1400091c0
lea r8, str.PRIVMSG__s_:7.Channel_Key__No_Channel_Key_r_n
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
call fcn.140013ac4
lea rdx, [rsp + 0x290]
mov rcx, rsi
call fcn.1400063e0
test eax, eax
je 0x140008cd6
mov ecx, WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x290]
xor edx, edx
mov r8d, 0x800
call fcn.140013cc0
xor eax, eax
lea r9, [rsp + 0x80]
lea rdx, str.DefaultUserName
lea rcx, str.GlobalSettings
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov byte [rsp + 0x80], 0
mov qword [rsp + 0x81], rax
mov qword [rsp + 0x89], rax
mov qword [rsp + 0x91], rax
mov qword [rsp + 0x99], rax
mov qword [rsp + 0xa1], rax
mov qword [rsp + 0xa9], rax
mov qword [rsp + 0xb1], rax
mov dword [rsp + 0xb9], eax
mov word [rsp + 0xbd], ax
mov byte [rsp + 0xbf], al
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x1400092cf
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x80]
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
lea rcx, [rsp + 0x80]
call fcn.140004800
lea rcx, [rsp + 0x80]
lea r8, str.PRIVMSG__s_:8.Default_Nick_Name___s_r_n
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
call fcn.140013ac4
jmp 0x1400092eb
lea r8, str.PRIVMSG__s_:8.Default_Nick_Name__Auto_Detect_r_n
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
call fcn.140013ac4
lea rdx, [rsp + 0x290]
mov rcx, rsi
call fcn.1400063e0
test eax, eax
je 0x140008cd6
mov ecx, WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x290]
xor edx, edx
mov r8d, 0x800
call fcn.140013cc0
xor eax, eax
lea r9, [rsp + 0xc0]
lea rdx, str.MasterPassword
lea rcx, str.GlobalSettings
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov byte [rsp + 0xc0], 0
mov qword [rsp + 0xc1], rax
mov qword [rsp + 0xc9], rax
mov qword [rsp + 0xd1], rax
mov qword [rsp + 0xd9], rax
mov qword [rsp + 0xe1], rax
mov qword [rsp + 0xe9], rax
mov qword [rsp + 0xf1], rax
mov dword [rsp + 0xf9], eax
mov word [rsp + 0xfd], ax
mov byte [rsp + 0xff], al
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x1400093fa
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0xc0]
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
lea rcx, [rsp + 0xc0]
call fcn.140004800
lea rcx, [rsp + 0xc0]
lea r8, str.PRIVMSG__s_:9.Master_Password___s_r_n
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
call fcn.140013ac4
jmp 0x140009416
lea r8, str.PRIVMSG__s_:9.Master_Password__Not_Found_r_n
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
call fcn.140013ac4
lea rdx, [rsp + 0x290]
mov rcx, rsi
call fcn.1400063e0
test eax, eax
je 0x140008cd6
mov ecx, WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x290]
xor edx, edx
mov r8d, 0x800
call fcn.140013cc0
xor eax, eax
lea r9, [rsp + 0x30]
lea rdx, str.IsIRCEnable
lea rcx, str.GlobalSettings
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov byte [rsp + 0x30], 0
mov dword [rsp + 0x31], eax
mov word [rsp + 0x35], ax
mov byte [rsp + 0x37], al
mov dword [rsp + 0x20], 8
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea r8, str.PRIVMSG__s_:10.IRC_BOT_Enable__No_r_n
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
mov edi, eax
call fcn.140013ac4
test edi, edi
je 0x14000951b
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x30]
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
lea rcx, [rsp + 0x30]
call fcn.140004800
lea rdx, [0x1400244ac]
lea rcx, [rsp + 0x30]
call fcn.140013fc4
test eax, eax
je 0x1400094f5
lea rdx, [0x1400244a8]
lea rcx, [rsp + 0x30]
call fcn.140013fc4
test eax, eax
jne 0x14000951b
lea rax, [rsp + 0x30]
lea r8, str.PRIVMSG__s_:10.IRC_BOT_Enable___s_r_n
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
mov qword [rsp + 0x20], rax
call fcn.140013ac4
lea rdx, [rsp + 0x290]
mov rcx, rsi
call fcn.1400063e0
test eax, eax
je 0x140008cd6
mov ecx, WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x290]
xor edx, edx
mov r8d, 0x800
call fcn.140013cc0
xor eax, eax
lea r9, [rsp + 0x38]
lea rdx, str.IsHideEnable
lea rcx, str.GlobalSettings
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov byte [rsp + 0x38], 0
mov dword [rsp + 0x39], eax
mov word [rsp + 0x3d], ax
mov byte [rsp + 0x3f], al
mov dword [rsp + 0x20], 8
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea r8, str.PRIVMSG__s_:11.Hide_Enable__No_r_n
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
mov edi, eax
call fcn.140013ac4
test edi, edi
je 0x140009620
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x38]
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
lea rcx, [rsp + 0x38]
call fcn.140004800
lea rdx, [0x1400244ac]
lea rcx, [rsp + 0x38]
call fcn.140013fc4
test eax, eax
je 0x1400095fa
lea rdx, [0x1400244a8]
lea rcx, [rsp + 0x38]
call fcn.140013fc4
test eax, eax
jne 0x140009620
lea rax, [rsp + 0x38]
lea r8, str.PRIVMSG__s_:11.Hide_Enable___s_r_n
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
mov qword [rsp + 0x20], rax
call fcn.140013ac4
lea rdx, [rsp + 0x290]
mov rcx, rsi
call fcn.1400063e0
test eax, eax
je 0x140008cd6
mov ecx, WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x290]
xor edx, edx
mov r8d, 0x800
call fcn.140013cc0
lea rcx, [rsp + 0xc91]
xor edx, edx
mov r8d, 0x3ff
mov byte [rsp + 0xc90], 0
call fcn.140013cc0
lea r9, [rsp + 0xc90]
lea rdx, str.DNSSERVER
lea rcx, str.GlobalSettings
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 0x400
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea r8, str.PRIVMSG__s_:12.DNS_Servers__No_r_n
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
mov edi, eax
call fcn.140013ac4
test edi, edi
je 0x140009710
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0xc90]
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
lea rcx, [rsp + 0xc90]
call fcn.140004800
lea rax, [rsp + 0xc90]
lea r8, str.PRIVMSG__s_:12.DNS_Servers___s_r_n
lea rcx, [rsp + 0x290]
mov r9, rbx
mov edx, 0x7ff
mov qword [rsp + 0x20], rax
call fcn.140013ac4
lea rdx, [rsp + 0x290]
mov rcx, rsi
call fcn.1400063e0
test eax, eax
je 0x140008cd6
mov ecx, WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, 1
mov rcx, qword [rsp + 0x1090]
xor rcx, rsp
call fcn.1400135f0
mov rbx, qword [rsp + 0x10d0]
add rsp, 0x10a0
pop rdi
pop rsi
pop rbp
ret