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

Disassembly:
push edi
push esi
push ebp
push ebx
push ecx
mov eax, 0x9228
call fcn.0046eee0
mov ecx, dword [esp + 0x9228]
mov dword [esp + 0x10], ecx
mov eax, dword [ecx + 4]
cmp eax, 1
jne 0x42f817
mov ebx, dword [esp + 0x9240]
xor ebx, 1
mov dword [esp + 0x10], ebx
mov ebp, ebx
shl ebp, 0xd
add ebp, ebx
lea ebp, [ebx + ebp*4]
lea ebx, [ebp + ebp]
add ebx, ebx
lea eax, [ebx + ebp*4 + 0x664aa0]
mov edx, dword [0x52f7e0]
mov dword [esp + 0xc], eax
mov ecx, dword [edx + 0x210]
test ecx, ecx
jle 0x42f750
call fcn.0046ef9e
and eax, 0xfff
cmp eax, 0xbff
jg 0x42f7ff
mov eax, dword [esp + 0x9240]
cmp eax, 1
je 0x42fa09
mov ecx, dword [esp + 0x9244]
lea eax, [esp + 0x14]
push 1
push eax
call fcn.00426c9c
mov edx, dword [ebx + ebp*4 + 0x6a4ac4]
and edx, 7
add edx, edx
add edx, edx
mov ecx, edx
shl ecx, 0xd
add ecx, edx
mov edx, dword [esp + 0xc]
lea edi, [edx + ecx]
mov esi, eax
mov ecx, dword [esp + 0x14]
push ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x14]
mov eax, dword [ebx + ebp*4 + 0x6a4ac4]
and eax, 7
add eax, eax
add eax, eax
mov ecx, eax
shl ecx, 0xd
add ecx, eax
mov dword [ecx + ebp*8 + 0x66caa0], edx
mov eax, dword [ebx + ebp*4 + 0x6a4ac4]
lea edi, [eax + 1]
mov dword [ebx + ebp*4 + 0x6a4ac4], edi
mov esi, dword [ebx + ebp*4 + 0x6a4ac0]
sub edi, esi
cmp edi, 8
jle 0x42f7ea
add eax, 0xfffffff9
mov dword [ebx + ebp*4 + 0x6a4ac0], eax
mov eax, dword [0x52f7dc]
mov edx, dword [eax + 0x210]
test edx, edx
jne 0x42f9df
jmp 0x42f80a
push 0x6eeebc
call fcn.004403f0
pop ecx
add esp, 0x922c
pop ebx
pop ebp
pop esi
pop edi
ret 8
cmp eax, 2
jl 0x42f9c6
cmp eax, 3
jg 0x42f9c6
mov eax, dword [esp + 0x9240]
mov edx, dword [eax*4 + 0x6e4b00]
test edx, edx
mov dword [esp + 0xc], edx
je 0x42f9b9
lea eax, [esp + 0x18]
push eax
call fcn.0042fd58
lea eax, [esp + 0x28]
push 0
push eax
mov ecx, dword [esp + 0x924c]
call fcn.00426c9c
mov ebx, eax
test ebx, ebx
je 0x42fd25
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 0x10]
add edi, 0x10
cmp ebp, 0xffc
mov dword [edx + 0x10], edi
jb 0x42f91c
xor edx, edx
test ebp, ebp
mov dword [esp + 8], edx
jne 0x42f89d
jmp 0x42f94a
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x10]
cmp ebp, 0xffc
jbe 0x42f8ac
mov edx, 0xffc
jmp 0x42f8ae
mov edx, ebp
mov ecx, dword [esp + 8]
lea esi, [ecx + ecx]
add esi, esi
mov eax, esi
shl eax, 0xa
add eax, esi
or edi, ecx
mov esi, ebx
mov ecx, edx
mov dword [esp + eax + 0x2c], edi
lea edi, [esp + eax + 0x30]
push ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [edx + 4]
add ebx, edx
sub ebp, edx
mov dword [esp + eax + 0x102c], edi
jne 0x42f903
mov edx, dword [esp + eax + 0x2c]
or edx, 8
mov dword [esp + eax + 0x2c], edx
mov eax, dword [esp + 8]
inc eax
mov dword [esp + 8], eax
cmp eax, 8
jge 0x42f911
jmp 0x42f94a
mov eax, dword [esp + 8]
inc eax
cmp eax, 8
mov dword [esp + 8], eax
jl 0x42f896
mov eax, 0xffffffff
mov dword [esp + 8], eax
jmp 0x42f94a
or edi, 8
mov esi, ebx
mov ecx, ebp
mov dword [esp + 0x2c], edi
lea edi, [esp + 0x30]
push ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add ebp, 4
mov eax, 1
mov dword [esp + 0x102c], ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
cmp eax, 0xffffffff
je 0x42fd0a
xor ebp, ebp
mov eax, dword [esp + 8]
test eax, eax
jle 0x42f9b9
lea eax, [ebp + ebp]
add eax, eax
mov ebx, eax
shl ebx, 0xa
add ebx, eax
mov esi, dword [esp + 0xc]
lea eax, [esp + 0x2c]
add eax, ebx
lea edx, [esp + 0x18]
push 0x10
push edx
push 0
push dword [esp + ebx + 0x1038]
push eax
push esi
call dword [sym.imp.ws2_32.dll_sendto]
cmp eax, 0xffffffff
je 0x42fbbc
mov eax, dword [esp + ebx + 0x102c]
push eax
push eax
call fcn.00431fc8
add esp, 8
add ebx, 0x1004
inc ebp
mov eax, dword [esp + 8]
cmp ebp, eax
jl 0x42f972
add esp, 0x922c
pop ebx
pop ebp
pop esi
pop edi
ret 8
push 0x6eeb5c
push 1
call fcn.00440498
add esp, 0x9234
pop ebx
pop ebp
pop esi
pop edi
ret 8
mov eax, dword [0x660f14]
mov ebx, dword [eax + 0xc]
call fcn.0046ef9e
and eax, 0x1f
add ebx, eax
mov eax, dword [esp + 0x10]
mov dword [eax*4 + 0x6648e0], ebx
add esp, 0x922c
pop ebx
pop ebp
pop esi
pop edi
ret 8
mov eax, dword [0x527760]
test eax, eax
je 0x42fb4c
test eax, eax
jne 0x42fa26
mov ecx, dword [esp + 0x9244]
jmp 0x42f767
mov edx, dword [esp + 0x9244]
lea esi, [edx + 0xc]
mov ecx, dword [edx + 4]
add ecx, 7
shr ecx, 3
lea edx, [eax + eax]
add edx, edx
shl edx, 0xd
lea edi, [edx + eax*4 + 0x4ef660]
push ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x9244]
mov eax, dword [edx + 4]
add eax, 7
shr eax, 3
mov esi, dword [0x527760]
lea ecx, [esi + esi]
add ecx, ecx
shl ecx, 0xd
mov edx, dword [0x527764]
mov dword [ecx + esi*4 + 0x4f7660], eax
dec esi
inc edx
mov dword [0x527760], esi
test esi, esi
mov dword [0x527764], edx
jne 0x42fb31
mov esi, 1
test edx, edx
jle 0x42fb17
mov eax, dword [ebx + ebp*4 + 0x6a4ac4]
lea edx, [esi + esi]
add edx, edx
mov edi, edx
shl edi, 0xd
add edi, edx
and eax, 7
add eax, eax
add eax, eax
mov ecx, eax
shl ecx, 0xd
add ecx, eax
mov eax, dword [esp + 0xc]
lea eax, [eax + ecx]
lea edx, [edi + 0x4ef660]
push 0x8004
push edx
push eax
call fcn.0047f590
add esp, 0xc
mov edx, dword [ebx + ebp*4 + 0x6a4ac4]
lea eax, [edx + 1]
mov ecx, dword [ebx + ebp*4 + 0x6a4ac0]
mov dword [ebx + ebp*4 + 0x6a4ac4], eax
neg ecx
add ecx, eax
cmp ecx, 8
jle 0x42fb06
add edx, 0xfffffff9
mov dword [ebx + ebp*4 + 0x6a4ac0], edx
add edi, 0x8004
inc esi
mov edx, dword [0x527764]
cmp esi, edx
jle 0x42fab1
push edx
push 0x6eef08
call fcn.004403f0
add esp, 8
mov ecx, dword [esp + 0x9244]
jmp 0x42f767
push edx
push 0x6eef2c
call fcn.004403f0
add esp, 8
add esp, 0x922c
pop ebx
pop ebp
pop esi
pop edi
ret 8
mov edx, dword [0x52f7e0]
mov ecx, dword [edx + 0x210]
cmp ecx, 2
jl 0x42fa16
call fcn.0046ef9e
movzx eax, al
cmp eax, 0xcf
jg 0x42fb7a
mov eax, dword [0x527760]
jmp 0x42fa16
call fcn.0046ef9e
mov ecx, eax
mov eax, 0x66666667
mov esi, ecx
imul ecx
sar edx, 1
sar esi, 0x1f
sub edx, esi
imul edi, edx, 5
sub ecx, edi
inc ecx
mov dword [0x527760], ecx
mov dword [0x527764], 0
push 0x6eeee4
call fcn.004403f0
pop ecx
mov eax, dword [0x527760]
jmp 0x42fa16
call dword [sym.imp.ws2_32.dll_WSAGetLastError]
mov dword [esp], eax
cmp eax, 0x2733
je 0x42fd3c
inc dword [0x52f7b8]
cmp eax, 0x2746
je 0x42fc51
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
cmp eax, 2
je 0x42fd49
mov edx, dword [0x65ba98]
mov eax, dword [edx + 0x210]
test eax, eax
jne 0x42fc39
mov eax, dword [esp]
cmp eax, 0x2741
je 0x42fc21
call fcn.0043203c
push eax
push 0x6eebf0
push 1
call fcn.00440498
add esp, 0xc
jmp 0x42f999
call fcn.0043203c
push eax
push 0x6eec04
call fcn.00440328
add esp, 8
jmp 0x42f999
call fcn.0043203c
push eax
push 0x6eebf0
call fcn.00440328
add esp, 8
jmp 0x42f999
mov dword [esp + 0x812c], 0x6ecc18
mov eax, 0x6eeae0
test eax, eax
je 0x42fcfc
mov eax, 0x6eeae0
mov dword [esp + 4], eax
mov edi, eax
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x42fc86
inc ecx
inc eax
mov dl, byte [ecx]
test dl, dl
jne 0x42fc7e
cmp eax, 0x1000
jl 0x42fc9f
mov eax, 0xfff
mov dword [esp + 0x8130], 0xfff
jmp 0x42fca6
mov dword [esp + 0x8130], eax
test eax, eax
je 0x42fcc7
lea edx, [esp + 0x8134]
push eax
mov eax, dword [esp + 8]
push eax
push edx
call fcn.0046edc0
add esp, 0xc
mov eax, dword [esp + 0x8130]
mov byte [esp + eax + 0x8134], 0
lea eax, [esp + 0x812c]
mov dword [esp + 0x9134], 1
mov dword [esp + 0x812c], 0x6ecc1c
push 0x48b270
push eax
call fcn.0046f152
jmp 0x42fbdd
mov eax, 0x6eeacc
mov dword [esp + 4], eax
jmp 0x42fc72
push dword [esp + 0x28]
push 0x6eebc0
call fcn.00440328
add esp, 0x9234
pop ebx
pop ebp
pop esi
pop edi
ret 8
push 0x6eeb8c
call fcn.00440328
add esp, 0x9230
pop ebx
pop ebp
pop esi
pop edi
ret 8
add esp, 0x922c
pop ebx
pop ebp
pop esi
pop edi
ret 8
add esp, 0x922c
pop ebx
pop ebp
pop esi
pop edi
ret 8