Function at 0x140081c70
Capabilities:
Access peb ldr_data

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x1c0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
lea rbp, [rsp + 0x60]
and rbp, 0xffffffffffffffe0
mov r12, r8
mov rsi, rdx
mov r13d, 4
mov rax, qword gs:[0x58]
mov r15, qword [rax]
xor r14d, r14d
xorps xmm7, xmm7
mov eax, dword [r15 + r13]
cmp dword [0x140309870], eax
jle 0x140081d53
lea rcx, [0x140309870]
call fcn.1401568cc
cmp dword [0x140309870], 0xffffffff
jne 0x140081d53
mov byte [0x1403093d0], r14b
mov qword [0x1403093d8], r14
mov dword [0x1403093e0], r14d
mov dword [0x1403093c8], r14d
mov dword [0x1403093cc], 0x3f800000
call fcn.140155e1c
mov rbx, rax
call fcn.140155e00
cmp rbx, 0x989680
jne 0x140081d25
imul rax, rax, 0x64
jmp 0x140081d40
cqo
idiv rbx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, r8
mov qword [0x1403093d8], rax
lea rcx, [0x140309870]
call fcn.140156860
movss xmm0, dword [0x140276200]
movss xmm1, dword [0x1403093e0]
comiss xmm0, xmm1
ja 0x140081d7a
comiss xmm1, dword [0x140276274]
ja 0x140081d7a
movzx eax, byte [0x140308a7c]
jmp 0x140081d8a
cmp byte [0x140308a7c], r14b
sete al
mov byte [0x140308a7c], al
test al, al
je 0x140081d98
movss xmm1, dword [0x140276388]
jmp 0x140081da0
movss xmm1, dword [0x140276208]
lea rcx, [0x1403093c8]
call fcn.140074750
mov rdi, 0xffffffffffffffff
mov eax, dword [r15 + r13]
cmp dword [0x1403093ec], eax
jle 0x140081ecb
lea rcx, [0x1403093ec]
call fcn.1401568cc
cmp dword [0x1403093ec], edi
jne 0x140081ecb
movabs rax, 0xdb23fb16ac75192e
mov qword [rbp + 0x68], rax
movabs rax, 0x38ef1c1e84479549
mov qword [rbp + 0x70], rax
movabs rax, 0x6bcf17cd1db2b3dc
mov qword [rbp + 0x78], rax
movabs rcx, 0x771883604350dce8
mov qword [rbp + 0x80], rcx
movups xmm0, xmmword [rbp + 0x68]
movups xmm1, xmmword [rbp + 0x78]
movabs rax, 0xb54a9677c9076d5d
mov qword [rbp + 0xa0], rax
movabs rax, 0x5d83697aeb2ab52e
mov qword [rbp + 0xa8], rax
movabs rax, 0x6bcf17cd339c9daf
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], rcx
xorps xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0xe0], xmm0
xorps xmm1, xmmword [rbp + 0xb0]
movdqa xmmword [rbp + 0xf0], xmm1
xorps xmm0, xmm0
movups xmmword [0x140309520], xmm0
xorps xmm1, xmm1
movdqu xmmword [0x140309530], xmm1
lea rax, [rbp + 0xe0]
mov r8, rdi
inc r8
cmp byte [rax + r8], 0
jne 0x140081e95
lea rdx, [rbp + 0xe0]
lea rcx, [0x140309520]
call fcn.14000bef0
lea rcx, [0x1401aeea0]
call fcn.140156e18
nop
lea rcx, [0x1403093ec]
call fcn.140156860
movups xmm6, xmmword [0x140308db8]
lea rdx, [0x140309520]
lea rcx, [rbp + 0x100]
call fcn.140009080
mov rbx, rax
movss dword [rbp + 0x10], xmm6
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
movss dword [rbp + 0x14], xmm0
shufps xmm6, xmm6, 0xff
ucomiss xmm6, xmm7
jp 0x140081f04
je 0x140081f5a
cmp qword [rax + 0x18], 0x10
jb 0x140081f0e
mov rax, qword [rax]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x14027639c]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x140276378]
movaps xmm2, xmm6
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp + 0x10]
call fcn.14004da90
movss xmm0, dword [rbp + 0x40]
addss xmm0, dword [0x14027627c]
call fcn.1401a16b0
cvttss2si r14d, xmm0
mov rcx, rbx
call fcn.140009c80
mov ebx, dword [0x1402cc774]
movups xmm6, xmmword [0x140308dc8]
lea rdx, [0x140309520]
lea rcx, [rbp + 0x120]
call fcn.140009080
mov r8, rax
mov eax, dword [rsi + 8]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov eax, r14d
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
add ecx, dword [rsi]
mov dword [rbp + 0x20], ecx
mov eax, dword [rsi + 0xc]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [rsi + 4]
add ecx, 0xffffffef
add eax, ecx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x1403093e0]
mulss xmm0, dword [0x1402762cc]
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [rbp + 0x24], eax
movaps xmmword [rbp + 0xc0], xmm6
mov dword [rsp + 0x20], ebx
lea r9, [rbp + 0xc0]
lea rdx, [rbp + 0x20]
lea rcx, [0x140308e30]
call fcn.140084b10
movups xmm0, xmmword [r12]
movups xmmword [rbp + 0x48], xmm0
cmp byte [0x140308e78], 0
jne 0x140082081
mov rbx, qword [0x140308e38]
mov rax, rbx
sub rax, qword [0x140308e30]
test rax, 0xfffffffffffffff0
je 0x140082081
mov rax, qword [rbx - 8]
test rax, rax
je 0x14008202e
lock inc dword [rax + 8]
mov rcx, qword [rbx - 0x10]
mov rbx, qword [rbx - 8]
test rcx, rcx
je 0x140082053
mov eax, dword [rbp + 0x48]
mov dword [rcx + 0x40], eax
mov eax, dword [rbp + 0x4c]
mov dword [rcx + 0x44], eax
mov eax, dword [rbp + 0x50]
mov dword [rcx + 0x48], eax
mov eax, dword [rbp + 0x54]
mov dword [rcx + 0x4c], eax
test rbx, rbx
je 0x140082081
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140082081
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140082081
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, dword [rsi + 8]
sub eax, 0x34
mov dword [rbp + 0x28], eax
mov dword [rbp + 0x2c], 6
mov eax, dword [rsi]
add eax, 0x1a
mov dword [rbp + 0x30], eax
mov eax, dword [rsi + 0xc]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [rsi + 4]
add ecx, 0xfffffffd
add eax, ecx
mov dword [rbp + 0x34], eax
movss dword [rsp + 0x28], xmm7
mov byte [rsp + 0x20], 0
mov r9d, dword [0x1402cc770]
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0x30]
lea rcx, [0x140308e30]
call fcn.140084760
movups xmm0, xmmword [r12]
movups xmmword [rbp + 0x58], xmm0
cmp byte [0x140308e78], 0
jne 0x140082161
mov rbx, qword [0x140308e38]
mov rax, rbx
sub rax, qword [0x140308e30]
test rax, 0xfffffffffffffff0
je 0x140082161
mov rax, qword [rbx - 8]
test rax, rax
je 0x14008210e
lock inc dword [rax + 8]
mov rcx, qword [rbx - 0x10]
mov rbx, qword [rbx - 8]
test rcx, rcx
je 0x140082133
mov eax, dword [rbp + 0x58]
mov dword [rcx + 0x40], eax
mov eax, dword [rbp + 0x5c]
mov dword [rcx + 0x44], eax
mov eax, dword [rbp + 0x60]
mov dword [rcx + 0x48], eax
mov eax, dword [rbp + 0x64]
mov dword [rcx + 0x4c], eax
test rbx, rbx
je 0x140082161
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140082161
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140082161
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, dword [rsi + 8]
sub eax, 0x36
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x140308a54]
cvttss2si eax, xmm0
mov dword [rbp + 0x38], eax
mov dword [rbp + 0x3c], 4
mov eax, dword [rsi]
add eax, 0x1b
mov dword [rbp], eax
mov eax, dword [rsi + 0xc]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [rsi + 4]
add edx, 0xfffffffe
add eax, edx
mov dword [rbp + 4], eax
mov byte [rsp + 0x28], 1
mov r9d, dword [0x1402cc768]
mov dword [rsp + 0x20], r9d
lea r8, [rbp + 0x38]
lea rdx, [rbp]
lea rcx, [0x140308e30]
call fcn.1400848a0
movups xmm0, xmmword [r12]
movups xmmword [rbp + 0x10], xmm0
cmp byte [0x140308e78], 0
jne 0x14008224d
mov rbx, qword [0x140308e38]
mov rax, rbx
sub rax, qword [0x140308e30]
test rax, 0xfffffffffffffff0
je 0x14008224d
mov rax, qword [rbx - 8]
test rax, rax
je 0x1400821fc
lock inc dword [rax + 8]
mov rcx, qword [rbx - 0x10]
mov rbx, qword [rbx - 8]
test rcx, rcx
je 0x140082221
mov eax, dword [rbp + 0x10]
mov dword [rcx + 0x40], eax
mov eax, dword [rbp + 0x14]
mov dword [rcx + 0x44], eax
mov eax, dword [rbp + 0x18]
mov dword [rcx + 0x48], eax
mov eax, dword [rbp + 0x1c]
mov dword [rcx + 0x4c], eax
test rbx, rbx
je 0x14008224d
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14008224d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x14008224d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret