Function at 0x100798f0
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x54
push ebx
push esi
push edi
push 0x10000
push 0
mov ebx, ecx
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ecx, eax
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x10079b2e
mov esi, 0x90312
xor edi, edi
cmp esi, 0x90312
je 0x1007993c
cmp esi, 0x80090318
je 0x1007993c
cmp esi, 0x90320
jne 0x10079adf
test edi, edi
je 0x10079948
cmp esi, 0x80090318
jne 0x10079985
cmp dword [ebp + 8], 0
je 0x1007997e
push 0
mov eax, 0x10000
sub eax, edi
push eax
lea eax, [edi + ecx]
push eax
push dword [ebx + 0x70]
call dword [sym.imp.WSOCK32.dll_recv]
cmp eax, 0xffffffff
je 0x10079b0c
test eax, eax
je 0x10079b0c
mov ecx, dword [esp + 0x10]
add edi, eax
jmp 0x10079985
mov dword [ebp + 8], 1
lea eax, [esp + 0x48]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x44], eax
lea eax, [esp + 0x24]
mov ecx, dword [ebx + 0x5c]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x4c], edi
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x54], 2
push eax
push 0
push 0
lea eax, [esp + 0x50]
mov dword [esp + 0x70], 0
push eax
push 0x10
push 0
push 0xc11c
push 0
lea eax, [ebx + 0x80]
mov dword [esp + 0x7c], 0
push eax
lea eax, [ebx + 0x60]
mov dword [esp + 0x84], 0
mov dword [esp + 0x6c], 2
mov dword [esp + 0x68], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 2
mov dword [esp + 0x50], 0
mov dword [esp + 0x60], 1
mov dword [esp + 0x5c], 0
push eax
mov eax, dword [ecx + 0x18]
call eax
mov esi, eax
test esi, esi
je 0x10079a4a
cmp esi, 0x90312
je 0x10079a4a
test esi, esi
jns 0x10079a8c
test dword [esp + 0x14], 0x4000
je 0x10079a8c
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10079a8c
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x10079a8c
push 0
push eax
push ecx
push dword [ebx + 0x70]
call dword [sym.imp.WSOCK32.dll_send]
cmp eax, 0xffffffff
je 0x10079b13
test eax, eax
je 0x10079b13
mov eax, dword [ebx + 0x5c]
push dword [esp + 0x2c]
mov eax, dword [eax + 0x40]
call eax
mov dword [esp + 0x2c], 0
mov ecx, dword [esp + 0x10]
cmp esi, 0x80090318
je 0x10079920
test esi, esi
je 0x10079b53
js 0x10079ae7
cmp esi, 0x90320
je 0x10079b3c
cmp dword [esp + 0x58], 5
jne 0x1007991e
mov eax, dword [esp + 0x54]
sub edi, eax
push eax
mov eax, ecx
add edi, eax
push edi
push eax
call fcn.100af410
mov edi, dword [esp + 0x60]
add esp, 0xc
mov ecx, dword [esp + 0x10]
jmp 0x10079920
test esi, esi
jns 0x10079bc1
mov ecx, dword [ebx + 0x5c]
lea eax, [ebx + 0x80]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov esi, 0x80090304
jmp 0x10079ae7
mov eax, dword [ebx + 0x5c]
push dword [esp + 0x2c]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [ebx + 0x5c]
lea eax, [ebx + 0x80]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, 0x80090304
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push ecx
mov esi, 0x90320
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp dword [esp + 0x58], 5
jne 0x10079baa
push dword [esp + 0x54]
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, dword [ebp + 0xc]
mov ecx, eax
mov dword [ebx + 8], ecx
test ecx, ecx
je 0x10079b2e
mov eax, dword [esp + 0x54]
sub edi, eax
add edi, dword [esp + 0x10]
push eax
push edi
push ecx
call fcn.100af410
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esp + 0x54]
mov dword [ebx], eax
mov dword [ebx + 4], 2
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp + 0xc]
mov dword [eax + 8], 0
mov dword [eax], 0
mov dword [eax + 4], 0
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8