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

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x30
cmp dword [rcx + 0x3c], 0
mov rdi, rcx
jne case.default.0x1801a8737
movsxd r9, dword [rcx + 0x30]
cmp r9d, 5
ja case.default.0x1801a8737
lea rcx, [0x180000000]
mov edx, dword [rcx + r9*4 + 0x1a8a48]
add rdx, rcx
jmp rdx
xor ebx, ebx
mov r9d, 0xff
cmp word [rdi + 0x9e], r9w
setbe bl
mov eax, ebx
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov qword [rsp + 0x40], rsi
mov rsi, qword [rdi + 0x78]
cmp dword [rsi + 0x1c], 0
jne 0x1801a8805
test byte [rsi + 0x30], 2
je 0x1801a87b0
lea rcx, [0x1806d4d60]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [rsi + 0x1c], 0
jne 0x1801a878c
mov dword [rsi + 0x1c], recv
lea rcx, [0x1806d4d60]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rsi, qword [rsp + 0x40]
mov ebx, 1
mov eax, ebx
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov rax, qword [rsi]
xor ebx, ebx
mov ecx, ebx
mov r8, qword [rax + 0x68]
test r8, r8
je 0x1801a87d1
lea rdx, [rsp + 0x20]
mov rcx, rsi
call r8
mov ecx, eax
test eax, eax
jne 0x1801a87e1
movups xmm0, xmmword [0x1805c7b68]
movups xmmword [rsp + 0x20], xmm0
test ecx, ecx
je 0x1801a87f2
mov rax, qword [rsp + 0x28]
test eax, eax
je 0x1801a8805
shr rax, 0x20
test eax, eax
je 0x1801a8805
mov rax, qword [rdi + 0x78]
test byte [rax + 0x30], 4
je 0x1801a880a
test dword [rax + 0x14], 0x2000
je 0x1801a880a
mov ebx, 1
mov rsi, qword [rsp + 0x40]
mov eax, ebx
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
cmp dword [rdi + 0x84], 0
je 0x1801a88e8
cmp dword [rdi + 0x88], 0
je 0x1801a88e8
xor ebx, ebx
mov eax, ebx
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov r8d, dword [rdi + 0x78]
test r8d, r8d
je 0x1801a88e8
mov r10d, dword [rdi + 0x38]
test r10d, r10d
jne 0x1801a887a
mov rdx, qword [rdi + 0x80]
lea eax, [r8 - 1]
lea rax, [rax + rax*2]
add rax, rax
movsd xmm0, qword [rdx]
ucomisd xmm0, qword [rdx + rax*8]
jp 0x1801a887a
je 0x1801a88e8
cmp r9d, 3
jne 0x1801a889e
mov rcx, rdi
call fcn.1801a7bf0
test eax, eax
je 0x1801a88af
mov ebx, 1
mov eax, ebx
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
test r10d, r10d
jne 0x1801a88af
mov rcx, rdi
call fcn.1801a7ba0
test eax, eax
jne 0x1801a88e8
xor ebx, ebx
mov edx, ebx
test r8d, r8d
je 0x1801a88e8
mov r10, qword [rdi + 0x80]
mov r9d, 0xff
nop word [rax + rax]
mov eax, edx
lea rcx, [rax + rax*2]
add rcx, rcx
cmp word [r10 + rcx*8 + 0x2e], r9w
ja 0x1801a88ed
inc edx
cmp edx, r8d
jb 0x1801a88d0
mov ebx, 1
mov eax, ebx
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov eax, dword [rdi + 0x7c]
test eax, eax
je 0x1801a88e8
mov rcx, qword [rdi + 0x88]
mov r8d, eax
movsd xmm4, qword [rcx]
lea rdx, [rcx + 0x28]
movsd xmm2, qword [rcx + 8]
movaps xmm3, xmm4
movaps xmm5, xmm2
nop
mov rax, rdx
mov ecx, 4
nop dword [rax + rax]
movsd xmm0, qword [rax - 0x28]
comisd xmm0, xmm3
ja 0x1801a893e
movaps xmm3, xmm0
movsd xmm1, qword [rax - 0x20]
comisd xmm1, xmm5
ja 0x1801a894c
movaps xmm5, xmm1
comisd xmm4, xmm0
ja 0x1801a8955
movaps xmm4, xmm0
comisd xmm2, xmm1
ja 0x1801a895e
movaps xmm2, xmm1
movsd xmm0, qword [rax - 0x18]
comisd xmm0, xmm3
ja 0x1801a896c
movaps xmm3, xmm0
movsd xmm1, qword [rax - 0x10]
comisd xmm1, xmm5
ja 0x1801a897a
movaps xmm5, xmm1
comisd xmm4, xmm0
ja 0x1801a8983
movaps xmm4, xmm0
comisd xmm2, xmm1
ja 0x1801a898c
movaps xmm2, xmm1
movsd xmm0, qword [rax - 8]
comisd xmm0, xmm3
ja 0x1801a899a
movaps xmm3, xmm0
movsd xmm1, qword [rax]
comisd xmm1, xmm5
ja 0x1801a89a7
movaps xmm5, xmm1
comisd xmm4, xmm0
ja 0x1801a89b0
movaps xmm4, xmm0
comisd xmm2, xmm1
ja 0x1801a89b9
movaps xmm2, xmm1
movsd xmm0, qword [rax + 8]
comisd xmm0, xmm3
ja 0x1801a89c7
movaps xmm3, xmm0
movsd xmm1, qword [rax + 0x10]
comisd xmm1, xmm5
ja 0x1801a89d5
movaps xmm5, xmm1
comisd xmm4, xmm0
ja 0x1801a89de
movaps xmm4, xmm0
comisd xmm2, xmm1
ja 0x1801a89e7
movaps xmm2, xmm1
add rax, 0x40
sub rcx, 1
jne 0x1801a8930
add rdx, 0x1a0
sub r8, 1
jne 0x1801a8920
movsd xmm0, qword [0x180601610]
subsd xmm4, xmm3
comisd xmm0, xmm4
ja 0x1801a88e8
subsd xmm2, xmm5
comisd xmm0, xmm2
ja 0x1801a88e8
xor ebx, ebx
mov eax, ebx
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov rbx, qword [rsp + 0x48]
xor eax, eax
add rsp, 0x30
pop rdi
ret