Function at 0x1401876a0
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
mov rax, qword [rsp + 0x88]
mov rbx, r9
movsxd rdi, dword [rsp + 0x68]
mov r11, rdx
mov rbp, qword [rsp + 0x80]
mov r15, rcx
mov r14d, 0x1f
lea r10, [rdi*4]
mov r13d, dword [r10 + rax]
add rbp, r10
mov r10d, 1
cmp dword [rbp], r10d
cmovg r10d, dword [rbp]
mov eax, r10d
neg eax
cmovs eax, r10d
test eax, eax
je 0x140187717
bsr eax, eax
mov r9d, r14d
sub r9d, eax
jmp 0x14018771d
mov r9d, 0x20
dec r9d
mov eax, 0x1fffffff
mov ecx, r9d
cdq
shl r10d, cl
mov esi, 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 0x1401877ae
neg ecx
mov edx, r9d
mov eax, esi
sar edx, cl
sar eax, cl
cmp edx, eax
jle 0x140187795
cmp r10d, edx
jg 0x1401877aa
cmp r10d, eax
mov edx, r10d
cmovl edx, eax
shl edx, cl
jmp 0x1401877bc
cmp r10d, eax
jle 0x1401877a0
mov edx, eax
shl edx, cl
jmp 0x1401877bc
cmp r10d, edx
cmovl r10d, edx
mov edx, r10d
shl edx, cl
jmp 0x1401877bc
cmp ecx, 0x20
jge 0x1401877ba
mov edx, r10d
sar edx, cl
jmp 0x1401877bc
xor edx, edx
mov eax, edx
xor r8d, r8d
sar eax, 4
inc eax
sar eax, 1
cmp dword [r15 + 0x11ec], r8d
jle 0x140187803
mov rcx, qword [rsp + 0x50]
movsxd r10, eax
nop dword [rax]
movsx rax, word [rbx]
lea rbx, [rbx + 2]
imul rax, r10
inc r8d
lea rcx, [rcx + 4]
sar rax, 0x10
mov dword [rcx - 4], eax
cmp r8d, dword [r15 + 0x11ec]
jl 0x1401877e0
cmp dword [r11 + 0x10fc], 0
mov r12, qword [rsp + 0x60]
je 0x140187883
test edi, edi
jne 0x14018782a
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, r13d
sub r8d, 2
cmp r8d, eax
jge 0x140187883
mov rax, qword [rsp + 0x58]
movsxd rcx, r8d
movsxd rbx, edx
lea rdx, [r12 + rcx*4]
lea r10, [rax + rcx*2]
nop dword [rax]
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 0x140187860
mov ebp, dword [rbp]
mov edi, dword [r11 + 0x10f8]
cmp ebp, edi
je 0x140187fec
mov eax, edi
neg eax
cmovs eax, edi
test eax, eax
je 0x1401878aa
bsr eax, eax
mov ebx, r14d
sub ebx, eax
jmp 0x1401878af
mov ebx, 0x20
dec ebx
mov eax, ebp
mov ecx, ebx
shl edi, cl
neg eax
cmovs eax, ebp
test eax, eax
je 0x1401878c8
bsr eax, eax
sub r14d, eax
jmp 0x1401878ce
mov r14d, 0x20
lea r8d, [r14 - 1]
movsxd r10, edi
mov ecx, r8d
mov eax, 0x1fffffff
shl ebp, cl
cdq
mov ecx, ebp
sub ebx, r8d
sar ecx, 0x10
idiv ecx
movsx rdx, ax
imul r10, rdx
movsxd rax, ebp
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 0x14018795a
neg ebx
mov ecx, ebx
sar r9d, cl
sar esi, cl
cmp r9d, esi
jle 0x14018793e
cmp r10d, r9d
jg 0x140187955
cmp r10d, esi
mov r9d, r10d
cmovl r9d, esi
shl r9d, cl
jmp 0x14018796c
cmp r10d, esi
jle 0x14018794b
mov r9d, esi
shl r9d, cl
jmp 0x14018796c
cmp r10d, r9d
cmovl r10d, r9d
mov r9d, r10d
shl r9d, cl
jmp 0x14018796c
cmp ebx, 0x20
jge 0x140187969
mov r9d, r10d
mov ecx, ebx
sar r9d, cl
jmp 0x14018796c
xor r9d, r9d
mov eax, dword [r11 + 0x10f0]
mov edx, eax
sub edx, dword [r15 + 0x11f0]
movd xmm5, r9d
pshufd xmm5, xmm5, 0
movsxd r8, r9d
cmp edx, eax
jge 0x1401879bd
movsxd rcx, edx
add rcx, 0x140
lea rcx, [r11 + rcx*4]
nop dword [rax + rax]
movsxd rax, dword [rcx]
lea rcx, [rcx + 4]
imul rax, r8
inc edx
sar rax, 0x10
mov dword [rcx - 4], eax
cmp edx, dword [r11 + 0x10f0]
jl 0x1401879a0
cmp dword [rsp + 0x90], 2
jne 0x140187a22
cmp dword [r11 + 0x10fc], 0
jne 0x140187a22
mov eax, dword [r11 + 0x10ec]
mov ecx, eax
mov r10d, dword [rsp + 0x98]
sub ecx, r13d
sub ecx, 2
sub eax, r10d
cmp ecx, eax
jge 0x140187a22
movsxd rax, ecx
lea rdx, [r12 + rax*4]
nop word [rax + rax]
movsxd rax, dword [rdx]
lea rdx, [rdx + 4]
imul rax, r8
inc ecx
sar rax, 0x10
mov dword [rdx - 4], eax
mov eax, dword [r11 + 0x10ec]
sub eax, r10d
cmp ecx, eax
jl 0x140187a00
movsxd r10, dword [rsp + 0x70]
test r10, r10
jle 0x140187fd5
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 0x140187b30
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 0x140187a91
jmp 0x140187b50
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 0x140187b30
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 0x140187cd0
add rax, 0x514
sub r10, 1
jne 0x140187a51
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