Function at 0x1801710c0
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.0x1801710f7
movsxd r9, dword [rcx + 0x30]
cmp r9d, 5
ja case.default.0x1801710f7
lea rcx, [0x180000000]
mov edx, dword [rcx + r9*4 + 0x171408]
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 0x1801711c5
test byte [rsi + 0x30], 2
je 0x180171170
lea rcx, [0x18067c258]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [rsi + 0x1c], 0
jne 0x18017114c
mov dword [rsi + 0x1c], recv
lea rcx, [0x18067c258]
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 0x180171191
lea rdx, [rsp + 0x20]
mov rcx, rsi
call r8
mov ecx, eax
test eax, eax
jne 0x1801711a1
movups xmm0, xmmword [0x1805897d8]
movups xmmword [rsp + 0x20], xmm0
test ecx, ecx
je 0x1801711b2
mov rax, qword [rsp + 0x28]
test eax, eax
je 0x1801711c5
shr rax, 0x20
test eax, eax
je 0x1801711c5
mov rax, qword [rdi + 0x78]
test byte [rax + 0x30], 4
je 0x1801711ca
test dword [rax + 0x14], 0x2000
je 0x1801711ca
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 0x1801712a8
cmp dword [rdi + 0x88], 0
je 0x1801712a8
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 0x1801712a8
mov r10d, dword [rdi + 0x38]
test r10d, r10d
jne 0x18017123a
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 0x18017123a
je 0x1801712a8
cmp r9d, 3
jne 0x18017125e
mov rcx, rdi
call fcn.180170520
test eax, eax
je 0x18017126f
mov ebx, 1
mov eax, ebx
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
test r10d, r10d
jne 0x18017126f
mov rcx, rdi
call fcn.1801704d0
test eax, eax
jne 0x1801712a8
xor ebx, ebx
mov edx, ebx
test r8d, r8d
je 0x1801712a8
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 0x1801712ad
inc edx
cmp edx, r8d
jb 0x180171290
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 0x1801712a8
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 0x1801712fe
movaps xmm3, xmm0
movsd xmm1, qword [rax - 0x20]
comisd xmm1, xmm5
ja 0x18017130c
movaps xmm5, xmm1
comisd xmm4, xmm0
ja 0x180171315
movaps xmm4, xmm0
comisd xmm2, xmm1
ja 0x18017131e
movaps xmm2, xmm1
movsd xmm0, qword [rax - 0x18]
comisd xmm0, xmm3
ja 0x18017132c
movaps xmm3, xmm0
movsd xmm1, qword [rax - 0x10]
comisd xmm1, xmm5
ja 0x18017133a
movaps xmm5, xmm1
comisd xmm4, xmm0
ja 0x180171343
movaps xmm4, xmm0
comisd xmm2, xmm1
ja 0x18017134c
movaps xmm2, xmm1
movsd xmm0, qword [rax - 8]
comisd xmm0, xmm3
ja 0x18017135a
movaps xmm3, xmm0
movsd xmm1, qword [rax]
comisd xmm1, xmm5
ja 0x180171367
movaps xmm5, xmm1
comisd xmm4, xmm0
ja 0x180171370
movaps xmm4, xmm0
comisd xmm2, xmm1
ja 0x180171379
movaps xmm2, xmm1
movsd xmm0, qword [rax + 8]
comisd xmm0, xmm3
ja 0x180171387
movaps xmm3, xmm0
movsd xmm1, qword [rax + 0x10]
comisd xmm1, xmm5
ja 0x180171395
movaps xmm5, xmm1
comisd xmm4, xmm0
ja 0x18017139e
movaps xmm4, xmm0
comisd xmm2, xmm1
ja 0x1801713a7
movaps xmm2, xmm1
add rax, 0x40
sub rcx, 1
jne 0x1801712f0
add rdx, 0x1a0
sub r8, 1
jne 0x1801712e0
movsd xmm0, qword [0x1805beb70]
subsd xmm4, xmm3
comisd xmm0, xmm4
ja 0x1801712a8
subsd xmm2, xmm5
comisd xmm0, xmm2
ja 0x1801712a8
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