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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rsi
push rdi
push r14
sub rsp, 0x50
mov rbx, qword [0x1403ca138]
xor r14d, r14d
mov qword [rax + 0x10], rbp
mov esi, r14d
mov qword [rax + 0x18], r15
xor bpl, bpl
movaps xmmword [rax - 0x28], xmm6
mov eax, dword [rbx + 0x1db8]
sub eax, 1
js 0x1400a23f0
mov r8, qword [rbx + 0x1dc0]
movsxd rdx, eax
add r8, 8
lea rcx, [rdx + rdx*2]
shl rcx, 4
add r8, rcx
nop
mov r9, qword [r8]
test r9, r9
je 0x1400a23e6
test dword [r9 + 0xc], 0x8000000
jne 0x1400a246e
sub r8, 0x30
sub rdx, 1
jns 0x1400a23d0
mov r9, r14
xorps xmm6, xmm6
cmp qword [rbx + 0x1f20], rsi
je 0x1400a2442
cmp qword [rbx + 0x1f18], rsi
jne 0x1400a2442
comiss xmm6, dword [rbx + 0x1f64]
movss xmm1, dword [rbx + 0x1f34]
movss xmm0, dword [rbx + 0x18]
mulss xmm0, dword [0x1401bf978]
subss xmm1, xmm0
maxss xmm1, xmm6
movss dword [rbx + 0x1f34], xmm1
jb 0x1400a2442
comiss xmm6, xmm1
jb 0x1400a2442
mov qword [rbx + 0x1f20], r14
mov r15d, 1
test r9, r9
jne 0x1400a247a
cmp qword [rbx + 0x1f18], rsi
jne 0x1400a247a
mov edx, r15d
mov ecx, 3
call fcn.1400a01f0
comiss xmm0, xmm6
jbe 0x1400a247a
movzx r8d, dl
jmp 0x1400a248b
mov qword [rbx + 0x1f18], r14
jmp 0x1400a23f3
xor r8b, r8b
test r9, r9
jne 0x1400a24b0
cmp qword [rbx + 0x1f18], rsi
jne 0x1400a24b0
cmp byte [rbx + 0x140], sil
je 0x1400a24b0
mov ecx, dword [rbx + 0x3c]
test ecx, ecx
js 0x1400a24b0
call fcn.140097c40
test al, al
je 0x1400a24b0
test byte [rbx + 8], r15b
je 0x1400a24b0
movzx r9d, r15b
jmp 0x1400a24b3
xor r9b, r9b
test r8b, r8b
jne 0x1400a24c1
test r9b, r9b
je 0x1400a2559
mov rax, qword [rbx + 0x1de8]
test rax, rax
jne 0x1400a2527
movsxd rcx, dword [rbx + 0x1be0]
lea edx, [rcx - 1]
test edx, edx
js 0x1400a251f
movsxd rax, edx
mov r10, rcx
cmp rax, r10
jge 0x1400a251f
cmp rax, 0xffffffff80000001
je 0x1400a251f
mov r8, qword [rbx + 0x1be8]
mov rcx, qword [r8 + rax*8]
cmp byte [rcx + 0x8f], sil
je 0x1400a2518
cmp rcx, qword [rcx + 0x388]
jne 0x1400a2518
test dword [rcx + 0xc], 0x80000
je 0x1400a25af
dec edx
sub rax, r15
jns 0x1400a24e1
mov rax, r14
test rax, rax
je 0x1400a2559
mov rax, qword [rax + 0x388]
xor r9b, r15b
mov qword [rbx + 0x1f20], rax
mov qword [rbx + 0x1f18], rax
movzx eax, r9b
mov byte [rbx + 0x1f38], al
add eax, 2
mov dword [rbx + 0x1e1c], eax
mov qword [rbx + 0x1f30], r14
movss xmm0, dword [rbx + 0x18]
addss xmm0, dword [rbx + 0x1f30]
movss xmm5, dword [0x1401bf854]
movss dword [rbx + 0x1f30], xmm0
cmp qword [rbx + 0x1f18], rsi
je 0x1400a2656
cmp dword [rbx + 0x1e1c], 3
jne 0x1400a2656
subss xmm0, dword [0x1401bf7f4]
movaps xmmword [rsp + 0x30], xmm7
divss xmm0, dword [0x1401bf7d4]
comiss xmm6, xmm0
jbe 0x1400a25bb
movaps xmm1, xmm6
jmp 0x1400a25c2
movsxd rax, edx
mov rax, qword [r8 + rax*8]
jmp 0x1400a2522
movaps xmm1, xmm5
minss xmm1, xmm0
movss xmm7, dword [rbx + 0x1f34]
mov edx, 4
maxss xmm7, xmm1
mov ecx, reloc.WS2_32.dll_listen
movss dword [rbx + 0x1f34], xmm7
call fcn.1400a01f0
comiss xmm0, xmm6
mov r9d, r14d
mov ecx, listen
seta r9b
call fcn.1400a01f0
comiss xmm0, xmm6
mov ecx, r14d
seta cl
sub ecx, r9d
je 0x1400a2619
call fcn.1400a2240
mov dword [rbx + 0x1f34], 0x3f800000
movaps xmm7, xmm5
movss xmm0, dword [rbx + 0x350]
comiss xmm0, xmm6
ja 0x1400a2651
comiss xmm5, xmm7
seta al
and byte [rbx + 0x1f38], al
je 0x1400a2643
cmp qword [rbx + 0x1de8], rsi
je 0x1400a264a
movzx ebp, r15b
jmp 0x1400a264a
mov rsi, qword [rbx + 0x1f18]
mov qword [rbx + 0x1f18], r14
movaps xmm7, xmmword [rsp + 0x30]
cmp qword [rbx + 0x1f18], r14
je 0x1400a26d7
cmp dword [rbx + 0x1e1c], 2
jne 0x1400a26d7
movss xmm0, dword [rbx + 0x1f30]
subss xmm0, dword [0x1401bf7f4]
divss xmm0, dword [0x1401bf7d4]
comiss xmm6, xmm0
jbe 0x1400a268a
movaps xmm5, xmm6
jmp 0x1400a268e
minss xmm5, xmm0
movss xmm0, dword [rbx + 0x1f34]
maxss xmm0, xmm5
movss dword [rbx + 0x1f34], xmm0
mov ecx, dword [rbx + 0x3c]
test ecx, ecx
js 0x1400a26c7
call fcn.140097c40
test al, al
je 0x1400a26c7
cmp byte [rbx + 0x141], r14b
mov ecx, 0xffffffff
cmovne ecx, r15d
call fcn.1400a2240
cmp byte [rbx + 0x140], r14b
jne 0x1400a26d7
mov rsi, qword [rbx + 0x1f18]
mov edx, r15d
mov ecx, reloc.WS2_32.dll_recv
call fcn.1400a01f0
comiss xmm0, xmm6
jbe 0x1400a26ef
mov byte [rbx + 0x1f38], dl
cmp dword [rbx + 0x1c7c], r14d
je 0x1400a2705
cmp byte [rbx + 0x1c89], r14b
je 0x1400a2794
cmp byte [rbx + 0x1f38], r14b
je 0x1400a2794
mov edx, 2
mov ecx, reloc.WS2_32.dll_recv
call fcn.1400a01f0
comiss xmm0, xmm6
jbe 0x1400a2794
lea rax, [rbx + 0x128]
test rax, rax
jne 0x1400a2739
lea rax, [rbx + 0x128]
movss xmm0, dword [rax]
movss xmm1, dword [0x1401bfb48]
comiss xmm0, xmm1
movss xmm2, dword [rax + 4]
jb 0x1400a275a
comiss xmm2, xmm1
jb 0x1400a275a
movzx ecx, r15b
jmp 0x1400a275c
xor cl, cl
lea rax, [rbx + 0x3c4]
test rax, rax
jne 0x1400a276f
lea rax, [rbx + 0x128]
movss xmm0, dword [rax]
comiss xmm0, xmm1
movss xmm2, dword [rax + 4]
jb 0x1400a2788
comiss xmm2, xmm1
jb 0x1400a2788
movzx eax, r15b
jmp 0x1400a278a
xor al, al
cmp cl, al
movzx ebp, bpl
cmove ebp, r15d
mov rdi, qword [rbx + 0x1f18]
test rdi, rdi
je 0x1400a2890
test byte [rdi + 0xc], 4
jne 0x1400a2890
mov eax, dword [rbx + 0x1e1c]
cmp eax, 2
jne 0x1400a27cb
cmp byte [rbx + 0x141], r14b
jne 0x1400a2890
mov edx, r15d
jmp 0x1400a27d9
cmp eax, 3
jne 0x1400a2890
mov edx, 4
movaps xmm3, xmm6
movss dword [rsp + 0x20], xmm6
xor r8d, r8d
lea rcx, [rsp + 0x70]
call fcn.1400a0370
movss xmm4, dword [rax]
ucomiss xmm4, xmm6
movss xmm3, dword [rax + 4]
jp 0x1400a280a
jne 0x1400a280a
ucomiss xmm3, xmm6
jp 0x1400a280a
je 0x1400a2890
mov r9, qword [rdi + 0x388]
lea rdx, [rsp + 0x70]
movss xmm1, dword [rbx + 0xc0]
mov r8d, r15d
movss xmm0, dword [rbx + 0x18]
mov rcx, r9
minss xmm1, dword [rbx + 0xc4]
mulss xmm0, dword [0x1401bfaa8]
mulss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm4, xmm2
mulss xmm3, xmm2
addss xmm4, dword [r9 + 0x10]
addss xmm3, dword [r9 + 0x14]
movss dword [rsp + 0x70], xmm4
movss dword [rsp + 0x74], xmm3
call fcn.14009d220
test dword [r9 + 0xc], 0x100
jne 0x1400a2889
comiss xmm6, dword [rbx + 0x3054]
jb 0x1400a2889
mov eax, dword [rbx + 0x1c]
mov dword [rbx + 0x3054], eax
mov byte [rbx + 0x1e3f], r8b
movaps xmm6, xmmword [rsp + 0x40]
test rsi, rsi
je 0x1400a29ab
mov rax, qword [rbx + 0x1de8]
test rax, rax
je 0x1400a28b7
cmp rsi, qword [rax + 0x388]
je 0x1400a29a4
call fcn.140093690
mov word [rbx + 0x1e3e], 0x100
mov rdi, qword [rsi + 0x3a0]
test rdi, rdi
je 0x1400a28da
cmp byte [rdi + 0x8f], r14b
jne 0x1400a28dd
mov rdi, rsi
mov r9d, dword [rbx + 0x1db8]
test r9d, r9d
je 0x1400a2978
mov r10d, r14d
test rdi, rdi
je 0x1400a2965
test r9d, r9d
jle 0x1400a2965
mov r11, qword [rbx + 0x1dc0]
mov rsi, r14
add r11, 8
mov rax, qword [r11]
test rax, rax
je 0x1400a2955
test dword [rax + 0xc], 0x1000000
jne 0x1400a2955
mov edx, r10d
cmp r10d, r9d
jge 0x1400a2965
mov rcx, qword [rbx + 0x1dc0]
add rcx, 8
add rcx, rsi
nop
mov r8, qword [rcx]
test r8, r8
je 0x1400a2948
mov rax, qword [rdi + 0x388]
cmp qword [r8 + 0x388], rax
je 0x1400a2955
inc edx
add rcx, 0x30
cmp edx, r9d
jl 0x1400a2930
jmp 0x1400a296e
inc r10d
add rsi, 0x30
add r11, 0x30
cmp r10d, r9d
jl 0x1400a2908
cmp r10d, dword [rbx + 0x1db8]
jge 0x1400a2978
xor edx, edx
mov ecx, r10d
call fcn.14009ed50
mov rcx, rdi
call fcn.14009cc90
cmp dword [rdi + 0x3a8], r14d
jne 0x1400a2993
xor edx, edx
mov rcx, rdi
call fcn.1400a0000
cmp word [rdi + 0x152], 2
jne 0x1400a29a4
mov dword [rbx + 0x1e34], r15d
mov qword [rbx + 0x1f18], r14
mov r15, qword [rsp + 0x80]
test bpl, bpl
mov rbp, qword [rsp + 0x78]
je 0x1400a2a60
cmp qword [rbx + 0x1de8], r14
je 0x1400a2a60
call fcn.140093690
mov rdi, qword [rbx + 0x1de8]
lea rcx, [rdi + 0x380]
cmp qword [rcx], r14
je 0x1400a2a0d
test byte [rdi + 0x150], 2
jne 0x1400a2a0d
mov eax, dword [rdi + 0xc]
and eax, 0x15000000
cmp eax, 0x1000000
jne 0x1400a2a0d
mov rdi, qword [rcx]
lea rcx, [rdi + 0x380]
cmp qword [rcx], r14
jne 0x1400a29e6
mov rsi, qword [rbx + 0x1de8]
cmp rdi, rsi
je 0x1400a2a28
mov rcx, rdi
call fcn.14009cc90
mov qword [rdi + 0x3a0], rsi
mov rax, qword [rbx + 0x1de8]
mov word [rbx + 0x1e3e], 0x100
test byte [rax + 0x150], 2
je 0x1400a2a58
mov ecx, dword [rbx + 0x1e34]
xor ecx, 1
cmp ecx, 1
jne 0x1400a2a5b
mov dword [rax + 0x3ac], r14d
jmp 0x1400a2a5b
mov ecx, r14d
call fcn.14009ff60
mov rbx, qword [rsp + 0x88]
add rsp, 0x50
pop r14
pop rdi
pop rsi
ret