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

Disassembly:
sub esp, 0x834
mov eax, dword [0x61fb00]
push ebx
push ebp
mov dword [esp + 0x838], eax
mov eax, dword [esp + 0x840]
mov ecx, dword [eax + 0x84]
mov eax, dword [0x63d620]
push esi
push edi
xor ebx, ebx
mov edi, 5
xor ebp, ebp
cmp eax, ebx
mov byte [esp + 0x3c], 3
mov dword [esp + 0x3d], ecx
mov dword [esp + 0x83c], edi
jle 0x5bb9ce
mov dword [esp + 0x10], 0x63d508
push ebp
lea edx, [esp + 0x2c]
push str.localip_d
push edx
call fcn.005c87a3
lea eax, [esp + 0x34]
add esp, 0xc
lea edx, [eax + 1]
jmp 0x5bb900
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x5bb900
sub eax, edx
mov edx, dword [esp + 0x83c]
mov ecx, 0x800
inc eax
sub ecx, edx
cmp eax, ecx
jle 0x5bb91e
mov eax, ecx
cmp eax, ebx
je 0x5bb94e
mov ecx, eax
lea edi, [esp + edx + 0x3c]
mov edx, ecx
shr ecx, 2
lea esi, [esp + 0x28]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x83c]
add ecx, eax
mov dword [esp + 0x83c], ecx
mov byte [esp + ecx + 0x3b], bl
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push ecx
call sub.WS2_32.dll_inet_ntoa
mov ecx, eax
lea edi, [ecx + 1]
nop
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x5bb960
sub ecx, edi
mov edi, dword [esp + 0x83c]
lea edx, [ecx + 1]
mov ecx, 0x800
sub ecx, edi
cmp edx, ecx
jle 0x5bb980
mov edx, ecx
cmp edx, ebx
je 0x5bb9b5
mov esi, eax
mov ecx, edx
mov eax, ecx
shr ecx, 2
lea edi, [esp + edi + 0x3c]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x83c]
add eax, edx
mov dword [esp + 0x83c], eax
mov byte [esp + eax + 0x3b], bl
mov edi, dword [esp + 0x83c]
mov ecx, dword [esp + 0x10]
mov eax, dword [0x63d620]
inc ebp
add ecx, 4
cmp ebp, eax
mov dword [esp + 0x10], ecx
jl 0x5bb8e1
mov ecx, 0x800
mov eax, 0xa
sub ecx, edi
cmp ecx, eax
jge 0x5bb9e4
mov eax, ecx
cmp eax, ebx
je 0x5bba11
mov ecx, eax
mov edx, ecx
shr ecx, 2
lea edi, [esp + edi + 0x3c]
mov esi, str.localport
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x83c]
add ecx, eax
mov dword [esp + 0x83c], ecx
mov byte [esp + ecx + 0x3b], bl
mov eax, dword [esp + 0x848]
mov ecx, dword [eax + 0xb8]
push ecx
lea edx, [esp + 0x18]
push 0x5fe158
push edx
call fcn.005c87a3
lea eax, [esp + 0x20]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x5bba38
sub eax, edx
lea edx, [eax + 1]
mov eax, dword [esp + 0x83c]
mov ecx, 0x800
sub ecx, eax
cmp edx, ecx
jle 0x5bba58
mov edx, ecx
cmp edx, ebx
je 0x5bba8f
lea edi, [esp + eax + 0x3c]
mov ecx, edx
mov eax, ecx
shr ecx, 2
lea esi, [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x83c]
add eax, edx
mov dword [esp + 0x83c], eax
mov byte [esp + eax + 0x3b], bl
mov eax, dword [esp + 0x83c]
mov ecx, 0x800
mov edx, 7
sub ecx, eax
cmp ecx, edx
jge 0x5bbaa5
mov edx, ecx
cmp edx, ebx
je 0x5bbad9
lea edi, [esp + eax + 0x3c]
mov ecx, edx
mov eax, ecx
shr ecx, 2
mov esi, str.natneg
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x83c]
add eax, edx
mov dword [esp + 0x83c], eax
mov byte [esp + eax + 0x3b], bl
mov eax, dword [esp + 0x83c]
mov ebp, dword [esp + 0x848]
cmp dword [ebp + 0xc0], ebx
mov esi, 0x604d48
jne 0x5bbaf2
mov esi, 0x604d58
mov ecx, esi
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x5bbaf7
sub ecx, edi
lea edx, [ecx + 1]
mov ecx, 0x800
sub ecx, eax
cmp edx, ecx
jle 0x5bbb10
mov edx, ecx
cmp edx, ebx
je 0x5bbb43
lea edi, [esp + eax + 0x3c]
mov ecx, edx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x83c]
add eax, edx
mov dword [esp + 0x83c], eax
mov byte [esp + eax + 0x3b], bl
mov eax, dword [esp + 0x83c]
cmp dword [esp + 0x84c], ebx
je 0x5bbc0b
mov ecx, 0x800
mov edx, 0xd
sub ecx, eax
cmp ecx, edx
jge 0x5bbb66
mov edx, ecx
cmp edx, ebx
je 0x5bbb93
lea edi, [esp + eax + 0x3c]
mov ecx, edx
mov eax, ecx
shr ecx, 2
mov esi, str.statechanged
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x83c]
add eax, edx
mov dword [esp + 0x83c], eax
mov byte [esp + eax + 0x3b], bl
mov ecx, dword [esp + 0x84c]
push ecx
lea edx, [esp + 0x18]
push 0x5fe158
push edx
call fcn.005c87a3
lea eax, [esp + 0x20]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x5bbbb4
sub eax, edx
lea edx, [eax + 1]
mov eax, dword [esp + 0x83c]
mov ecx, 0x800
sub ecx, eax
cmp edx, ecx
jle 0x5bbbd4
mov edx, ecx
cmp edx, ebx
je 0x5bbc0b
lea edi, [esp + eax + 0x3c]
mov ecx, edx
mov eax, ecx
shr ecx, 2
lea esi, [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x83c]
add eax, edx
mov dword [esp + 0x83c], eax
mov byte [esp + eax + 0x3b], bl
mov eax, dword [esp + 0x83c]
mov ecx, 0x800
mov edx, 9
sub ecx, eax
cmp ecx, edx
jge 0x5bbc21
mov edx, ecx
cmp edx, ebx
je 0x5bbc55
lea edi, [esp + eax + 0x3c]
mov ecx, edx
mov eax, ecx
shr ecx, 2
mov esi, str.gamename
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x83c]
add eax, edx
mov dword [esp + 0x83c], eax
mov byte [esp + eax + 0x3b], bl
mov eax, dword [esp + 0x83c]
lea esi, [ebp + 4]
mov ecx, esi
lea edi, [ecx + 1]
lea ecx, [ecx]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x5bbc60
sub ecx, edi
lea edx, [ecx + 1]
mov ecx, 0x800
sub ecx, eax
cmp edx, ecx
jle 0x5bbc79
mov edx, ecx
cmp edx, ebx
je 0x5bbcac
lea edi, [esp + eax + 0x3c]
mov ecx, edx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x83c]
add eax, edx
mov dword [esp + 0x83c], eax
mov byte [esp + eax + 0x3b], bl
mov eax, dword [esp + 0x83c]
cmp dword [esp + 0x84c], 2
je 0x5bbcfd
push ebx
push 0xff
push ebx
lea ecx, [esp + 0x48]
push ecx
mov ebx, ebp
call fcn.005baad0
push 0
push 0xff
lea edx, [esp + 0x54]
push 1
push edx
call fcn.005baad0
push 0
push 0xff
lea eax, [esp + 0x64]
push 2
push eax
call fcn.005baad0
mov eax, dword [esp + 0x86c]
add esp, 0x30
xor ebx, ebx
jmp 0x5bbd1c
mov ecx, 0x800
sub ecx, eax
cmp ecx, 1
jl 0x5bbd1c
mov byte [esp + eax + 0x3c], bl
mov eax, dword [esp + 0x83c]
inc eax
mov dword [esp + 0x83c], eax
mov ecx, dword [ebp]
push 0x10
lea edx, [ebp + 0xc4]
push edx
push ebx
push eax
lea eax, [esp + 0x4c]
push eax
push ecx
call sub.WS2_32.dll_sendto
call sub.KERNEL32.dll_GetTickCount
mov ecx, dword [esp + 0x840]
pop edi
pop esi
mov dword [ebp + 0xa8], eax
mov dword [ebp + 0xac], eax
pop ebp
pop ebx
call fcn.005ce175
add esp, 0x834
ret