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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x344
mov eax, dword [0x10415990]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, ecx
xor edi, edi
cmp esi, edi
je 0x1007a48d
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x2c]
mov edx, dword [0x1045b910]
push edi
push edi
push eax
mov eax, dword [0x1045b8f0]
push ecx
push str.try2sends__type_d_s__stat_d.
push 0x250
push 0x1044102c
push edx
push 6
push eax
call fcn.10062060
add esp, 0x28
cmp dword [esi + 0x2c], 6
jne 0x10079f32
cmp dword [esi + 0x34], 5
jne 0x1007a48d
cmp dword [esi + 0x70], edi
jne 0x1007a08a
mov eax, dword [esi]
mov ecx, 1
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x218], ecx
lea ecx, [ebp - 0x340]
push ecx
lea edx, [ebp - 0x218]
push edx
lea ecx, [ebp - 0x110]
push ecx
lea edx, [ebp - 0x320]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x214], eax
push edx
inc eax
push eax
mov dword [ebp - 0x340], edi
mov dword [ebp - 0x33c], edi
mov dword [ebp - 0x320], edi
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jle 0x1007a081
mov ecx, dword [esi]
mov ebx, dword [sym.imp.WS2_32.dll___WSAFDIsSet]
lea eax, [ebp - 0x110]
push eax
push ecx
call ebx
test eax, eax
je 0x1007a09e
cmp dword [esi + 0x34], 2
jne 0x1007a07a
mov ecx, dword [esi]
lea edx, [ebp - 0x330]
push edx
lea eax, [ebp - 0x324]
push eax
push 0x1007
push 0xffff
push ecx
mov dword [ebp - 0x324], edi
mov dword [ebp - 0x330], 4
call dword [sym.imp.WS2_32.dll_getsockopt]
mov eax, dword [ebp - 0x324]
cmp eax, edi
je 0x1007a075
mov edx, dword [esi]
mov ecx, dword [0x1045b8f0]
push edi
push eax
mov eax, dword [0x1045b910]
push edx
push esi
push 0x10441068
push 0x267
push 0x1044108c
push eax
push edi
push ecx
call fcn.10062060
mov eax, 7
add esp, 0x28
cmp dword [esi + 0x34], eax
je 0x1007a48d
mov ecx, dword [ebp - 0x324]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x80]
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x6c], edi
cmp eax, edi
je 0x1007a48d
mov edx, dword [esi + 0x84]
push ecx
push 0x27da
push 5
push edx
call eax
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1015eea7
mov esp, ebp
pop ebp
ret
call fcn.10079ab0
mov dword [esi + 0x70], 1
cmp dword [esi + 0x70], edi
je 0x1007a48d
or ebx, 0xffffffff
mov dword [ebp - 0x338], ebx
mov dword [ebp - 0x32c], edi
jmp 0x1007a166
mov ecx, dword [esi]
lea eax, [ebp - 0x218]
push eax
push ecx
call ebx
test eax, eax
je 0x1007a081
mov ecx, dword [esi]
lea edx, [ebp - 0x330]
push edx
lea eax, [ebp - 0x324]
push eax
push 0x1007
push 0xffff
push ecx
mov dword [ebp - 0x324], edi
mov dword [ebp - 0x330], 4
call dword [sym.imp.WS2_32.dll_getsockopt]
mov edx, dword [ebp - 0x324]
mov eax, dword [esi]
mov ecx, dword [0x1045b910]
push edi
push edx
mov edx, dword [0x1045b8f0]
push eax
push esi
push 0x104410c8
push 0x274
push 0x104410ec
push ecx
push edi
push edx
call fcn.10062060
mov eax, 7
add esp, 0x28
cmp dword [esi + 0x34], eax
je 0x1007a48d
mov ecx, dword [ebp - 0x324]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x80]
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x6c], edi
cmp eax, edi
je 0x1007a48d
push ecx
mov ecx, dword [esi + 0x84]
push 0x27dc
push 5
push ecx
call eax
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1015eea7
mov esp, ebp
pop ebp
ret
xor edi, edi
lea eax, [esi + 0x40]
cmp eax, edi
je 0x1007a48d
mov eax, dword [eax]
cmp eax, edi
je 0x1007a48d
mov edi, dword [eax + 4]
xor eax, eax
mov dword [ebp - 0x328], eax
cmp edi, eax
je 0x1007a1ce
mov edx, dword [edi + 8]
cmp edx, eax
je 0x1007a1ce
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x18]
cmp eax, ecx
ja 0x1007a1aa
jne 0x1007a1a7
cmp dword [edi + 0x10], 0
ja 0x1007a1a7
xor eax, eax
jmp 0x1007a1b8
mov eax, dword [edi + 0xc]
sub eax, ecx
test eax, eax
je 0x1007a1b8
add ecx, edx
mov dword [ebp - 0x328], ecx
lea edx, [ebp - 0x32c]
test edx, edx
je 0x1007a1c8
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x32c]
mov dword [ebp - 0x328], eax
test ecx, ecx
je 0x1007a2fd
cmp dword [esi + 0x2c], 6
jne 0x1007a246
mov ecx, dword [0x1045b914]
push closesocket
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x1045b914]
mov edx, dword [0x10458394]
push eax
mov dword [ebp - 0x334], edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [ebp - 0x334], 0
je 0x1007a36f
lea eax, [esi + 0x98]
test eax, eax
jne 0x1007a22e
or ebx, 0xffffffff
jmp 0x1007a25b
mov ecx, dword [ebp - 0x32c]
mov edx, dword [ebp - 0x328]
push ecx
push edx
call fcn.100aab20
add esp, 8
jmp 0x1007a259
mov eax, dword [esi]
push 0
push ecx
mov ecx, dword [ebp - 0x328]
push ecx
push eax
call dword [sym.imp.WS2_32.dll_send]
mov ebx, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, dword [ebp - 0x32c]
mov ecx, dword [0x1045b910]
push esi
push ebx
push edx
mov edx, dword [0x1045b8f0]
mov dword [ebp - 0x338], eax
mov eax, dword [esi]
push eax
push str.send__x___d___ret_d__hd_x
push 0x2a2
push 0x104411a8
push ecx
push 6
push edx
call fcn.10062060
add esp, 0x28
cmp ebx, 0xffffffff
je 0x1007a3f2
xor edx, edx
cmp edi, edx
je 0x1007a2ca
add dword [edi + 0x18], ebx
mov eax, dword [edi + 0x18]
sub dword [edi + 0x10], ebx
add dword [edi + 0x14], ebx
mov ecx, dword [edi + 0x10]
cmp eax, dword [edi + 0xc]
jb 0x1007a2c0
mov dword [edi + 0x18], edx
cmp ecx, edx
jne 0x1007a2ca
mov dword [edi + 0x18], edx
mov dword [edi + 0x1c], edx
mov eax, dword [esi + 0x80]
add dword [esi + 0x78], ebx
cmp eax, edx
je 0x1007a2e7
mov ecx, dword [esi + 0x84]
push edx
push ebx
push 2
push ecx
call eax
add esp, 0x10
mov edx, dword [ebp - 0x328]
mov eax, dword [0x1045b8f0]
push ebx
push edx
push eax
call fcn.10062360
add esp, 0xc
test edi, edi
je 0x1007a30b
cmp dword [edi + 0x10], 0
jne 0x1007a164
mov edx, dword [esi + 0x48]
test edx, edx
je 0x1007a164
mov eax, dword [esi + 0x40]
mov ecx, dword [eax]
mov dword [ebp - 0x334], eax
mov dword [esi + 0x40], ecx
test ecx, ecx
jne 0x1007a32b
mov dword [esi + 0x44], ecx
dec edx
mov dword [esi + 0x48], edx
mov edi, dword [eax + 4]
test edi, edi
je 0x1007a360
dec dword [edi + 4]
cmp dword [edi + 4], 0
jne 0x1007a360
mov eax, dword [edi + 8]
test eax, eax
je 0x1007a350
push eax
call dword [sym.imp.MSVCR100.dll_free]
add esp, 4
push edi
call dword [sym.imp.MSVCR100.dll_free]
mov eax, dword [ebp - 0x334]
add esp, 4
push eax
call dword [sym.imp.MSVCR100.dll_free]
add esp, 4
jmp 0x1007a164
mov edi, dword [ebp - 0x338]
mov ecx, dword [esi]
mov edx, dword [0x1045b910]
mov eax, dword [0x1045b8f0]
push edi
push ebx
push ecx
push esi
push str.send___failed_ssl_not_init.__x__x__d__d
push 0x296
push 0x10441150
push edx
push 0
push eax
call fcn.10062060
mov eax, 7
add esp, 0x28
cmp dword [esi + 0x34], eax
je 0x1007a48d
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x80]
mov dword [esi + 0x8c], edi
mov dword [esi + 0x6c], 0
test eax, eax
je 0x1007a48d
mov ecx, dword [esi + 0x84]
push edi
push 0x2794
push 5
push ecx
call eax
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1015eea7
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x338]
cmp edi, 0x2733
je 0x1007a486
cmp edi, 0x2747
je 0x1007a486
test edi, edi
je 0x1007a486
mov edx, dword [esi]
mov eax, dword [0x1045b910]
mov ecx, dword [0x1045b8f0]
push edi
push 0xffffffffffffffff
push edx
push esi
push str.send___failed___x__x__d__d
push 0x2ad
push 0x10441200
push eax
push 0
push ecx
call fcn.10062060
mov eax, 7
add esp, 0x28
cmp dword [esi + 0x34], eax
je 0x1007a48d
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x80]
mov dword [esi + 0x8c], edi
mov dword [esi + 0x6c], 0
test eax, eax
je 0x1007a48d
mov edx, dword [esi + 0x84]
push edi
push 0x27dc
push 5
push edx
call eax
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1015eea7
mov esp, ebp
pop ebp
ret
mov dword [esi + 0x70], 0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1015eea7
mov esp, ebp
pop ebp
ret