Function at 0x1401d3100
Capabilities:
Get socket status
Resolve dns
Send data
Send data on socket

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x428
lea rax, [rsp + 0x78]
mov rbp, rcx
lea rsi, [rsp + 0x148]
mov rcx, rax
mov qword [rsp + 0x50], rax
call fcn.140279330
xor eax, eax
mov r9, qword [rsp + 0x50]
mov rdx, rsi
mov dword [rsp + 0x90], eax
mov rcx, qword [rsp + 0x78]
xor eax, eax
lea r8, [0x1402908f0]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x150], rax
lea rax, [0x1404ea960]
mov qword [rsp + 0x148], rax
call fcn.1402904f0
mov rdx, qword [rsp + 0x50]
lea r14, [rsp + 0x190]
mov qword [rsp + 0x178], rax
lea r13, [rsp + 0x180]
xor eax, eax
mov rcx, r14
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x188], rax
call fcn.1402c1860
xor edx, edx
mov rcx, r13
call fcn.140356260
jmp 0x1401d31d6
lea rax, [rsp + 0x108]
lea rdx, [0x140438109]
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x60]
lea rax, [rsp + 0x178]
mov qword [rsp + 0x58], rax
call fcn.140395150
xor eax, eax
lea rdi, [rsp + 0x218]
mov ecx, 0xc
mov rdx, rbp
rep stosd dword [rdi], eax
lea rax, [rsp + 0x248]
lea rbx, [rsp + 0x218]
mov rcx, rax
mov qword [rsp + 0x68], rax
call fcn.1403939d0
lea r15, [rsp + 0x268]
mov rdx, qword [rsp + 0x60]
mov rcx, r15
call fcn.1403939d0
movabs rax, 0x1100000002
mov rdx, r15
lea rcx, [rsp + 0x128]
mov qword [rsp + 0x218], 0x400
mov qword [rsp + 0x220], rax
xor eax, eax
mov qword [rsp + 0x228], rax
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x238], rax
mov qword [rsp + 0x240], rax
mov qword [rsp + 0xf0], rax
call fcn.1403939d0
jmp 0x1401d32a9
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
mov rbp, qword [rsp + 0x128]
call fcn.1403939d0
mov rdi, qword [rsp + 0x148]
test rdi, rdi
je 0x1401d32d2
cmp byte [rdi], 0
jne 0x1401d32d2
xor edi, edi
test rbp, rbp
je 0x1401d32df
cmp byte [rbp], 0
jne 0x1401d32df
xor ebp, ebp
xor ecx, ecx
call qword [sym.imp.WSOCK32.dll_WSASetLastError]
lea r9, [rsp + 0xf0]
mov r8, rbx
mov rdx, rbp
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov edx, eax
lea rcx, [rsp + 0x90]
call fcn.140286120
mov rcx, rsi
lea rbp, [rsp + 0x128]
lea r12, [rsp + 0x90]
call fcn.1403907e0
mov rcx, rbp
call fcn.1403907e0
mov rcx, r12
mov rdx, r12
lea r8, [0x14050af80]
mov rdi, qword [rsp + 0xf0]
call fcn.1402c4e30
mov rcx, r12
call fcn.1402ee430
test al, al
je 0x1401d336f
xor eax, eax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rax
jmp 0x1401d33bc
lea rdx, [rsp + 0x268]
mov rcx, rbp
call fcn.1403939d0
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
call fcn.1403939d0
mov rdx, qword [rsp + 0xf0]
lea rcx, [rsp + 0xa8]
mov r9, rbp
mov r8, rsi
call fcn.140280de0
mov rcx, rsi
call fcn.1403907e0
lea rcx, [rsp + 0x128]
call fcn.1403907e0
test rdi, rdi
je 0x1401d33ca
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov rcx, r15
call fcn.1403907e0
mov rcx, qword [rsp + 0x68]
call fcn.1403907e0
mov rcx, qword [rsp + 0x60]
call fcn.1403907e0
mov rcx, qword [rsp + 0x58]
call fcn.14028c1e0
mov rcx, r12
call fcn.1402ee430
test al, al
jne 0x1401d3ba2
lea rdi, [rsp + 0x12a]
mov ecx, 0x1a
movabs r15, 0xaaaaaaaaaaaaaaab
rep stosb byte [rdi], al
mov word [rsp + 0x128], 2
jmp 0x1401d35a6
imul rax, qword [rsp + 0xb8], 0x60
add rax, qword [rdi]
mov rcx, rbx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x218], xmm0
mov rdx, qword [rax + 0x14]
mov rax, qword [rax + 0xc]
mov qword [rsp + 0x224], rax
movups xmm1, xmmword [rsp + 0x218]
mov qword [rsp + 0x22c], rdx
mov qword [rsp + 0x13c], rdx
mov rdx, rbp
movups xmmword [rsp + 0x128], xmm1
mov qword [rsp + 0x134], rax
call fcn.1402e6450
cmp dword [rsp + 0x218], 0
jne 0x1401d35bc
mov ecx, dword [rsp + 0x21c]
call qword [sym.imp.WSOCK32.dll_ntohl]
test eax, eax
jne 0x1401d35dd
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x218], rdi
mov qword [rsp + 0x220], rax
test rax, rax
je 0x1401d3521
lock inc dword [rax + 8]
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xb8]
mov rax, qword [rcx + 8]
sub rax, qword [rcx]
mov qword [rsp + 0x228], rdx
inc rdx
sar rax, 5
mov qword [rsp + 0xb8], rdx
imul rax, r15
cmp rdx, rax
jne 0x1401d3599
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x178], rcx
xor r9d, r9d
xor r10d, r10d
mov rcx, r13
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0xb0], r10
mov qword [rsp + 0x180], rax
call fcn.140369730
xor r11d, r11d
mov qword [rsp + 0xb8], r11
lea rcx, [rsp + 0x220]
call fcn.140369730
mov rdi, qword [rsp + 0xa8]
test rdi, rdi
jne 0x1401d3483
jmp 0x1401d3ba2
mov eax, dword [rsp + 0x220]
or eax, dword [rsp + 0x224]
or eax, dword [rsp + 0x228]
or eax, dword [rsp + 0x22c]
jmp 0x1401d34fa
mov rdx, rbp
mov rcx, rbx
call fcn.1402e6450
cmp dword [rsp + 0x218], 0
jne 0x1401d3602
mov rax, qword [0x1404d9270]
test byte [rax + 0x1aa], 5
jmp 0x1401d3647
mov rdx, rbp
mov rcx, rbx
call fcn.1402e6450
cmp dword [rsp + 0x218], 1
jne 0x1401d3500
mov rcx, rbx
mov rdx, rbp
call fcn.1402e6450
mov rcx, rbx
call fcn.1401d28c0
mov edx, eax
mov rax, qword [0x1404d9270]
mov al, byte [rax + 0x1aa]
test dl, dl
je 0x1401d3645
test al, 0x10
jmp 0x1401d3647
test al, 0xa
je 0x1401d3500
xor r8d, r8d
mov r9, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
lea rax, [0x1404ea9a0]
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x180], r8
lea r8, [0x140290b70]
mov qword [rsp + 0x178], rax
call fcn.1402904f0
xor ecx, ecx
mov r15, rax
mov qword [rsp + 0x178], rax
lea rdi, [rsp + 0x1c0]
mov qword [rsp + 0x190], rcx
xor eax, eax
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x198], rcx
mov ecx, 7
mov dword [rsp + 0x1b8], 2
mov byte [rsp + 0x1bc], 0
rep stosd dword [rdi], eax
lea rdi, [rsp + 0x1e0]
mov word [rsp + 0x1c0], 2
mov rcx, rdi
call fcn.1402c1860
mov rcx, r14
mov byte [rsp + 0x188], 0
mov qword [rsp + 0x180], 0xffffffffffffffff
call fcn.140356080
lea rcx, [r15 + 0x50]
mov qword [rsp + 0x218], rcx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [r15 + 0x78]
xor edx, edx
mov byte [rsp + 0x220], 1
mov qword [rsp + 0x1b0], rdx
mov qword [rsp + 0x1a8], rax
test rax, rax
je 0x1401d3737
mov qword [rax + 0x30], r13
mov qword [r15 + 0x78], r13
mov rcx, rbx
call fcn.140287ca0
mov edx, 2
mov r9, r12
mov r8, rsi
cmp word [rsp + 0x128], 2
mov eax, 0x17
mov rcx, rbx
cmove eax, edx
mov rdx, qword [rsp + 0x58]
mov dword [rsp + 0x148], eax
call fcn.14027aa50
jmp 0x1401d3792
mov rcx, r12
call fcn.1402ee430
test al, al
jne 0x1401d3b98
lea rdx, [rsp + 0x14c]
xor eax, eax
mov ecx, 0xb
mov r12, qword [rsp + 0x180]
mov rdi, rdx
mov r13d, 0x1c
mov qword [rsp + 0xf8], rsi
mov r14b, byte [rsp + 0x188]
rep stosd dword [rdi], eax
xor eax, eax
mov dword [rsp + 0x148], 0x1b
mov dword [rsp + 0xc0], eax
xor eax, eax
cmp word [rsp + 0x128], 2
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rax
mov eax, 0x10
mov dword [rsp + 0xf0], 0x30
cmove r13, rax
mov qword [rsp + 0x100], 0x30
cmp r12, 0xffffffffffffffff
je 0x1401d383d
mov r15, qword [sym.imp.WS2_32.dll_WSASendTo]
lea rsi, [rsp + 0xc0]
jmp 0x1401d38fc
lea rcx, [rsp + 0xc0]
mov edx, 0x2719
call fcn.1402c6140
jmp 0x1401d39a0
mov edx, 1
mov rcx, rsi
mov edi, eax
call fcn.140285ad0
mov rcx, rsi
call fcn.1402ee400
mov edx, 0x2746
cmp eax, 0x40
jne 0x1401d393d
mov rcx, rsi
call fcn.1402c6140
test edi, edi
je 0x1401d3952
test r14b, 1
jne 0x1401d39a0
mov rcx, qword [rsp + 0x60]
mov edx, 0x2733
call fcn.1402c5930
mov rdx, qword [rsp + 0x60]
mov rcx, rsi
call fcn.1402c7400
test al, al
je 0x1401d3980
xor r9d, r9d
mov qword [rsp + 0x220], r12
mov r8, rbx
xor edx, edx
mov qword [rsp + 0x20], r9
lea ecx, [r12 + 1]
xor r9d, r9d
mov dword [rsp + 0x218], 1
call qword [sym.imp.WSOCK32.dll_select]
mov edx, eax
mov rcx, rsi
mov edi, eax
shr edx, 0x1f
call fcn.140285ad0
test edi, edi
js 0x1401d39a0
xor eax, eax
xor edi, edi
mov dword [rsp + 0x30], r13d
mov r9, rbx
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0xf0]
mov r8d, 1
mov rcx, r12
mov qword [rsp + 0x38], rax
xor eax, eax
mov dword [rsp + 0x218], edi
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], eax
call r15
jmp 0x1401d3854
cmp eax, 0x4d2
jne 0x1401d3881
mov edx, 0x274d
jmp 0x1401d3879
xor r11d, r11d
xor r10d, r10d
cmp dword [rsp + 0x218], 0
mov dword [rsp + 0xc0], r10d
mov qword [rsp + 0xc8], r11
mov qword [rsp + 0xd0], r11
js 0x1401d3889
jmp 0x1401d39a0
mov edx, 0x4d5
mov rcx, rbx
call fcn.1402c5930
mov rdx, rbx
mov rcx, rsi
call fcn.1402c7400
test al, al
jne 0x1401d38b7
lea rsi, [rsp + 0xc0]
lea r8, [0x14050b720]
mov rdx, rsi
mov rcx, rsi
lea rdi, [0x14043810d]
call fcn.1402c4e30
lea rax, str.send_to_boost::asio::mutable_buffers_1_
lea r8, [rsp + 0xd8]
mov rcx, rsi
lea rdx, [0x140438176]
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 0x256
call fcn.140287cc0
mov r12, qword [sym.imp.msvcrt.dll__errno]
xor esi, esi
mov rcx, qword [rsp + 0x58]
call fcn.1402e61c0
cmp esi, 0xa
je 0x1401d3a18
test rax, rax
je 0x1401d3a2d
mov rcx, qword [rsp + 0x58]
call fcn.1402e61c0
test rax, rax
je 0x1401d3b98
jmp 0x1401d3a61
mov qword [rsp + 0x218], 1
xor r8d, r8d
mov dword [rsp + 0x220], r8d
mov rdx, rbx
mov rcx, rbx
call fcn.1401a69d0
inc eax
je 0x1401d3a57
inc esi
jmp 0x1401d3a04
call r12
cmp dword [rax], 4
jne 0x1401d3a53
jmp 0x1401d3a44
xor eax, eax
xor ecx, ecx
lea rsi, [rsp + 0x108]
xor edx, edx
mov dword [rsp + 0x108], eax
lea rax, [rsp + 0x148]
mov r9d, 1
mov r8, rbx
mov qword [rsp + 0x220], rax
lea rax, [rsp + 0xf0]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x180]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x110], rdx
mov qword [rsp + 0x118], rdx
movzx edx, byte [rsp + 0x188]
mov dword [rsp + 0x218], 0x30
mov qword [rsp + 0x228], 0x30
mov qword [rsp + 0xf0], 0x1c
call fcn.140285900
mov rcx, rsi
mov rbx, rax
call fcn.1402ee430
test al, al
jne 0x1401d3b14
cmp qword [rsp + 0xf0], 0x80
jbe 0x1401d3b14
call fcn.140281070
lea r8, [0x14050b6a0]
mov rdx, rsi
mov rcx, rsi
call fcn.1402c4e30
lea rax, str.receive_from_boost::asio::mutable_buffers_1_
lea r8, [rsp + 0x218]
mov rcx, rsi
lea rdx, [0x1404381ab]
mov qword [rsp + 0x218], rdi
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], 0x41d
call fcn.140287cc0
cmp rbx, 7
jbe 0x1401d3b98
call fcn.1403848f0
mov ecx, 0x3b9aca00
cqo
idiv rcx
mov edx, dword [rsp + 0x168]
bswap edx
cmp edx, 0x83aa7e80
jbe 0x1401d3b8c
add edx, 0x7c558180
mov edx, edx
sub rdx, rax
mov qword [0x1404272a0], rdx
mov rcx, qword [rsp + 0x58]
call fcn.14028d340
lea rcx, [rsp + 0xb0]
call fcn.140369730
mov rcx, qword [rsp + 0x50]
call fcn.140279610
nop
add rsp, 0x428
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret