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

Disassembly:
mov rax, rsp
push rbp
mov rbp, rsp
sub rsp, 0x70
cmp byte [0x140217e7d], 0
je 0x140104c3b
mov rcx, qword [0x140217ee8]
cmp byte [rcx + 0x5ff1], 0
je 0x140104c3b
mov qword [rax + 0x10], rbx
lea r8, [rbp + 0x10]
mov qword [rax + 0x18], rsi
lea rdx, [rbp - 0x50]
mov qword [rax + 0x20], rdi
add rcx, 0x5df8
mov qword [rax - 0x10], r14
mov qword [rax - 0x18], r15
mov eax, dword [reloc.WS2_32.dll_closesocket]
mov dword [rbp + 0x10], eax
call fcn.14001f400
mov rcx, qword [rax]
cmp byte [rcx + 0x16], 0
ja 0x140104a71
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, qword [0x140217ee8]
mov r14, rax
mov rbx, qword [rcx + 0x5f4c]
mov rsi, qword [rcx + 0x5f54]
cmp rbx, rsi
je 0x140104930
nop dword [rax]
mov rdi, qword [rbx]
mov edx, dword [reloc.WS2_32.dll_closesocket]
movzx ecx, word [rdi]
cmp ecx, edx
jne 0x140104927
test edx, edx
je 0x140104927
movss xmm1, dword [rdi + 6]
movss xmm0, dword [rdi + 2]
call fcn.140106440
test al, al
jne 0x14010496b
add rbx, 8
cmp rbx, rsi
jne 0x140104900
xor r15d, r15d
lea rdx, str._4AUTO_PLANT_STOPPED_
xorps xmm0, xmm0
mov qword [rbp - 0x40], r15
lea rcx, [rbp - 0x50]
mov qword [rbp - 0x38], r15
movups xmmword [rbp - 0x50], xmm0
lea r8d, [r15 + 0x15]
call fcn.140014520
lea rcx, [rbp - 0x50]
call fcn.1401026d0
mov byte [0x140217e7d], r15b
jmp 0x140104c19
cvttss2si r8d, dword [rdi + 6]
mov rcx, qword [0x140217ee8]
cvttss2si edx, dword [rdi + 2]
call fcn.14010f5e0
movss xmm0, dword [rdi + 2]
xor r15d, r15d
movss xmm1, dword [rdi + 6]
xor eax, eax
mov qword [rbp - 0x1c], rax
mov eax, dword [rdi + 0xc]
mov dword [rbp - 0x3c], eax
mov rax, qword [0x140217ee8]
movss dword [rbp - 0x38], xmm0
movss dword [rbp - 0x34], xmm1
mov word [rbp - 0x4f], 0
mov rdi, qword [rax + 0x10]
mov rbx, qword [rax + 8]
mov byte [rbp - 0x4d], 0
mov qword [rbp - 0x48], r15
mov dword [rbp - 0x40], r15d
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], r15
mov dword [rbp - 0x20], r15d
mov byte [rbp - 0x50], ntohl
mov dword [rbp - 0x4c], 0xffffffff
test rdi, rdi
je 0x140104a5b
test rbx, rbx
je 0x140104a5b
lea edx, [r15 + 0x41]
xor ecx, ecx
lea r8d, [r15 + 1]
call fcn.14000dad0
movups xmm0, xmmword [rbp - 0x50]
mov edx, dword [rbp - 0x18]
xor ecx, ecx
movups xmm1, xmmword [rbp - 0x40]
mov r8, qword [rax + 0x10]
mov dword [r8], 4
movups xmmword [r8 + 4], xmm0
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [r8 + 0x14], xmm1
movsd xmm1, qword [rbp - 0x20]
movups xmmword [r8 + 0x24], xmm0
movsd qword [r8 + 0x34], xmm1
mov dword [r8 + 0x3c], edx
xor edx, edx
mov byte [r8 + 0x40], cl
mov r8, rax
mov rcx, rdi
call fcn.14000ec00
test eax, eax
je 0x140104a53
mov edx, eax
lea rcx, str._SERVER_:_Error_Sending_Packet__Code:__d_n
call fcn.140007870
mov rcx, rbx
call fcn.14000f0a0
movsxd rax, dword [0x14020b190]
add rax, r14
mov qword [0x140217eb0], rax
jmp 0x140104c19
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
cmp rax, qword [0x140217eb0]
mov r14, rax
jb 0x140104c19
mov rcx, qword [0x140217ee8]
xor r15d, r15d
mov edi, r15d
cmp dword [rcx + 0x5f24], r15d
jle 0x140104c19
nop dword [rax]
nop word [rax + rax]
mov ebx, r15d
cmp dword [rcx + 0x5f20], r15d
jle 0x140104b6d
mov eax, dword [rcx + 0x5f20]
mov edx, eax
imul edx, edi
add edx, ebx
cmp edx, 0xffffffff
jle 0x140104b5f
mov r9, qword [rcx + 0x5f2c]
mov r8, qword [rcx + 0x5f34]
sub r8, r9
movsxd rsi, edx
sar r8, 3
cmp rsi, r8
jae 0x140104b5f
cmp ebx, 0xffffffff
jle 0x140104b5f
cmp ebx, eax
jge 0x140104b5f
cmp edi, 0xffffffff
jle 0x140104b5f
mov r10d, dword [rcx + 0x5f24]
cmp edi, r10d
jge 0x140104b5f
mov rsi, qword [r9 + rsi*8]
test rsi, rsi
je 0x140104b5f
cmp word [rsi], r15w
jne 0x140104b5f
lea edx, [rdi + 1]
imul eax, edx
add eax, ebx
cmp eax, 0xffffffff
jle 0x140104b5f
cdqe
cmp rax, r8
jae 0x140104b5f
cmp edx, r10d
jge 0x140104b5f
mov rax, qword [r9 + rax*8]
test rax, rax
je 0x140104b5f
movzx eax, word [rax]
test ax, ax
je 0x140104b5f
test al, 1
jne 0x140104b5f
mov r8d, edi
mov edx, ebx
call fcn.140105730
mov rcx, qword [0x140217ee8]
test al, al
jne 0x140104b80
inc ebx
cmp ebx, dword [rcx + 0x5f20]
jl 0x140104ac0
inc edi
cmp edi, dword [rcx + 0x5f24]
jl 0x140104ab0
jmp 0x140104c19
movsxd rax, dword [0x14020b190]
mov r8d, edi
add rax, r14
mov dword [0x140217ea8], ebx
mov edx, ebx
mov qword [0x140217eb0], rax
mov dword [0x140217eac], edi
call fcn.140110a50
mov rcx, qword [0x140217ee8]
movss xmm2, dword [rcx + 0x5fd1]
cvttss2si eax, xmm2
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
cmp eax, dword [0x140217ea8]
jne 0x140104c19
movss xmm1, dword [rcx + 0x5fd5]
cvttss2si eax, xmm1
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
cmp eax, dword [0x140217eac]
jne 0x140104c19
mulss xmm1, dword [0x1401b6cf0]
xor ecx, ecx
mov edx, dword [reloc.WS2_32.dll_closesocket]
mulss xmm2, dword [0x1401b6cf0]
cvttss2si r9d, xmm1
cvttss2si r8d, xmm2
call fcn.140111510
movzx eax, word [reloc.WS2_32.dll_closesocket]
mov word [rsi], ax
mov r14, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x88]
mov r15, qword [rsp + 0x60]
add rsp, 0x70
pop rbp
ret