Function at 0x4136a0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x426014]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x18], eax
push edi
mov edi, dword [ebp + 0x1c]
mov eax, edi
sub eax, dword [ebp + 0x18]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], edi
lea eax, [edi + edi]
mov dword [ebp - 0x14], eax
call fcn.0041ccc0
mov edx, dword [ebp + 0x14]
mov eax, esp
test edx, edx
je 0x41375c
test edi, edi
jle 0x413705
mov ebx, esi
mov ecx, eax
sub ebx, eax
mov dword [ebp - 8], ebx
mov ebx, edi
mov edx, dword [ebp - 8]
mov ax, word [edx + ecx]
lea ecx, [ecx + 2]
mov word [ecx - 2], ax
sub ebx, 1
jne 0x4136f0
mov edx, dword [ebp + 0x14]
mov eax, esp
test edx, edx
jle 0x41375a
mov edi, dword [ebp - 0x14]
sub esi, eax
mov ebx, dword [ebp + 0x10]
add edi, 0xfffffffe
add edi, eax
sub eax, ebx
mov dword [ebp - 8], eax
nop dword [eax + eax]
lea edx, [eax + ebx]
movsx eax, word [ebx]
movsx ecx, word [edx + esi]
lea ebx, [ebx + 2]
imul ecx, eax
lea edi, [edi - 2]
sar ecx, 0xf
mov word [edx], cx
movsx eax, word [ebx - 2]
movsx ecx, word [edi + esi + 2]
imul ecx, eax
mov eax, dword [ebp - 8]
sar ecx, 0xf
sub dword [ebp + 0x14], 1
mov word [edi + 2], cx
jne 0x413720
mov edi, dword [ebp - 0x20]
mov eax, esp
mov esi, eax
mov ebx, edi
mov edx, edi
shl ebx, 7
inc ebx
and edx, 1
je 0x413774
movsx eax, word [esi]
imul eax, eax
sar eax, 9
add ebx, eax
cmp edx, edi
jge 0x4137a0
nop dword [eax + eax]
movsx ecx, word [esi + edx*2 + 2]
movsx eax, word [esi + edx*2]
add edx, 2
imul ecx, ecx
imul eax, eax
sar ecx, 9
sar eax, 9
add ebx, ecx
add ebx, eax
cmp edx, edi
jl 0x413780
bsr eax, ebx
cwde
sub eax, 0x14
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
mov dword [ebp - 0x24], ecx
movd xmm2, ecx
test ecx, ecx
jle 0x413924
xor edx, edx
mov dword [ebp - 0x10], edx
test edi, edi
jle 0x41391e
mov ebx, esp
cmp edi, 0x10
jb 0x4138ef
lea eax, [edi + edi]
mov dword [ebp - 0x10], edx
lea ecx, [ebx - 2]
add ecx, eax
add eax, 0xfffffffe
add eax, esi
cmp ebx, eax
ja 0x4137f1
cmp ecx, esi
jae 0x4138ec
movaps xmm1, xmmword [0x41fdf0]
lea ecx, [esi + 0x18]
mov eax, edi
mov edx, esi
and eax, 0xfffffff0
sub edx, ebx
mov dword [ebp - 0x14], eax
mov eax, 1
pslld xmm1, xmm2
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 8]
movd xmm0, eax
lea eax, [ebx + 8]
psrad xmm1, xmm0
movq xmm0, qword [ecx - 0x18]
lea eax, [eax + 0x20]
punpcklwd xmm0, xmm0
lea ecx, [ecx + 0x20]
psrad xmm0, 0x10
add edx, 0x10
paddd xmm0, xmm1
psrad xmm0, xmm2
pshuflw xmm0, xmm0, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm0, xmm0, 0xd8
movq qword [eax - 0x28], xmm0
movq xmm0, qword [edi + eax - 0x20]
punpcklwd xmm0, xmm0
psrad xmm0, 0x10
paddd xmm0, xmm1
psrad xmm0, xmm2
pshuflw xmm0, xmm0, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm0, xmm0, 0xd8
movq qword [eax - 0x20], xmm0
movq xmm0, qword [ecx - 0x28]
punpcklwd xmm0, xmm0
psrad xmm0, 0x10
paddd xmm0, xmm1
psrad xmm0, xmm2
pshuflw xmm0, xmm0, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm0, xmm0, 0xd8
movq qword [eax - 0x18], xmm0
movq xmm0, qword [ecx - 0x20]
punpcklwd xmm0, xmm0
psrad xmm0, 0x10
paddd xmm0, xmm1
psrad xmm0, xmm2
pshuflw xmm0, xmm0, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm0, xmm0, 0xd8
movq qword [eax - 0x10], xmm0
cmp edx, dword [ebp - 0x14]
jl 0x413824
mov edi, dword [ebp - 0x20]
mov dword [ebp - 8], edx
mov dword [ebp - 0x10], edx
cmp edx, edi
jge 0x413920
mov ecx, dword [ebp - 0x24]
mov eax, 1
lea edx, [ebx + edx*2]
rol eax, cl
sub esi, ebx
sar eax, 1
mov ebx, edi
sub ebx, dword [ebp - 0x10]
mov edi, eax
mov dword [ebp - 8], eax
movsx eax, word [esi + edx]
lea edx, [edx + 2]
add eax, edi
sar eax, cl
mov word [edx - 2], ax
sub ebx, 1
jne 0x413907
mov edi, dword [ebp - 0x20]
mov ebx, esp
mov esi, ebx
jmp 0x41392b
mov dword [ebp - 0x24], 0
mov ebx, dword [ebp + 0x18]
lea eax, [ebx + 1]
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x18]
push esi
push esi
call fcn.0040e5a0
xor eax, eax
add esp, 0x14
mov dword [ebp - 0xc], eax
test ebx, ebx
js 0x413aa3
mov ecx, ebx
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 0x28]
xor edx, edx
add eax, ebx
mov dword [ebp - 0x14], edx
cmp eax, edi
jge 0x413a0b
cmp ecx, 8
jb 0x413a0b
cmp dword [0x426660], 2
jl 0x413a0b
and ecx, reloc.WS2_32.dll_getsockopt
jns 0x413989
dec ecx
or ecx, 0xfffffff8
inc ecx
mov edx, edi
xorps xmm3, xmm3
sub edx, ecx
xorps xmm2, xmm2
lea ecx, [esi + ebx*2]
nop word [eax + eax]
movq xmm0, qword [esi + eax*2]
lea ecx, [ecx + 0x10]
pmovsxwd xmm1, xmm0
movq xmm0, qword [ecx - 0x10]
pmovsxwd xmm0, xmm0
pmulld xmm0, xmm1
paddd xmm3, xmm0
movq xmm0, qword [esi + eax*2 + 8]
pmovsxwd xmm1, xmm0
movq xmm0, qword [ecx - 8]
add eax, 8
pmovsxwd xmm0, xmm0
pmulld xmm0, xmm1
paddd xmm2, xmm0
cmp eax, edx
jl 0x4139a0
mov ecx, dword [ebp - 8]
paddd xmm2, xmm3
movaps xmm0, xmm2
psrldq xmm0, 8
paddd xmm2, xmm0
movups xmm0, xmm2
psrldq xmm0, 4
paddd xmm2, xmm0
movd edx, xmm2
mov dword [ebp - 0x14], edx
xor ebx, ebx
mov dword [ebp - 0x10], ebx
cmp eax, edi
jge 0x413a87
mov ecx, edi
sub ecx, eax
cmp ecx, 2
jl 0x413a6a
lea ecx, [edi - 1]
mov dword [ebp - 0x1c], ecx
mov ecx, eax
sub ecx, dword [ebp - 0xc]
lea edi, [esi + ecx*2]
nop dword [eax + eax]
movsx ecx, word [edi]
lea edi, [edi + 4]
movsx edx, word [esi + eax*2]
imul edx, ecx
movsx ecx, word [edi - 2]
add ebx, edx
movsx edx, word [esi + eax*2 + 2]
imul edx, ecx
add eax, 2
mov ecx, dword [ebp - 0x10]
add ecx, edx
mov edx, eax
mov dword [ebp - 0x10], ecx
cmp eax, dword [ebp - 0x1c]
jl 0x413a30
mov edi, dword [ebp - 0x20]
cmp edx, edi
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x10], ecx
jge 0x413a7f
mov ecx, eax
movsx eax, word [esi + eax*2]
sub ecx, dword [ebp - 0xc]
movsx ecx, word [esi + ecx*2]
imul ecx, eax
add edx, ecx
mov ecx, dword [ebp - 0x10]
lea eax, [ecx + ebx]
mov ecx, dword [ebp - 8]
add edx, eax
mov eax, dword [ebp - 0xc]
dec ecx
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 8], ecx
add dword [ebx + eax*4], edx
inc eax
mov ebx, dword [ebp + 0x18]
mov dword [ebp - 0xc], eax
cmp eax, ebx
jle 0x413954
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x18]
add esi, esi
mov eax, dword [edi]
test esi, esi
jg 0x413ac0
mov ecx, esi
mov edx, 1
neg ecx
shl edx, cl
add eax, edx
mov dword [edi], eax
cmp eax, 0x10000000
jge 0x413b60
bsr eax, eax
mov ecx, 0x1c
xor edx, edx
sub ecx, eax
movd xmm1, ecx
test ebx, ebx
js 0x413b48
lea eax, [ebx + 1]
cmp eax, 0x10
jb 0x413b40
and eax, 0x8000000f
jns 0x413af3
dec eax
or eax, 0xfffffff0
inc eax
mov dword [ebp - 0x18], eax
mov eax, ebx
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
lea eax, [edi + 0x20]
movups xmm0, xmmword [eax - 0x20]
add edx, 0x10
lea eax, [eax + 0x40]
pslld xmm0, xmm1
movups xmmword [eax - 0x60], xmm0
movups xmm0, xmmword [eax - 0x50]
pslld xmm0, xmm1
movups xmmword [eax - 0x50], xmm0
movups xmm0, xmmword [eax - 0x40]
pslld xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [eax - 0x30]
pslld xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
cmp edx, dword [ebp - 0x1c]
jle 0x413b01
cmp edx, ebx
jg 0x413b48
shl dword [edi + edx*4], cl
inc edx
cmp edx, ebx
jle 0x413b40
sub esi, ecx
mov eax, esi
lea esp, [ebp - 0x34]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041c5a7
mov esp, ebp
pop ebp
ret
cmp eax, 0x20000000
jl 0x413b4a
xor ecx, ecx
cmp eax, 0x40000000
setge cl
xor edx, edx
inc ecx
movd xmm1, ecx
test ebx, ebx
js 0x413be8
lea eax, [ebx + 1]
cmp eax, 0x10
jb 0x413be0
and eax, 0x8000000f
jns 0x413b90
dec eax
or eax, 0xfffffff0
inc eax
mov dword [ebp - 0x18], eax
mov eax, ebx
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
lea eax, [edi + 0x20]
nop
movups xmm0, xmmword [eax - 0x20]
add edx, 0x10
lea eax, [eax + 0x40]
psrad xmm0, xmm1
movups xmmword [eax - 0x60], xmm0
movups xmm0, xmmword [eax - 0x50]
psrad xmm0, xmm1
movups xmmword [eax - 0x50], xmm0
movups xmm0, xmmword [eax - 0x40]
psrad xmm0, xmm1
movups xmmword [eax - 0x40], xmm0
movups xmm0, xmmword [eax - 0x30]
psrad xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
cmp edx, dword [ebp - 0x1c]
jle 0x413ba0
cmp edx, ebx
jg 0x413be8
nop
sar dword [edi + edx*4], cl
inc edx
cmp edx, ebx
jle 0x413be0
lea eax, [ecx + esi]
lea esp, [ebp - 0x34]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041c5a7
mov esp, ebp
pop ebp
ret