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

Disassembly:
push ecx
mov eax, dword [edi + 0x10]
push ebx
push esi
mov esi, dword [eax]
lea eax, [ecx - 4]
xor ebx, ebx
cmp eax, 3
ja case.default.0x43db66
jmp dword [eax*4 + 0x43de1c]
cmp ecx, 4
jne 0x43dc4f
mov eax, dword [edi + 0x15c]
movzx edx, word [edi + 0x40]
xor ecx, ecx
mov ch, byte [eax + 2]
mov cl, byte [eax + 3]
mov eax, ecx
movzx ecx, dx
cmp eax, ecx
je 0x43dc37
test dx, dx
jne 0x43dba5
cmp eax, 0xffff
je 0x43dc37
push ecx
push eax
push 0x4f2500
call fcn.0042de00
add dword [edi + 0x18], 1
mov eax, dword [edi + 0x18]
add esp, 0xc
cmp eax, dword [edi + 0x20]
jle 0x43dbdd
movzx edx, word [edi + 0x40]
push edx
push 0x4f252c
call fcn.0042dec0
mov ebx, 0x37
add esp, 8
mov eax, ebx
pop esi
pop ebx
pop ecx
ret
mov eax, dword [edi + 0x148]
mov edx, dword [edi + 0x150]
push eax
lea ecx, [edi + 0xc8]
push ecx
mov ecx, dword [edi + 0x14]
push 0
add edx, 4
push edx
lea eax, [edi + 0x160]
push eax
push ecx
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jge 0x43dc31
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, dword [edi + 0x10]
push edx
call fcn.004482a0
add esp, 4
push eax
push 0x4da460
call fcn.0042dec0
mov ebx, 0x37
add esp, 8
mov eax, ebx
pop esi
pop ebx
pop ecx
ret
lea eax, [edi + 0x38]
push eax
call dword [sym.imp.MSVCR80.dll__time64]
mov ecx, 1
add esp, 4
add word [edi + 0x40], cx
jmp 0x43dc58
mov ecx, 1
mov word [edi + 0x40], cx
mov dword [edi + 0x18], ebx
mov edx, dword [edi + 0x160]
mov byte [edx], bl
mov eax, dword [edi + 0x160]
mov byte [eax + 1], 3
movzx eax, word [edi + 0x40]
mov edx, dword [edi + 0x160]
mov byte [edx + 2], ah
mov edx, dword [edi + 0x160]
mov byte [edx + 3], al
cmp word [edi + 0x40], cx
jbe 0x43dc9b
mov eax, dword [edi + 0x150]
cmp eax, dword [edi + 0x154]
jl 0x43ddfa
mov ecx, dword [edi + 0x10]
lea ebx, [edi + 0x150]
push ebx
push ecx
mov ecx, dword [edi + 0x154]
call fcn.0042a830
add esp, 8
test eax, eax
jne 0x43de16
mov edx, dword [edi + 0x148]
mov ecx, dword [ebx]
push edx
mov edx, dword [edi + 0x160]
lea eax, [edi + 0xc8]
push eax
mov eax, dword [edi + 0x14]
push 0
add ecx, 4
push ecx
push edx
push eax
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jl 0x43dd80
mov eax, dword [ebx]
cdq
add dword [esi + 0x40], eax
adc dword [esi + 0x44], edx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x430], edx
mov eax, dword [esi + 0x44]
mov dword [esi + 0x434], eax
xor eax, eax
pop esi
pop ebx
pop ecx
ret
movzx edx, word [edi + 0x40]
mov ecx, 1
add dword [edi + 0x18], ecx
mov eax, dword [edi + 0x18]
add edx, ecx
push eax
and edx, 0xffff
push edx
push 0x4f24b4
call fcn.0042de00
mov eax, dword [edi + 0x18]
add esp, 0xc
cmp eax, dword [edi + 0x20]
jle 0x43dd4d
mov dword [edi + 8], 0xffffff9d
mov dword [edi], 3
xor eax, eax
pop esi
pop ebx
pop ecx
ret
mov ecx, dword [edi + 0x148]
mov eax, dword [edi + 0x150]
push ecx
mov ecx, dword [edi + 0x160]
lea edx, [edi + 0xc8]
push edx
mov edx, dword [edi + 0x14]
push 0
add eax, 4
push eax
push ecx
push edx
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jge 0x43dcf4
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, dword [edi + 0x10]
push ecx
call fcn.004482a0
add esp, 4
push eax
push 0x4da460
call fcn.0042dec0
add esp, 8
mov eax, 0x37
pop esi
pop ebx
pop ecx
ret
mov dword [edi], 3
mov ecx, dword [edi + 0x160]
mov byte [ecx], bl
mov edx, dword [edi + 0x160]
mov byte [edx + 1], 5
movzx eax, word [edi + 0x40]
mov ecx, dword [edi + 0x160]
mov byte [ecx + 2], ah
mov edx, dword [edi + 0x160]
mov byte [edx + 3], al
mov eax, dword [edi + 0x148]
mov edx, dword [edi + 0x160]
push eax
mov eax, dword [edi + 0x14]
lea ecx, [edi + 0xc8]
push ecx
push 0
push 4
push edx
push eax
call dword [sym.imp.WS2_32.dll_sendto]
mov dword [edi], 3
xor eax, eax
pop esi
pop ebx
pop ecx
ret
push ecx
push 0x4f2558
call fcn.0042dec0
add esp, 8
xor eax, eax
pop esi
pop ebx
pop ecx
ret