Function at 0x5a6910
Capabilities:
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push esi
push edi
mov edi, dword [ebp + 0x10]
mov esi, ecx
mov dword [0x7202e4], 0xb4
test edi, edi
jne 0x5a6934
mov dword [ebp + 0x10], 0x7fff
jmp 0x5a6954
cmp edi, 0x3e8
jae 0x5a6945
mov dword [ebp + 0x10], 0x3e8
jmp 0x5a6954
cmp edi, 0x1e8480
jbe 0x5a6957
mov dword [ebp + 0x10], 0x1e8480
mov edi, dword [ebp + 0x10]
mov eax, dword [esi + 0x118]
mov dword [esi + 0x120], 0
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x5a6975
mov dword [ebp - 0xc], 0x1499700
cmp dword [esi + 0xa4], 0xffffffff
jne 0x5a6997
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
push str.No_socket_exists_for_sending__2b_
call edx
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret 0x18
mov dword [0x7202e4], 0xb5
mov eax, dword [esi + 0xa4]
cmp eax, 0xffffffff
je 0x5a69c3
lea ecx, [ebp - 0x10]
push ecx
push 0x8004667e
push eax
mov dword [ebp - 0x10], 1
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov eax, dword [ebp + 0xc]
push ebx
test eax, eax
jne 0x5a6a16
mov dword [0x7202e4], 0xc2
mov esi, dword [esi + 0xa4]
cmp esi, 0xffffffff
je 0x5a69f7
lea eax, [ebp + 0x10]
push eax
push 0x8004667e
push esi
mov dword [ebp + 0x10], 0
call dword [sym.imp.WS2_32.dll_ioctlsocket]
pop ebx
pop edi
mov dword [0x7202e4], 0xc3
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x10], edi
cmp edi, eax
jbe 0x5a6a20
mov dword [ebp - 0x10], eax
mov edi, dword [ebp + 0x1c]
test edi, edi
je 0x5a6a49
mov edx, dword [ebp + 0x14]
push 0x174
push edx
mov ecx, edi
mov dword [0x7202e4], 0xb8
call fcn.0056d6c0
test al, al
jne 0x5a6bee
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 1]
push eax
push edi
push ecx
lea ecx, [esi + 0xc8]
mov dword [0x7202e4], 0xb9
mov byte [ebp - 1], 0
call fcn.005f3f40
cmp byte [ebp - 1], 0
jne 0x5a6c08
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
push 0
push edx
mov dword [0x7202e4], 0xba
mov ecx, dword [esi + 0xa4]
push eax
push ecx
mov dword [esi + 0x120], 0
call dword [sym.imp.WS2_32.dll_send]
mov edi, eax
cmp edi, 0xffffffff
jne 0x5a6b5d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi + 0x120], eax
cmp eax, 0x2733
jne 0x5a6c68
mov ebx, dword [ebp + 0x18]
lea edx, [ebp - 4]
push edx
lea eax, [ebp - 3]
push eax
mov eax, dword [ebp + 0x1c]
lea ecx, [ebp - 2]
push ecx
mov ecx, dword [ebp - 0xc]
lea edx, [ebp - 5]
push edx
mov edx, dword [ebp + 0x14]
push eax
push ebx
push 0
push ecx
push 0
push edx
mov ecx, esi
mov byte [ebp - 2], 0
mov byte [ebp - 3], 0
mov byte [ebp - 4], 0
mov byte [ebp - 5], 0
mov dword [0x7202e4], 0xbd
call fcn.005a6080
test al, al
jne 0x5a6b90
mov dword [0x7202e4], 0xbe
mov esi, dword [esi + 0xa4]
cmp esi, edi
je 0x5a6b3a
lea eax, [ebp + 0x10]
push eax
push 0x8004667e
push esi
mov dword [ebp + 0x10], 0
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp byte [ebp - 2], 0
mov ecx, ebx
je 0x5a6c22
mov edx, dword [ebx]
mov eax, dword [edx + 0x10]
push str.Socket_send_aborted_by_application
call eax
pop ebx
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret 0x18
test edi, edi
jle 0x5a6b8d
push edi
lea ecx, [esi + 0xc8]
mov dword [0x7202e4], 0xc0
call fcn.005f3ed0
cmp byte [esi + 0x184], 0
je 0x5a6b8d
mov eax, dword [ebp + 0x1c]
push eax
push edi
lea ecx, [esi + 0x58]
call fcn.005ab480
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0x5a6bbd
test edi, edi
jle 0x5a6bc7
lea edx, [ebp - 2]
push edx
push edi
mov byte [ebp - 2], 0
mov dword [0x7202e4], 0xc8
call fcn.0056d9e0
cmp byte [ebp - 2], 0
jne 0x5a6cd7
test edi, edi
jle 0x5a6bc7
sub dword [ebp + 0xc], edi
add dword [ebp + 8], edi
mov dword [0x7202e4], 0xcd
test edi, edi
jne 0x5a6bdf
push 1
call fcn.00550010
add esp, 4
cmp dword [ebp + 0xc], 0
jne 0x5a6a10
jmp 0x5a69cb
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
push str.Socket_SendBytes2_aborted_by_application.__1a_
call edx
pop ebx
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret 0x18
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
push str.Aborted_by_application_while_upload_throttling__1b_
call edx
pop ebx
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret 0x18
cmp byte [ebp - 3], 0
je 0x5a6c51
mov eax, dword [ebp - 0xc]
mov edx, dword [ebx]
mov edx, dword [edx + 0x2c]
push eax
push str.idleTimeoutMs
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0x10]
push str.Socket_send_idle_timeout
mov ecx, ebx
call edx
pop ebx
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebx]
mov edx, dword [eax + 0x10]
push str.Socket_send_failed
call edx
pop ebx
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret 0x18
mov edi, dword [ebp + 0x18]
push edi
push eax
mov dword [0x7202e4], 0xbf
call fcn.005a5550
mov eax, dword [edi]
mov edx, dword [eax + 0x10]
add esp, 8
push str.Error_sending_on_socket
mov ecx, edi
call edx
mov ecx, dword [ebp - 0x10]
mov eax, dword [edi]
mov edx, dword [eax + 0x2c]
push ecx
push str.send_size
mov ecx, edi
call edx
mov eax, dword [esi + 0xa4]
push 2
push eax
call dword [sym.imp.WS2_32.dll_shutdown]
mov ecx, dword [esi + 0xa4]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
pop ebx
pop edi
mov dword [esi + 0xa4], 0xffffffff
mov byte [esi + 0xa0], 0
xor al, al
pop esi
mov esp, ebp
pop ebp
ret 0x18
mov dword [0x7202e4], 0xca
mov esi, dword [esi + 0xa4]
cmp esi, 0xffffffff
je 0x5a6d03
lea edx, [ebp + 0x10]
push edx
push 0x8004667e
push esi
mov dword [ebp + 0x10], 0
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov dword [0x7202e4], 0xcc
mov eax, dword [ebx]
mov edx, dword [eax + 0x10]
push str.Socket_send_aborted_by_application
mov ecx, ebx
call edx
pop ebx
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret 0x18