Function at 0x100f8d70
Capabilities:
Get socket status
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x130
mov eax, dword [0x101cd100]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x128]
push eax
mov dword [ebp - 0x10c], edi
xor esi, esi
call fcn.100f95d0
lea eax, [edi + 0x198]
push eax
mov dword [ebp - 0x118], eax
call fcn.101002c0
add esp, 8
cmp dword [edi + 0x198], esi
je 0x100f901b
push ebx
lea ebx, [edi + 0x198]
cmp dword [edi + 0x21c], 3
je 0x100f8dda
cmp dword [edi + 0x21c], 5
jne 0x100f9018
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x100f8e9c
lea eax, [ebp - 0x120]
push eax
call fcn.100f95d0
mov ecx, dword [ebp - 0x11c]
mov eax, 0x10624dd3
sub ecx, dword [ebp - 0x124]
add esp, 4
imul ecx
mov eax, dword [ebp - 0x120]
sub eax, dword [ebp - 0x128]
sar edx, 6
imul eax, eax, 0x3e8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add ecx, eax
cmp ecx, esi
jg 0x100f9011
mov eax, esi
mov esi, 0
sub eax, ecx
cmovns esi, eax
mov eax, 0x10624dd3
imul esi
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul eax, ecx, 0x3e8
mov dword [ebp - 0x130], ecx
mov ecx, dword [edi]
sub esi, eax
imul eax, esi, 0x3e8
mov dword [ebp - 0x12c], eax
mov eax, dword [ecx]
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x130]
push eax
push 0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 1
push eax
mov eax, dword [ecx]
push 0
inc eax
push eax
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jle 0x100f9002
mov esi, dword [ebx]
mov edi, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ebp - 0x110], eax
cmp edi, 4
jge 0x100f8f1c
push eax
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x114], eax
lea ecx, [ebp - 0x114]
mov eax, 4
add ecx, edi
sub eax, edi
mov edi, dword [ebp - 0x10c]
mov edx, dword [edi]
mov edx, dword [edx + 8]
test edx, edx
je 0x100f8ee7
push eax
push ecx
push edx
call sub.libssl_3.dll_SSL_write
add esp, 0xc
jmp 0x100f8ef5
push 0
push eax
mov eax, dword [edi]
push ecx
push dword [eax]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x100f8f0b
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x100f8f61
xor edx, edx
jmp 0x100f8f89
add dword [esi + 8], eax
mov edi, dword [esi + 8]
cmp edi, 4
jl 0x100f8f70
mov eax, dword [ebp - 0x110]
mov ecx, dword [esi]
sub edi, 4
sub eax, edi
add ecx, edi
mov edi, dword [ebp - 0x10c]
mov edx, dword [edi]
mov edx, dword [edx + 8]
test edx, edx
je 0x100f8f41
push eax
push ecx
push edx
call sub.libssl_3.dll_SSL_write
add esp, 0xc
jmp 0x100f8f4f
push 0
push eax
mov eax, dword [edi]
push ecx
push dword [eax]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x100f8f6b
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x100f8f76
mov esi, 0xfffffffc
jmp 0x100f901a
add dword [esi + 8], eax
jmp 0x100f8f76
mov edi, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x110]
xor edx, edx
add ecx, 4
cmp dword [esi + 8], ecx
sete dl
je 0x100f8f93
cmp dword [ebp + 0xc], 0
je 0x100f9018
test edx, edx
je 0x100f8fe7
push ebx
call fcn.101002c0
mov esi, dword [ebx]
add esp, 4
test esi, esi
je 0x100f8fc2
mov eax, dword [esi + 0xc]
mov dword [ebx], eax
cmp dword [ebx], 0
jne 0x100f8fc2
push ebx
mov dword [ebx + 4], 0
call fcn.101003d0
add esp, 4
jmp 0x100f8fcf
push ebx
call fcn.101003d0
add esp, 4
test esi, esi
je 0x100f8fe7
mov eax, dword [esi]
test eax, eax
je 0x100f8fde
push eax
call fcn.1013a619
add esp, 4
push esi
call fcn.1013a619
add esp, 4
lea eax, [edi + 0x16c]
push eax
call fcn.100f95d0
xor esi, esi
add esp, 4
cmp dword [ebx], esi
jne 0x100f8dc4
jmp 0x100f901a
or esi, 0xffffffff
mov ecx, 0xfffffff9
test eax, eax
cmove esi, ecx
jmp 0x100f901a
mov esi, 0xfffffff9
jmp 0x100f901a
xor esi, esi
pop ebx
push dword [ebp - 0x118]
call fcn.101003d0
mov ecx, dword [ebp - 4]
add esp, 4
mov eax, esi
xor ecx, ebp
pop edi
pop esi
call fcn.10132a90
mov esp, ebp
pop ebp
ret