Function at 0x18002ce98
Capabilities:
Read .ini file

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x470
mov rax, qword [0x1800830c8]
xor rax, rsp
mov qword [rsp + 0x460], rax
mov rdi, rcx
mov rcx, r8
mov rsi, r8
mov rbx, rdx
call fcn.180004a30
test eax, eax
jne 0x18002d50f
lea r13d, [rax + 0x7f]
lea rcx, [rsp + 0x61]
xor edx, edx
mov r8, r13
mov byte [rsp + 0x60], al
call fcn.180052810
lea r14d, [r13 + 1]
lea rcx, [rsp + 0x60]
mov r8, r14
xor edx, edx
call fcn.180052810
mov rcx, rsi
call fcn.180013108
mov ebp, eax
cmp eax, 0xffffffff
jne 0x18002cf33
mov rdx, r13
lea rcx, [rsp + 0x60]
test rbx, rbx
jne 0x18002cf27
lea r8, str._r_nThe_User_Name_Is_Not_Found_In_The_Ini_File_r_n_r_n
jmp 0x18002d4ec
lea r8, str.PRIVMSG__s_:The_User_Name_Is_Not_Found_In_The_Ini_File_r_n
jmp 0x18002d4fa
xor eax, eax
lea rcx, [rsp + 0x30]
xor edx, edx
lea r15d, [rax + 0x10]
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x31], rax
mov r8, r15
mov dword [rsp + 0x39], eax
mov word [rsp + 0x3d], ax
mov byte [rsp + 0x3f], al
call fcn.180052810
lea r8, str.User_d
lea edx, [r15 - 1]
lea rcx, [rsp + 0x30]
mov r9d, ebp
call fcn.1800528fc
lea rcx, [rsp + 0xe1]
mov r8, r13
xor edx, edx
mov byte [rsp + 0xe0], 0
call fcn.180052810
lea rcx, [rsp + 0xe0]
mov r8, r14
xor edx, edx
call fcn.180052810
lea rbp, [0x18009b470]
lea r9, [rsp + 0xe0]
lea rdx, str.ChainProxy
lea rcx, [rsp + 0x30]
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jle 0x18002d4d8
lea rcx, [rsp + 0xe0]
call fcn.1800529c0
lea rcx, [rsp + 0xe0]
mov rdx, rax
call fcn.18000b550
lea rdx, [0x1800691f4]
lea rcx, [rsp + 0xe0]
call fcn.180053060
test eax, eax
jne 0x18002d4d8
lea rcx, [rsp + 0x1e1]
mov r8, r13
xor edx, edx
mov byte [rsp + 0x1e0], al
call fcn.180052810
lea rcx, [rsp + 0x161]
mov r8, r13
xor edx, edx
mov byte [rsp + 0x160], 0
call fcn.180052810
xor eax, eax
lea rcx, [rsp + 0x2e1]
mov r8, r13
xor edx, edx
mov byte [rsp + 0x40], 0
mov qword [rsp + 0x41], rax
mov dword [rsp + 0x49], eax
mov word [rsp + 0x4d], ax
mov byte [rsp + 0x4f], al
mov byte [rsp + 0x50], al
mov qword [rsp + 0x51], rax
mov dword [rsp + 0x59], eax
mov word [rsp + 0x5d], ax
mov byte [rsp + 0x5f], al
mov byte [rsp + 0x2e0], al
call fcn.180052810
lea rcx, [rsp + 0x261]
mov r8, r13
xor edx, edx
mov byte [rsp + 0x260], 0
call fcn.180052810
lea rcx, [rsp + 0x3e1]
mov r8, r13
xor edx, edx
mov byte [rsp + 0x3e0], 0
call fcn.180052810
lea rcx, [rsp + 0x361]
mov r8, r13
xor edx, edx
mov byte [rsp + 0x360], 0
call fcn.180052810
lea rcx, [rsp + 0x1e0]
mov r8, r14
xor edx, edx
call fcn.180052810
lea rcx, [rsp + 0x160]
mov r8, r14
xor edx, edx
call fcn.180052810
lea rcx, [rsp + 0x40]
mov r8, r15
xor edx, edx
call fcn.180052810
lea rcx, [rsp + 0x50]
mov r8, r15
xor edx, edx
call fcn.180052810
lea rcx, [rsp + 0x2e0]
mov r8, r14
xor edx, edx
call fcn.180052810
lea rcx, [rsp + 0x260]
mov r8, r14
xor edx, edx
call fcn.180052810
lea rcx, [rsp + 0x3e0]
mov r8, r14
xor edx, edx
call fcn.180052810
lea rcx, [rsp + 0x360]
mov r8, r14
xor edx, edx
call fcn.180052810
lea r9, [rsp + 0x1e0]
lea rdx, str.RemoteProxy
lea rcx, [rsp + 0x30]
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov qword [rsp + 0x28], rbp
lea r9, [rsp + 0x40]
lea rdx, str.RemotePort
lea rcx, [rsp + 0x30]
xor r8d, r8d
mov dword [rsp + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea r9, [rsp + 0x2e0]
lea rdx, str.RemoteUserName
lea rcx, [rsp + 0x30]
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea r9, [rsp + 0x3e0]
lea rdx, str.RemotePassword
lea rcx, [rsp + 0x30]
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea r9, [rsp + 0x160]
lea rdx, str.BackUPProxy
lea rcx, [rsp + 0x30]
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea r9, [rsp + 0x50]
lea rdx, str.BackUPPort
lea rcx, [rsp + 0x30]
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea r9, [rsp + 0x260]
lea rdx, str.BackUPUserName
lea rcx, [rsp + 0x30]
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea r9, [rsp + 0x360]
lea rdx, str.BackUPPassword
lea rcx, [rsp + 0x30]
xor r8d, r8d
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea rcx, [rsp + 0x1e0]
call fcn.1800529c0
test eax, eax
je 0x18002d4b9
lea rcx, [rsp + 0x40]
call fcn.1800529c0
test eax, eax
je 0x18002d4b9
lea rcx, [rsp + 0x2e0]
call fcn.1800529c0
test eax, eax
je 0x18002d4b9
lea rcx, [rsp + 0x3e0]
call fcn.1800529c0
test eax, eax
je 0x18002d4b9
lea rcx, [rsp + 0x160]
call fcn.1800529c0
test eax, eax
je 0x18002d4b9
lea rcx, [rsp + 0x50]
call fcn.1800529c0
test eax, eax
je 0x18002d4b9
lea rcx, [rsp + 0x260]
call fcn.1800529c0
test eax, eax
je 0x18002d4b9
lea rcx, [rsp + 0x360]
call fcn.1800529c0
test eax, eax
je 0x18002d4b9
lea r8, [rsp + 0x160]
lea rdx, str.RemoteProxy
lea rcx, [rsp + 0x30]
mov r9, rbp
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
je 0x18002d49a
lea r8, [rsp + 0x50]
lea rdx, str.RemotePort
lea rcx, [rsp + 0x30]
mov r9, rbp
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
je 0x18002d49a
lea r8, [rsp + 0x260]
lea rdx, str.RemoteUserName
lea rcx, [rsp + 0x30]
mov r9, rbp
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
je 0x18002d49a
lea r8, [rsp + 0x360]
lea rdx, str.RemotePassword
lea rcx, [rsp + 0x30]
mov r9, rbp
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
je 0x18002d49a
lea r8, [rsp + 0x1e0]
lea rdx, str.BackUPProxy
lea rcx, [rsp + 0x30]
mov r9, rbp
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
je 0x18002d49a
lea r8, [rsp + 0x40]
lea rdx, str.BackUPPort
lea rcx, [rsp + 0x30]
mov r9, rbp
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
je 0x18002d49a
lea r8, [rsp + 0x2e0]
lea rdx, str.BackUPUserName
lea rcx, [rsp + 0x30]
mov r9, rbp
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
je 0x18002d49a
lea r8, [rsp + 0x3e0]
lea rdx, str.BackUPPassword
lea rcx, [rsp + 0x30]
mov r9, rbp
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
je 0x18002d49a
mov rdx, r13
lea rcx, [rsp + 0x60]
test rbx, rbx
jne 0x18002d46e
lea r8, str._r_nSwitch_Remote_Proxy_Info_On_File_Successfully_r_n
call fcn.1800528fc
jmp 0x18002d47d
lea r8, str.PRIVMSG__s_:Switch_Remote_Proxy_Info_On_File_Successfully_r_n
mov r9, rbx
call fcn.1800528fc
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.180012d7c
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.18002c4e0
jmp 0x18002d511
mov rdx, r13
lea rcx, [rsp + 0x60]
test rbx, rbx
jne 0x18002d4b0
lea r8, str._r_nFail_To_Write_Info_r_n_r_n
jmp 0x18002d4ec
lea r8, str.PRIVMSG__s_:Fail_To_Write_Info_r_n
jmp 0x18002d4fa
mov rdx, r13
lea rcx, [rsp + 0x60]
test rbx, rbx
jne 0x18002d4cf
lea r8, str._r_nRemote_Proxy_Info_Is_Invalid_r_n_r_n
jmp 0x18002d4ec
lea r8, str.PRIVMSG__s_:Remote_Proxy_Info_Is_Invalid_r_n
jmp 0x18002d4fa
mov rdx, r13
lea rcx, [rsp + 0x60]
test rbx, rbx
jne 0x18002d4f3
lea r8, str._r_nRemote_Proxy_Disabled_r_n_r_n
call fcn.1800528fc
jmp 0x18002d502
lea r8, str.PRIVMSG__s_:Remote_Proxy_Disabled_r_n
mov r9, rbx
call fcn.1800528fc
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.180012d7c
xor eax, eax
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.1800527e0
add rsp, 0x470
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret