Function at 0x140003d00
Capabilities:
Act as tcp client
Check if file exists
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x108
mov rax, qword [rsp + 0x170]
mov dword [rax], 0
mov qword [rax + 8], 0
mov rdi, qword [r8 + 8]
mov qword [rsp + 0x150], rcx
mov r14, qword [r8]
mov rsi, rdx
mov rbp, r9
mov qword [rax + 0x10], 0
test rdi, rdi
je 0x140003d50
lock add dword [rdi + 8], 1
mov rax, qword [rbp]
mov r13, qword [r8 + 0x10]
mov r12, rax
test r14, r14
jne 0x140004069
test rax, rax
je 0x140004080
xor r14d, r14d
mov r15, qword [rbp + 8]
test r15, r15
je 0x140004340
lock add dword [r15 + 8], 1
mov rbx, qword [rbp + 0x10]
mov qword [rsp + 0x40], rbx
test rdi, rdi
je 0x140004408
lock add dword [rdi + 8], 1
test r14, r14
je 0x140004118
cmp rax, r14
jne 0x140004121
mov rax, qword [rsp + 0x40]
cmp r13, rax
jne 0x140004121
mov rcx, rdi
call fcn.14025b750
mov rcx, rdi
mov rdi, r15
call fcn.14025b750
mov rax, qword [rbp]
test r12, r12
je 0x14000414e
cmp rax, r12
jne 0x140003dee
mov rax, qword [rsp + 0x40]
cmp qword [rbp + 0x10], rax
je 0x140004437
cmp qword [rsi + 8], 0xffffffffffffffff
mov rdx, qword [rsi]
je 0x140004168
xor eax, eax
lock cmpxchg qword [rdx + 0x38], rax
mov qword [rsp + 0x30], rax
test rax, rax
jne 0x1400044c0
mov rcx, qword [rsi + 8]
mov r9, qword [rsp + 0x170]
lea rdx, [rsi + 0x10]
xor r8d, r8d
call fcn.1400031b0
mov rcx, qword [rsi + 0x20]
pxor xmm0, xmm0
mov qword [rsi + 8], 0xffffffffffffffff
mov byte [rsi + 0x10], 0
movups xmmword [rsi + 0x18], xmm0
test rcx, rcx
je 0x140004190
call fcn.14025b750
mov rax, qword [rsp + 0x40]
mov r13, qword [rsi + 8]
lea rax, [rax + rax*2]
shl rax, 5
add rax, qword [r12]
movdqu xmm3, xmmword [rax]
movups xmmword [rsp + 0xc0], xmm3
movdqu xmm4, xmmword [rax + 0xc]
movups xmmword [rsp + 0xcc], xmm4
cmp r13, 0xffffffffffffffff
je 0x1400041ba
cmp word [rsp + 0xc0], 2
mov r8d, 0x10
mov eax, 0x1c
cmovne r8d, eax
lea rdx, [rsp + 0xc0]
mov rcx, r13
call qword [sym.imp.WS2_32.dll_connect]
test eax, eax
jne 0x140004480
mov rax, qword [rsp + 0x170]
mov dword [rax], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
lea r14, [rsp + 0xe0]
mov edx, 0x2734
mov rcx, r14
call fcn.140238b20
mov rcx, qword [rsp + 0x170]
mov rdx, r14
call fcn.14024c2f0
test al, al
jne 0x140003f2d
lea rbx, [rsp + 0xa0]
mov edx, 0x2733
mov rcx, rbx
call fcn.140238b20
mov rcx, qword [rsp + 0x170]
mov rdx, rbx
call fcn.14024c2f0
test al, al
je 0x1400043a0
mov r8, qword [rsp + 0x170]
mov edx, 0xffffffff
mov rcx, r13
call fcn.140238b90
test eax, eax
js 0x1400043a0
mov dword [rsp + 0xe0], 0
cmp r13, 0xffffffffffffffff
je 0x1400049ea
lea rax, [rsp + 0x90]
mov r9, r14
mov r8d, 0x1007
mov rcx, r13
mov dword [rsp + 0x90], 4
mov edx, 0xffff
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_getsockopt]
mov r13d, eax
test eax, eax
jne 0x140004380
mov edx, dword [rsp + 0xe0]
mov rbx, qword [rsp + 0x170]
mov eax, 2
lea rcx, [0x140268c60]
cmp edx, 1
mov dword [rbx], edx
sbb rax, 0xffffffffffffffff
mov qword [rbx + 8], rcx
movdqu xmm3, xmmword [rbx]
mov qword [rbx + 0x10], rax
movups xmmword [rsp + 0x30], xmm3
movups xmmword [rsp + 0xe0], xmm3
and eax, 1
lea rdx, str.P_a_
or rax, rdx
mov rbx, qword [rsp + 0x170]
mov qword [rsp + 0xf0], rax
movdqu xmm2, xmmword [rsp + 0xe0]
mov qword [rbx + 0x10], rax
movups xmmword [rbx], xmm2
mov rax, qword [rsp + 0x170]
mov rax, qword [rax + 0x10]
test al, 1
je 0x1400043d8
cmp rax, 1
jne 0x14000402f
mov rax, qword [rsp + 0x170]
mov edx, dword [rax]
test edx, edx
je 0x1400043d8
mov rax, qword [r12 + 8]
sub rax, qword [r12]
movabs rdx, 0xaaaaaaaaaaaaaaab
sar rax, 5
mov r13, qword [rsp + 0x40]
imul rax, rdx
add r13, 1
cmp r13, rax
je 0x140004498
mov rax, qword [rbp]
mov r14, r12
mov rdi, r15
mov r12, rax
cmp rax, r14
jne 0x140003d70
cmp qword [rbp + 0x10], r13
jne 0x140003d70
nop dword [rax]
test rdi, rdi
je 0x14000408d
mov rcx, rdi
call fcn.14025b750
mov rax, qword [rsp + 0x170]
mov rax, qword [rax + 0x10]
test al, 1
je 0x1400040b1
cmp rax, 1
jne 0x1400040d2
mov rax, qword [rsp + 0x170]
mov eax, dword [rax]
test eax, eax
jne 0x1400040d2
mov rax, qword [rsp + 0x170]
lea rdi, [0x140268e00]
mov dword [rax], 3
mov qword [rax + 8], rdi
mov qword [rax + 0x10], 3
mov rax, qword [rbp]
mov rdi, qword [rsp + 0x150]
pxor xmm0, xmm0
mov qword [rdi + 8], 0
mov qword [rdi], rax
mov rax, qword [rbp + 8]
movups xmmword [rbp], xmm0
mov qword [rdi + 8], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x10], 0
mov qword [rdi + 0x10], rax
mov rax, rdi
jmp 0x1400043f0
test rax, rax
je 0x140003dba
mov rcx, rdi
call fcn.14025b750
test r15, r15
je 0x140004136
mov rcx, r15
call fcn.14025b750
mov r12, r14
mov qword [rsp + 0x40], r13
mov rax, qword [rbp]
mov r15, rdi
test r12, r12
jne 0x140003dda
test rax, rax
je 0x140004437
xor r12d, r12d
cmp qword [rsi + 8], 0xffffffffffffffff
mov rdx, qword [rsi]
jne 0x140003dfc
mov rax, qword [rsp + 0x170]
mov dword [rax], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
jmp 0x140003e2a
mov rax, qword [rsp + 0x40]
lea rax, [rax + rax*2]
shl rax, 5
add rax, qword [r12]
movdqu xmm5, xmmword [rax]
movups xmmword [rsp + 0xc0], xmm5
movdqu xmm4, xmmword [rax + 0xc]
movups xmmword [rsp + 0xcc], xmm4
mov r13d, 0x17
mov eax, 2
mov rbx, qword [rsi]
mov edx, 1
cmp word [rsp + 0xc0], 2
mov dword [rsp + 0x28], 1
mov r8d, 6
cmove r13d, eax
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov ecx, r13d
call qword [sym.imp.WS2_32.dll_WSASocketW]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x140004828
mov rax, qword [rsp + 0x170]
mov dword [rax], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
cmp r13d, 0x17
je 0x140004924
mov rax, qword [rbx + 0x30]
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
mov qword [rsp + 0xa0], r14
mov rdx, qword [rax + 0x28]
call qword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
test rax, rax
je 0x140004964
mov rax, qword [rsp + 0x170]
mov dword [rax], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov qword [rsi + 8], r14
mov ecx, 0x18
mov byte [rsi + 0x10], 0x10
mov qword [rsp + 0xa0], 0xffffffffffffffff
call fcn.140261730
mov rdx, qword [0x140270a98]
mov rcx, qword [rsi + 0x20]
lea rbx, [0x1402f3c70]
mov qword [rax + 0x10], 0
mov qword [rax], rbx
mov qword [rax + 8], rdx
mov qword [rsi + 0x18], 0
mov qword [rsi + 0x20], rax
test rcx, rcx
je 0x1400042cc
call fcn.14025b750
mov rax, qword [rsp + 0x170]
mov dword [rax], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
nop word [rax + rax]
pxor xmm0, xmm0
mov r8d, 2
mov dword [rsi + 0x40], r13d
movups xmmword [rsp + 0xe2], xmm0
mov word [rsp + 0xe0], r8w
movups xmmword [rsp + 0xec], xmm0
movdqu xmm3, xmmword [rsp + 0xe0]
movdqu xmm5, xmmword [rsp + 0xec]
mov byte [rsi + 0x44], 0
movups xmmword [rsi + 0x48], xmm3
movups xmmword [rsi + 0x54], xmm5
jmp 0x140004860
mov rbx, qword [rbp + 0x10]
mov qword [rsp + 0x40], rbx
test rdi, rdi
jne 0x140003d95
test r14, r14
je 0x1400047e0
mov rdi, qword [rsp + 0x40]
cmp r13, rdi
jne 0x140004450
cmp rax, r14
jne 0x140004450
mov rax, qword [rbp]
mov rdi, r15
jmp 0x140003dda
mov rcx, qword [rsp + 0x170]
call fcn.140001a70
cmp r13d, 0xffffffff
jne 0x140003f99
nop word [rax + rax]
mov rax, qword [rsp + 0x170]
mov rbx, qword [rsp + 0x170]
mov rax, qword [rax + 0x10]
movdqu xmm4, xmmword [rbx]
movups xmmword [rsp + 0x30], xmm4
movups xmmword [rsp + 0xe0], xmm4
cmp rax, 1
jbe 0x140003fe3
jmp 0x140003fd6
mov rax, qword [rsp + 0x150]
mov qword [rax + 8], rdi
mov rdi, qword [rsp + 0x40]
mov qword [rax], r12
mov qword [rax + 0x10], rdi
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test r14, r14
jne 0x14000435b
test rax, rax
je 0x140004958
mov rcx, r15
xor r15d, r15d
call fcn.14025b750
mov rax, qword [rbp]
mov qword [rsp + 0x40], r13
test rax, rax
jne 0x140004157
mov rdi, r15
test rdi, rdi
jne 0x140004085
jmp 0x14000408d
test r15, r15
je 0x140004810
mov rcx, r15
mov r12, r14
xor r15d, r15d
xor edi, edi
call fcn.14025b750
mov qword [rsp + 0x40], r13
mov rax, qword [rbp]
jmp 0x140003dda
mov rcx, qword [rsp + 0x170]
call fcn.140001a70
jmp 0x140003ed7
test r15, r15
je 0x1400044a5
mov rcx, r15
call fcn.14025b750
mov rax, qword [rbp]
xor r13d, r13d
xor edi, edi
mov r12, rax
jmp 0x140003d64
mov rbx, rax
lea rax, [rax + 0x30]
mov r14, qword [rsi + 8]
mov qword [rsp + 0x48], rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [rsp + 0xc0]
mov edx, 0x3e3
lea r13, [rbx + 0x78]
call fcn.140238b20
lea r11, [rbx + 0x70]
pxor xmm0, xmm0
xor ecx, ecx
mov qword [rsp + 0x168], rbp
lea rax, [rbx + 0x1b8]
mov rbx, r14
mov r14, r11
mov qword [rsp + 0x158], rsi
mov rsi, qword [rsp + 0x50]
mov r11d, ecx
mov qword [rsp + 0x58], rdi
mov rdi, rax
movups xmmword [rsp + 0x90], xmm0
mov r8, qword [r14 + 0x40]
test r8, r8
je 0x140004698
mov rax, rbx
xor edx, edx
mov r10, qword [r14 + 0x38]
div r8
shl rdx, 4
add rdx, r10
mov rcx, qword [rdx]
cmp rcx, r13
je 0x140004698
mov rax, qword [rdx + 8]
mov rax, qword [rax]
cmp rcx, rax
jne 0x14000457c
jmp 0x140004698
mov rcx, qword [rcx]
cmp rax, rcx
je 0x140004698
cmp rbx, qword [rcx + 0x10]
jne 0x140004570
cmp r13, rcx
je 0x140004698
mov rax, qword [rcx + 0x18]
test rax, rax
je 0x14000462c
mov r10, qword [rsp + 0x98]
xor r11d, r11d
jmp 0x1400045dc
mov r8, qword [rdx + 0x20]
mov qword [rcx + 0x18], r8
test r8, r8
je 0x140004770
mov qword [rdx + 0x20], 0
mov qword [rax + 0x20], 0
test r10, r10
je 0x1400047b0
mov qword [r10 + 0x20], rax
mov r10, rax
mov rax, r8
movdqu xmm1, xmmword [rsp + 0xc0]
movups xmmword [rax + 0x38], xmm1
mov rdx, qword [rsp + 0xd0]
mov qword [rax + 0x48], rdx
mov rdx, qword [rcx + 0x18]
test rdx, rdx
jne 0x1400045a8
mov qword [rax + 0x20], 0
test r10, r10
je 0x140004791
mov qword [r10 + 0x20], rax
mov qword [rsp + 0x98], rax
test r11b, r11b
jne 0x14000479c
mov r8, qword [r14 + 0x40]
mov r10, qword [r14 + 0x38]
mov rax, qword [rcx + 0x10]
xor edx, edx
div r8
shl rdx, 4
add rdx, r10
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
cmp rax, rcx
jne 0x1400047c0
cmp r8, rcx
jne 0x1400047f8
mov qword [rdx + 8], r13
mov qword [rdx], r13
mov r10, qword [r13 + 0x18]
mov r8, qword [rcx]
mov qword [rcx + 0x10], 0
cmp r10, r8
je 0x14000468e
cmp r10, rcx
je 0x14000468e
mov rdx, rcx
lea rbp, [r13 + 0x18]
mov rcx, r10
call fcn.14025fc50
add qword [rbp + 0x10], 1
sub qword [r13 + 0x10], 1
sub qword [r14], 1
mov r11d, 1
add r13, 0x50
add r14, 0x50
cmp rdi, r13
jne 0x14000452e
mov r14, qword [rsp + 0x30]
lea r13, [rsp + 0x90]
mov ebx, r11d
mov qword [rsp + 0x50], rsi
mov rdx, r13
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x158]
mov rcx, qword [r14 + 0x28]
mov rbp, qword [rsp + 0x168]
call fcn.14023b310
test bl, bl
je 0x140004750
lea rax, [rsp + 0x8b]
mov rcx, qword [r14 + 0x60]
xor r9d, r9d
mov r8d, 1
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0xe0]
lea rdx, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x8b], 0
mov dword [rsp + 0xa0], 1
mov dword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 0
call fcn.140238c90
mov rcx, r13
call fcn.14023c8d0
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x140003e12
mov qword [rcx + 0x20], 0
mov qword [rdx + 0x20], 0
mov qword [rax + 0x20], 0
test r10, r10
jne 0x14000460f
mov qword [rsp + 0x98], rax
mov rsi, rax
mov qword [rsp + 0x90], rsi
jmp 0x140004624
mov rsi, rax
mov r11d, 1
jmp 0x1400045d6
cmp r8, rcx
jne 0x14000465c
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
jmp 0x14000465c
test rax, rax
je 0x14000495c
mov qword [rsp + 0x40], r13
jmp 0x14000414e
cmp rax, rcx
jne 0x1400047c0
mov rax, qword [rcx]
mov qword [rdx], rax
jmp 0x14000465c
mov qword [rsp + 0x40], r13
mov rax, qword [rbp]
mov r12, r14
xor edi, edi
jmp 0x140003dda
mov rcx, qword [rsp + 0x170]
call fcn.140001a70
mov rax, qword [rsp + 0x170]
mov edx, dword [rax]
mov rax, qword [rax + 0x10]
test al, 1
je 0x1400042f0
cmp rax, 1
jne 0x140004860
test edx, edx
je 0x1400042f0
nop dword [rax]
mov rax, qword [rsp + 0x170]
movdqu xmm5, xmmword [rax]
mov rax, qword [rax + 0x10]
movups xmmword [rsp + 0x30], xmm5
movups xmmword [rsp + 0xe0], xmm5
cmp rax, 1
jbe 0x140004890
and eax, 1
lea rdx, str.C:_Users_micha_CLionProjects_LoaderExecute_boost_boost_asio_detail_win_iocp_socket_service.hpp
or rax, rdx
mov rbx, qword [rsp + 0x170]
mov qword [rsp + 0xf0], rax
movdqu xmm3, xmmword [rsp + 0xe0]
mov qword [rbx + 0x10], rax
movups xmmword [rbx], xmm3
test al, 1
je 0x1400048c8
cmp rax, 1
jne 0x140004003
mov ecx, dword [rbx]
test ecx, ecx
jne 0x140004003
mov r13, qword [rsi + 8]
mov r8d, 0x10
mov eax, 0x1c
cmp word [rsp + 0xc0], 2
cmovne r8d, eax
cmp r13, 0xffffffffffffffff
jne 0x140003ea0
lea rcx, [rsp + 0x60]
mov edx, 0x2719
call fcn.140238b20
mov rax, qword [rsp + 0x170]
movdqu xmm4, xmmword [rsp + 0x60]
mov rbx, qword [rsp + 0x170]
movups xmmword [rax], xmm4
mov rax, qword [rsp + 0x70]
mov qword [rbx + 0x10], rax
jmp 0x140003ed7
mov dword [rsp + 0x20], 4
mov r8d, 0x1b
mov edx, 0x29
mov rcx, r14
mov dword [rsp + 0x8c], 0
lea r9, [rsp + 0x8c]
call qword [sym.imp.WS2_32.dll_setsockopt]
jmp 0x140004231
mov rax, qword [rbp]
mov rdi, r15
jmp 0x14000414e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rbx, qword [rsp + 0x170]
cmp eax, 1
mov edx, 2
sbb rdx, 0xffffffffffffffff
mov dword [rbx], eax
mov rax, rbx
lea rbx, [0x140268c60]
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdx
cmp rdx, 2
je 0x140004277
lea rdx, [rsp + 0x90]
lea r9, [rsp + 0xe0]
mov rcx, r14
mov r8d, 1
mov dword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 0
mov byte [rsp + 0x90], 0
call fcn.1400031b0
jmp 0x140004860
lea rcx, [rsp + 0x60]
mov edx, 0x2719
call fcn.140238b20
mov rax, qword [rsp + 0x170]
movdqu xmm2, xmmword [rsp + 0x60]
mov rbx, qword [rsp + 0x170]
movups xmmword [rax], xmm2
mov rax, qword [rsp + 0x70]
mov qword [rbx + 0x10], rax
jmp 0x1400043a0