Function at 0x140185280
Capabilities:
Connect socket

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
call fcn.140155340
test rax, rax
je 0x1401852ed
cmp byte [rax + 0x4d], 0
sete bpl
and bpl, byte [rax + 0x4c]
movzx eax, byte [rdi + 0xf0]
test eax, eax
je 0x1401852fa
cmp eax, 3
jne 0x1401856c9
lea r15, [rdi + 0xe8]
movzx eax, byte [rdi + 0xe8]
test eax, eax
je 0x140185459
cmp eax, 3
jne 0x1401856c9
mov rax, qword [rdi + 0xe0]
jmp 0x1401854cd
xor ebp, ebp
movzx eax, byte [rdi + 0xf0]
test eax, eax
jne 0x1401852b9
mov rcx, qword [rdi + 0x98]
mov qword [rdi + 0xa0], rcx
mov eax, dword [rdi + 0x7a]
movzx edx, word [rdi + 0x7e]
shl rdx, 0x20
or rdx, rax
test byte [rdi + 0x78], 1
je 0x1401853a4
mov r10d, dword [rdi + 0x8c]
mov r8d, dword [rdi + 0x90]
movzx eax, word [rdi + 0x94]
shr rdx, 0x10
mov dword [rsp + 0x50], edx
mov rdx, qword [rdi + 0x80]
mov qword [rsp + 0x54], rdx
mov edx, dword [rdi + 0x88]
mov dword [rsp + 0x5c], edx
xorps xmm0, xmm0
movups xmmword [rsp + 0x64], xmm0
movups xmmword [rsp + 0x74], xmm0
movups xmmword [rsp + 0x84], xmm0
movups xmmword [rsp + 0x94], xmm0
movups xmmword [rsp + 0xa4], xmm0
movups xmmword [rsp + 0xb4], xmm0
mov dword [rsp + 0xc4], 0
rol ax, 8
mov dword [rsp + 0x60], r8d
mov r8d, 0x1c
mov r9w, 0x17
mov edx, r10d
jmp 0x1401853f8
mov rax, rdx
shr rax, 0x20
rol ax, 8
xorps xmm0, xmm0
movups xmmword [rsp + 0xb0], xmm0
movups xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0xc0], 0
mov r8d, 0x10
mov r9w, 2
mov word [rsp + 0x48], r9w
mov word [rsp + 0x4a], ax
mov dword [rsp + 0x4c], edx
mov dword [rsp + 0xc8], r8d
lea rdx, [rsp + 0x48]
call sub.ws2_32.dll_connect
test eax, eax
je 0x14018542d
call sub.kernel32.dll_GetLastError
cmp eax, 0x2733
jne 0x140185549
mov rdx, qword [rdi + 0xa0]
mov qword [rdi + 0xa8], rdx
mov qword [rdi + 0xb0], 0
lea r15, [rdi + 0xe8]
mov byte [rdi + 0xe8], 0
xor r8d, r8d
jmp 0x140185467
mov rdx, qword [rdi + 0xa8]
mov r8, qword [rdi + 0xb0]
lea rcx, [rsp + 0x48]
call fcn.1401df150
mov rcx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
cmp rcx, 2
je 0x140185638
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x40], rax
movups xmm0, xmmword [rsp + 0x58]
movaps xmmword [rsp + 0x30], xmm0
lea rax, [rdi + 0xb8]
mov qword [rdi + 0xb8], rcx
mov qword [rdi + 0xc0], r14
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [rdi + 0xc8], xmm0
mov rcx, qword [rsp + 0x40]
mov qword [rdi + 0xd8], rcx
mov qword [rdi + 0xe0], rax
mov rdx, qword [rax + 0x10]
lea r14, [rsp + 0x48]
mov rcx, r14
mov r8, rbx
mov r9b, 1
call fcn.1401e8de0
movzx eax, byte [rsp + 0x51]
cmp al, 3
jne 0x14018553b
mov byte [r15], 3
mov byte [rdi + 0xf0], 3
call fcn.140155340
test rax, rax
je 0x14018551c
movzx ecx, byte [rax + 0x4c]
xor cl, 1
cmp byte [rax + 0x4d], 0
setne al
or bpl, cl
or bpl, al
je 0x1401855ff
mov rcx, rdi
mov rdx, rbx
call fcn.1401e8be0
test al, al
je 0x1401855f3
mov qword [rsi], 4
jmp 0x140185687
cmp al, 2
jne 0x14018556a
mov r14, qword [rsp + 0x48]
jmp 0x14018562c
mov r14d, eax
shl r14, 0x20
or r14, 2
mov rcx, qword [rdi + 0xa0]
call sub.ws2_32.dll_closesocket
mov eax, 2
jmp 0x140185661
mov rcx, qword [rdi + 0xd0]
cmp rcx, 0xffffffffffffffff
je 0x1401856d5
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x48], 4
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x30]
mov edx, 0xffff
mov r8d, 0x1007
call sub.ws2_32.dll_getsockopt
cmp eax, 0xffffffff
je 0x14018561c
movsxd r14, dword [rsp + 0x30]
test r14, r14
jne 0x140185624
mov rax, qword [rdi + 0xb8]
mov r14, qword [rdi + 0xc0]
mov rcx, qword [rdi + 0xd8]
mov qword [rsp + 0x100], rcx
movups xmm0, xmmword [rdi + 0xc8]
movaps xmmword [rsp + 0xf0], xmm0
mov byte [rdi + 0xe8], 1
cmp rax, 3
je 0x1401854f1
jmp 0x140185641
mov qword [rsi], 3
jmp 0x140185687
call fcn.140155340
test rax, rax
je 0x140185697
movzx ebp, byte [rax + 0x4c]
movzx r14d, byte [rax + 0x4d]
mov byte [rax + 0x4c], 0
jmp 0x14018569a
call sub.ws2_32.dll_WSAGetLastError
mov r14d, eax
shl r14, 0x20
or r14, 2
lea rcx, [rdi + 0xb8]
call fcn.14016f9f0
mov byte [r15], 1
mov eax, 2
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0xe0], rcx
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0xd0], xmm0
mov byte [rdi + 0xf0], 1
mov qword [rsi], rax
mov qword [rsi + 8], r14
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [rsi + 0x10], xmm0
mov rax, qword [rsp + 0xe0]
mov qword [rsi + 0x20], rax
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov bpl, 2
mov rcx, rdi
mov rdx, rbx
call fcn.1401e8be0
movzx eax, al
add rax, 3
mov qword [rsi], rax
cmp bpl, 2
je 0x140185687
call fcn.1401e24c0
test rax, rax
je 0x140185687
mov byte [rax + 0x4c], bpl
mov byte [rax + 0x4d], r14b
jmp 0x140185687
lea rcx, str._redacted_
call fcn.14005f600
lea rcx, str._redacted_
call fcn.14005c6c0
int3