Function at 0x14002edc0
Capabilities:
Read .ini file

Disassembly:
push rbx
push rbp
push rdi
push r12
push r14
push r15
sub rsp, 0x338
mov rax, qword [0x1400950c8]
xor rax, rsp
mov qword [rsp + 0x310], rax
mov rdi, qword [rsp + 0x390]
mov r14, qword [rsp + 0x398]
mov rbx, r8
mov r12, rcx
mov rbp, rdx
lea rcx, [rsp + 0x201]
mov r8d, 0x103
xor edx, edx
mov qword [rsp + 0x30], rdi
mov r15, r9
mov qword [rsp + 0x38], rbx
mov byte [rsp + 0x200], 0
call fcn.14005fe50
mov rcx, rbx
call fcn.140004e50
test eax, eax
jne 0x14002f303
mov rcx, r15
call fcn.140004e50
test eax, eax
jne 0x14002f303
mov rcx, rdi
call fcn.140004e50
test eax, eax
jne 0x14002f303
mov rcx, r14
call fcn.140004e50
test eax, eax
jne 0x14002f303
mov byte [rsp + 0x50], al
xor eax, eax
lea rcx, [rsp + 0x81]
lea r8d, [rax + 0x7f]
xor ebx, ebx
mov qword [rsp + 0x330], rsi
xor edx, edx
mov qword [rsp + 0x328], r13
mov qword [rsp + 0x51], rax
mov dword [rsp + 0x59], eax
mov word [rsp + 0x5d], ax
mov byte [rsp + 0x5f], al
mov r13d, ebx
mov byte [rsp + 0x80], al
call fcn.14005fe50
xor eax, eax
lea r8d, [rbx + 0x7f]
lea rcx, [rsp + 0x101]
xor edx, edx
mov byte [rsp + 0x48], bl
mov dword [rsp + 0x49], eax
mov word [rsp + 0x4d], ax
mov byte [rsp + 0x4f], al
mov byte [rsp + 0x60], al
mov qword [rsp + 0x61], rax
mov qword [rsp + 0x69], rax
mov word [rsp + 0x71], ax
mov byte [rsp + 0x73], al
mov byte [rsp + 0x40], al
mov dword [rsp + 0x41], eax
mov word [rsp + 0x45], ax
mov byte [rsp + 0x47], al
mov byte [rsp + 0x100], al
call fcn.14005fe50
lea r8d, [rbx + 0x7f]
lea rcx, [rsp + 0x181]
xor edx, edx
mov byte [rsp + 0x180], bl
call fcn.14005fe50
test rbp, rbp
jne 0x14002ef30
lea rdx, [0x140075890]
mov rcx, r12
call fcn.140015c20
mov esi, ebx
lea rdi, [0x1400ad4c0]
nop dword [rax]
cmp ebx, 0xc8
ja 0x14002f2d3
xor eax, eax
lea r8, str.User_d
lea rcx, [rsp + 0x50]
lea edx, [rax + 0xf]
mov r9d, esi
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
call fcn.14005ff3c
lea rcx, [rsp + 0x80]
xor edx, edx
mov r8d, 0x80
call fcn.14005fe50
lea r9, [rsp + 0x80]
lea rdx, str.UserName
lea rcx, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x80
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x14002efb9
inc ebx
jmp 0x14002f2c5
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]
mov edx, edx
call fcn.14000cac0
xor ecx, ecx
lea rax, [0x1400ad4c0]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x48]
lea rcx, [rsp + 0x50]
lea rdx, str.ChainProxy
xor r8d, r8d
mov dword [rsp + 0x20], 8
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
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]
mov edx, edx
call fcn.14000cac0
lea rdx, [0x14007795c]
lea rcx, [rsp + 0x48]
call fcn.1400605e0
test eax, eax
jne 0x14002f2be
xor eax, eax
lea r9, [rsp + 0x60]
lea rdx, str.RemoteProxy
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], eax
lea rax, [0x1400ad4c0]
lea rcx, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], SQLColAttribute
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
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]
mov edx, edx
call fcn.14000cac0
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x60]
call fcn.1400605e0
test eax, eax
jne 0x14002f2b5
xor eax, eax
lea r9, [rsp + 0x40]
lea rdx, str.RemotePort
mov qword [rsp + 0x40], rax
lea rax, [0x1400ad4c0]
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov dword [rsp + 0x20], 8
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x40]
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
lea rcx, [rsp + 0x40]
mov edx, edx
call fcn.14000cac0
lea rcx, [rsp + 0x40]
mov rdx, r15
call fcn.1400605e0
test eax, eax
jne 0x14002f2ac
lea rcx, [rsp + 0x100]
xor edx, edx
mov r8d, 0x80
call fcn.14005fe50
lea rax, [0x1400ad4c0]
lea r9, [rsp + 0x100]
mov qword [rsp + 0x28], rax
lea rdx, str.RemoteUserName
lea rcx, [rsp + 0x50]
xor r8d, r8d
mov dword [rsp + 0x20], 0x80
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
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]
mov edx, edx
call fcn.14000cac0
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x100]
call fcn.1400605e0
test eax, eax
jne 0x14002f2a3
lea rcx, [rsp + 0x180]
xor edx, edx
mov r8d, 0x80
call fcn.14005fe50
lea rdi, [0x1400ad4c0]
lea r9, [rsp + 0x180]
lea rdx, str.RemotePassword
lea rcx, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x80
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea rcx, [rsp + 0x180]
mov rdx, r14
call fcn.1400605e0
test eax, eax
jne 0x14002f2c5
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]
mov edx, edx
call fcn.14000cac0
test rbp, rbp
jne 0x14002f25e
lea r9, [rsp + 0x80]
lea r8, str._s_r_n
lea rcx, [rsp + 0x200]
mov edx, 0x103
call fcn.14005ff3c
jmp 0x14002f287
lea rax, [rsp + 0x80]
lea r8, str.PRIVMSG__s_:_s_r_n
lea rcx, [rsp + 0x200]
mov r9, rbp
mov edx, 0x103
mov qword [rsp + 0x20], rax
call fcn.14005ff3c
lea rdx, [rsp + 0x200]
mov rcx, r12
call fcn.140015c20
inc r13d
lea rdi, [0x1400ad4c0]
jmp 0x14002f2c5
lea rdi, [0x1400ad4c0]
jmp 0x14002f2c5
lea rdi, [0x1400ad4c0]
jmp 0x14002f2c5
lea rdi, [0x1400ad4c0]
jmp 0x14002f2c5
lea rdi, [0x1400ad4c0]
inc esi
cmp esi, 0x3e8
jb 0x14002ef40
mov rsi, qword [rsp + 0x330]
test r13d, r13d
mov r13, qword [rsp + 0x328]
je 0x14002f2fc
test rbp, rbp
jne 0x14002f2fc
lea rdx, [0x140075890]
mov rcx, r12
call fcn.140015c20
mov eax, 1
jmp 0x14002f351
test rbp, rbp
jne 0x14002f323
lea r8, str._r_nThe_Input_Is_Invalid_r_n_r_n
lea rcx, [rsp + 0x200]
mov edx, 0x103
call fcn.14005ff3c
jmp 0x14002f33f
lea r8, str.PRIVMSG__s_:The_Input_Is_Invalid_r_n
lea rcx, [rsp + 0x200]
mov r9, rbp
mov edx, 0x103
call fcn.14005ff3c
lea rdx, [rsp + 0x200]
mov rcx, r12
call fcn.140015c20
xor eax, eax
mov rcx, qword [rsp + 0x310]
xor rcx, rsp
call fcn.14005fe20
add rsp, 0x338
pop r15
pop r14
pop r12
pop rdi
pop rbp
pop rbx
ret