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

Disassembly:
sub esp, 0x834
mov eax, dword [0x684540]
push ebx
push ebp
mov dword [esp + 0x838], eax
mov eax, dword [esp + 0x840]
mov ecx, dword [eax + 0x84]
mov eax, dword [0x6a2720]
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 0x616afe
mov dword [esp + 0x10], 0x6a2608
push ebp
lea edx, [esp + 0x2c]
push str.localip_d
push edx
call fcn.006238e3
lea eax, [esp + 0x34]
add esp, 0xc
lea edx, [eax + 1]
jmp 0x616a30
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x616a30
sub eax, edx
mov edx, dword [esp + 0x83c]
mov ecx, 0x800
inc eax
sub ecx, edx
cmp eax, ecx
jle 0x616a4e
mov eax, ecx
cmp eax, ebx
je 0x616a7e
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 0x616a90
sub ecx, edi
mov edi, dword [esp + 0x83c]
lea edx, [ecx + 1]
mov ecx, 0x800
sub ecx, edi
cmp edx, ecx
jle 0x616ab0
mov edx, ecx
cmp edx, ebx
je 0x616ae5
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 [0x6a2720]
inc ebp
add ecx, 4
cmp ebp, eax
mov dword [esp + 0x10], ecx
jl 0x616a11
mov ecx, 0x800
mov eax, 0xa
sub ecx, edi
cmp ecx, eax
jge 0x616b14
mov eax, ecx
cmp eax, ebx
je 0x616b41
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 0x65fb80
push edx
call fcn.006238e3
lea eax, [esp + 0x20]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x616b68
sub eax, edx
lea edx, [eax + 1]
mov eax, dword [esp + 0x83c]
mov ecx, 0x800
sub ecx, eax
cmp edx, ecx
jle 0x616b88
mov edx, ecx
cmp edx, ebx
je 0x616bbf
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 0x616bd5
mov edx, ecx
cmp edx, ebx
je 0x616c09
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, 0x665290
jne 0x616c22
mov esi, 0x6652a0
mov ecx, esi
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x616c27
sub ecx, edi
lea edx, [ecx + 1]
mov ecx, 0x800
sub ecx, eax
cmp edx, ecx
jle 0x616c40
mov edx, ecx
cmp edx, ebx
je 0x616c73
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 0x616d3b
mov ecx, 0x800
mov edx, 0xd
sub ecx, eax
cmp ecx, edx
jge 0x616c96
mov edx, ecx
cmp edx, ebx
je 0x616cc3
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 0x65fb80
push edx
call fcn.006238e3
lea eax, [esp + 0x20]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x616ce4
sub eax, edx
lea edx, [eax + 1]
mov eax, dword [esp + 0x83c]
mov ecx, 0x800
sub ecx, eax
cmp edx, ecx
jle 0x616d04
mov edx, ecx
cmp edx, ebx
je 0x616d3b
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 0x616d51
mov edx, ecx
cmp edx, ebx
je 0x616d85
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 0x616d90
sub ecx, edi
lea edx, [ecx + 1]
mov ecx, 0x800
sub ecx, eax
cmp edx, ecx
jle 0x616da9
mov edx, ecx
cmp edx, ebx
je 0x616ddc
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 0x616e2d
push ebx
push 0xff
push ebx
lea ecx, [esp + 0x48]
push ecx
mov ebx, ebp
call fcn.00615c00
push 0
push 0xff
lea edx, [esp + 0x54]
push 1
push edx
call fcn.00615c00
push 0
push 0xff
lea eax, [esp + 0x64]
push 2
push eax
call fcn.00615c00
mov eax, dword [esp + 0x86c]
add esp, 0x30
xor ebx, ebx
jmp 0x616e4c
mov ecx, 0x800
sub ecx, eax
cmp ecx, 1
jl 0x616e4c
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.006293e9
add esp, 0x834
ret