Function at 0x47f030
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
cmp dword [0x71f478], 0
jne 0x47f0d3
mov dword [0x71f478], 1
push 0x190
push 0
push 0x71f2e8
call fcn.006480e0
add esp, 0xc
push 0x71f2e8
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x47f0d3
call fcn.00460b90
push str.BIO_sock_init
push 0x94
push str.....Srcopenssl_3.0.12crypto_bio_bio_sock.c
call fcn.00460de0
add esp, 0xc
push str.calling_wsastartup__
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 2
call fcn.00460f10
add esp, 0xc
call fcn.00460b90
push str.BIO_sock_init
push 0x96
push str.....Srcopenssl_3.0.12crypto_bio_bio_sock.c
call fcn.00460de0
add esp, 0xc
push 0
push 0x7a
push 0x20
call fcn.00460f10
add esp, 0xc
or eax, 0xffffffff
jmp 0x47f0d8
mov eax, 1
pop ebp
ret

Function at 0x47f100
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
mov eax, 4
call fcn.006499b0
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x47f15a
call fcn.00460b90
push str.BIO_socket_ioctl
push 0xd1
push str.....Srcopenssl_3.0.12crypto_bio_bio_sock.c
call fcn.00460de0
add esp, 0xc
push str.calling_ioctlsocket__
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 2
call fcn.00460f10
add esp, 0xc
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret

Function at 0x47f650
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x11c
call fcn.006499b0
cmp dword [ebp + 8], 0
jl 0x47f669
cmp dword [ebp + 8], 0x40
jl 0x47f671
or eax, 0xffffffff
jmp 0x47f78c
mov eax, dword [ebp + 0x10]
or eax, dword [ebp + 0x14]
jne 0x47f683
mov eax, 1
jmp 0x47f78c
push 0
call fcn.0047f790
add esp, 4
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], edx
mov ecx, dword [ebp + 0x14]
cmp ecx, dword [ebp - 0x114]
jg 0x47f6b8
jl 0x47f6b1
mov edx, dword [ebp + 0x10]
cmp edx, dword [ebp - 0x118]
jae 0x47f6b8
xor eax, eax
jmp 0x47f78c
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x11c], 0
jmp 0x47f6dd
mov eax, dword [ebp - 0x11c]
add eax, 1
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x11c]
cmp ecx, dword [ebp - 0x110]
jae 0x47f701
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp + edx*4 - 0x10c]
cmp eax, dword [ebp + 8]
jne 0x47f6ff
jmp 0x47f701
jmp 0x47f6ce
mov ecx, dword [ebp - 0x11c]
cmp ecx, dword [ebp - 0x110]
jne 0x47f737
cmp dword [ebp - 0x110], 0x40
jae 0x47f737
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp + 8]
mov dword [ebp + edx*4 - 0x10c], eax
mov ecx, dword [ebp - 0x110]
add ecx, 1
mov dword [ebp - 0x110], ecx
xor edx, edx
jne 0x47f6c2
mov dword [ebp - 4], 0
mov eax, dword [ebp + 0x10]
sub eax, dword [ebp - 0x118]
mov ecx, dword [ebp + 0x14]
sbb ecx, dword [ebp - 0x114]
mov dword [ebp - 8], eax
lea edx, [ebp - 8]
push edx
push 0
mov eax, dword [ebp + 0xc]
neg eax
sbb eax, eax
not eax
lea ecx, [ebp - 0x110]
and eax, ecx
push eax
mov edx, dword [ebp + 0xc]
neg edx
sbb edx, edx
lea eax, [ebp - 0x110]
and edx, eax
push edx
mov ecx, dword [ebp + 8]
add ecx, 1
push ecx
call dword [sym.imp.WS2_32.dll_select]
mov esp, ebp
pop ebp
ret