Function at 0x14009b340
Capabilities:
Hash data using murmur3

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x118]
sub rsp, 0x1f0
vmovaps xmmword [rax - 0x38], xmm6
vmovaps xmmword [rax - 0x48], xmm7
vmovaps xmmword [rax - 0x58], xmm8
vmovaps xmmword [rax - 0x68], xmm9
vmovaps xmmword [rax - 0x78], xmm10
vmovaps xmmword [rax - 0x88], xmm11
vmovaps xmmword [rax - 0x98], xmm12
mov rax, qword [0x14143b040]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov r13, rcx
mov qword [rbp + 0x20], rcx
xor r12d, r12d
mov rax, qword [0x141443c60]
vmovss xmm0, dword [rax + 0x3e80]
vdivss xmm12, xmm0, dword [0x14140ea74]
vmulss xmm1, xmm12, dword [0x14140eb60]
vmulss xmm0, xmm12, dword [0x14140eb24]
or dword [rax + 0x4b58], 2
vmovss dword [rax + 0x4b7c], xmm1
vmovss dword [rax + 0x4b80], xmm0
mov dword [rax + 0x4b60], 4
lea rdx, [rcx + 0x2faf]
xor r8d, r8d
lea rcx, [0x1413ca3b0]
call fcn.1401ef0a0
mov rax, qword [0x141443c60]
mov rcx, qword [rax + 0x4150]
cmp byte [rcx + 0xf8], r12b
je 0x14009b426
call fcn.1401f2010
jmp 0x14009d1f9
mov rsi, r12
mov qword [rsp + 0x78], r12
movabs rax, 0xc4ceb9fe1a85ec53
mov qword [rbp - 0x28], rax
lea r14, [rbp - 8]
mov qword [rbp - 0x20], r14
lea rbx, [rbp - 8]
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x10], r12
mov r15, r12
mov qword [rbp - 8], r12
mov qword [rbp], r12
mov edi, 0x20
mov qword [rbp + 8], rdi
movzx ecx, word [r13 + 0x13c]
shl rcx, 0x20
mov eax, dword [r13 + 0x138]
or rcx, rax
mov qword [rsp + 0x40], rcx
mov eax, dword [r13 + 0x13e]
lea rax, [rcx + rax*8]
mov qword [rsp + 0x58], rax
cmp rcx, rax
je 0x14009b81c
lea r12, [r13 + 0x78]
nop dword [rax]
mov rax, qword [rcx]
mov rsi, qword [rax]
mov qword [rsp + 0x70], rsi
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x50]
mov rcx, r12
call fcn.140049af0
mov rax, qword [rbp - 0x50]
cmp rax, qword [r13 + 0x90]
jne 0x14009b56b
mov qword [rsp + 0x48], rsi
mov byte [rsp + 0x50], 1
lea r8, [rsp + 0x48]
lea rdx, [rbp + 0x10]
mov rcx, r12
call fcn.14006db40
mov ecx, dword [rbp + 0x18]
test ecx, ecx
je 0x14009d256
mov rdx, qword [rbp + 0x10]
sub ecx, 1
je 0x14009b534
sub ecx, 1
je 0x14009b51e
cmp ecx, 1
jne 0x14009b534
mov rcx, rdx
add rcx, rcx
mov rax, qword [r12 + 0x10]
vmovups xmm0, xmmword [rsp + 0x48]
vmovups xmmword [rax + rcx*8], xmm0
jmp 0x14009b534
mov rax, rdx
shl rax, 4
add rax, qword [r12 + 0x10]
vmovups xmm0, xmmword [rsp + 0x48]
vmovups xmmword [rax], xmm0
mov rcx, qword [r12 + 0x18]
add rcx, rdx
shl rdx, 4
add rdx, qword [r12 + 0x10]
mov qword [rbp - 0x60], rdx
mov qword [rbp - 0x58], rcx
vmovups xmm0, xmmword [rbp - 0x60]
vmovups xmmword [rbp - 0x50], xmm0
mov edi, dword [rbp + 8]
mov r15, qword [rbp - 8]
mov rbx, qword [rbp - 0x18]
mov r14, qword [rbp - 0x20]
vmovq rax, xmm0
cmp byte [rax + 8], 0
je 0x14009b7fe
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx]
movzx r10d, word [rcx + 0x8f]
shl r10, 0x20
mov eax, dword [rcx + 0x8b]
or r10, rax
mov eax, dword [rcx + 0x91]
lea rcx, [rax + rax*8]
lea r12, [r10 + rcx]
cmp byte [r13 + 0x30], 0
je 0x14009b671
movabs rsi, 0x1c71c71c71c71c72
mov rax, rsi
imul rcx
mov rax, rdx
shr rax, 0x3f
add rdx, rax
test rdx, rdx
jle 0x14009b60e
mov r11, qword [r13 + 0x20]
nop
mov r8, rdx
shr r8, 1
lea r9, [r10 + r8*8]
movsx rcx, word [r9 + r8 + 4]
shl rcx, 0x20
mov eax, dword [r9 + r8]
or rcx, rax
cmp rcx, r11
jge 0x14009b606
lea r10, [r8 + 9]
add r10, r9
mov rax, 0xffffffffffffffff
sub rax, r8
add rdx, rax
jmp 0x14009b609
mov rdx, r8
test rdx, rdx
jg 0x14009b5d0
mov r11, r10
sub r12, r10
mov rax, rsi
imul r12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
test rdx, rdx
jle 0x14009b66e
mov rsi, qword [r13 + 0x28]
nop dword [rax]
mov r8, rdx
shr r8, 1
lea r9, [r11 + r8*8]
movsx rcx, word [r9 + r8 + 4]
shl rcx, 0x20
mov eax, dword [r9 + r8]
or rcx, rax
cmp rcx, rsi
jge 0x14009b666
lea r11, [r8 + 9]
add r11, r9
mov rax, 0xffffffffffffffff
sub rax, r8
add rdx, rax
jmp 0x14009b669
mov rdx, r8
test rdx, rdx
jg 0x14009b630
mov r12, r11
mov rcx, r12
sub rcx, r10
movabs rax, 0x1c71c71c71c71c72
imul rcx
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rsi, qword [rsp + 0x78]
add rsi, rdx
mov qword [rsp + 0x78], rsi
cmp r10, r12
je 0x14009becf
lea rsi, [r10 + 6]
nop dword [rax + rax]
movzx r9d, byte [rsi + 2]
shl r9d, 0x10
movzx eax, word [rsi]
or r9d, eax
mov eax, r9d
mov ecx, r9d
shr rcx, 0x21
xor rcx, rax
movabs rax, 0xff51afd7ed558ccd
imul rcx, rax
mov rdx, rcx
shr rdx, 0x21
xor rdx, rcx
imul rdx, qword [rbp - 0x28]
mov rax, rdx
shr rax, 0x21
xor rdx, rax
mov rcx, rdx
and ecx, 0x1f
mov eax, dword [rbp + 0xc]
shrx r8, rcx, rax
add r8d, edi
shr rdx, 5
and rdx, r15
movzx eax, byte [rbx + rdx]
mov rcx, rdx
shl rcx, 4
add rcx, r14
cmp r8d, eax
jne 0x14009b723
cmp r9d, dword [rcx]
je 0x14009b760
inc rdx
add r8d, edi
movzx eax, byte [rbx + rdx]
cmp r8d, eax
jne 0x14009b738
cmp r9d, dword [rcx + 0x10]
je 0x14009b760
inc rdx
add rcx, 0x20
add r8d, edi
movzx eax, byte [rbx + rdx]
cmp r8d, eax
jbe 0x14009b71c
test r15, r15
jne 0x14009b756
xor eax, eax
mov edx, eax
jmp 0x14009b760
mov rdx, rbx
sub rdx, r14
sar rdx, 4
add rdx, rdx
lea rax, [r14 + rdx*8]
cmp rax, rbx
jne 0x14009b7d6
mov dword [rbp - 0x80], r9d
mov eax, 1
mov qword [rbp - 0x78], rax
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x30]
call fcn.14009d470
mov ecx, dword [rsp + 0x68]
test ecx, ecx
je 0x14009d25c
sub ecx, 1
je 0x14009b7da
sub ecx, 1
je 0x14009b7be
cmp ecx, 1
jne 0x14009b7da
mov rcx, qword [rsp + 0x60]
add rcx, rcx
mov rax, qword [rbp - 0x20]
vmovups xmm0, xmmword [rbp - 0x80]
vmovups xmmword [rax + rcx*8], xmm0
jmp 0x14009b7da
mov rax, qword [rsp + 0x60]
shl rax, 4
add rax, qword [rbp - 0x20]
vmovups xmm0, xmmword [rbp - 0x80]
vmovups xmmword [rax], xmm0
jmp 0x14009b7da
inc qword [rax + 8]
add rsi, 9
lea rax, [rsi - 6]
mov edi, dword [rbp + 8]
mov r15, qword [rbp - 8]
mov rbx, qword [rbp - 0x18]
mov r14, qword [rbp - 0x20]
cmp rax, r12
jne 0x14009b6b0
lea r12, [r13 + 0x78]
mov rsi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x40]
add rcx, 8
mov qword [rsp + 0x40], rcx
cmp rcx, qword [rsp + 0x58]
jne 0x14009b4a0
vmovss xmm0, dword [0x14140e940]
vmovss dword [rsp + 0x40], xmm0
vmovss dword [rsp + 0x44], xmm0
lea rdx, [rsp + 0x40]
mov ecx, 0xb
call fcn.1401e3960
cmp dword [r13 + 0x2fe4], 0
sete dl
lea rcx, [0x1413ca3a0]
call fcn.1402193c0
xor r14d, r14d
test al, al
je 0x14009b864
mov dword [r13 + 0x2fe4], r14d
vmovss xmm8, dword [0x14140ebbc]
vmovaps xmm1, xmm8
vxorps xmm7, xmm7, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], 0
jne 0x14009b8be
vmovss dword [rsp + 0x40], xmm7
vmovss dword [rsp + 0x44], xmm7
vmovaps xmm1, xmm8
lea rcx, [rsp + 0x40]
call fcn.1401f6b70
vmovaps xmm1, xmm8
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
cmp dword [r13 + 0x2fe4], 1
sete dl
lea rcx, [0x1413ca388]
call fcn.1402193c0
mov r15d, 1
test al, al
je 0x14009b8f4
mov dword [r13 + 0x2fe4], r15d
vmovaps xmm1, xmm8
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], 0
jne 0x14009b942
vmovss dword [rsp + 0x40], xmm7
vmovss dword [rsp + 0x44], xmm7
vmovaps xmm1, xmm8
lea rcx, [rsp + 0x40]
call fcn.1401f6b70
vmovaps xmm1, xmm8
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
cmp dword [r13 + 0x2fe4], 2
sete dl
lea rcx, [0x1413ca370]
call fcn.1402193c0
test al, al
je 0x14009b976
mov dword [r13 + 0x2fe4], 2
vmovaps xmm1, xmm8
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], 0
jne 0x14009b9c4
vmovss dword [rsp + 0x40], xmm7
vmovss dword [rsp + 0x44], xmm7
vmovaps xmm1, xmm8
lea rcx, [rsp + 0x40]
call fcn.1401f6b70
vmovaps xmm1, xmm8
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
vmovss xmm11, dword [0x14140e870]
vmovaps xmm1, xmm11
mov ecx, 2
call fcn.14021a1b0
vmovaps xmm1, xmm8
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], 0
jne 0x14009ba37
vmovss dword [rsp + 0x40], xmm7
vmovss dword [rsp + 0x44], xmm7
vmovaps xmm1, xmm8
lea rcx, [rsp + 0x40]
call fcn.1401f6b70
vmovaps xmm1, xmm8
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov r8, r14
movzx edx, word [r13 + 0xcfc]
shl rdx, 0x20
mov eax, dword [r13 + 0xcf8]
or rdx, rax
mov eax, dword [r13 + 0xcfe]
lea r9, [rdx + rax*8]
cmp rdx, r9
je 0x14009ba85
nop
mov rax, qword [rdx]
mov ecx, dword [rax + 0x91]
add r8, rcx
add rdx, 8
cmp rdx, r9
jne 0x14009ba70
mov rcx, r8
call fcn.14004a750
mov rbx, rax
lea rcx, [0x1413ca3f8]
call fcn.140011540
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov r8d, r15d
xor edx, edx
mov rcx, rbx
call fcn.140215e20
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], 0
jne 0x14009bb05
vmovss dword [rsp + 0x40], xmm7
vmovss dword [rsp + 0x44], xmm7
vmovaps xmm1, xmm8
lea rcx, [rsp + 0x40]
call fcn.1401f6b70
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rcx, rsi
call fcn.14004a750
mov rbx, rax
lea rcx, [0x1413c5f00]
call fcn.140011540
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov r8d, r15d
xor edx, edx
mov rcx, rbx
call fcn.140215e20
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], 0
jne 0x14009bb93
vmovss dword [rsp + 0x40], xmm7
vmovss dword [rsp + 0x44], xmm7
vmovaps xmm1, xmm8
lea rcx, [rsp + 0x40]
call fcn.1401f6b70
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
vmovaps xmm1, xmm11
mov ecx, 2
call fcn.14021a1b0
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], 0
jne 0x14009bbfe
vmovss dword [rsp + 0x40], xmm7
vmovss dword [rsp + 0x44], xmm7
vmovaps xmm1, xmm8
lea rcx, [rsp + 0x40]
call fcn.1401f6b70
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
lea rdx, [r13 + 0x30]
lea rcx, [0x1413c5e08]
call fcn.140218f00
test al, al
je 0x14009bc4f
cmp byte [r13 + 0x30], 0
je 0x14009be9b
cmp qword [r13 + 0x20], 0
jne 0x14009bc4f
cmp qword [r13 + 0x28], 0
jne 0x14009bc4f
mov rax, qword [r13 + 0x2798]
mov qword [r13 + 0x20], rax
mov rax, qword [r13 + 0x27a0]
mov qword [r13 + 0x28], rax
cmp byte [r13 + 0x30], 0
je 0x14009be9b
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov edx, 0xff00ffff
call fcn.1401e3740
mov r8d, r15d
xor edx, edx
lea rcx, [0x1413a2c9c]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x14009bcc0
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
movzx ebx, byte [r13]
test bl, bl
je 0x14009be0c
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
vmovss xmm1, dword [0x14140e810]
vmovaps xmm2, xmm1
vmovss xmm6, dword [0x14140e7e0]
vmovaps xmm0, xmm6
call fcn.1401e20d0
vmovss xmm2, dword [rsp + 0x58]
vinsertps xmm2, xmm2, dword [rsp + 0x70], 0x10
vinsertps xmm2, xmm2, dword [rsp + 0x40], 0x20
vinsertps xmm2, xmm2, xmm11, 0x30
vmovups xmmword [rsp + 0x60], xmm2
vmovups xmmword [rbp - 0x40], xmm2
lea rdx, [rbp - 0x40]
mov ecx, reloc.WS2_32.dll_setsockopt
call fcn.1401e3800
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
vmovss xmm1, dword [0x14140e838]
vmovaps xmm2, xmm1
vmovaps xmm0, xmm6
call fcn.1401e20d0
vmovss xmm2, dword [rsp + 0x40]
vinsertps xmm2, xmm2, dword [rsp + 0x70], 0x10
vinsertps xmm2, xmm2, dword [rsp + 0x58], 0x20
vinsertps xmm2, xmm2, xmm11, 0x30
vmovups xmmword [rsp + 0x60], xmm2
vmovups xmmword [rbp - 0x40], xmm2
lea rdx, [rbp - 0x40]
mov ecx, socket
call fcn.1401e3800
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
vmovss xmm1, dword [0x14140e824]
vmovaps xmm2, xmm1
vmovaps xmm0, xmm6
call fcn.1401e20d0
vmovss xmm2, dword [rsp + 0x40]
vinsertps xmm2, xmm2, dword [rsp + 0x70], 0x10
vinsertps xmm2, xmm2, dword [rsp + 0x58], 0x20
vinsertps xmm2, xmm2, xmm11, 0x30
vmovups xmmword [rsp + 0x60], xmm2
vmovups xmmword [rbp - 0x40], xmm2
lea rdx, [rbp - 0x40]
mov ecx, reloc.WS2_32.dll_socket
call fcn.1401e3800
vmovss dword [rsp + 0x40], xmm7
vmovss dword [rsp + 0x44], xmm7
xor r8d, r8d
lea rdx, [rsp + 0x40]
lea rcx, [0x1413c5e18]
call fcn.140217480
test al, al
je 0x14009be3c
cmp byte [r13], 0
sete al
mov byte [r13], al
test bl, bl
je 0x14009be9b
mov r9d, 3
mov r8, qword [0x141443c60]
mov eax, dword [r8 + 0x4c00]
cmp eax, r9d
jge 0x14009be60
mov r9d, eax
test eax, eax
jle 0x14009be9b
cdqe
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
mov eax, dword [r8 + 0x4c00]
dec r9d
test r9d, r9d
jg 0x14009be60
mov ecx, r15d
call fcn.1401e39f0
xor r12b, r12b
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rbx, qword [rcx + 0x4150]
cmp byte [rbx + 0xf8], r12b
je 0x14009bed8
xor bl, bl
jmp 0x14009bf2f
lea r12, [r13 + 0x78]
jmp 0x14009b803
movsxd r8, dword [rbx + 0x130]
mov rax, qword [rbx + 0x138]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, [0x1413ca3e0]
call fcn.1401e1830
mov edi, eax
mov rcx, qword [rbx]
cmp dword [rcx + 0x419c], eax
jne 0x14009bf19
lea r8, [0x1413ca3e0]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
xor r9d, r9d
lea r8, [0x1413ca3e0]
xor edx, edx
mov ecx, edi
call fcn.1402291e0
movzx ebx, al
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov edx, dword [r13 + 0x13e]
lea rcx, [0x1413c9298]
call fcn.1402166f0
test bl, bl
je 0x14009c60f
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r14d
vmovss dword [rsp + 0x40], xmm7
vmovss dword [rsp + 0x44], xmm7
mov r8d, 0x8000
lea rdx, [rsp + 0x40]
lea rcx, [0x1413ca3d0]
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x14009c0c0
movzx edi, word [r13 + 0x13c]
shl rdi, 0x20
mov eax, dword [r13 + 0x138]
or rdi, rax
mov eax, dword [r13 + 0x13e]
lea r14, [rdi + rax*8]
cmp rdi, r14
je 0x14009c0ba
nop dword [rax]
mov rax, qword [rdi]
mov rsi, qword [rax]
mov qword [rsp + 0x40], rsi
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
lea rcx, [r13 + 0x78]
call fcn.140049af0
mov rax, qword [rsp + 0x60]
cmp rax, qword [r13 + 0x90]
jne 0x14009c0a9
mov qword [rsp + 0x48], rsi
mov byte [rsp + 0x50], 1
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x50]
lea rcx, [r13 + 0x78]
call fcn.14006db40
mov ecx, dword [rbp - 0x48]
test ecx, ecx
je 0x14009d262
mov rdx, qword [rbp - 0x50]
sub ecx, 1
je 0x14009c07c
sub ecx, 1
je 0x14009c064
cmp ecx, 1
jne 0x14009c07c
mov rcx, rdx
add rcx, rcx
mov rax, qword [r13 + 0x88]
vmovups xmm0, xmmword [rsp + 0x48]
vmovups xmmword [rax + rcx*8], xmm0
jmp 0x14009c07c
mov rax, rdx
shl rax, 4
add rax, qword [r13 + 0x88]
vmovups xmm0, xmmword [rsp + 0x48]
vmovups xmmword [rax], xmm0
mov rcx, qword [r13 + 0x90]
add rcx, rdx
shl rdx, 4
add rdx, qword [r13 + 0x88]
mov qword [rbp - 0x60], rdx
mov qword [rbp - 0x58], rcx
vmovups xmm0, xmmword [rbp - 0x60]
vmovups xmmword [rsp + 0x60], xmm0
vmovq rax, xmm0
mov byte [rax + 8], 1
add rdi, 8
cmp rdi, r14
jne 0x14009bfe0
mov r12b, 1
xor r14d, r14d
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r14d
vmovss dword [rsp + 0x40], xmm7
vmovss dword [rsp + 0x44], xmm7
mov r8d, 0x8000
lea rdx, [rsp + 0x40]
lea rcx, [0x1413ca3c0]
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x14009c212
movzx edi, word [r13 + 0x13c]
shl rdi, 0x20
mov eax, dword [r13 + 0x138]
or rdi, rax
mov eax, dword [r13 + 0x13e]
lea r14, [rdi + rax*8]
cmp rdi, r14
je 0x14009c20c
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdi]
mov rsi, qword [rax]
mov qword [rsp + 0x40], rsi
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
lea rcx, [r13 + 0x78]
call fcn.140049af0
mov rax, qword [rsp + 0x60]
cmp rax, qword [r13 + 0x90]
jne 0x14009c1fb
mov qword [rsp + 0x48], rsi
mov byte [rsp + 0x50], 1
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x50]
lea rcx, [r13 + 0x78]
call fcn.14006db40
mov ecx, dword [rbp - 0x48]
test ecx, ecx
je 0x14009d268
mov rdx, qword [rbp - 0x50]
sub ecx, 1
je 0x14009c1ce
sub ecx, 1
je 0x14009c1b6
cmp ecx, 1
jne 0x14009c1ce
mov rcx, rdx
mov rax, qword [r13 + 0x88]
add rcx, rcx
vmovups xmm0, xmmword [rsp + 0x48]
vmovups xmmword [rax + rcx*8], xmm0
mov rcx, qword [r13 + 0x90]
add rcx, rdx
shl rdx, 4
add rdx, qword [r13 + 0x88]
mov qword [rbp - 0x60], rdx
mov qword [rbp - 0x58], rcx
vmovups xmm0, xmmword [rbp - 0x60]
vmovups xmmword [rsp + 0x60], xmm0
vmovq rax, xmm0
mov byte [rax + 8], 0
add rdi, 8
cmp rdi, r14
jne 0x14009c150
mov r12b, 1
xor r14d, r14d
mov r15d, r14d
movzx esi, word [r13 + 0x13c]
shl rsi, 0x20
mov eax, dword [r13 + 0x138]
or rsi, rax
mov eax, dword [r13 + 0x13e]
lea rax, [rsi + rax*8]
mov qword [rsp + 0x48], rax
cmp rsi, rax
je 0x14009c5f8
vmovdqu xmm9, xmmword [0x14140f020]
vmovdqu xmm10, xmmword [0x14140f010]
vmovss xmm6, dword [0x14140eb0c]
nop dword [rax]
mov rax, qword [rsi]
cmp dword [rax + 0x91], 0
je 0x14009c5e6
mov edx, r15d
inc r15d
mov rax, qword [0x141443c60]
mov rbx, qword [rax + 0x4150]
mov rcx, rbx
call fcn.1401f34b0
mov edi, eax
add rbx, 0x130
mov ecx, dword [rbx + 4]
mov r8d, dword [rbx]
cmp r8d, ecx
jne 0x14009c2c9
inc r8d
test ecx, ecx
je 0x14009c2b2
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14009c2b7
mov eax, 8
cmp eax, r8d
cmovg r8d, eax
mov edx, r8d
mov rcx, rbx
call fcn.1401deb40
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], edi
inc dword [rbx]
cmp byte [r13 + 0x27bc], 0
jne 0x14009c2e6
mov ebx, 0xffcc5555
jmp 0x14009c2f5
mov rcx, qword [rsi]
xor edx, edx
mov rcx, qword [rcx]
call fcn.1400271a0
mov ebx, eax
vmovss dword [rsp + 0x40], xmm7
vmovss dword [rsp + 0x44], xmm7
lea rdx, [rsp + 0x40]
mov ecx, 0xb
call fcn.1401e3960
vmovss dword [rsp + 0x70], xmm7
vmovss dword [rsp + 0x74], xmm7
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, rcx
vdivss xmm3, xmm0, xmm6
mov eax, ebx
shr eax, 8
movzx eax, al
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, rax
vdivss xmm2, xmm0, xmm6
movzx eax, bl
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, rax
vdivss xmm1, xmm0, xmm6
vmovss dword [rbp + 0x10], xmm1
vmovss dword [rbp + 0x14], xmm2
vmovss dword [rbp + 0x18], xmm3
vmovss dword [rbp + 0x1c], xmm11
lea r9, [rsp + 0x70]
mov r8d, 0x240
lea rdx, [rbp + 0x10]
lea rcx, [0x1413c5570]
call fcn.140227880
mov ecx, 1
call fcn.1401e39f0
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rdx, qword [rsi]
mov r14, qword [rdx]
mov qword [rbp - 0x80], r14
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x40]
lea rcx, [r13 + 0x78]
call fcn.140049af0
mov rdi, qword [rbp - 0x40]
cmp rdi, qword [r13 + 0x90]
jne 0x14009c461
mov qword [rsp + 0x60], r14
mov byte [rsp + 0x68], 1
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x50]
lea rcx, [r13 + 0x78]
call fcn.14006db40
mov ecx, dword [rbp - 0x48]
test ecx, ecx
je 0x14009d250
mov rdx, qword [rbp - 0x50]
sub ecx, 1
je 0x14009c435
sub ecx, 1
je 0x14009c41d
cmp ecx, 1
jne 0x14009c435
mov rcx, rdx
add rcx, rcx
mov rax, qword [r13 + 0x88]
vmovups xmm0, xmmword [rsp + 0x60]
vmovups xmmword [rax + rcx*8], xmm0
jmp 0x14009c435
mov rax, rdx
shl rax, 4
add rax, qword [r13 + 0x88]
vmovups xmm0, xmmword [rsp + 0x60]
vmovups xmmword [rax], xmm0
mov rcx, qword [r13 + 0x90]
add rcx, rdx
shl rdx, 4
add rdx, qword [r13 + 0x88]
mov qword [rbp - 0x60], rdx
mov qword [rbp - 0x58], rcx
vmovups xmm0, xmmword [rbp - 0x60]
vmovups xmmword [rbp - 0x40], xmm0
vmovq rdi, xmm0
lea rcx, [r13 + 0x150]
mov rdx, qword [rsi]
mov rdx, qword [rdx]
call fcn.140184a80
mov rbx, rax
vmovss dword [rsp + 0x58], xmm7
vmovss dword [rsp + 0x5c], xmm7
lea rdx, [rsp + 0x58]
mov ecx, 0xb
call fcn.1401e3960
lea rdx, [rdi + 8]
mov rcx, rbx
call fcn.140218f00
movzx ebx, al
mov edi, 1
mov ecx, edi
call fcn.1401e39f0
movzx r12d, r12b
test bl, bl
cmovne r12d, edi
mov rax, qword [0x141443c60]
mov rcx, qword [rax + 0x4150]
dec dword [rcx + 0x130]
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rdx, qword [rsi]
mov ecx, dword [rdx + 0x91]
call fcn.14004a750
mov rdx, rax
lea rcx, [0x1413a2644]
call fcn.1402166f0
mov rax, qword [rsi]
mov rcx, qword [rax]
cmp qword [r13 + 0x1589], rcx
jne 0x14009c56f
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
vmovups xmmword [rbp - 0x80], xmm10
lea rdx, [rbp - 0x80]
xor ecx, ecx
call fcn.1401e3800
mov r8d, edi
xor edx, edx
lea rcx, [0x1413c76c0]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, edi
jl 0x14009c56f
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
mov rax, qword [rsi]
cmp byte [rax + 0xa0], 0
je 0x14009c5e6
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
vmovups xmmword [rbp - 0x80], xmm9
lea rdx, [rbp - 0x80]
xor ecx, ecx
call fcn.1401e3800
mov r8d, edi
xor edx, edx
lea rcx, [0x1413c71f8]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, edi
jl 0x14009c5e6
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
add rsi, 8
cmp rsi, qword [rsp + 0x48]
jne 0x14009c260
xor r14d, r14d
call fcn.140229f60
mov r15d, 1
test r12b, r12b
je 0x14009c60f
mov dword [r13 + 0x2fe0], r14d
mov rbx, qword [0x141443c60]
mov rdx, qword [rbx + 0x4150]
cmp byte [rdx + 0xf8], 0
jne 0x14009c65a
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], 0
je 0x14009c649
neg r8d
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm11
call fcn.14021a1b0
mov rbx, qword [0x141443c60]
vmovss dword [rsp + 0x40], xmm7
vmovss dword [rsp + 0x44], xmm7
mov rax, qword [rbx + 0x4150]
mov byte [rax + 0xf5], 1
mov rbx, qword [rbx + 0x4150]
movsxd r8, dword [rbx + 0x130]
mov rax, qword [rbx + 0x138]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, [0x1413ca450]
call fcn.1401e1830
mov edi, eax
mov rcx, qword [rbx]
cmp dword [rcx + 0x419c], eax
jne 0x14009c6bc
lea r8, [0x1413ca450]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea r8, [rsp + 0x40]
mov edx, edi
lea rcx, [0x1413ca450]
call fcn.1401eb850
cmp qword [rbp - 0x10], 0
jne 0x14009c6f4
mov r8d, r15d
xor edx, edx
lea rcx, [0x1413ca430]
call fcn.140215e20
jmp 0x14009d1cf
mov ecx, dword [r13 + 0x2fe4]
test ecx, ecx
je 0x14009c8d5
sub ecx, 1
je 0x14009c7f5
cmp ecx, 1
jne 0x14009d1cf
vmovss dword [rsp + 0x78], xmm7
vmovss dword [rsp + 0x7c], xmm7
lea rdx, [rsp + 0x78]
mov ecx, 0xb
call fcn.1401e3960
lea rdx, [r13 + 0x2fe9]
lea rcx, [0x1413ca478]
call fcn.140218f00
mov ecx, r15d
call fcn.1401e39f0
movzx r9d, byte [r13 + 0x3161]
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x30]
mov rcx, r13
call fcn.1400eb6e0
nop
cmp qword [rbp + 0x50], 0
je 0x14009c783
mov dword [rsp + 0x40], r14d
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x30]
mov rcx, r13
call fcn.1400ed160
jmp 0x14009c7e6
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
mov r8d, r15d
xor edx, edx
lea rcx, [0x1413ca460]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x14009c7e6
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
lea rcx, [rbp + 0x30]
call fcn.14009d280
nop
jmp 0x14009d1cf
vmovss dword [rsp + 0x78], xmm7
vmovss dword [rsp + 0x7c], xmm7
lea rdx, [rsp + 0x78]
mov ecx, 0xb
call fcn.1401e3960
lea rdx, [r13 + 0x2fe8]
lea rcx, [0x1413ca478]
call fcn.140218f00
mov ecx, r15d
call fcn.1401e39f0
movzx r9d, byte [r13 + 0x3160]
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x30]
mov rcx, r13
call fcn.1400e9ef0
nop
cmp qword [rbp + 0x50], 0
je 0x14009c863
mov dword [rsp + 0x40], r14d
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x30]
mov rcx, r13
call fcn.1400ed160
jmp 0x14009c8c6
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
mov r8d, r15d
xor edx, edx
lea rcx, [0x1413ca460]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x14009c8c6
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
lea rcx, [rbp + 0x30]
call fcn.14009d280
nop
jmp 0x14009d1cf
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
mov r8d, r15d
xor edx, edx
lea rcx, [0x1413ca420]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x14009c938
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r14d
vmovss dword [rsp + 0x40], xmm7
vmovss dword [rsp + 0x44], xmm7
mov r8d, 0x8000
lea rdx, [rsp + 0x40]
lea rcx, [0x1413c5b70]
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x14009c9a0
mov eax, dword [r13 + 0x2fe0]
sub eax, 1
cmovs eax, r14d
mov dword [r13 + 0x2fe0], eax
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rcx, qword [rbp - 0x10]
call fcn.14004a750
mov r14, rax
mov r9d, dword [r13 + 0x2fe0]
inc r9d
movsxd rcx, dword [0x1414476d4]
mov rdi, rcx
shl rdi, 6
lea rax, [0x14145c4e0]
add rdi, rax
inc ecx
and ecx, 0x80000007
jge 0x14009c9ed
dec ecx
or ecx, 0xfffffff8
inc ecx
mov dword [0x1414476d4], ecx
lea r8, [rdi + 0x40]
mov rdx, rdi
lea rcx, [rbp - 0x40]
call fcn.14002de40
mov rbx, qword [rax]
mov byte [rbx], 0
lea rsi, [rdi + 1]
cmp byte [rdi], 0x2d
cmovne rsi, rdi
mov rax, rbx
sub rax, rsi
cmp rax, 3
jle 0x14009ca5c
mov r15d, 4
nop word [rax + rax]
sub rbx, 3
movsxd r8, r15d
lea rcx, [rbx + 1]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx], 0x2c
add r15d, 4
mov rax, rbx
sub rax, rsi
cmp rax, 3
jg 0x14009ca30
mov r15d, 1
mov r8, r14
mov rdx, rdi
lea rcx, [0x1413c95f8]
call fcn.1402165c0
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1401f4650
test al, al
je 0x14009cb04
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14009cb04
mov rsi, qword [0x141443c60]
mov rbx, qword [rsi + 0x4150]
movsxd r8, dword [rbx + 0x130]
mov rax, qword [rbx + 0x138]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, [0x1413ca410]
call fcn.1401e1830
mov edi, eax
mov rcx, qword [rbx]
cmp dword [rcx + 0x419c], eax
jne 0x14009cadc
lea r8, [0x1413ca410]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
test byte [rsi + 0x627c], 4
je 0x14009cafb
mov r8d, edi
lea rdx, [0x1413ca410]
lea rcx, [0x1413cf570]
call fcn.14020a550
xor edx, edx
mov ecx, edi
call fcn.1401f8130
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
vmovss xmm6, dword [rbx + 0x3a38]
xor edi, edi
mov dword [rbx + 0x3a38], edi
vmovss dword [rsp + 0x40], xmm7
vmovss dword [rsp + 0x44], xmm7
mov r8d, 0x8000
lea rdx, [rsp + 0x40]
lea rcx, [0x1413c5bf8]
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x14009cb72
mov ecx, dword [rbp - 0x10]
dec ecx
mov eax, dword [r13 + 0x2fe0]
inc eax
cmp ecx, eax
cmovl eax, ecx
mov dword [r13 + 0x2fe0], eax
mov rbx, qword [0x141443c60]
mov eax, dword [rbx + 0x4c70]
cmp dword [rbx + 0x4c60], eax
jg 0x14009cb92
mov dword [rbx + 0x4b58], edi
jmp 0x14009ccd0
mov rbx, qword [rbx + 0x4150]
movsxd r8, dword [rbx + 0x130]
mov rax, qword [rbx + 0x138]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, [0x1413ca410]
call fcn.1401e1830
mov edi, eax
mov rcx, qword [rbx]
cmp dword [rcx + 0x419c], eax
jne 0x14009cbda
lea r8, [0x1413ca410]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
mov edx, 0x141
mov ecx, edi
call fcn.1401f86a0
test al, al
je 0x14009ccd0
mov eax, dword [r13 + 0x2fe0]
inc eax
mov dword [rsp + 0x58], eax
mov rax, qword [0x141443c60]
or dword [rax + 0x4ae0], 1
vmulss xmm0, xmm12, dword [0x14140eae0]
vmovss dword [rax + 0x4af0], xmm0
mov dword [rsp + 0x40], 0x64
mov dword [rsp + 0x70], r15d
mov dword [rsp + 0x30], 0x20
lea rax, [0x1413a1d4c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x70]
lea r8, [rsp + 0x58]
lea rcx, [0x1413ca4a0]
call fcn.14021da50
test al, al
je 0x14009cc79
mov ecx, dword [rsp + 0x58]
cmp ecx, 1
cmovl ecx, r15d
cmp dword [rbp - 0x10], ecx
cmovl ecx, dword [rbp - 0x10]
dec ecx
mov dword [r13 + 0x2fe0], ecx
mov rbx, qword [0x141443c60]
mov rcx, qword [rbx + 0x4150]
cmp qword [rbx + 0x4d10], rcx
jne 0x14009ccb4
cmp byte [rbx + 0x4db1], 0
je 0x14009ccb4
cmp dword [rbx + 0x4d60], 0
jne 0x14009ccb4
mov eax, dword [rbx + 0x4db4]
and eax, 0xfffffff2
or eax, 2
mov dword [rbx + 0x4db4], eax
test dword [rcx + 0x14], 0x1000000
je 0x14009ccc4
mov byte [rbx + 0x40ba], 1
call fcn.1401f2010
mov byte [rbx + 0x40ba], 0
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], 0
jne 0x14009cd1e
vmovss dword [rsp + 0x40], xmm7
vmovss dword [rsp + 0x44], xmm7
vmovaps xmm1, xmm8
lea rcx, [rsp + 0x40]
call fcn.1401f6b70
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
xor r12d, r12d
mov qword [rsp + 0x48], r12
mov word [rsp + 0x50], r12w
mov byte [rsp + 0x52], r12b
mov rax, qword [rbp - 0x10]
test rax, rax
je 0x14009ce52
lea rcx, [rax - 1]
mov rax, rcx
shr rax, 1
or rcx, rax
mov rax, rcx
shr rax, 2
or rcx, rax
mov rax, rcx
shr rax, 4
or rcx, rax
mov rax, rcx
shr rax, 8
or rcx, rax
mov rax, rcx
shr rax, 0x10
or rax, rcx
popcnt rdx, rax
shlx ecx, r15d, edx
shl rcx, 4
lock add qword [0x141443c50], rcx
and dl, 0x7f
movzx eax, dl
movzx r12d, al
mov byte [rsp + 0x52], al
shlx ecx, r15d, eax
shl rcx, 4
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
mov esi, dword [rsp + 0x4e]
test esi, esi
je 0x14009cdd8
mov r8d, esi
shl r8, 4
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r14, r15
shr r14, 0x20
mov dword [rsp + 0x48], r15d
mov word [rsp + 0x4c], r14w
mov rax, qword [rbp - 0x10]
test rax, rax
je 0x14009ce61
mov rdi, qword [rbp - 0x20]
mov r8, qword [rbp - 0x18]
mov rbx, r8
mov rax, qword [r8]
test rax, rax
jne 0x14009ce20
nop word [rax + rax]
add rbx, 8
sub rdi, 0xffffffffffffff80
mov rax, qword [rbx]
test rax, rax
je 0x14009ce10
bsf rcx, rax
mov dword [rsp + 0x40], ecx
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rbx, rcx
mov qword [rbp - 0x78], rbx
shl rcx, 4
add rdi, rcx
mov qword [rbp - 0x80], rdi
xor edx, edx
jmp 0x14009ce74
mov esi, dword [rsp + 0x4e]
movzx r14d, word [rsp + 0x4c]
mov r15d, dword [rsp + 0x48]
mov r8, qword [rbp - 0x18]
mov rdi, r8
mov qword [rbp - 0x80], r8
xor edx, edx
mov ebx, edx
mov qword [rbp - 0x78], rdx
cmp rdi, r8
je 0x14009cf61
mov r13d, 1
nop dword [rax]
nop word [rax + rax]
movzx ecx, r14w
shl rcx, 0x20
mov eax, r15d
or rcx, rax
jne 0x14009cea4
mov eax, edx
jmp 0x14009ceb0
movzx eax, r12b
and eax, 0x7f
shlx eax, r13d, eax
cmp esi, eax
jne 0x14009ced3
lea rcx, [rsp + 0x48]
call fcn.140049e90
movzx r12d, byte [rsp + 0x52]
mov esi, dword [rsp + 0x4e]
movzx r14d, word [rsp + 0x4c]
mov r15d, dword [rsp + 0x48]
movzx ecx, r14w
shl rcx, 0x20
mov eax, r15d
or rcx, rax
mov eax, esi
add rax, rax
vmovups xmm0, xmmword [rbp - 0x80]
vmovups xmmword [rcx + rax*8], xmm0
inc esi
mov dword [rsp + 0x4e], esi
inc rbx
add rdi, 0x10
mov rax, qword [rbx]
test rax, rax
jne 0x14009cf20
nop word [rax + rax]
add rbx, 8
sub rdi, 0xffffffffffffff80
mov rax, qword [rbx]
test rax, rax
je 0x14009cf10
bsf rcx, rax
mov dword [rsp + 0x40], ecx
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rbx, rcx
mov qword [rbp - 0x78], rbx
shl rcx, 4
add rdi, rcx
mov qword [rbp - 0x80], rdi
cmp rdi, qword [rbp - 0x18]
mov edx, 0
jne 0x14009ce90
mov r13, qword [rbp + 0x20]
movzx ecx, r14w
shl rcx, 0x20
mov eax, r15d
or rcx, rax
mov eax, esi
shl rax, 4
lea rdx, [rcx + rax]
cmp rcx, rdx
je 0x14009cfa7
xor r9d, r9d
sar rax, 5
test rax, rax
je 0x14009cf98
nop word [rax + rax]
inc r9d
sar rax, 1
jne 0x14009cf90
mov byte [rsp + 0x20], 1
movzx r8d, byte [rbp - 0x70]
call fcn.14009d670
movzx ecx, r14w
shl rcx, 0x20
mov eax, r15d
or rcx, rax
movsxd rax, dword [r13 + 0x2fe0]
add rax, rax
mov rcx, qword [rcx + rax*8]
mov rcx, qword [rcx + 8]
call fcn.14004a750
mov rbx, rax
lea rcx, [0x1413ca498]
call fcn.140011540
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov edi, 1
mov r8d, edi
xor edx, edx
mov rcx, rbx
call fcn.140215e20
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
movzx edx, r14w
shl rdx, 0x20
mov eax, r15d
or rdx, rax
movsxd rax, dword [r13 + 0x2fe0]
add rax, rax
mov rax, qword [rdx + rax*8]
mov rcx, qword [rax + 8]
vxorps xmm0, xmm0, xmm0
test rcx, rcx
js 0x14009d039
vcvtsi2sd xmm0, xmm0, rcx
jmp 0x14009d04d
mov rax, rcx
shr rax, 1
and ecx, edi
or rax, rcx
vcvtsi2sd xmm0, xmm0, rax
vaddsd xmm0, xmm0, xmm0
vmulsd xmm1, xmm0, qword [0x14140e9f0]
mov rcx, qword [rsp + 0x78]
vxorps xmm0, xmm0, xmm0
test rcx, rcx
js 0x14009d06a
vcvtsi2sd xmm0, xmm0, rcx
jmp 0x14009d07e
mov rax, rcx
shr rax, 1
and ecx, edi
or rax, rcx
vcvtsi2sd xmm0, xmm0, rax
vaddsd xmm0, xmm0, xmm0
vdivsd xmm3, xmm1, xmm0
mov eax, 0x28
mov word [rbp + 0x30], ax
lea r8, [rbp + 0x70]
lea rdx, [rbp + 0x31]
lea rcx, [rbp - 0x40]
call fcn.140063400
mov rcx, qword [rax]
movzx eax, word [0x1413c72f8]
mov word [rcx], ax
movzx eax, byte [0x1413c72fa]
mov byte [rcx + 2], al
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, edi
jl 0x14009d119
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
mov r8, qword [0x141443c60]
mov rdx, qword [r8 + 0x4150]
cmp byte [rdx + 0xf8], 0
jne 0x14009d156
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], 0
je 0x14009d14c
neg r8d
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm11
call fcn.14021a1b0
movzx edx, r14w
shl rdx, 0x20
mov eax, r15d
or rdx, rax
movsxd rax, dword [r13 + 0x2fe0]
add rax, rax
mov rdx, qword [rdx + rax*8]
xor r8d, r8d
mov edx, dword [rdx]
mov rcx, r13
call fcn.1400845b0
nop
movzx eax, r12b
and al, 0x7f
cmp al, 0x7f
je 0x14009d1cc
movzx ecx, r14w
shl rcx, 0x20
mov eax, r15d
or rcx, rax
je 0x14009d1cc
movzx eax, r12b
and eax, 0x7f
shlx ecx, edi, eax
neg rcx
shl rcx, 4
lock add qword [0x141443c50], rcx
movzx ecx, word [rsp + 0x4c]
shl rcx, 0x20
mov eax, dword [rsp + 0x48]
or rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
xor r14d, r14d
call fcn.1401ebba0
call fcn.1401f2010
nop
cmp qword [rbp - 8], 0
je 0x14009d1f9
mov qword [rbp - 0x10], r14
lea rax, [rbp - 8]
mov rcx, qword [rbp - 0x20]
cmp rcx, rax
je 0x14009d1f9
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.1403f4b10
lea r11, [rsp + 0x1f0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm10, xmmword [r11 - 0x50]
vmovaps xmm11, xmmword [r11 - 0x60]
vmovaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14001c8f0
nop
call fcn.14001c8f0
int3
call fcn.14001c8f0
int3
call fcn.14001c8f0
int3
call fcn.14001c8f0
int3