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

Disassembly:
sub esp, 0x4c
push ebx
push ebp
push esi
push edi
push 0x10000
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebp, eax
cmp ebp, ebx
mov dword [esp + 0x10], ebp
jne 0x417f1c
pop edi
pop esi
pop ebp
mov eax, 0x80090304
pop ebx
add esp, 0x4c
ret
mov eax, dword [esp + 0x6c]
xor edi, edi
mov dword [esp + 0x6c], eax
mov esi, 0x90312
cmp esi, 0x90312
je 0x417f47
cmp esi, 0x80090318
je 0x417f47
cmp esi, 0x90320
jne 0x418164
cmp edi, ebx
je 0x417f53
cmp esi, 0x80090318
jne 0x417f8e
cmp dword [esp + 0x6c], ebx
je 0x417f86
mov eax, dword [esp + 0x60]
push ebx
mov ecx, 0x10000
sub ecx, edi
push ecx
lea edx, [edi + ebp]
push edx
push eax
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x4180b6
cmp eax, ebx
je 0x4180b6
add edi, eax
jmp 0x417f8e
mov dword [esp + 0x6c], 1
mov eax, 2
mov dword [esp + 0x48], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x44]
mov dword [esp + 0x40], ecx
lea eax, [esp + 0x18]
push eax
lea edx, [esp + 0x24]
mov dword [esp + 0x38], edx
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0x34]
push edx
mov edx, dword [esp + 0x70]
push ebx
push ebx
lea eax, [esp + 0x4c]
push eax
push 0x10
push ebx
push 0xc11c
push ebx
push ecx
push edx
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x74], edi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x60], 1
mov dword [esp + 0x5c], ebx
call dword [0x42a398]
mov esi, eax
cmp esi, ebx
je 0x41802e
cmp esi, 0x90312
je 0x41802e
cmp esi, ebx
jge 0x418064
mov eax, dword [esp + 0x14]
test ah, 0x40
je 0x418064
mov ecx, dword [esp + 0x20]
cmp ecx, ebx
je 0x418064
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x418064
push ebx
push ecx
push eax
mov eax, dword [esp + 0x6c]
push eax
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x4180c0
cmp eax, ebx
je 0x4180c0
mov ecx, dword [esp + 0x28]
push ecx
call dword [0x42a3c0]
mov dword [esp + 0x28], ebx
cmp esi, 0x80090318
je 0x417f2b
cmp esi, ebx
je 0x4180e3
jl 0x418168
cmp esi, 0x90320
jne 0x41808b
mov dword [esp + 0x6c], ebx
jmp 0x417f26
cmp dword [esp + 0x54], 5
jne 0x4180af
mov eax, dword [esp + 0x50]
sub edi, eax
push eax
add edi, ebp
push edi
push ebp
call dword [sym.imp.MSVCRT.dll_memmove]
mov edi, dword [esp + 0x5c]
add esp, 0xc
jmp 0x417f2b
xor edi, edi
jmp 0x417f2b
mov esi, 0x80090304
jmp 0x418168
mov edx, dword [esp + 0x28]
push edx
call dword [0x42a3c0]
mov eax, dword [esp + 0x68]
push eax
call dword [0x42a3a4]
pop edi
pop esi
pop ebp
mov eax, 0x80090304
pop ebx
add esp, 0x4c
ret
cmp dword [esp + 0x54], 5
jne 0x418147
mov ecx, dword [esp + 0x50]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, ebx
mov ebp, dword [esp + 0x70]
mov dword [ebp + 8], eax
jne 0x41810e
pop edi
pop esi
pop ebp
mov eax, 0x80090304
pop ebx
add esp, 0x4c
ret
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x10]
sub edi, ecx
push ecx
add edi, ebx
push edi
push eax
call dword [sym.imp.MSVCRT.dll_memmove]
mov edx, dword [esp + 0x5c]
mov dword [ebp], edx
mov dword [ebp + 4], 2
add esp, 0xc
mov ebp, ebx
push ebp
call dword [sym.imp.KERNEL32.dll_LocalFree]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov eax, dword [esp + 0x70]
push ebp
mov dword [eax + 8], ebx
mov dword [eax], ebx
mov dword [eax + 4], ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
cmp esi, ebx
jge 0x418173
mov eax, dword [esp + 0x68]
push eax
call dword [0x42a3a4]
push ebp
call dword [sym.imp.KERNEL32.dll_LocalFree]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret