Function at 0x1400289c0
Capabilities:
Connect socket
Resolve dns

Disassembly:
push rbp
push rsi
push rdi
push r12
sub rsp, 0x4d8
mov rax, qword [0x14005b740]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
xor ebp, ebp
movzx r12d, r9b
mov rsi, r8
mov dword [rsp + 0x60], edx
mov rdi, rcx
mov qword [r8], rbp
mov qword [r8 + 8], rbp
mov byte [rsp + 0x88], bpl
test r9b, r9b
jne 0x140028a08
call fcn.140028230
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_gethostbyname]
test rax, rax
jne 0x140028a31
lea r8, str.Cannot_resolve__s_n
lea edx, [rax + 3]
mov r9, rdi
xor ecx, ecx
call fcn.1400056c0
xor eax, eax
jmp 0x140028dfd
mov r8, qword [rax + 0x18]
mov qword [rsp + 0x4d0], rbx
mov qword [rsp + 0x4c8], r13
mov rax, qword [r8]
or ebx, 0xffffffff
mov qword [rsp + 0x4c0], r14
mov qword [rsp + 0x4b8], r15
test rax, rax
je 0x140028a62
mov ebx, dword [rax]
cmp dword [reloc.WS2_32.dll_accept], ebp
je 0x140028a95
mov ecx, ebp
cmp rax, rcx
je 0x140028a95
mov rax, r8
lea rax, [rax + 8]
inc ecx
cmp qword [rax], rbp
jne 0x140028a74
test ecx, ecx
je 0x140028a95
mov eax, dword [rsi + 0x10340]
cdq
idiv ecx
movsxd rax, edx
mov rcx, qword [r8 + rax*8]
mov ebx, dword [rcx]
movzx ecx, bl
mov r15d, ebx
mov r14d, ebx
mov dword [rsp + 0x68], ecx
mov r8d, ecx
shr r15d, 8
movzx eax, r15b
mov ebp, ebx
shr r14d, 0x10
lea rdx, str._d._d._d._d
lea rcx, [rsp + 0x88]
shr ebp, 0x18
movzx r13d, r14b
mov r9d, eax
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x6c], eax
mov dword [rsp + 0x20], r13d
call fcn.14002aef0
xor edx, edx
lea r8, str.29__275_07_035
xor ecx, ecx
nop dword [rax]
movzx eax, byte [rcx + r8]
test dl, 1
je 0x140028afe
xor al, 1
jmp 0x140028b00
xor al, 3
inc edx
mov byte [rsp + rcx + 0xb0], al
inc rcx
cmp edx, 0xe
jl 0x140028af0
lea rax, [rsp + 0x88]
lea r8, [rsp + 0xb0]
mov byte [rsp + 0xbe], 0
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140028b43
inc rax
test ecx, ecx
jne 0x140028b30
movzx eax, byte [0x14005f520]
mov ecx, 1
test edx, edx
cmove eax, ecx
lea rcx, [rsp + 0x88]
mov byte [0x14005f520], al
call fcn.1400285e0
cmp dword [rsi + 0x10], 0
lea rcx, str.__SSL_TLS_
lea rax, str.__unsecure_
lea r9, [0x140060128]
cmovne rax, rcx
cmp dword [rsi + 0x10018], 0xa
lea rcx, [0x1400609c0]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x60]
cmovl r9, rcx
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x68]
lea rcx, str.DevFee:
mov dword [rsp + 0x28], eax
lea r8, [0x14004f6c0]
test r12b, r12b
lea rdx, str._s_s_Stratum___connecting_to__s___d._d._d._d__port__d_s_n
mov qword [rsp + 0x20], rdi
cmovne r8, rcx
xor ecx, ecx
call fcn.1400054d0
movzx r8d, r14b
movzx edx, r15b
movzx ecx, bl
call fcn.1400281a0
mov r13, qword [rsp + 0x4c8]
mov r14d, 1
mov byte [0x14005f65d], al
movzx eax, byte [0x14005f65d]
test r12b, r12b
jne 0x140028c21
test al, al
je 0x140028c3f
mov byte [0x14005f521], r14b
jmp 0x140028c3f
test al, al
je 0x140028c3f
movzx eax, byte [0x14005f521]
movzx ecx, byte [0x14005f520]
test al, al
cmove ecx, r14d
mov byte [0x14005f520], cl
mov r15d, 2
mov r8d, 6
mov edx, r14d
mov ecx, r15d
call qword [sym.imp.WS2_32.dll_socket]
movzx ecx, word [rsp + 0x60]
mov rbx, rax
xor eax, eax
mov qword [rsp + 0x78], rax
mov word [rsp + 0x78], r15w
mov qword [rsp + 0x80], rax
call qword [sym.imp.WS2_32.dll_htons]
lea rcx, [rsp + 0x88]
mov word [rsp + 0x7a], ax
call qword [sym.imp.WS2_32.dll_inet_addr]
mov rcx, rbx
mov dword [rsp + 0x7c], eax
call fcn.1400280f0
lea r8d, [r15 + 0xe]
lea rdx, [rsp + 0x78]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_connect]
test eax, eax
jne 0x140028d99
test rbx, rbx
je 0x140028da4
cmp dword [rsi + 0x10], eax
je 0x140028da4
mov rcx, qword [0x140061e60]
push rsi
call 0x140174743
mov edx, ebx
mov rcx, rax
mov rdi, rax
call 0x140420ded
int3
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
xor ebx, ebx
mov qword [rsi], rbx
xor esi, esi
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rax
lea r9d, [rsi + 4]
lea r8, [rsp + 0x64]
mov edx, 0x8004667e
mov rcx, rbx
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x64], r14d
mov qword [rsp + 0x20], rsi
call qword [sym.imp.WS2_32.dll_WSAIoctl]
mov r15, qword [rsp + 0x4b8]
mov r14, qword [rsp + 0x4c0]
mov rax, rbx
mov rbx, qword [rsp + 0x4d0]
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.14002aed0
add rsp, 0x4d8
pop r12
pop rdi
pop rsi
pop rbp
ret