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

Disassembly:
sub esp, 0x834
mov eax, dword [0x67e540]
push ebx
push ebp
mov dword [esp + 0x838], eax
mov eax, dword [esp + 0x840]
mov ecx, dword [eax + 0x84]
mov eax, dword [0x69bfa0]
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 0x611f5e
mov dword [esp + 0x10], 0x69be88
push ebp
lea edx, [esp + 0x2c]
push str.localip_d
push edx
call fcn.0061ed33
lea eax, [esp + 0x34]
add esp, 0xc
lea edx, [eax + 1]
jmp 0x611e90
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x611e90
sub eax, edx
mov edx, dword [esp + 0x83c]
mov ecx, 0x800
inc eax
sub ecx, edx
cmp eax, ecx
jle 0x611eae
mov eax, ecx
cmp eax, ebx
je 0x611ede
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 0x611ef0
sub ecx, edi
mov edi, dword [esp + 0x83c]
lea edx, [ecx + 1]
mov ecx, 0x800
sub ecx, edi
cmp edx, ecx
jle 0x611f10
mov edx, ecx
cmp edx, ebx
je 0x611f45
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 [0x69bfa0]
inc ebp
add ecx, 4
cmp ebp, eax
mov dword [esp + 0x10], ecx
jl 0x611e71
mov ecx, 0x800
mov eax, 0xa
sub ecx, edi
cmp ecx, eax
jge 0x611f74
mov eax, ecx
cmp eax, ebx
je 0x611fa1
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 0x65a9e0
push edx
call fcn.0061ed33
lea eax, [esp + 0x20]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x611fc8
sub eax, edx
lea edx, [eax + 1]
mov eax, dword [esp + 0x83c]
mov ecx, 0x800
sub ecx, eax
cmp edx, ecx
jle 0x611fe8
mov edx, ecx
cmp edx, ebx
je 0x61201f
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 0x612035
mov edx, ecx
cmp edx, ebx
je 0x612069
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, 0x65f948
jne 0x612082
mov esi, 0x65f958
mov ecx, esi
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x612087
sub ecx, edi
lea edx, [ecx + 1]
mov ecx, 0x800
sub ecx, eax
cmp edx, ecx
jle 0x6120a0
mov edx, ecx
cmp edx, ebx
je 0x6120d3
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 0x61219b
mov ecx, 0x800
mov edx, 0xd
sub ecx, eax
cmp ecx, edx
jge 0x6120f6
mov edx, ecx
cmp edx, ebx
je 0x612123
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 0x65a9e0
push edx
call fcn.0061ed33
lea eax, [esp + 0x20]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x612144
sub eax, edx
lea edx, [eax + 1]
mov eax, dword [esp + 0x83c]
mov ecx, 0x800
sub ecx, eax
cmp edx, ecx
jle 0x612164
mov edx, ecx
cmp edx, ebx
je 0x61219b
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 0x6121b1
mov edx, ecx
cmp edx, ebx
je 0x6121e5
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 0x6121f0
sub ecx, edi
lea edx, [ecx + 1]
mov ecx, 0x800
sub ecx, eax
cmp edx, ecx
jle 0x612209
mov edx, ecx
cmp edx, ebx
je 0x61223c
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 0x61228d
push ebx
push 0xff
push ebx
lea ecx, [esp + 0x48]
push ecx
mov ebx, ebp
call fcn.00611060
push 0
push 0xff
lea edx, [esp + 0x54]
push 1
push edx
call fcn.00611060
push 0
push 0xff
lea eax, [esp + 0x64]
push 2
push eax
call fcn.00611060
mov eax, dword [esp + 0x86c]
add esp, 0x30
xor ebx, ebx
jmp 0x6122ac
mov ecx, 0x800
sub ecx, eax
cmp ecx, 1
jl 0x6122ac
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.006245e9
add esp, 0x834
ret