Function at 0x1401801a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x18], r8
push rdi
push r12
push r13
push r14
push r15
movsxd rax, dword [rsp + 0x68]
mov rdi, r9
mov r13, qword [rsp + 0x80]
mov r11, rdx
mov rsi, rcx
mov r15d, 0x1f
lea r10, [rax*4]
mov rax, qword [rsp + 0x88]
add r13, r10
mov eax, dword [r10 + rax]
mov r10d, 1
cmp dword [r13], r10d
mov dword [rsp + 0x88], eax
cmovg r10d, dword [r13]
mov eax, r10d
neg eax
cmovs eax, r10d
test eax, eax
je 0x14018021e
bsr eax, eax
mov r9d, r15d
sub r9d, eax
jmp 0x140180224
mov r9d, 0x20
dec r9d
mov eax, 0x1fffffff
mov ecx, r9d
cdq
shl r10d, cl
mov ebp, 0x7fffffff
mov ecx, r10d
sar ecx, 0x10
idiv ecx
movsxd rcx, r10d
movsxd r8, eax
movsx rax, r8w
imul rcx, rax
sar rcx, 0x10
neg ecx
shl ecx, 3
movsxd r10, ecx
mov ecx, reloc.WS2_32.dll_ntohl
imul r10, r8
shl r8d, 0x10
sub ecx, r9d
sar r10, 0x10
mov r9d, 0x80000000
add r10d, r8d
test ecx, ecx
jg 0x1401802b5
neg ecx
mov edx, r9d
mov eax, ebp
sar edx, cl
sar eax, cl
cmp edx, eax
jle 0x14018029c
cmp r10d, edx
jg 0x1401802b1
cmp r10d, eax
mov edx, r10d
cmovl edx, eax
shl edx, cl
jmp 0x1401802c3
cmp r10d, eax
jle 0x1401802a7
mov edx, eax
shl edx, cl
jmp 0x1401802c3
cmp r10d, edx
cmovl r10d, edx
mov edx, r10d
shl edx, cl
jmp 0x1401802c3
cmp ecx, 0x20
jge 0x1401802c1
mov edx, r10d
sar edx, cl
jmp 0x1401802c3
xor edx, edx
mov r10d, dword [rsi + 0x11ec]
mov ebx, edx
mov r14, qword [rsp + 0x50]
xor ecx, ecx
sar ebx, 4
inc ebx
sar ebx, 1
lea eax, [r10 - 3]
movd xmm3, ebx
pshufd xmm3, xmm3, 0
test eax, eax
jle 0x140180334
mov r8, r14
nop
movsxd rax, ecx
lea r8, [r8 + 0x10]
add ecx, 4
pmovsxwd xmm2, qword [rdi + rax*2]
pshufd xmm1, xmm2, 0x39
pmuldq xmm2, xmm3
pmuldq xmm1, xmm3
psrlq xmm2, 0x10
psllq xmm1, 0x10
pblendw xmm2, xmm1, 0xcc
movdqu xmmword [r8 - 0x10], xmm2
mov r10d, dword [rsi + 0x11ec]
lea eax, [r10 - 3]
cmp ecx, eax
jl 0x1401802f0
cmp ecx, r10d
jge 0x140180372
movsxd rax, ecx
movsxd rbx, ebx
lea r8, [r14 + rax*4]
lea r10, [rdi + rax*2]
nop word [rax + rax]
movsx rax, word [r10]
lea r10, [r10 + 2]
imul rax, rbx
inc ecx
lea r8, [r8 + 4]
sar rax, 0x10
mov dword [r8 - 4], eax
cmp ecx, dword [rsi + 0x11ec]
jl 0x140180350
cmp dword [r11 + 0x10fc], 0
mov r12, qword [rsp + 0x60]
je 0x1401803f3
cmp dword [rsp + 0x68], 0
jne 0x14018039c
movsx rcx, word [rsp + 0x78]
movsxd rdx, edx
imul rdx, rcx
sar rdx, 0x10
shl edx, 2
mov eax, dword [r11 + 0x10ec]
mov r8d, eax
sub r8d, dword [rsp + 0x88]
sub r8d, 2
cmp r8d, eax
jge 0x1401803f3
mov rax, qword [rsp + 0x58]
movsxd rcx, r8d
movsxd rbx, edx
lea rdx, [r12 + rcx*4]
lea r10, [rax + rcx*2]
nop word [rax + rax]
movsx rax, word [r10]
lea r10, [r10 + 2]
imul rax, rbx
inc r8d
lea rdx, [rdx + 4]
sar rax, 0x10
mov dword [rdx - 4], eax
cmp r8d, dword [r11 + 0x10ec]
jl 0x1401803d0
mov r14d, dword [r13]
mov edi, dword [r11 + 0x10f8]
cmp r14d, edi
je 0x140180bcc
mov eax, edi
neg eax
cmovs eax, edi
test eax, eax
je 0x14018041c
bsr eax, eax
mov ebx, r15d
sub ebx, eax
jmp 0x140180421
mov ebx, 0x20
dec ebx
mov eax, r14d
mov ecx, ebx
shl edi, cl
neg eax
cmovs eax, r14d
test eax, eax
je 0x14018043c
bsr eax, eax
sub r15d, eax
jmp 0x140180442
mov r15d, 0x20
lea r8d, [r15 - 1]
movsxd r10, edi
mov ecx, r8d
mov eax, 0x1fffffff
shl r14d, cl
cdq
mov ecx, r14d
sub ebx, r8d
sar ecx, 0x10
idiv ecx
movsx rdx, ax
imul r10, rdx
movsxd rax, r14d
sar r10, 0x10
movsxd rcx, r10d
imul rcx, rax
sar rcx, 0x20
shl ecx, 3
sub edi, ecx
movsxd rax, edi
imul rax, rdx
sar rax, 0x10
add r10d, eax
add ebx, 0xd
jns 0x1401804d0
neg ebx
mov ecx, ebx
sar r9d, cl
sar ebp, cl
cmp r9d, ebp
jle 0x1401804b4
cmp r10d, r9d
jg 0x1401804cb
cmp r10d, ebp
mov r9d, r10d
cmovl r9d, ebp
shl r9d, cl
jmp 0x1401804e2
cmp r10d, ebp
jle 0x1401804c1
mov r9d, ebp
shl r9d, cl
jmp 0x1401804e2
cmp r10d, r9d
cmovl r10d, r9d
mov r9d, r10d
shl r9d, cl
jmp 0x1401804e2
cmp ebx, 0x20
jge 0x1401804df
mov r9d, r10d
mov ecx, ebx
sar r9d, cl
jmp 0x1401804e2
xor r9d, r9d
mov r8d, dword [r11 + 0x10f0]
mov ecx, r8d
sub ecx, dword [rsi + 0x11f0]
movd xmm5, r9d
movd xmm2, r9d
lea eax, [r8 - 3]
pshufd xmm5, xmm5, 0
pshufd xmm2, xmm2, 0
cmp ecx, eax
jge 0x14018055e
movsxd rdx, ecx
add rdx, 0x140
lea rdx, [r11 + rdx*4]
nop dword [rax]
movdqu xmm1, xmmword [rdx]
add ecx, 4
lea rdx, [rdx + 0x10]
pshufd xmm0, xmm1, 0x39
pmuldq xmm1, xmm2
pmuldq xmm0, xmm2
psrlq xmm1, 0x10
psllq xmm0, 0x10
pblendw xmm1, xmm0, 0xcc
movdqu xmmword [rdx - 0x10], xmm1
mov r8d, dword [r11 + 0x10f0]
lea eax, [r8 - 3]
cmp ecx, eax
jl 0x140180520
cmp ecx, r8d
jge 0x14018059d
movsxd rdx, ecx
add rdx, 0x140
movsxd r8, r9d
lea rdx, [r11 + rdx*4]
nop dword [rax]
nop dword [rax + rax]
movsxd rax, dword [rdx]
lea rdx, [rdx + 4]
imul rax, r8
inc ecx
sar rax, 0x10
mov dword [rdx - 4], eax
cmp ecx, dword [r11 + 0x10f0]
jl 0x140180580
cmp dword [rsp + 0x90], 2
jne 0x140180602
cmp dword [r11 + 0x10fc], 0
jne 0x140180602
mov eax, dword [r11 + 0x10ec]
mov ecx, eax
sub ecx, dword [rsp + 0x88]
mov r8d, dword [rsp + 0x98]
sub ecx, 2
sub eax, r8d
cmp ecx, eax
jge 0x140180602
movsxd rax, ecx
movsxd r10, r9d
lea rdx, [r12 + rax*4]
nop dword [rax]
movsxd rax, dword [rdx]
lea rdx, [rdx + 4]
imul rax, r10
inc ecx
sar rax, 0x10
mov dword [rdx - 4], eax
mov eax, dword [r11 + 0x10ec]
sub eax, r8d
cmp ecx, eax
jl 0x1401805e0
movsxd r10, dword [rsp + 0x70]
test r10, r10
jle 0x140180bb5
mov rax, qword [rsp + 0x40]
mov edi, select
mov ebx, dword [reloc.WS2_32.dll_accept]
add rax, 0x4a4
movdqa xmm4, xmmword [0x1402a8920]
movsxd rdx, r9d
movsxd rcx, dword [rax + 0x5c]
xor r8d, r8d
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x5c], ecx
movsxd rcx, dword [rax + 0x60]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x60], ecx
cmp ebx, 6
jl 0x140180710
movq xmm0, xmm5
lea rcx, [rax - 0x494]
pmovsxdq xmm3, xmm0
mov r8d, 2
movd xmm0, edi
pmovsxdq xmm1, qword [rcx - 0x10]
lea rcx, [rcx + 0x20]
vpmullq xmm2, xmm1, xmm3
vpsraq xmm1, xmm2, xmm0
movd xmm0, edi
pshufb xmm1, xmm4
movq qword [rcx - 0x30], xmm1
pmovsxdq xmm1, qword [rcx - 0x28]
vpmullq xmm2, xmm1, xmm3
vpsraq xmm1, xmm2, xmm0
movd xmm0, edi
pshufb xmm1, xmm4
movq qword [rcx - 0x28], xmm1
pmovsxdq xmm1, qword [rcx - 0x20]
vpmullq xmm2, xmm1, xmm3
vpsraq xmm1, xmm2, xmm0
movd xmm0, edi
pshufb xmm1, xmm4
movq qword [rcx - 0x20], xmm1
pmovsxdq xmm1, qword [rcx - 0x18]
vpmullq xmm2, xmm1, xmm3
vpsraq xmm1, xmm2, xmm0
pshufb xmm1, xmm4
movq qword [rcx - 0x18], xmm1
sub r8, 1
jne 0x140180671
jmp 0x140180730
movsxd rcx, dword [rax + r8*4 - 0x4a4]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + r8*4 - 0x4a4], ecx
inc r8
cmp r8, rdi
jl 0x140180710
movsxd rcx, dword [rax - 4]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax - 4], ecx
movsxd rcx, dword [rax]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax], ecx
movsxd rcx, dword [rax + 4]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 4], ecx
movsxd rcx, dword [rax + 8]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 8], ecx
movsxd rcx, dword [rax + 0xc]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0xc], ecx
movsxd rcx, dword [rax + 0x10]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x10], ecx
movsxd rcx, dword [rax + 0x14]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x14], ecx
movsxd rcx, dword [rax + 0x18]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x18], ecx
movsxd rcx, dword [rax + 0x1c]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x1c], ecx
movsxd rcx, dword [rax + 0x20]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x20], ecx
movsxd rcx, dword [rax + 0x24]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x24], ecx
movsxd rcx, dword [rax + 0x28]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x28], ecx
movsxd rcx, dword [rax + 0x2c]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x2c], ecx
movsxd rcx, dword [rax + 0x30]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x30], ecx
movsxd rcx, dword [rax + 0x34]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x34], ecx
movsxd rcx, dword [rax + 0x38]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x38], ecx
movsxd rcx, dword [rax + 0x3c]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x3c], ecx
movsxd rcx, dword [rax + 0x40]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x40], ecx
movsxd rcx, dword [rax + 0x44]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x44], ecx
movsxd rcx, dword [rax + 0x48]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x48], ecx
movsxd rcx, dword [rax + 0x4c]
imul rcx, rdx
lea r8, [rax - 0xa4]
mov r9d, 2
sar rcx, 0x10
mov dword [rax + 0x4c], ecx
movsxd rcx, dword [rax + 0x50]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x50], ecx
movsxd rcx, dword [rax + 0x54]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x54], ecx
movsxd rcx, dword [rax + 0x58]
imul rcx, rdx
sar rcx, 0x10
mov dword [rax + 0x58], ecx
nop dword [rax]
nop word [rax + rax]
movsxd rcx, dword [r8 - 0xa0]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0xa0], ecx
movsxd rcx, dword [r8]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8], ecx
movsxd rcx, dword [r8 - 0x9c]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0x9c], ecx
movsxd rcx, dword [r8 + 4]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 + 4], ecx
movsxd rcx, dword [r8 - 0x98]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0x98], ecx
movsxd rcx, dword [r8 + 8]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 + 8], ecx
movsxd rcx, dword [r8 - 0x94]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0x94], ecx
movsxd rcx, dword [r8 + 0xc]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 + 0xc], ecx
movsxd rcx, dword [r8 - 0x90]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0x90], ecx
movsxd rcx, dword [r8 + 0x10]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 + 0x10], ecx
movsxd rcx, dword [r8 - 0x8c]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0x8c], ecx
movsxd rcx, dword [r8 + 0x14]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 + 0x14], ecx
movsxd rcx, dword [r8 - 0x88]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0x88], ecx
movsxd rcx, dword [r8 + 0x18]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 + 0x18], ecx
movsxd rcx, dword [r8 - 0x84]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0x84], ecx
movsxd rcx, dword [r8 + 0x1c]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 + 0x1c], ecx
movsxd rcx, dword [r8 - 0x80]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0x80], ecx
movsxd rcx, dword [r8 + 0x20]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 + 0x20], ecx
movsxd rcx, dword [r8 - 0x7c]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0x7c], ecx
movsxd rcx, dword [r8 + 0x24]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 + 0x24], ecx
movsxd rcx, dword [r8 - 0x78]
imul rcx, rdx
lea r8, [r8 + 0x50]
sar rcx, 0x10
mov dword [r8 - 0xc8], ecx
movsxd rcx, dword [r8 - 0x28]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0x28], ecx
movsxd rcx, dword [r8 - 0xc4]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0xc4], ecx
movsxd rcx, dword [r8 - 0x24]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0x24], ecx
movsxd rcx, dword [r8 - 0xc0]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0xc0], ecx
movsxd rcx, dword [r8 - 0x20]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0x20], ecx
movsxd rcx, dword [r8 - 0xbc]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0xbc], ecx
movsxd rcx, dword [r8 - 0x1c]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0x1c], ecx
movsxd rcx, dword [r8 - 0xb8]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0xb8], ecx
movsxd rcx, dword [r8 - 0x18]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0x18], ecx
movsxd rcx, dword [r8 - 0xb4]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0xb4], ecx
movsxd rcx, dword [r8 - 0x14]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0x14], ecx
movsxd rcx, dword [r8 - 0xb0]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0xb0], ecx
movsxd rcx, dword [r8 - 0x10]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0x10], ecx
movsxd rcx, dword [r8 - 0xac]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0xac], ecx
movsxd rcx, dword [r8 - 0xc]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0xc], ecx
movsxd rcx, dword [r8 - 0xa8]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0xa8], ecx
movsxd rcx, dword [r8 - 8]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 8], ecx
movsxd rcx, dword [r8 - 0xa4]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 0xa4], ecx
movsxd rcx, dword [r8 - 4]
imul rcx, rdx
sar rcx, 0x10
mov dword [r8 - 4], ecx
sub r9, 1
jne 0x1401808b0
add rax, 0x514
sub r10, 1
jne 0x140180631
movsxd rax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x80]
mov ecx, dword [rcx + rax*4]
mov dword [r11 + 0x10f8], ecx
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
pop r15
pop r14
pop r13
pop r12
pop rdi
ret