Function at 0x46c5d0
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
push edi
mov eax, dword [esi + 0x10]
mov edi, dword [eax]
mov eax, dword [ebp + 0xc]
lea ecx, [eax - 4]
cmp ecx, 3
ja case.default.0x46c5ef
jmp dword [ecx*4 + 0x46c8f4]
cmp eax, 4
jne 0x46c6d5
lea eax, [esi + 0x15c]
push eax
call fcn.0046b5d0
movzx ecx, word [esi + 0x40]
add esp, 4
movzx eax, ax
mov edx, ecx
cmp eax, edx
je 0x46c6c3
test cx, cx
jne 0x46c62f
cmp eax, 0xffff
je 0x46c6c3
push edx
push eax
push 0x494314
push edi
call fcn.0044a130
inc dword [esi + 0x18]
add esp, 0x10
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x20]
jle 0x46c669
movzx eax, word [esi + 0x40]
push eax
push 0x494340
push edi
call fcn.0044a050
add esp, 0xc
mov ebx, 0x37
mov eax, ebx
pop edi
pop esi
pop ebx
pop ebp
ret
push dword [esi + 0x148]
lea eax, [esi + 0xc8]
push eax
mov eax, dword [esi + 0x150]
push 0
add eax, 4
push eax
push dword [esi + 0x160]
push dword [esi + 0x14]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jns 0x46c8eb
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push dword [esi + 0x10]
call fcn.00470e70
push eax
push 0x491c44
push edi
call fcn.0044a050
add esp, 0x14
mov ebx, 0x37
mov eax, ebx
pop edi
pop esi
pop ebx
pop ebp
ret
lea eax, [esi + 0x38]
push eax
call fcn.0041f210
add esp, 4
inc word [esi + 0x40]
jmp 0x46c6de
mov eax, 1
mov word [esi + 0x40], ax
mov dword [esi + 0x18], ebx
lea ebx, [esi + 0x160]
push 3
push ebx
call fcn.0046b630
movzx eax, word [esi + 0x40]
push eax
push ebx
call fcn.0046b610
add esp, 0x10
cmp word [esi + 0x40], 1
jbe 0x46c71f
mov eax, dword [esi + 0x150]
cmp eax, dword [esi + 0x154]
jge 0x46c71f
pop edi
mov dword [esi], 3
xor eax, eax
pop esi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0x10]
mov ecx, dword [ebx]
mov dword [esi + 0x150], 0
add ecx, 4
mov eax, dword [eax]
mov dword [eax + 0x148], ecx
lea ecx, [ebp + 8]
mov eax, dword [esi + 0x154]
sub eax, dword [esi + 0x150]
push ecx
push eax
push dword [esi + 0x10]
call fcn.00452830
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x46c8eb
nop
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp + 8]
add dword [esi + 0x150], ecx
mov eax, dword [eax]
add dword [eax + 0x148], ecx
mov ecx, dword [esi + 0x150]
mov eax, dword [esi + 0x154]
cmp ecx, eax
jge 0x46c7a7
cmp dword [ebp + 8], 0
je 0x46c7a7
lea edx, [ebp + 8]
sub eax, ecx
push edx
push eax
push dword [esi + 0x10]
call fcn.00452830
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x46c760
pop edi
pop esi
pop ebx
pop ebp
ret
push dword [esi + 0x148]
lea eax, [esi + 0xc8]
push eax
push 0
lea eax, [ecx + 4]
push eax
push dword [esi + 0x160]
push dword [esi + 0x14]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
js 0x46c869
mov eax, dword [esi + 0x150]
cdq
add dword [edi + 0x98], eax
adc dword [edi + 0x9c], edx
push dword [edi + 0x9c]
push dword [edi + 0x98]
push edi
call fcn.004544e0
add esp, 0xc
mov eax, ebx
pop edi
pop esi
pop ebx
pop ebp
ret
movzx eax, word [esi + 0x40]
inc dword [esi + 0x18]
inc eax
push dword [esi + 0x18]
movzx eax, ax
push eax
push 0x4942c8
push edi
call fcn.0044a130
mov eax, dword [esi + 0x18]
add esp, 0x10
cmp eax, dword [esi + 0x20]
jle 0x46c839
pop edi
mov dword [esi + 8], 0xffffff9d
mov eax, ebx
mov dword [esi], 3
pop esi
pop ebx
pop ebp
ret
push dword [esi + 0x148]
lea eax, [esi + 0xc8]
push eax
mov eax, dword [esi + 0x150]
push 0
add eax, 4
push eax
push dword [esi + 0x160]
push dword [esi + 0x14]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jns 0x46c7e4
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push dword [esi + 0x10]
call fcn.00470e70
push eax
push 0x491c44
push edi
call fcn.0044a050
add esp, 0x14
mov eax, 0x37
pop edi
pop esi
pop ebx
pop ebp
ret
lea edi, [esi + 0x160]
mov dword [esi], 3
push 5
push edi
call fcn.0046b630
movzx eax, word [esi + 0x40]
push eax
push edi
call fcn.0046b610
add esp, 0x10
lea eax, [esi + 0xc8]
push dword [esi + 0x148]
push eax
push 0
push 4
push dword [edi]
push dword [esi + 0x14]
call dword [sym.imp.WS2_32.dll_sendto]
pop edi
mov dword [esi], 3
mov eax, ebx
pop esi
pop ebx
pop ebp
ret
push eax
push 0x49436c
push edi
call fcn.0044a050
add esp, 0xc
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret