Function at 0x14003ded4
Capabilities:
Get socket status
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f0]
sub rsp, 0x2f0
mov rax, qword [0x14006d678]
xor rax, rsp
mov qword [rbp + 0x1e0], rax
mov r13, rcx
mov dword [rsp + 0x60], edx
mov ecx, 0x10000
mov r12d, r8d
mov r14d, edx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, qword [r13 + 0x80]
xor ecx, ecx
mov dword [rsp + 0x64], ecx
mov r15, rax
mov esi, ecx
mov ebx, ecx
test rax, rax
je 0x14003e273
mov ebx, 0x90312
cmp ebx, 0x90312
je 0x14003df52
cmp ebx, 0x80090318
jne 0x14003e273
test esi, esi
je 0x14003df62
cmp ebx, 0x80090318
jne 0x14003e004
test r14d, r14d
je 0x14003dffc
test r12d, r12d
je 0x14003df96
mov eax, 0x10624dd3
mov ecx, r12d
mul r12d
shr edx, 6
imul eax, edx, 0x3e8
mov dword [rsp + 0x68], edx
sub ecx, eax
imul eax, ecx, 0x3e8
mov dword [rsp + 0x6c], eax
jmp 0x14003df9f
mov qword [rsp + 0x68], 0xa
mov rax, qword [r13 + 8]
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x28], rax
xor r9d, r9d
lea rax, [rsp + 0x68]
mov dword [rbp - 0x30], 1
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 1
jne 0x14003e1c6
mov rcx, qword [r13 + 8]
mov r8d, 0x10000
mov edx, esi
sub r8d, esi
add rdx, r15
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_recv]
xor ecx, ecx
test eax, eax
jle 0x14003e1c6
add esi, eax
jmp 0x14003e004
mov dword [rsp + 0x60], 1
and qword [rbp - 0x80], 0
lea rax, [rsp + 0x70]
mov qword [rbp - 0x38], rax
lea rax, [rbp - 0x70]
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x3c], 2
mov dword [rbp - 0x40], ecx
mov dword [rsp + 0x74], 2
mov qword [rsp + 0x78], r15
mov dword [rsp + 0x70], esi
mov qword [rbp - 0x78], rcx
mov dword [rbp - 0x4c], 2
mov dword [rbp - 0x50], ecx
mov dword [rbp - 0x6c], 2
mov dword [rbp - 0x70], ecx
mov qword [rbp - 0x68], rcx
mov dword [rbp - 0x5c], select
mov dword [rbp - 0x60], ecx
mov qword [rbp - 0x58], rcx
cmp dword [r13 + 0x78], ecx
je 0x14003e0b2
cmp dword [rdi + 0x60], ecx
je 0x14003e070
mov rdx, qword [rdi + 0x18]
jmp 0x14003e073
mov rdx, rcx
mov qword [rsp + 0x40], rcx
lea rax, [rsp + 0x64]
mov rcx, qword [rdi + 0x10]
lea r8, [rbp - 0x40]
mov qword [rsp + 0x38], rax
mov r9d, 0x1811c
lea rax, [rbp - 0x50]
mov qword [rsp + 0x30], rax
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], reloc.WS2_32.dll_recv
call qword [sym.imp.Secur32.dll_AcceptSecurityContext]
jmp 0x14003e0fe
mov rdx, qword [rdi + 0x18]
lea rax, [rsp + 0x64]
mov qword [rsp + 0x58], rcx
mov r9d, 0xc19c
mov qword [rsp + 0x50], rax
xor r8d, r8d
lea rax, [rbp - 0x50]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x38], ecx
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
mov dword [rsp + 0x20], ecx
mov rcx, qword [rdi + 0x10]
call sub.Secur32.dll_InitializeSecurityContextA
xor ecx, ecx
mov ebx, eax
test eax, eax
je 0x14003e123
cmp eax, 0x90312
je 0x14003e123
test eax, eax
jns 0x14003e11b
test dword [rsp + 0x64], 0x4000
jne 0x14003e123
cmp ebx, 0x80090325
jne 0x14003e176
cmp dword [r13 + 0x78], ecx
je 0x14003e135
cmp dword [rdi + 0x60], ecx
jne 0x14003e135
mov dword [rdi + 0x60], 1
mov r8d, dword [rbp - 0x70]
test r8d, r8d
je 0x14003e176
mov rdx, qword [rbp - 0x68]
test rdx, rdx
je 0x14003e176
mov rcx, qword [r13 + 8]
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_send]
mov rcx, qword [rbp - 0x68]
mov r14d, eax
call sub.Secur32.dll_FreeContextBuffer
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x14003e16e
call sub.Secur32.dll_FreeContextBuffer
cmp r14d, 0xffffffff
je 0x14003e1f1
xor ecx, ecx
mov r14d, dword [rsp + 0x60]
cmp ebx, 0x80090318
je 0x14003df3e
test ebx, ebx
je 0x14003e1d0
cmp ebx, 0x80090325
je 0x14003e1d0
test ebx, ebx
js 0x14003e273
cmp dword [rbp - 0x7c], 5
jne 0x14003e1bf
sub esi, dword [rbp - 0x80]
mov rcx, r15
mov r8d, dword [rbp - 0x80]
mov edx, esi
add rdx, r15
call sub.VCRUNTIME140.dll_memmove
mov esi, dword [rbp - 0x80]
xor ecx, ecx
jmp 0x14003df3e
mov esi, ecx
jmp 0x14003df3e
mov ebx, 0x80090304
jmp 0x14003e273
cmp dword [rbp - 0x7c], 5
jne 0x14003e273
cmp dword [rdi + 0x3c], ecx
jne 0x14003e224
mov ecx, dword [rbp - 0x80]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rdi + 0x40], rax
test rax, rax
jne 0x14003e201
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 0x80090304
jmp 0x14003e27e
sub esi, dword [rbp - 0x80]
mov rcx, rax
mov r8d, dword [rbp - 0x80]
mov edx, esi
add rdx, r15
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [rbp - 0x80]
mov dword [rdi + 0x38], eax
mov dword [rdi + 0x3c], 2
jmp 0x14003e273
mov ecx, dword [rdi + 0x38]
add ecx, dword [rbp - 0x80]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
test rax, rax
je 0x14003e1fa
mov r8d, dword [rdi + 0x38]
mov rcx, rax
mov rdx, qword [rdi + 0x40]
call sub.VCRUNTIME140.dll_memcpy
sub esi, dword [rbp - 0x80]
mov ecx, dword [rdi + 0x38]
mov r8d, dword [rbp - 0x80]
add rcx, r14
mov edx, esi
add rdx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x40], r14
mov eax, dword [rbp - 0x80]
add dword [rdi + 0x38], eax
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, ebx
mov rcx, qword [rbp + 0x1e0]
xor rcx, rsp
call fcn.140056240
mov rbx, qword [rsp + 0x338]
add rsp, 0x2f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret