Function at 0x14007ffc0
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, 0x1e0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
lea rbp, [rsp + 0x60]
and rbp, 0xffffffffffffffe0
mov r15, r8
mov qword [rbp + 0x50], r8
mov r14, rdx
mov qword [rbp + 0x30], rcx
mov r11d, 4
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
xor esi, esi
xorps xmm7, xmm7
mov eax, dword [r11 + rdi]
cmp dword [0x1403092f0], eax
jle 0x1400800ae
lea rcx, [0x1403092f0]
call fcn.1401568cc
cmp dword [0x1403092f0], 0xffffffff
jne 0x1400800a8
mov byte [0x140309af8], sil
mov qword [0x140309b00], rsi
mov dword [0x140309b08], esi
mov dword [0x140309af0], esi
mov dword [0x140309af4], 0x3f800000
call fcn.140155e1c
mov rbx, rax
call fcn.140155e00
cmp rbx, 0x989680
jne 0x14008007a
imul rax, rax, 0x64
jmp 0x140080095
cqo
idiv rbx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, r8
mov qword [0x140309b00], rax
lea rcx, [0x1403092f0]
call fcn.140156860
mov r11d, 4
movss xmm0, dword [0x140276210]
movss xmm1, dword [0x140309b08]
comiss xmm0, xmm1
ja 0x1400800d5
comiss xmm1, dword [0x140276284]
ja 0x1400800d5
movzx eax, byte [0x140308a88]
jmp 0x1400800e5
cmp byte [0x140308a88], sil
sete al
mov byte [0x140308a88], al
test al, al
je 0x1400800f3
movss xmm1, dword [0x140276398]
jmp 0x1400800fb
movss xmm1, dword [0x140276218]
lea rcx, [0x140309af0]
call fcn.140074750
movabs rbx, 0xcdc221af882e08d5
movabs rcx, 0xba2331ee5f659a86
mov r13, 0xffffffffffffffff
lea r12, [0x140309ad0]
mov eax, dword [r11 + rdi]
cmp dword [0x1403096c8], eax
jle 0x14008025c
lea rcx, [0x1403096c8]
call fcn.1401568cc
cmp dword [0x1403096c8], r13d
jne 0x140080252
movabs rax, 0xaaac48c4eb4b60b6
mov qword [rbp + 0x90], rax
movabs rax, 0xd44c589d2d00eca6
mov qword [rbp + 0x98], rax
movabs rax, 0x660711fd64bf1ff9
mov qword [rbp + 0xa0], rax
movabs rcx, 0x530e88140ad61890
mov qword [rbp + 0xa8], rcx
movups xmm1, xmmword [rbp + 0x90]
movups xmm2, xmmword [rbp + 0xa0]
mov qword [rbp + 0xc0], rbx
movabs rax, 0xba2331ee5f659a86
mov qword [rbp + 0xc8], rax
movabs rax, 0x660711fd649131d7
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xd8], rcx
movdqa xmm0, xmmword [rbp + 0xc0]
xorps xmm0, xmm1
movdqa xmmword [rbp + 0x100], xmm0
xorps xmm2, xmmword [rbp + 0xd0]
movdqa xmmword [rbp + 0x110], xmm2
xorps xmm0, xmm0
movups xmmword [0x140309ad0], xmm0
mov qword [0x140309ae0], rsi
mov qword [0x140309ae8], rsi
lea rax, [rbp + 0x100]
mov r8, r13
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140080220
lea rdx, [rbp + 0x100]
mov rcx, r12
call fcn.14000bef0
lea rcx, [0x1401af0f0]
call fcn.140156e18
nop
lea rcx, [0x1403096c8]
call fcn.140156860
movabs rcx, 0xba2331ee5f659a86
mov eax, dword [0x140308a5c]
cmp eax, 2
jne 0x1400802ae
movabs rax, 0xa4b642cae64067b6
mov qword [rbp + 0x20], rax
movabs rax, 0xba2331c0714bfde8
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], rcx
movdqa xmm0, xmmword [rbp + 0x10]
xorps xmm0, xmmword [rbp + 0x20]
movdqa xmmword [rbp], xmm0
lea rax, [rbp]
mov rdi, r13
inc rdi
cmp byte [rax + rdi], 0
jne 0x1400802a0
jmp 0x14008039c
cmp eax, 3
jne 0x1400802fe
movabs rax, 0xeda54fc6ef4967b9
mov qword [rbp + 0x10], rax
movabs rax, 0xba2331c0714bf4ef
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x28], rcx
movdqa xmm0, xmmword [rbp + 0x20]
xorps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp], xmm0
lea rax, [rbp]
mov rdi, r13
nop dword [rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x1400802f0
jmp 0x14008039c
mov eax, dword [0x140308a58]
cmp eax, 0x3ea
jne 0x14008034f
movabs rax, 0xacb201c8e6417aa2
mov qword [rbp + 0x10], rax
movabs rax, 0xba4743812816e9f5
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x28], rcx
movdqa xmm0, xmmword [rbp + 0x20]
xorps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp], xmm0
lea rax, [rbp]
mov rdi, r13
inc rdi
cmp byte [rax + rdi], 0
jne 0x140080344
jmp 0x14008039c
cmp eax, 0x7d0
jne 0x1400803e2
movabs rax, 0xbfb0448fec477fbd
mov qword [rbp + 0x10], rax
movabs rax, 0xba2331ee5f65e8e9
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x28], rcx
movdqa xmm0, xmmword [rbp + 0x20]
xorps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp], xmm0
lea rax, [rbp]
mov rdi, r13
inc rdi
cmp byte [rax + rdi], 0
jne 0x140080393
mov rax, qword [0x140309ae8]
cmp rdi, rax
ja 0x1400803d3
mov rbx, r12
cmp rax, 0x10
cmovae rbx, qword [0x140309ad0]
mov qword [0x140309ae0], rdi
mov r8, rdi
lea rdx, [rbp]
mov rcx, rbx
call fcn.140158d80
mov byte [rbx + rdi], 0
jmp 0x1400803e2
lea r9, [rbp]
mov rdx, rdi
mov rcx, r12
call fcn.140004560
movups xmm6, xmmword [0x140308db8]
mov rdx, r12
lea rcx, [rbp + 0x120]
call fcn.140009080
mov rbx, rax
movss dword [rbp + 0x40], xmm6
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
movss dword [rbp + 0x44], xmm0
shufps xmm6, xmm6, 0xff
ucomiss xmm6, xmm7
jp 0x140080417
je 0x14008046c
cmp qword [rax + 0x18], 0x10
jb 0x140080421
mov rax, qword [rax]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x1402763ac]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x140276388]
movaps xmm2, xmm6
lea rdx, [rbp + 0x78]
mov rcx, qword [rbp + 0x40]
call fcn.14004da90
movss xmm0, dword [rbp + 0x78]
addss xmm0, dword [0x14027628c]
call fcn.1401a15b0
cvttss2si esi, xmm0
mov rcx, rbx
call fcn.140009c80
mov ebx, dword [0x1402cc784]
movups xmm6, xmmword [0x140308dc8]
mov rdx, r12
lea rcx, [rbp + 0x140]
call fcn.140009080
mov r8, rax
mov eax, dword [r14 + 8]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov eax, esi
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
add ecx, dword [r14]
mov dword [rbp + 0x60], ecx
mov eax, dword [r14 + 0xc]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [r14 + 4]
add ecx, 0xffffffef
add eax, ecx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x140309b08]
mulss xmm0, dword [0x1402762dc]
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [rbp + 0x64], eax
movaps xmmword [rbp + 0xe0], xmm6
mov dword [rsp + 0x20], ebx
lea r9, [rbp + 0xe0]
lea rdx, [rbp + 0x60]
lea rcx, [0x140308e30]
call fcn.140084b10
movups xmm0, xmmword [r15]
movups xmmword [rbp + 0x80], xmm0
cmp byte [0x140308e78], 0
jne 0x1400805a2
mov rbx, qword [0x140308e38]
mov rax, rbx
sub rax, qword [0x140308e30]
test rax, 0xfffffffffffffff0
je 0x1400805a2
mov rax, qword [rbx - 8]
test rax, rax
je 0x140080541
lock inc dword [rax + 8]
mov rcx, qword [rbx - 0x10]
mov rbx, qword [rbx - 8]
test rcx, rcx
je 0x140080572
mov eax, dword [rbp + 0x80]
mov dword [rcx + 0x40], eax
mov eax, dword [rbp + 0x84]
mov dword [rcx + 0x44], eax
mov eax, dword [rbp + 0x88]
mov dword [rcx + 0x48], eax
mov eax, dword [rbp + 0x8c]
mov dword [rcx + 0x4c], eax
test rbx, rbx
je 0x1400805a2
mov eax, r13d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400805a2
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400805a2
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, dword [r14 + 8]
sub eax, 0x34
mov dword [rbp + 0x68], eax
mov dword [rbp + 0x6c], 6
mov eax, dword [r14]
add eax, 0x1a
mov dword [rbp + 0x70], eax
mov eax, dword [r14 + 0xc]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [r14 + 4]
add ecx, 0xfffffffd
add eax, ecx
mov dword [rbp + 0x74], eax
movss dword [rsp + 0x28], xmm7
mov byte [rsp + 0x20], 0
mov r9d, dword [0x1402cc780]
lea r8, [rbp + 0x68]
lea rdx, [rbp + 0x70]
lea rcx, [0x140308e30]
call fcn.140084760
movups xmm0, xmmword [r15]
movups xmmword [rbp + 0x40], xmm0
cmp byte [0x140308e78], 0
jne 0x140080683
mov rbx, qword [0x140308e38]
mov rax, rbx
sub rax, qword [0x140308e30]
test rax, 0xfffffffffffffff0
je 0x140080683
mov rax, qword [rbx - 8]
test rax, rax
je 0x14008062e
lock inc dword [rax + 8]
mov rcx, qword [rbx - 0x10]
mov rbx, qword [rbx - 8]
test rcx, rcx
je 0x140080653
mov eax, dword [rbp + 0x40]
mov dword [rcx + 0x40], eax
mov eax, dword [rbp + 0x44]
mov dword [rcx + 0x44], eax
mov eax, dword [rbp + 0x48]
mov dword [rcx + 0x48], eax
mov eax, dword [rbp + 0x4c]
mov dword [rcx + 0x4c], eax
test rbx, rbx
je 0x140080683
mov eax, r13d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140080683
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140080683
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov ebx, dword [0x1402cc778]
movzx r12d, byte [0x1402cc779]
movzx r15d, byte [0x1402cc77a]
movzx esi, byte [0x1402cc77b]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
cvttss2si edi, xmm0
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
movss xmm6, dword [rax]
mov eax, dword [r14 + 8]
sub eax, 0x36
mov dword [rbp + 0x38], eax
mov dword [rbp + 0x3c], 4
mov eax, dword [r14]
add eax, 0x1b
mov dword [rbp + 0x30], eax
mov eax, dword [r14 + 0xc]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [r14 + 4]
add ecx, 0xfffffffe
add eax, ecx
mov dword [rbp + 0x34], eax
movss xmm7, dword [0x140309b08]
movaps xmm2, xmm7
movzx edx, sil
movzx ecx, dil
call fcn.14007e6a0
cvttsd2si eax, xmm0
movzx ecx, al
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm6
cvttss2si eax, xmm1
movzx r14d, al
shl r14d, 8
movaps xmm2, xmm7
movzx edx, r15b
movzx ecx, r15b
call fcn.14007e6a0
cvttsd2si eax, xmm0
movzx ecx, al
or r14d, ecx
shl r14d, 8
movaps xmm2, xmm7
movzx edx, r12b
movzx ecx, r12b
call fcn.14007e6a0
cvttsd2si eax, xmm0
movzx edx, al
or r14d, edx
shl r14d, 8
movaps xmm2, xmm7
movzx edx, bl
movzx ecx, bl
call fcn.14007e6a0
cvttsd2si eax, xmm0
movzx edx, al
or r14d, edx
movaps xmm2, xmm7
movzx edx, dil
movzx ecx, sil
call fcn.14007e6a0
cvttsd2si eax, xmm0
movzx ecx, al
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm6
cvttss2si eax, xmm1
movzx edi, al
shl edi, 8
movaps xmm2, xmm7
movzx edx, r15b
movzx ecx, r15b
call fcn.14007e6a0
cvttsd2si eax, xmm0
movzx ecx, al
or edi, ecx
shl edi, 8
movaps xmm2, xmm7
movzx edx, r12b
movzx ecx, r12b
call fcn.14007e6a0
cvttsd2si eax, xmm0
movzx ecx, al
or edi, ecx
shl edi, 8
movaps xmm2, xmm7
movzx edx, bl
movzx ecx, bl
call fcn.14007e6a0
cvttsd2si eax, xmm0
movzx r9d, al
or r9d, edi
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], r14d
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x30]
lea rcx, [0x140308e30]
call fcn.1400848a0
mov rax, qword [rbp + 0x50]
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x50], xmm0
cmp byte [0x140308e78], 0
jne 0x14008089c
mov rbx, qword [0x140308e38]
mov rax, rbx
sub rax, qword [0x140308e30]
test rax, 0xfffffffffffffff0
je 0x14008089c
mov rax, qword [rbx - 8]
test rax, rax
je 0x140080848
lock inc dword [rax + 8]
mov rcx, qword [rbx - 0x10]
mov rbx, qword [rbx - 8]
test rcx, rcx
je 0x14008086d
mov eax, dword [rbp + 0x50]
mov dword [rcx + 0x40], eax
mov eax, dword [rbp + 0x54]
mov dword [rcx + 0x44], eax
mov eax, dword [rbp + 0x58]
mov dword [rcx + 0x48], eax
mov eax, dword [rbp + 0x5c]
mov dword [rcx + 0x4c], eax
test rbx, rbx
je 0x14008089c
mov eax, r13d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14008089c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r13d
cmp r13d, 1
jne 0x14008089c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea r11, [rsp + 0x1e0]
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