Function at 0x14003de74
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 [0x1400593d8]
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 0x14003e213
mov ebx, 0x90312
cmp ebx, 0x90312
je 0x14003def2
cmp ebx, 0x80090318
jne 0x14003e213
test esi, esi
je 0x14003df02
cmp ebx, 0x80090318
jne 0x14003dfa4
test r14d, r14d
je 0x14003df9c
test r12d, r12d
je 0x14003df36
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 0x14003df3f
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 0x14003e166
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 0x14003e166
add esi, eax
jmp 0x14003dfa4
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], send
mov dword [rbp - 0x60], ecx
mov qword [rbp - 0x58], rcx
cmp dword [r13 + 0x78], ecx
je 0x14003e052
cmp dword [rdi + 0x60], ecx
je 0x14003e010
mov rdx, qword [rdi + 0x18]
jmp 0x14003e013
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 0x14003e09e
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 0x14003e0c3
cmp eax, 0x90312
je 0x14003e0c3
test eax, eax
jns 0x14003e0bb
test dword [rsp + 0x64], 0x4000
jne 0x14003e0c3
cmp ebx, 0x80090325
jne 0x14003e116
cmp dword [r13 + 0x78], ecx
je 0x14003e0d5
cmp dword [rdi + 0x60], ecx
jne 0x14003e0d5
mov dword [rdi + 0x60], 1
mov r8d, dword [rbp - 0x70]
test r8d, r8d
je 0x14003e116
mov rdx, qword [rbp - 0x68]
test rdx, rdx
je 0x14003e116
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 0x14003e10e
call sub.Secur32.dll_FreeContextBuffer
cmp r14d, 0xffffffff
je 0x14003e191
xor ecx, ecx
mov r14d, dword [rsp + 0x60]
cmp ebx, 0x80090318
je 0x14003dede
test ebx, ebx
je 0x14003e170
cmp ebx, 0x80090325
je 0x14003e170
test ebx, ebx
js 0x14003e213
cmp dword [rbp - 0x7c], 5
jne 0x14003e15f
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 0x14003dede
mov esi, ecx
jmp 0x14003dede
mov ebx, 0x80090304
jmp 0x14003e213
cmp dword [rbp - 0x7c], 5
jne 0x14003e213
cmp dword [rdi + 0x3c], ecx
jne 0x14003e1c4
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 0x14003e1a1
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 0x80090304
jmp 0x14003e21e
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 0x14003e213
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 0x14003e19a
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.1400474b0
mov rbx, qword [rsp + 0x338]
add rsp, 0x2f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret