Function at 0x42ecb0
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
mov ebx, dword [ebp + 8]
push esi
xor esi, esi
push edi
cmp dword [ebx + 0x1c], esi
jne 0x42ecd2
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xorps xmm1, xmm1
comisd xmm1, xmm0
ja 0x42ece9
movsd xmm1, qword [0x4bab50]
comisd xmm0, xmm1
jbe 0x42eced
movapd xmm0, xmm1
mulsd xmm0, qword [0x4d3538]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x1c], xmm0
fld dword [esp + 0x1c]
fistp dword [esp + 0x18]
movsd xmm1, qword [0x4d3bf0]
movsd xmm0, qword [ebp + 0xc]
comisd xmm1, xmm0
ja 0x42ed28
movsd xmm1, qword [0x4d3668]
comisd xmm0, xmm1
jbe 0x42ed2c
movapd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x14], xmm0
fld dword [esp + 0x14]
fistp dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push 0x3e8
mov edi, 1
add dword [ebx + 0x18], edi
mov eax, dword [ebx + 0x18]
push ecx
push eax
push str.id:_d_method:set_bright_params:__d__smooth___d__r_n
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
call fcn.00401480
mov edx, dword [esp + 0x2c]
add dword [ebx + 0x18], edi
mov eax, dword [ebx + 0x18]
push 0x3e8
push edx
push eax
push str.id:_d_method:set_ct_abx_params:__d__smooth___d__r_n
lea ecx, [esp + 0x30]
call fcn.00401480
mov edi, dword [esp + 0x34]
add esp, 0x20
cmp edi, esi
jne 0x42ed98
xor eax, eax
jmp 0x42edb1
movzx eax, byte [edi]
cmp eax, 1
jbe 0x42edae
lea ecx, [esp + 0x14]
push ecx
call fcn.0043c230
mov edi, dword [esp + 0x14]
lea eax, [edi + 4]
cmp byte [eax], 0
je 0x42edc4
cmp byte [eax], 0x27
jne 0x42edbe
mov byte [eax], 0x22
inc eax
cmp byte [eax], 0
jne 0x42edb6
mov ecx, dword [esp + 0x10]
cmp ecx, esi
jne 0x42edd0
xor eax, eax
jmp 0x42ede9
movzx edx, byte [ecx]
cmp edx, 1
jbe 0x42ede6
lea eax, [esp + 0x10]
push eax
call fcn.0043c230
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 4]
cmp byte [eax], 0
je 0x42edfe
mov edi, edi
cmp byte [eax], 0x27
jne 0x42edf8
mov byte [eax], 0x22
inc eax
cmp byte [eax], 0
jne 0x42edf0
cmp edi, esi
mov esi, dword [sym.imp.WSOCK32.dll_send]
je 0x42ee3b
lea eax, [edi + 4]
test eax, eax
je 0x42ee3b
cmp byte [eax], 0
je 0x42ee3b
mov edx, eax
test eax, eax
jne 0x42ee1f
mov edx, 0x4cb498
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ee24
mov ecx, dword [ebx + 0x1c]
push 0
sub eax, edi
push eax
push edx
push ecx
call esi
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x42ee73
lea eax, [ecx + 4]
test eax, eax
je 0x42ee73
cmp byte [eax], 0
je 0x42ee73
mov edx, eax
test eax, eax
jne 0x42ee56
mov edx, 0x4cb498
mov eax, edx
lea edi, [eax + 1]
jmp 0x42ee60
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ee60
push 0
sub eax, edi
push eax
push edx
mov edx, dword [ebx + 0x1c]
push edx
call esi
cmp dword [ebx + 0x10], 0
jne 0x42eeb3
mov eax, dword [ebx + 0x10]
cmp eax, 0x1000
je 0x42eeb3
test eax, eax
je 0x42ee95
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x42ee95
mov esi, eax
call fcn.0045f5a0
xor eax, eax
mov edi, 0x1000
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x10], eax
call fcn.0045f460
mov dword [ebx + 0x14], eax
neg eax
sbb eax, eax
and eax, edi
mov dword [ebx + 0x10], eax
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x42eecd
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x42eecd
push ecx
push 0
push eax
call fcn.004a1b50
add esp, 0xc
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x1c]
push 0
push eax
push ecx
push edx
call dword [sym.imp.WSOCK32.dll_recv]
cmp dword [esp + 0x10], 0
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
je 0x42ef15
mov esi, dword [esp + 0x10]
push esi
call edi
and eax, 0xff
cmp eax, 0x80
jl 0x42ef0c
push esi
call ebx
jmp 0x42ef15
test eax, eax
jne 0x42ef15
call fcn.0045f5a0
mov esi, dword [esp + 0x14]
test esi, esi
je 0x42ef43
push esi
call edi
and eax, 0xff
cmp eax, 0x80
jl 0x42ef3a
push esi
call ebx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
test eax, eax
jne 0x42ef43
call fcn.0045f5a0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0xc