Function at 0x432a00
Capabilities:
Check for time delay via gettickcount
Get socket status

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x444
mov eax, dword [0x751f00]
xor eax, esp
mov dword [esp + 0x440], eax
push ebx
push esi
mov esi, ecx
mov eax, dword [esi]
push edi
xor edi, edi
cmp dword [eax + 0x3e0], 2
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], eax
jne 0x432a47
mov eax, dword [esi + 0x1f8]
push eax
call fcn.00599700
add esp, 4
cmp dword [esi + 0x1f8], edi
je 0x432d0c
jmp 0x432a60
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x1a0]
mov dword [esp + 0x18], edi
cmp edi, 0xffffffff
je 0x432c46
mov esi, 0x2710
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
mov ebx, edx
shr ebx, 6
mov edx, ebx
imul edx, edx, 0x3e8
sub ecx, edx
imul ecx, ecx, 0x3e8
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], edi
mov ecx, 1
mov dword [esp + 0x13c], edi
xor edi, edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x138], ecx
mov dword [esp + 0x240], edi
jmp 0x432ad0
mov eax, 0x10624dd3
imul esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x20], eax
imul eax, eax, 0x3e8
sub esi, eax
imul esi, esi, 0x3e8
lea eax, [esp + 0x20]
push eax
neg edi
sbb edi, edi
lea eax, [esp + 0x244]
and edi, eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x13c]
push edx
neg ecx
sbb ecx, ecx
lea edx, [esp + 0x38]
push edi
and ecx, edx
push ecx
inc eax
push eax
mov dword [esp + 0x38], esi
call dword [sym.imp.WS2_32.dll_select]
mov esi, eax
cmp esi, 0xffffffff
jne 0x432baa
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x432b4a
cmp dword [0x77e3a4], 0
jne 0x432baa
cmp eax, 0x2714
jne 0x432baa
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
mov edi, edx
shr edi, 6
mov eax, edi
imul eax, eax, 0x3e8
sub ecx, eax
imul ecx, ecx, 0x3e8
mov eax, ecx
sub eax, dword [esp + 0x2c]
push 0
cdq
push 0x3e8
push edx
push eax
call fcn.0056a120
mov esi, ebx
sub esi, edi
add esi, 0xa
imul esi, esi, 0x3e8
sub esi, eax
test esi, esi
jle 0x432ca3
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x240]
jmp 0x432ad0
test esi, esi
jl 0x432cb6
je 0x432ca3
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x30]
push ecx
push edi
xor esi, esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x432bd2
mov esi, 1
lea edx, [esp + 0x138]
push edx
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x432be7
or esi, 4
test esi, esi
jle 0x432ca1
call fcn.0059d730
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x1f8]
push 0x100
lea eax, [esp + 0x34c]
push eax
push ecx
call fcn.00596ac0
mov edx, dword [esi + 0x1f8]
add esp, 0xc
push eax
push edx
call fcn.00599b50
add esp, 8
cmp eax, 6
ja case.0x432c29.843
jmp dword [eax*4 + 0x432d24]
mov ecx, dword [esp + 0x14]
push str.SSL_ERROR_WANT_READ_n
call fcn.0040f940
add esp, 4
jmp 0x432a60
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x432ca3
mov ecx, dword [esp + 0x14]
push str.SSL_ERROR_WANT_WRITE_n
call fcn.0040f940
add esp, 4
jmp case.0x432c29.844
call fcn.0059dc10
push 0x100
lea ecx, [esp + 0x34c]
push ecx
push eax
call fcn.0059da60
add esp, 0xc
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
mov eax, dword [esi]
lea edx, [esp + 0x34c]
push edx
push str.OpenSSL_SSL_read:__s__errno__d
call fcn.0040f9d0
add esp, 0xc
jmp case.0x432c29.844
jne 0x432cb6
mov eax, dword [esp + 0x14]
push str.SSL_shutdown_timeout
call fcn.0040f9d0
add esp, 4
jmp case.0x432c29.844
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
mov eax, dword [esp + 0x18]
push str.select_poll_on_SSL_socket__errno:__d
call fcn.0040f9d0
add esp, 8
mov dword [esp + 0x1c], 0xffffffff
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x1f8]
push eax
call fcn.00599440
mov eax, dword [esp + 0x20]
add esp, 4
mov dword [esi + 0x1f8], 0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.0055e7fd
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x44c]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0055e7fd
mov esp, ebp
pop ebp
ret