Function at 0x140151570
Capabilities:
Read .ini file
Set socket configuration

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rdi
mov eax, 0x3c20
call fcn.1401da720
sub rsp, rax
mov qword [rsp + 0x3bc0], 0xfffffffffffffffe
mov rax, qword [0x1402aa5c0]
xor rax, rsp
mov qword [rsp + 0x3c18], rax
mov r9d, dword [rsp + 0x3c48]
mov r8, qword [rsp + 0x3c40]
mov edx, dword [rsp + 0x3c38]
mov rcx, qword [rsp + 0x3c30]
call fcn.14008aab0
nop
mov rcx, qword [rsp + 0x3c30]
lea rax, vtable.CDlgOptionBase.0
mov qword [rcx], rax
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x148
call fcn.14014fe30
nop
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x4e0
call fcn.14014eb90
nop
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x7e0
call fcn.14008da68
nop
mov rdx, qword [rsp + 0x3c30]
add rdx, 0x4e0
mov rcx, qword [rsp + 0x3c30]
call fcn.14008a748
mov rdx, qword [rsp + 0x3c30]
add rdx, 0x148
mov rcx, qword [rsp + 0x3c30]
call fcn.14008a748
mov rdx, qword [rsp + 0x3c30]
mov ecx, dword [rdx + 0xac]
or ecx, 0x80
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0xac], ecx
mov rax, qword [rsp + 0x3c30]
mov ecx, dword [rax + 0xac]
and ecx, 0xfffffdff
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0xac], ecx
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x148
call fcn.14008ac88
add rax, 4
mov qword [rsp + 0x3bc8], rax
mov rax, qword [rsp + 0x3bc8]
mov ecx, dword [rax]
and ecx, 0xffffffdf
mov rax, qword [rsp + 0x3bc8]
mov dword [rax], ecx
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x4e0
call fcn.14008ac88
add rax, 4
mov qword [rsp + 0x3bd0], rax
mov rax, qword [rsp + 0x3bd0]
mov ecx, dword [rax]
and ecx, 0xffffffdf
mov rax, qword [rsp + 0x3bd0]
mov dword [rax], ecx
mov r8d, 0x3e8
lea rdx, [rsp + 0x1040]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dx, 0x2e
lea rcx, [rsp + 0x1040]
call fcn.140001460
mov rdx, rax
xor eax, eax
mov word [rdx], ax
lea rdx, [0x14023b298]
lea rcx, [rsp + 0x1040]
call fcn.1400a99b0
lea rdx, [rsp + 0x1040]
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov dx, VarDateFromDisp
lea rcx, [rsp + 0x40]
call fcn.140001460
mov rdx, rax
xor eax, eax
mov word [rdx], ax
lea rcx, [rsp + 0x30]
call fcn.1400dc730
nop
lea rcx, [rsp + 0x30]
call fcn.14000f8f0
mov rdx, rax
lea rcx, [rsp + 0x3ba0]
call fcn.140002e10
mov qword [rsp + 0x3bd8], rax
mov rax, qword [rsp + 0x3bd8]
mov qword [rsp + 0x3be0], rax
mov rcx, qword [rsp + 0x3be0]
call fcn.140002ec0
mov rcx, rax
call qword [sym.imp.WSOCK32.dll_inet_addr]
mov dword [rsp + 0x1840], eax
lea rcx, [rsp + 0x3ba0]
call fcn.140002ea0
lea r9, [rsp + 0x1040]
mov r8d, 1
lea rdx, [0x14023b2a8]
lea rcx, [0x14023b2c0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0x258], edx
lea r9, [rsp + 0x1040]
mov r8d, 1
lea rdx, [0x14023b2d0]
lea rcx, [0x14023b2e8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0x25c], edx
lea r9, [rsp + 0x1040]
mov r8d, 1
lea rdx, [0x14023b2f8]
lea rcx, [0x14023b318]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0x3f0], edx
lea r9, [rsp + 0x1040]
mov r8d, 0xfab
lea rdx, [0x14023b328]
lea rcx, [0x14023b348]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x3f8
mov r8d, eax
lea rdx, [0x14023b358]
call fcn.140002c70
lea rcx, [rsp + 0x1850]
call fcn.14000d210
nop
mov dword [rsp + 0x19e8], 1
lea rcx, [rsp + 0x1850]
call fcn.1401d56b0
xor edx, edx
mov word [rsp + 0x840], dx
lea rdi, [rsp + 0x842]
xor eax, eax
mov ecx, 0x7fe
rep stosb byte [rdi], al
movzx eax, byte [rsp + 0x1842]
movzx r9d, byte [rsp + 0x1841]
movzx r8d, byte [rsp + 0x1840]
mov dword [rsp + 0x20], eax
lea rdx, [0x14023b360]
lea rcx, [rsp + 0x840]
call fcn.1400a97a4
lea rdx, [rsp + 0x1a20]
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x310
call fcn.140002db0
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x310
call fcn.140006eb0
movzx eax, al
test eax, eax
je 0x14015197e
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x310
lea rdx, [rsp + 0x840]
call fcn.1400020d0
movzx eax, byte [rsp + 0x1842]
movzx r9d, byte [rsp + 0x1841]
movzx r8d, byte [rsp + 0x1840]
mov dword [rsp + 0x20], eax
lea rdx, [0x14023b380]
lea rcx, [rsp + 0x840]
call fcn.1400a97a4
lea rdx, [rsp + 0x1a28]
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x318
call fcn.140002db0
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x318
call fcn.140006eb0
movzx eax, al
test eax, eax
je 0x140151a03
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x318
lea rdx, [rsp + 0x840]
call fcn.1400020d0
lea rdx, [rsp + 0x1a30]
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x320
call fcn.140002db0
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x320
call fcn.140006eb0
movzx eax, al
test eax, eax
je 0x140151a55
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x320
lea rdx, [0x14023b3a0]
call fcn.1400020d0
lea rdx, [rsp + 0x1a10]
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x328
call fcn.140002db0
lea rdx, [rsp + 0x1a38]
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x330
call fcn.140002db0
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x330
call fcn.140006eb0
movzx eax, al
test eax, eax
je 0x140151ac3
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x330
lea rdx, [0x14023b3c0]
call fcn.1400020d0
lea rdx, [rsp + 0x1a40]
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x338
call fcn.140002db0
lea rdx, [rsp + 0x1a18]
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x308
call fcn.140002db0
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x308
call fcn.140006eb0
movzx eax, al
test eax, eax
je 0x140151b2f
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x308
lea rdx, [rsp + 0x30]
call fcn.140002db0
lea rcx, [rsp + 0x3ba8]
call fcn.1400ef3a0
mov qword [rsp + 0x3be8], rax
mov rax, qword [rsp + 0x3be8]
mov qword [rsp + 0x3bf0], rax
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x3e8
mov rdx, qword [rsp + 0x3bf0]
call fcn.140002db0
nop
lea rcx, [rsp + 0x3ba8]
call fcn.140001490
lea rcx, [rsp + 0x1aa8]
call fcn.14000f8f0
mov rcx, rax
call fcn.1400a99f8
mov edx, eax
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0x3f4], edx
lea r9, [rsp + 0x1040]
mov r8d, 1
lea rdx, [0x14023b3d8]
lea rcx, [0x14023b3f0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0x5f0], edx
lea r9, [rsp + 0x1040]
mov r8d, 1
lea rdx, str.AutoAddClient
lea rcx, [0x14023b420]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0x6a8], edx
lea r9, [rsp + 0x1040]
mov r8d, 1
lea rdx, [0x14023b430]
lea rcx, [0x14023b450]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0x6cc], edx
lea r9, [rsp + 0x1040]
mov r8d, 1
lea rdx, str.AutoCheckUpdate
lea rcx, [0x14023b480]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0x6d4], edx
lea r9, [rsp + 0x1040]
xor r8d, r8d
lea rdx, str.GetTemperature
lea rcx, [0x14023b4b0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0x7d8], edx
lea rax, [rsp + 0x1040]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x400
lea r9, [rsp + 0x840]
lea r8, [0x14023b2bc]
lea rdx, [0x14023b4c0]
lea rcx, [0x14023b4d8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [rsp + 0x840]
lea rcx, [rsp + 0x3bb0]
call fcn.140004e30
mov qword [rsp + 0x3bf8], rax
mov rax, qword [rsp + 0x3bf8]
mov qword [rsp + 0x3c00], rax
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x7d0
mov rdx, qword [rsp + 0x3c00]
call fcn.140002db0
nop
lea rcx, [rsp + 0x3bb0]
call fcn.140001490
lea rcx, [rsp + 0x19f0]
call fcn.14000f8f0
mov rcx, rax
call fcn.1400a99f8
mov edx, eax
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0x6b8], edx
lea rdx, [rsp + 0x1a08]
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x6b0
call fcn.140002db0
lea r9, [rsp + 0x1040]
mov r8d, 1
lea rdx, str.SaveLog
lea rcx, [0x14023b4f8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0x6bc], edx
lea r9, [rsp + 0x1040]
mov r8d, 0x1e
lea rdx, [0x14023b508]
lea rcx, [0x14023b520]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0x6d0], edx
lea rdx, [rsp + 0x1a48]
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x6c0
call fcn.140002db0
lea rcx, [rsp + 0x1a58]
call fcn.14000f8f0
mov rcx, rax
call fcn.1400a99f8
mov edx, eax
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0x6c8], edx
lea rcx, [rsp + 0x1a90]
call fcn.14000f8f0
mov rcx, rax
call fcn.1400a99f8
mov edx, eax
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0x7b8], edx
lea rcx, [rsp + 0x1a68]
call fcn.14000f8f0
mov rcx, rax
call fcn.1400a99f8
mov edx, eax
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0x7c8], edx
lea rcx, [rsp + 0x1a98]
call fcn.14000f8f0
mov rcx, rax
call fcn.1400a99f8
mov edx, eax
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0x7bc], edx
lea rdx, [rsp + 0x1aa0]
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x7c0
call fcn.140002db0
lea rcx, [rsp + 0x1a98]
call fcn.140006eb0
movzx eax, al
test eax, eax
je 0x1401520ab
lea rcx, [rsp + 0x1a58]
lea rdx, [0x14023b2e4]
call fcn.140006d50
movzx eax, al
test eax, eax
je 0x1401520ab
lea rcx, [rsp + 0x3bb8]
call fcn.140001000
mov qword [rsp + 0x3c08], rax
mov rax, qword [rsp + 0x3c08]
mov qword [rsp + 0x3c10], rax
lea r8, str.Cmdpublic.txt
mov rdx, qword [rsp + 0x3c10]
lea rcx, [rsp + 0x1b98]
call fcn.1400010b0
nop
lea rcx, [rsp + 0x3bb8]
call fcn.140001490
lea rcx, [rsp + 0x1b98]
call fcn.14000f8f0
lea rdx, [0x14023b344]
mov rcx, rax
call fcn.1400aa368
mov qword [rsp + 0x1b90], rax
cmp qword [rsp + 0x1b90], 0
je 0x140152041
mov rcx, qword [rsp + 0x1b90]
call fcn.1400aa3d8
test eax, eax
jne 0x140152034
xor eax, eax
mov word [rsp + 0x1ba0], ax
lea rdi, [rsp + 0x1ba2]
xor eax, eax
mov ecx, 0x1ffe
rep stosb byte [rdi], al
mov r8, qword [rsp + 0x1b90]
mov edx, 0x2000
lea rcx, [rsp + 0x1ba0]
call fcn.1400aa448
lea rcx, [rsp + 0x1ba0]
call fcn.1400a8944
test rax, rax
jne 0x140151fb1
jmp 0x140151f53
lea rcx, [0x14023b550]
call fcn.1400a8944
mov r8, rax
lea rdx, [0x14023b568]
lea rcx, [rsp + 0x1ba0]
call fcn.1400ab814
test eax, eax
jne 0x14015202f
mov rax, qword [rsp + 0x3c30]
mov dword [rax + 0x7bc], 1
lea rcx, str.joindomain
call fcn.1400a8944
lea rdx, [rsp + rax*2 + 0x1ba0]
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x7c0
call fcn.1400020d0
mov rcx, qword [rsp + 0x3c30]
add rcx, 0x7c0
lea rdx, [0x14023b598]
call fcn.1400069d0
jmp 0x140152034
jmp 0x140151f53
mov rcx, qword [rsp + 0x1b90]
call fcn.1400aa608
lea rcx, [rsp + 0x1a98]
mov rax, qword [rsp + 0x3c30]
mov r8d, dword [rax + 0x7bc]
lea rdx, [0x14023b5a0]
call fcn.140002c70
mov rdx, qword [rsp + 0x3c30]
add rdx, 0x7c0
lea rcx, [rsp + 0x1aa0]
call fcn.140002db0
lea rcx, [rsp + 0x1850]
call fcn.1401bf470
mov edx, 1
mov ecx, 1
call fcn.1401bfc60
nop
lea rcx, [rsp + 0x1b98]
call fcn.140001490
nop
lea rcx, [rsp + 0x1850]
call fcn.140014ec0
nop
lea rcx, [rsp + 0x30]
call fcn.140001490
nop
mov rax, qword [rsp + 0x3c30]
mov rcx, qword [rsp + 0x3c18]
xor rcx, rsp
call fcn.1400a8790
add rsp, 0x3c20
pop rdi
ret