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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x828
movaps xmmword [rsp + 0x810], xmm6
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0x98], rdx
mov r14, rcx
mov rax, qword [0x1402e0038]
xor rax, rsp
mov qword [rsp + 0x808], rax
mov r13, qword [rcx + 0xa8]
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0xb8], rax
lea rsi, [rsp + 0x1f0]
mov r8d, 0x540
mov rcx, rsi
mov dl, 0xaa
call fcn.140111cd0
mov qword [rsp + 0xa0], rsi
mov qword [rsi - 8], 0
mov rsi, qword [r14 + 0xc0]
cmp rsi, qword [r14 + 0xc8]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], r13
je 0x14008af2a
lea rax, [r14 + 0xc0]
mov qword [rsp + 0x40], rax
movabs r15, 0x8000000000000001
xorps xmm6, xmm6
jmp 0x14008c926
mov byte [rsp + 0x7b0], 0
xor eax, eax
jmp 0x14008afd9
lock dec dword [rsi + 8]
jne 0x14008aefc
jmp 0x14008eb80
mov rdi, qword [rsp + 0x1e8]
test dil, 1
jne 0x14008eadf
xor eax, eax
cmp rdi, 2
jb 0x14008af21
shr rdi, 1
imul rbx, rdi, 0xa8
add rbx, qword [rsp + 0xa0]
add rbx, 0xffffffffffffff58
je 0x14008efb1
mov rcx, qword [rbx + 0x98]
test rcx, rcx
je 0x14008aef0
lock dec dword [rcx]
jne 0x14008aef0
call fcn.14010cc0c
mov rsi, qword [rbx + 0x88]
test rsi, rsi
jne 0x14008ae96
mov rsi, qword [rbx + 0x78]
mov qword [rbx + 0x78], 0
test rsi, rsi
jne 0x14008e8ac
dec rdi
jne 0x14008aecd
mov rax, qword [rsp + 0x1e8]
and eax, 1
test rax, rax
jne 0x14008ec01
mov qword [rsp + 0x1e8], 0
movaps xmm0, xmmword [0x14029bb90]
movaps xmmword [rsp + 0x7c0], xmm0
movaps xmmword [rsp + 0x7b0], xmm0
mov rax, qword [r14]
lea rcx, [fcn.1401ff450]
cmp qword [rax + 0x30], rcx
jne 0x14008ef79
mov rax, qword [r14 + 0xc0]
cmp rax, qword [r14 + 0xc8]
je 0x14008ae87
cmp byte [r14 + 0x120], 0
je 0x14008ae87
cmp dword [r14 + 0xd8], 0
mov rcx, qword [r14 + 0xb0]
mov rcx, qword [rcx + 0x38]
jne 0x14008efb4
mov rdx, qword [r14 + 0x10]
mov r8b, byte [rdx + 0x51]
xor edx, edx
mov r9d, dword [rax + 0x38]
xor r10d, r10d
cmp r9d, 2
cmovne r10d, r9d
cmp r8b, cl
cmovae r10d, r9d
movups xmm0, xmmword [rax + 0x28]
movaps xmmword [rsp + 0x7b0], xmm0
mov dword [rsp + 0x7c0], edx
mov dword [rsp + 0x7c4], r10d
mov al, 1
mov byte [rsp + 0x7c8], al
mov rsi, qword [r14 + 0xa0]
test rsi, rsi
jne 0x14008ec13
movabs r12, 0xaaaaaaaaaaaaaa00
mov r15, qword [rsp + 0x7b0]
mov rbx, qword [rsp + 0x7b8]
mov edx, dword [rsp + 0x7c0]
mov r13d, dword [rsp + 0x7c4]
mov bpl, byte [rsp + 0x7c8]
mov al, byte [r14 + 0x198]
test bpl, bpl
je 0x14008b2f3
test al, al
je 0x14008b2f3
cmp qword [r14 + 0x180], r15
je 0x14008b38b
lea rax, [rsp + 0x7c9]
mov qword [r14 + 0x180], r15
mov qword [r14 + 0x188], rbx
mov dword [r14 + 0x190], edx
mov dword [r14 + 0x194], r13d
mov byte [r14 + 0x198], bpl
mov ecx, dword [rax]
mov eax, dword [rax + 3]
mov dword [r14 + 0x199], ecx
mov dword [r14 + 0x19c], eax
mov rsi, qword [r14 + 0x98]
mov r14, qword [rsi + 0x10]
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0x40], rax
cmp r14, rax
je 0x14008b223
mov r9, qword [r14]
mov rcx, qword [r14 + 8]
mov r8d, dword [r14 + 0x14]
xor r10d, r10d
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax + 0x118]
cmp rdi, 0xffffffffffffffff
mov qword [rsp + 0x88], rcx
mov dword [rsp + 0x80], r8d
mov qword [rsp + 0x58], r9
mov dword [rsp + 0x60], r10d
je 0x14008b26c
mov rax, qword [rsp + 0x40]
sub rax, r14
sar rax, 5
cmp rax, rdi
jbe 0x14008ed59
mov rax, rdi
shl rax, 5
mov eax, dword [r14 + rax + 0x10]
mov dword [rsp + 0x48], eax
and eax, 0xffffff00
mov dword [rsp + 0x50], eax
lea r11, [rsi + 8]
test bpl, bpl
je 0x14008b25a
mov r12, qword [rsp + 0x30]
mov rax, r12
movabs rcx, 0xfffffffc00000000
and rax, rcx
mov r8, rdi
cmp rax, qword [0x1402e3948]
jne 0x14008b15d
mov rcx, r12
mov dword [rsp + 0x70], edx
mov qword [rsp + 0x68], r11
call fcn.140103420
mov r11, qword [rsp + 0x68]
mov edx, dword [rsp + 0x70]
mov r8, qword [r12 + 0x118]
lea r9, [rsp + 0x140]
mov qword [r9], r15
mov qword [r9 + 8], rbx
mov ebx, edx
mov dword [r9 + 0x10], edx
mov dword [r9 + 0x14], r13d
mov qword [r9 + 0x18], r12
lea rdx, [rsp + 0x138]
mov rcx, r11
call fcn.140108b20
movabs r12, 0xaaaaaaaaaaaaaa00
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 0x18]
cmp rax, rcx
je 0x14008b23f
mov r9, qword [rax]
mov r8, qword [rax + 8]
mov edx, dword [rax + 0x14]
xor r10d, r10d
cmp rdi, 0xffffffffffffffff
je 0x14008b1cc
movzx r11d, byte [rsp + 0x48]
or r11d, dword [rsp + 0x50]
cmp r11d, 1
jne 0x14008b1cc
dec dword [rsi + 0x28]
test bpl, bpl
je 0x14008b1d9
cmp ebx, 1
jne 0x14008b1d9
inc dword [rsi + 0x28]
cmp r14, qword [rsp + 0x40]
je 0x14008b317
cmp rax, rcx
je 0x14008b317
cmp r10d, dword [rsp + 0x60]
jne 0x14008b32f
cmp r9, qword [rsp + 0x58]
jne 0x14008b32f
cmp r8, qword [rsp + 0x88]
jne 0x14008b32f
cmp edx, dword [rsp + 0x80]
je 0x14008b3b2
jmp 0x14008b32f
lea rcx, [r12 + 0xaa]
mov r10d, 0xaaaaaaaa
mov r9, r12
mov r8d, 0xaaaaaaaa
jmp 0x14008b0af
lea r8, [r12 + 0xaa]
mov edx, 0xaaaaaaaa
mov r10d, 0xaaaaaaaa
mov r9, r12
jmp 0x14008b1b2
mov ebx, edx
mov rcx, r11
mov rdx, rdi
call fcn.140109690
jmp 0x14008b194
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x50], 0xaaaaaa00
test bpl, bpl
je 0x14008e290
lea r9, [rsi + 8]
mov r12, qword [rsp + 0x30]
mov rax, r12
movabs rcx, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x1402e3948]
jne 0x14008b2c1
mov rcx, r12
mov dword [rsp + 0x70], edx
mov qword [rsp + 0x68], r9
call fcn.140103420
mov r9, qword [rsp + 0x68]
mov edx, dword [rsp + 0x70]
lea r8, [rsp + 0x140]
mov qword [r8], r15
mov qword [r8 + 8], rbx
mov ebx, edx
mov dword [r8 + 0x10], edx
mov dword [r8 + 0x14], r13d
mov qword [r8 + 0x18], r12
lea rdx, [rsp + 0x138]
mov rcx, r9
call fcn.140109e40
jmp 0x14008b18a
test bpl, bpl
setne cl
test al, al
setne al
cmp cl, al
je 0x14008b3b2
jmp 0x14008b046
mov byte [rsp + 0x140], 0
xor eax, eax
jmp 0x14008b356
cmp rax, rcx
setne dl
cmp r14, qword [rsp + 0x40]
setne r8b
cmp r8b, dl
je 0x14008b3b2
cmp rax, rcx
je 0x14008b30b
movups xmm0, xmmword [rax]
mov eax, dword [rax + 0x14]
movups xmmword [rsp + 0x140], xmm0
mov dword [rsp + 0x150], 0
mov dword [rsp + 0x154], eax
mov al, 1
lea r8, [rsp + 0x140]
mov byte [r8 + 0x18], al
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
mov rcx, rsi
mov rdx, qword [rsp + 0x98]
call qword [0x140318008]
jmp 0x14008b3b2
lea rcx, [rsp + 0x1e8]
call fcn.14017b040
jmp 0x14008b3bd
cmp qword [r14 + 0x188], rbx
jne 0x14008b046
cmp dword [r14 + 0x190], edx
jne 0x14008b046
cmp dword [r14 + 0x194], r13d
jne 0x14008b046
cmp qword [rsp + 0x1e8], 0
jne 0x14008b37c
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x14008b74a
cmp qword [rsp + 0xb8], 0
jne 0x14008b74a
cmp qword [rsi + 0x10], 0
je 0x14008b74a
mov rbx, qword [rsi + 0x28]
test rbx, rbx
je 0x14008b74a
cmp byte [rsi + 0x68], 0
je 0x14008b44e
mov rax, qword [rsi]
mov rdx, qword [rax]
mov r8, qword [rax + 0x20]
inc rdx
xor ecx, ecx
cmp rdx, r8
cmovne rcx, rdx
cmp r8, rcx
jbe 0x14008ef56
mov rdx, qword [rax + 0x18]
imul r8, rcx, 0xa8
lea rcx, [rdx + r8]
mov eax, dword [rdx + r8 + 0x70]
mov r8, qword [rdx + r8 + 0x28]
test r8, r8
jne 0x14008b4b1
xor edx, edx
mov r8, qword [rsi + 0x50]
cmp qword [rcx + 0x90], r8
je 0x14008b8f2
jae 0x14008b74a
mov rcx, rsi
call fcn.140103560
test al, al
jne 0x14008b4d2
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov r9, qword [rcx + 0x20]
inc r8
xor edx, edx
cmp r8, r9
cmovne rdx, r8
cmp r9, rdx
jbe 0x14008ef8e
mov r8, qword [rcx + 0x18]
imul rdx, rdx, 0xa8
lea rcx, [r8 + rdx]
mov r9d, dword [r8 + rdx + 0x70]
mov dword [rsp + 0x40], r9d
mov rdx, qword [r8 + rdx + 0x28]
test rdx, rdx
jne 0x14008b4c3
xor ebp, ebp
mov rdi, qword [rcx + 0x90]
mov r12, rdi
and r12, 0xffffffffffffff00
jmp 0x14008b4e4
cmp dword [rcx + 0x38], 0
je 0x14008b85a
mov rdx, r8
jmp 0x14008b437
cmp dword [rcx + 0x38], 0
je 0x14008b8a6
mov rbp, rdx
jmp 0x14008b49e
lea rbp, [r12 + 0xaa]
mov dword [rsp + 0x40], 0xaaaaaaaa
xor edi, edi
mov r14, qword [rsi + 0x38]
mov r13, qword [rbx + 8]
mov rcx, qword [rbx + 0x10]
sub rcx, r13
sar rcx, 5
cmp rcx, r14
jbe 0x14008eeec
mov qword [rsp + 0x50], rbx
test al, al
jne 0x14008eeef
mov rsi, r14
shl rsi, 5
mov rax, qword [r13 + rsi + 8]
mov qword [rsp + 0x48], rax
mov rax, qword [r13 + rsi + 0x10]
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x38]
mov rbx, rcx
movabs rax, 0xfffffffc00000000
and rbx, rax
mov rax, qword [0x1402e3948]
cmp rbx, rax
jne 0x14008b555
call fcn.140103420
mov rax, qword [0x1402e3948]
movzx r15d, dil
cmp rbx, rax
jne 0x14008b56f
mov rcx, qword [rsp + 0x38]
call fcn.140103420
mov rax, qword [0x1402e3948]
lea rdi, [rsi + r13]
cmp rbx, rax
jne 0x14008b582
mov rcx, qword [rsp + 0x38]
call fcn.140103420
or r12, r15
mov r15, r12
mov r12, qword [rdi + 0x10]
sub r12, qword [rdi + 8]
jne 0x14008b7fb
xor r12d, r12d
mov qword [rsp + 0x1e8], r15
mov qword [rsp + 0x1f0], rbp
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x1f8], eax
cmp rbx, qword [0x1402e3948]
mov r15, qword [rsp + 0x38]
jne 0x14008b5ca
mov rcx, r15
call fcn.140103420
add r13, rsi
add r13, 8
mov qword [rsp + 0x200], r15
mov rax, qword [rdi + 8]
mov rbp, qword [rdi + 0x10]
mov rcx, rbp
sub rcx, rax
sar rcx, 5
cmp rcx, r12
jne 0x14008b78b
cmp rbp, qword [rdi + 0x18]
jae 0x14008eaa9
test rbp, rbp
je 0x14008ef23
mov eax, dword [rsp + 0x1f8]
mov dword [rbp + 0x10], eax
movups xmm0, xmmword [rsp + 0x1e8]
movups xmmword [rbp], xmm0
cmp rbx, qword [0x1402e3948]
mov rsi, qword [rsp + 0x38]
jne 0x14008b633
mov rcx, rsi
call fcn.140103420
mov qword [rbp + 0x18], rsi
add rbp, 0x20
mov qword [rdi + 0x10], rbp
mov rax, qword [r13]
sub rbp, rax
sar rbp, 5
cmp rbp, r12
jbe 0x14008eef2
mov rcx, r12
shl rcx, 5
mov rax, qword [rax + rcx + 0x18]
mov qword [rax + 0x40], r12
mov rax, qword [rdi + 0x10]
sub rax, qword [rdi + 8]
sar rax, 5
cmp rax, r12
mov rsi, qword [rsp + 0x38]
jbe 0x14008eef5
mov rcx, qword [rsp + 0x200]
mov rax, qword [0x1402e3948]
movabs rdx, 0xfffffffc00000000
and rdx, rcx
cmp rdx, rax
jne 0x14008b6aa
call fcn.140103630
mov rax, qword [0x1402e3948]
mov qword [rsp + 0x200], 0
cmp rbx, rax
jne 0x14008b6ca
mov rcx, rsi
call fcn.140103630
mov rax, qword [0x1402e3948]
cmp rbx, rax
jne 0x14008b6de
mov rcx, rsi
call fcn.140103630
mov rax, qword [0x1402e3948]
cmp rbx, rax
jne 0x14008b6eb
mov rcx, rsi
call fcn.140103630
mov rax, qword [rsp + 0x60]
cmp qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x50]
jne 0x14008b74a
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
sub rdx, rcx
sar rdx, 2
cmp rdx, r14
jbe 0x14008eef8
inc dword [rcx + r14*4]
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
sub rdx, rcx
sar rdx, 2
cmp rdx, r14
jbe 0x14008eefb
cmp dword [rcx + r14*4], 1
jne 0x14008b74a
mov edx, 1
mov ecx, r14d
shl rdx, cl
or qword [rax + 0x28], rdx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0xa0]
test rcx, rcx
jne 0x14008ebe8
mov rcx, qword [rsp + 0x808]
xor rcx, rsp
call fcn.14010fba0
movaps xmm6, xmmword [rsp + 0x810]
add rsp, 0x828
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jbe 0x14008efc9
mov rcx, r12
shl rcx, 5
mov edx, dword [rsp + 0x1f8]
lea rsi, [rax + rcx]
add rsi, 0x18
mov dword [rsi - 8], edx
movups xmm0, xmmword [rsp + 0x1e8]
movups xmmword [rsi - 0x18], xmm0
cmp rbx, qword [0x1402e3948]
jne 0x14008b7c9
mov rcx, qword [rsp + 0x38]
call fcn.140103420
mov rcx, qword [rsi]
mov rax, rcx
movabs rdx, 0xfffffffc00000000
and rax, rdx
cmp rax, qword [0x1402e3948]
jne 0x14008b7ea
call fcn.140103630
mov rax, qword [rsp + 0x38]
mov qword [rsi], rax
mov rbp, qword [rdi + 0x10]
jmp 0x14008b63f
sar r12, 5
lea r8, [r12 - 1]
mov rcx, r8
shr rcx, 1
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
sub rdx, rax
sar rdx, 5
cmp rdx, rcx
jbe 0x14008eff1
mov rdx, rcx
shl rcx, 5
cmp qword [rax + rcx], r15
je 0x14008eb68
jbe 0x14008b599
mov rcx, rdi
mov qword [rsp + 0x58], r8
mov r8, r12
mov r12, rdx
call fcn.14008fae0
cmp qword [rsp + 0x58], 1
jbe 0x14008b599
jmp 0x14008b7ff
movabs r9, 0x8000000000000001
mov rdx, qword [rcx + 0x30]
lea r10, [rdx + r9]
cmp r10, 2
jae 0x14008b88d
add r9, r8
cmp r9, 1
ja 0x14008b437
cmp r8, rdx
je 0x14008b437
jmp 0x14008eff4
lea r9, [r8 + rdx]
sar r9, 0x3f
btc r9, 0x3f
add r8, rdx
cmovo r8, r9
jmp 0x14008b4bb
movabs r8, 0x8000000000000001
mov rbp, qword [rcx + 0x30]
lea r9, [r8 + rbp]
cmp r9, 2
jae 0x14008b8d9
add r8, rdx
cmp r8, 1
ja 0x14008b49e
cmp rdx, rbp
je 0x14008b49e
jmp 0x14008eff7
lea r8, [rdx + rbp]
sar r8, 0x3f
btc r8, 0x3f
add rdx, rbp
cmovo rdx, r8
jmp 0x14008b4cd
cmp rdx, qword [rsi + 0x58]
jne 0x14008b8fb
cmp eax, dword [rsi + 0x60]
jl 0x14008b44e
jmp 0x14008b74a
mov rax, qword [fcn.14009a170]
lea rcx, [rsp + 0x140]
call qword [0x140318008]
mov rcx, qword [rsp + 0x98]
cmp byte [rcx + 8], 0
jne 0x14008ee4e
test rcx, rcx
je 0x14008ee39
mov rax, qword [rsp + 0x140]
mov qword [rcx], rax
mov byte [rcx + 8], 1
jmp 0x14008c958
mov rdi, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
movabs r14, 0x8000000000000001
add r14, rsi
cmp r14, 2
jb 0x14008b986
lea r14, [rdi + rsi]
sar r14, 0x3f
btc r14, 0x3f
add rdi, rsi
cmovo rdi, r14
mov rsi, rdi
mov r14, qword [rsp + 0x30]
jmp 0x14008bda8
cmp rdi, rsi
je 0x14008b97c
movabs r14, 0x8000000000000001
add rdi, r14
cmp rdi, 1
mov r14, qword [rsp + 0x30]
ja 0x14008bda8
jmp 0x14008ee15
mov r11, qword [r9 + 0x28]
mov r10, qword [r9 + 0x30]
movabs rsi, 0x8000000000000001
add rsi, r10
cmp rsi, 2
jae 0x14008b9ec
cmp r11, r10
je 0x14008bd8f
movabs rsi, 0x8000000000000001
add r11, rsi
cmp r11, 1
ja 0x14008bd8f
jmp 0x14008ee18
lea rsi, [r11 + r10]
sar rsi, 0x3f
btc rsi, 0x3f
add r11, r10
cmovo r11, rsi
mov r10, r11
jmp 0x14008bd8f
mov r12, rcx
jmp 0x14008bde1
xor r8d, r8d
cmp rcx, rdx
setns r8b
movabs r9, 0x7fffffffffffffff
add r8, r9
sub rcx, rdx
cmovo rcx, r8
jmp 0x14008ba34
mov rcx, qword [rsi + 0x28]
cmp rcx, rax
jg 0x14008aea1
mov r8d, 0xa8
lea rcx, [rsp + 0x140]
mov dl, 0xaa
call fcn.140111cd0
mov rax, qword [r14 + 0xc0]
cmp rax, qword [r14 + 0xc8]
je 0x14008edb5
cmp byte [rax + 0x81], 0
jne 0x14008edc4
mov rcx, qword [rax + 0x98]
test rcx, rcx
je 0x14008baba
mov cl, byte [rcx + 4]
test cl, cl
jne 0x14008baba
cmp qword [rax + 0xa0], 0
je 0x14008baba
mov rcx, qword [rax + 0x98]
test rcx, rcx
je 0x14008ee21
mov cl, byte [rcx + 4]
test cl, cl
jne 0x14008ee21
mov rax, qword [rax + 0xa0]
mov qword [rax + 0x10], 0xffffffffffffffff
mov r8d, 0xa8
lea rcx, [rsp + 0x140]
mov dl, 0xaa
call fcn.140111cd0
mov rax, qword [r14 + 0xc0]
cmp qword [r14 + 0xc8], rax
je 0x14008edb8
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x150], xmm1
movaps xmmword [rsp + 0x140], xmm0
lea rsi, [rax + 0x20]
mov ecx, 0xa
lea rdx, [rsp + 0x160]
mov rdi, rdx
rep movsq qword [rdi], qword [rsi]
mov cl, byte [rax + 0x74]
mov byte [rdx + 0x54], cl
mov ecx, dword [rax + 0x70]
mov dword [rdx + 0x50], ecx
mov rcx, qword [rax + 0x78]
mov qword [rsp + 0x1b8], rcx
mov r8d, 0
mov qword [rax + 0x78], r8
mov cl, byte [rax + 0x82]
mov byte [rdx + 0x62], cl
movzx ecx, word [rax + 0x80]
mov word [rdx + 0x60], cx
mov rcx, qword [rax + 0x88]
mov qword [rsp + 0x1c8], rcx
mov qword [rax + 0x88], r8
mov rcx, qword [rax + 0x90]
mov qword [rsp + 0x1d0], rcx
mov rcx, qword [rax + 0x98]
mov qword [rsp + 0x1d8], rcx
mov qword [rax + 0x98], r8
mov rax, qword [rax + 0xa0]
mov qword [rsp + 0x1e0], rax
mov rax, qword [r14 + 0xc0]
mov rdi, qword [r14 + 0xc8]
mov rcx, rdi
sub rcx, rax
sar rcx, 3
movabs rsi, 0xcf3cf3cf3cf3cf3d
imul rcx, rsi
dec rcx
je 0x14008c5dc
cmp rdi, rax
je 0x14008ede8
imul rcx, rcx, 0xa8
mov rdx, qword [rax + rcx + 0x98]
test rdx, rdx
je 0x14008bc1b
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008bc1b
add rax, rcx
cmp qword [rax + 0xa0], 0
je 0x14008bc1b
mov rcx, qword [rax + 0x98]
test rcx, rcx
je 0x14008ee2a
mov cl, byte [rcx + 4]
test cl, cl
jne 0x14008ee2a
mov rax, qword [rax + 0xa0]
mov qword [rax + 0x10], 0xffffffffffffffff
mov rax, qword [r14 + 0xc8]
cmp rax, qword [r14 + 0xc0]
je 0x14008edeb
movups xmm0, xmmword [rax - 0xa8]
movups xmm1, xmmword [rax - 0x98]
movaps xmmword [rsp + 0x110], xmm1
movaps xmmword [rsp + 0x100], xmm0
mov rcx, qword [rax - 0x88]
mov qword [rsp + 0x90], rcx
mov rcx, qword [rax - 0x80]
mov qword [rsp + 0x58], rcx
mov rcx, qword [rax - 0x78]
mov qword [rsp + 0x60], rcx
mov ecx, dword [rax - 0x70]
mov dword [rsp + 0x48], ecx
mov ecx, dword [rax - 0x3c]
mov dword [rsp + 0x7e0], ecx
movups xmm0, xmmword [rax - 0x4c]
movaps xmmword [rsp + 0x7d0], xmm0
movups xmm0, xmmword [rax - 0x5c]
movaps xmmword [rsp + 0x7c0], xmm0
movups xmm0, xmmword [rax - 0x6c]
movaps xmmword [rsp + 0x7b0], xmm0
mov ecx, dword [rax - 0x38]
mov dword [rsp + 0x50], ecx
mov cl, byte [rax - 0x34]
mov byte [rsp + 0x68], cl
mov rcx, qword [rax - 0x30]
mov qword [rsp + 0x70], rcx
mov edx, 0
mov qword [rax - 0x30], rdx
mov cl, byte [rax - 0x26]
mov byte [rsp + 0x12a], cl
movzx ecx, word [rax - 0x28]
mov word [rsp + 0x128], cx
mov rcx, qword [rax - 0x20]
mov qword [rsp + 0x80], rcx
mov r11, qword [rax - 0x18]
mov qword [rax - 0x20], rdx
mov r10, qword [rax - 0x10]
mov qword [rax - 0x10], rdx
mov rcx, qword [rax - 8]
mov qword [rsp + 0x88], rcx
mov rbx, qword [r14 + 0xc8]
sub rbx, qword [r14 + 0xc0]
sar rbx, 3
imul rbx, rsi
dec rbx
cmp rbx, 2
jb 0x14008db16
mov ecx, 1
xor edx, edx
xor r12d, r12d
mov r15, r12
add rdx, 2
mov r13, qword [r14 + 0xc0]
mov rax, qword [r14 + 0xc8]
mov r8, rax
sub r8, r13
sar r8, 3
imul r8, rsi
cmp rdx, rbx
jae 0x14008ba08
cmp r8, rdx
jbe 0x14008edf4
cmp r8, rcx
jbe 0x14008edf7
mov qword [rsp + 0x78], r11
mov rbp, r10
imul r10, rcx, 0xa8
lea r9, [r10 + r13]
cmp dword [r13 + r10 + 0x38], 0
je 0x14008b9ac
mov r10, qword [r9 + 0x28]
imul r11, rdx, 0xa8
add r11, r13
cmp dword [r11 + 0x38], 0
je 0x14008b94a
mov rsi, qword [r11 + 0x28]
mov r9d, dword [r9 + 0x70]
xor edi, edi
cmp r9d, dword [r11 + 0x70]
setg dil
xor r9d, r9d
cmp r10, rsi
setge r9b
cmovne edi, r9d
test dil, dil
jne 0x14008bdcc
mov rdx, rcx
mov r12, rdx
movabs rsi, 0xcf3cf3cf3cf3cf3d
mov r10, rbp
mov r11, qword [rsp + 0x78]
cmp r8, r15
je 0x14008d888
cmp r8, r12
jbe 0x14008edfa
cmp r8, r15
jbe 0x14008edfd
imul r14, r12, 0xa8
imul rbp, r15, 0xa8
lea rax, [r14 + r13]
add rax, 0x20
movups xmm0, xmmword [rax - 0x20]
movups xmm1, xmmword [rax - 0x10]
lea rdx, [r13 + rbp + 0x20]
movups xmmword [rdx - 0x10], xmm1
movups xmmword [rdx - 0x20], xmm0
mov ecx, 0xa
mov rdi, rdx
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rax + 0x50]
mov dword [rdx + 0x50], ecx
mov cl, byte [rax + 0x54]
mov byte [rdx + 0x54], cl
mov r8, qword [rax + 0x58]
mov qword [rax + 0x58], 0
mov rcx, qword [rdx + 0x58]
mov qword [rdx + 0x58], r8
test rcx, rcx
jne 0x14008e496
add r14, r13
add rbp, r13
mov al, byte [r14 + 0x82]
mov byte [rbp + 0x82], al
movzx eax, word [r14 + 0x80]
mov word [rbp + 0x80], ax
mov rax, qword [r14 + 0x88]
mov qword [r14 + 0x88], 0
mov rcx, qword [rbp + 0x88]
mov qword [rbp + 0x88], rax
test rcx, rcx
movabs rsi, 0xcf3cf3cf3cf3cf3d
jne 0x14008eec9
mov rax, qword [r14 + 0x90]
mov qword [rbp + 0x90], rax
mov rax, qword [r14 + 0x98]
mov qword [r14 + 0x98], 0
mov rcx, qword [rbp + 0x98]
mov qword [rbp + 0x98], rax
test rcx, rcx
je 0x14008befc
lock dec dword [rcx]
jne 0x14008befc
mov rdi, r10
mov r13, r11
call fcn.14010cc0c
mov r11, r13
mov r10, rdi
mov rax, qword [r14 + 0xa0]
mov qword [rbp + 0xa0], rax
mov r14, qword [rsp + 0x30]
mov rax, qword [r14 + 0xc8]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx]
sub rax, rcx
sar rax, 3
imul rax, rsi
cmp rax, r15
jbe 0x14008ee00
imul rax, r15, 0xa8
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x14008bf80
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008bf80
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x14008bf80
mov rdx, qword [rcx + 0x98]
test rdx, rdx
je 0x14008ee09
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008ee09
mov rcx, qword [rcx + 0xa0]
mov qword [rcx + 0x10], r15
mov rcx, qword [r14 + 0xc0]
mov rdx, qword [r14 + 0xc8]
sub rdx, rcx
sar rdx, 3
imul rdx, rsi
cmp rdx, r15
jbe 0x14008ee03
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
movabs r15, 0x8000000000000001
je 0x14008bfe8
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008bfe8
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x14008bfe8
mov rax, qword [rcx + 0x98]
test rax, rax
je 0x14008ee0c
mov al, byte [rax + 4]
test al, al
jne 0x14008ee0c
lea rdx, [r12 + r12]
lea rcx, [r12*2 + 1]
cmp rcx, rbx
jb 0x14008bd2e
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
movaps xmm0, xmmword [rsp + 0x7b0]
movaps xmm1, xmmword [rsp + 0x7c0]
movaps xmm2, xmmword [rsp + 0x7d0]
movaps xmmword [rsp + 0x730], xmm0
movaps xmmword [rsp + 0x740], xmm1
movaps xmmword [rsp + 0x750], xmm2
mov eax, dword [rsp + 0x7e0]
mov dword [rsp + 0x760], eax
movzx eax, word [rsp + 0x128]
mov word [rsp + 0x130], ax
mov al, byte [rsp + 0x12a]
mov byte [rsp + 0x132], al
test r12, r12
je 0x14008db7e
mov r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
lea rax, [r9 + r8]
sar rax, 0x3f
btc rax, 0x3f
mov rbx, r9
add rbx, r8
lea rcx, [r8 + r15 - 2]
cmovo rbx, rax
lea rax, [r9 + r15]
add rax, 0xfffffffffffffffe
cmp rax, 0xfffffffffffffffe
setb al
cmp r9, r8
sete dl
or dl, al
cmp rcx, 0xfffffffffffffffe
setb al
cmovae rbx, r8
cmp dword [rsp + 0x48], 0
setne dil
cmovne rbx, r9
or dil, al
or dil, dl
mov rbp, r12
dec r12
mov qword [rsp + 0x78], r12
shr r12, 1
mov rax, r14
mov r14, qword [r14 + 0xc0]
mov rax, qword [rax + 0xc8]
mov rcx, rax
sub rcx, r14
sar rcx, 3
imul rcx, rsi
cmp rcx, r12
jbe 0x14008ee0f
imul rdx, r12, 0xa8
lea r13, [r14 + rdx]
cmp dword [r14 + rdx + 0x38], 0
je 0x14008d83f
mov rdx, qword [r13 + 0x28]
test dil, dil
je 0x14008edd0
xor r8d, r8d
mov r9d, dword [rsp + 0x50]
cmp dword [r13 + 0x70], r9d
setg r8b
xor r9d, r9d
cmp rdx, rbx
setge r9b
cmovne r8d, r9d
cmp r8b, 1
jne 0x14008c378
cmp rcx, rbp
mov byte [rsp + 0x2f], dil
je 0x14008d96f
jbe 0x14008edd3
imul r15, rbp, 0xa8
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
lea rax, [r14 + r15]
add rax, 0x20
movups xmmword [rax - 0x10], xmm1
movups xmmword [rax - 0x20], xmm0
lea rsi, [r13 + 0x20]
mov ecx, 0xa
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [r13 + 0x70]
mov dword [rax + 0x50], ecx
mov cl, byte [r13 + 0x74]
mov byte [rax + 0x54], cl
mov rdx, qword [r13 + 0x78]
mov qword [r13 + 0x78], 0
mov rcx, qword [rax + 0x58]
mov qword [rax + 0x58], rdx
test rcx, rcx
jne 0x14008e82b
add r14, r15
mov al, byte [r13 + 0x82]
mov byte [r14 + 0x82], al
movzx eax, word [r13 + 0x80]
mov word [r14 + 0x80], ax
mov rax, qword [r13 + 0x88]
mov qword [r13 + 0x88], 0
mov rcx, qword [r14 + 0x88]
mov qword [r14 + 0x88], rax
test rcx, rcx
movabs rsi, 0xcf3cf3cf3cf3cf3d
mov dil, byte [rsp + 0x2f]
jne 0x14008eefe
mov rax, qword [r13 + 0x90]
mov qword [r14 + 0x90], rax
mov rax, qword [r13 + 0x98]
mov qword [r13 + 0x98], 0
mov rcx, qword [r14 + 0x98]
mov qword [r14 + 0x98], rax
test rcx, rcx
movabs r15, 0x8000000000000001
je 0x14008c289
lock dec dword [rcx]
jne 0x14008c289
mov qword [rsp + 0xb0], r10
mov rdi, r11
call fcn.14010cc0c
mov r11, rdi
mov dil, byte [rsp + 0x2f]
mov r10, qword [rsp + 0xb0]
mov rax, qword [r13 + 0xa0]
mov qword [r14 + 0xa0], rax
mov r14, qword [rsp + 0x30]
mov rax, qword [r14 + 0xc8]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx]
sub rax, rcx
sar rax, 3
imul rax, rsi
cmp rax, rbp
jbe 0x14008edd6
imul rax, rbp, 0xa8
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x14008c30d
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008c30d
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x14008c30d
mov rdx, qword [rcx + 0x98]
test rdx, rdx
je 0x14008ede2
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008ede2
mov rcx, qword [rcx + 0xa0]
mov qword [rcx + 0x10], rbp
mov rcx, qword [r14 + 0xc0]
mov rdx, qword [r14 + 0xc8]
sub rdx, rcx
sar rdx, 3
imul rdx, rsi
cmp rdx, rbp
jbe 0x14008edd9
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x14008c36b
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008c36b
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x14008c36b
mov rax, qword [rcx + 0x98]
test rax, rax
je 0x14008eddf
mov al, byte [rax + 4]
test al, al
jne 0x14008eddf
cmp qword [rsp + 0x78], 1
jbe 0x14008c380
jmp 0x14008c0dd
mov r12, rbp
mov r14, qword [rsp + 0x30]
mov al, byte [rsp + 0x132]
mov byte [rsp + 0x13a], al
movzx eax, word [rsp + 0x130]
mov word [rsp + 0x138], ax
mov rax, r14
mov r14, qword [r14 + 0xc0]
mov r13, qword [rax + 0xc8]
mov rax, r13
sub rax, r14
sar rax, 3
imul rax, rsi
cmp rax, r12
je 0x14008de74
jbe 0x14008ee1b
imul rsi, r12, 0xa8
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movups xmmword [r14 + rsi + 0x10], xmm1
movups xmmword [r14 + rsi], xmm0
mov rax, qword [rsp + 0x90]
mov qword [r14 + rsi + 0x20], rax
mov rax, qword [rsp + 0x58]
mov qword [r14 + rsi + 0x28], rax
mov rax, qword [rsp + 0x60]
mov qword [r14 + rsi + 0x30], rax
mov eax, dword [rsp + 0x48]
mov dword [r14 + rsi + 0x38], eax
movaps xmm0, xmmword [rsp + 0x730]
movaps xmm1, xmmword [rsp + 0x740]
movaps xmm2, xmmword [rsp + 0x750]
movups xmmword [r14 + rsi + 0x3c], xmm0
movups xmmword [r14 + rsi + 0x4c], xmm1
movups xmmword [r14 + rsi + 0x5c], xmm2
mov eax, dword [rsp + 0x760]
mov dword [r14 + rsi + 0x6c], eax
mov eax, dword [rsp + 0x50]
mov dword [r14 + rsi + 0x70], eax
mov al, byte [rsp + 0x68]
mov byte [r14 + rsi + 0x74], al
mov rcx, qword [r14 + rsi + 0x78]
mov rax, qword [rsp + 0x70]
mov qword [r14 + rsi + 0x78], rax
test rcx, rcx
mov r13, qword [rsp + 0x38]
jne 0x14008e472
add r14, rsi
mov al, byte [rsp + 0x13a]
mov byte [r14 + 0x82], al
movzx eax, word [rsp + 0x138]
mov word [r14 + 0x80], ax
mov rcx, qword [r14 + 0x88]
mov rax, qword [rsp + 0x80]
mov qword [r14 + 0x88], rax
test rcx, rcx
jne 0x14008ee5e
mov qword [r14 + 0x90], r11
mov rcx, qword [r14 + 0x98]
mov qword [r14 + 0x98], r10
test rcx, rcx
movabs rsi, 0xcf3cf3cf3cf3cf3d
je 0x14008c4eb
lock dec dword [rcx]
jne 0x14008c4eb
call fcn.14010cc0c
mov rax, qword [rsp + 0x88]
mov qword [r14 + 0xa0], rax
mov r14, qword [rsp + 0x30]
mov rbx, qword [r14 + 0xc8]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
sub rbx, rcx
sar rbx, 3
imul rbx, rsi
cmp rbx, r12
jbe 0x14008edee
imul rax, r12, 0xa8
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x14008c570
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008c570
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x14008c570
mov rdx, qword [rcx + 0x98]
test rdx, rdx
je 0x14008ee33
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008ee33
mov rcx, qword [rcx + 0xa0]
mov qword [rcx + 0x10], r12
mov rcx, qword [r14 + 0xc0]
mov rdx, qword [r14 + 0xc8]
sub rdx, rcx
sar rdx, 3
imul rdx, rsi
cmp rdx, r12
jbe 0x14008edf1
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x14008c5ce
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008c5ce
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x14008c5ce
mov rax, qword [rcx + 0x98]
test rax, rax
je 0x14008ee36
mov al, byte [rax + 4]
test al, al
jne 0x14008ee36
mov rax, qword [r14 + 0xc0]
mov rdi, qword [r14 + 0xc8]
cmp rax, rdi
je 0x14008edbb
mov rbx, rdi
add rbx, 0xffffffffffffff58
je 0x14008edbe
mov rcx, qword [rdi - 0x10]
test rcx, rcx
je 0x14008c608
lock dec dword [rcx]
jne 0x14008c608
call fcn.14010cc0c
mov rsi, qword [rdi - 0x20]
test rsi, rsi
jne 0x14008ddbc
mov rsi, qword [rdi - 0x30]
mov qword [rdi - 0x30], 0
test rsi, rsi
jne 0x14008e297
mov qword [r14 + 0xc8], rbx
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x1d0], rax
cmp byte [r14 + 0x150], 0
jne 0x14008ea3c
mov rbx, qword [rsp + 0x1b8]
xor r8d, r8d
mov qword [rsp + 0x1b8], r8
lea rdx, [rsp + 0x160]
mov al, byte [rdx + 0x62]
mov byte [rsp + 0x132], al
movzx eax, word [rdx + 0x60]
mov word [rsp + 0x130], ax
mov r15, qword [rsp + 0x1c8]
mov qword [rsp + 0x1c8], r8
mov r12, qword [rsp + 0x1d0]
mov rbp, qword [rsp + 0x1d8]
mov qword [rsp + 0x1d8], r8
mov r9, qword [rsp + 0x1e0]
movaps xmm0, xmmword [rsp + 0x140]
movaps xmm1, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x110], xmm1
movaps xmmword [rsp + 0x100], xmm0
mov ecx, 0xa
lea rdi, [rsp + 0x7b0]
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov al, byte [rdx + 0x54]
mov byte [rsp + 0x804], al
mov eax, dword [rdx + 0x50]
mov dword [rsp + 0x800], eax
cmp qword [r13], r8
je 0x14008da4d
mov rsi, qword [r13 + 8]
mov rdx, qword [rsi]
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x20]
inc rax
cmp rax, rcx
mov r8d, 0
cmovne r8, rax
cmp rdx, r8
jne 0x14008c812
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x50], rbp
mov rbp, r12
mov r12, r15
mov r15, rbx
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x138], rax
lea rcx, [rsp + 0x138]
call fcn.14008fa20
mov rbx, qword [r13 + 8]
mov rax, qword [rbx + 0x20]
mov rcx, rax
shr rcx, 1
lea r14, [rax + rcx]
add r14, 2
mov ecx, 0x30
call fcn.14010cc14
mov rsi, rax
imul rdi, r14, 0xa8
movups xmmword [rax], xmm6
mov rcx, rdi
call fcn.14010d000
mov r13, rax
mov rcx, rax
xor edx, edx
mov r8, rdi
call fcn.140111cd0
mov qword [rsi + 0x10], r13
mov qword [rsi + 0x18], r13
mov qword [rsi + 0x20], r14
mov qword [rsi + 0x28], 0
movabs rax, 0x186186186186186
cmp r14, rax
jae 0x14008ee1e
mov rdi, qword [rbx + 0x28]
mov qword [rbx + 0x28], rsi
test rdi, rdi
je 0x14008c7de
mov rcx, rdi
call fcn.1400913c0
mov rcx, rdi
call fcn.14010cc0c
mov r13, qword [rsp + 0x38]
mov rax, qword [r13 + 8]
mov rsi, qword [rax + 0x28]
mov qword [r13 + 8], rsi
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x20]
inc rax
mov r14, qword [rsp + 0x30]
mov rbx, r15
mov r15, r12
mov r12, rbp
mov rbp, qword [rsp + 0x50]
mov r9, qword [rsp + 0x48]
cmp rax, rcx
mov edx, 0
cmovne rdx, rax
mov qword [rsi + 8], rdx
cmp rcx, rdx
jbe 0x14008edc1
mov rax, qword [rsi + 0x18]
imul rcx, rdx, 0xa8
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
add rax, rcx
add rax, 0x20
movups xmmword [rax - 0x10], xmm1
movups xmmword [rax - 0x20], xmm0
mov ecx, 0xa
mov rdi, rax
lea rsi, [rsp + 0x7b0]
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rsp + 0x800]
mov dword [rax + 0x50], ecx
mov cl, byte [rsp + 0x804]
mov byte [rax + 0x54], cl
mov qword [rax + 0x58], rbx
movzx ecx, word [rsp + 0x130]
mov word [rax + 0x60], cx
mov cl, byte [rsp + 0x132]
mov byte [rax + 0x62], cl
mov qword [rax + 0x68], r15
mov qword [rax + 0x70], r12
mov qword [rax + 0x78], rbp
mov qword [rax + 0x80], r9
mov rax, qword [r13 + 0x10]
mov rcx, qword [r13 + 0x18]
inc rax
mov qword [r13 + 0x10], rax
cmp rcx, rax
cmova rax, rcx
mov qword [r13 + 0x18], rax
movabs r15, 0x8000000000000001
mov rcx, qword [rsp + 0x1d8]
test rcx, rcx
je 0x14008c8e4
lock dec dword [rcx]
jne 0x14008c8e4
call fcn.14010cc0c
mov rsi, qword [rsp + 0x1c8]
test rsi, rsi
jne 0x14008dc72
mov rsi, qword [rsp + 0x1b8]
mov qword [rsp + 0x1b8], 0
test rsi, rsi
jne 0x14008dd45
mov rsi, qword [r14 + 0xc0]
cmp rsi, qword [r14 + 0xc8]
je 0x14008aea1
mov rcx, qword [rsi + 0x78]
test rcx, rcx
je 0x14008edb2
mov rax, qword [rcx + 0x18]
lea rdx, [0x1401ce200]
cmp rax, rdx
jne 0x14008c993
mov rax, qword [rsp + 0x98]
cmp byte [rax + 8], 0
je 0x14008b906
mov rax, qword [rax]
cmp dword [rsi + 0x38], 1
jne 0x14008ba30
mov rcx, qword [rsi + 0x28]
mov rdx, qword [rsi + 0x30]
lea r8, [rdx + r15]
cmp r8, 2
jae 0x14008ba10
cmp rcx, rdx
je 0x14008ee4b
shr rdx, 0x3f
not rdx
add rdx, r15
mov rcx, rdx
jmp 0x14008ba34
xor edx, edx
call qword [0x140318008]
test al, al
je 0x14008c943
mov r8d, 0xa8
lea rcx, [rsp + 0x140]
mov dl, 0xaa
call fcn.140111cd0
mov rax, qword [r14 + 0xc0]
cmp rax, qword [r14 + 0xc8]
je 0x14008ee24
cmp byte [rax + 0x81], 0
jne 0x14008ee3c
mov rcx, qword [rax + 0x98]
test rcx, rcx
je 0x14008ca1c
mov cl, byte [rcx + 4]
test cl, cl
jne 0x14008ca1c
cmp qword [rax + 0xa0], 0
je 0x14008ca1c
mov rcx, qword [rax + 0x98]
test rcx, rcx
je 0x14008ef26
mov cl, byte [rcx + 4]
test cl, cl
jne 0x14008ef26
mov rax, qword [rax + 0xa0]
mov qword [rax + 0x10], 0xffffffffffffffff
mov r8d, 0xa8
lea rcx, [rsp + 0x140]
mov dl, 0xaa
call fcn.140111cd0
mov rax, qword [r14 + 0xc0]
cmp qword [r14 + 0xc8], rax
je 0x14008ee27
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x150], xmm1
movaps xmmword [rsp + 0x140], xmm0
lea rsi, [rax + 0x20]
mov ecx, 0xa
lea rdx, [rsp + 0x160]
mov rdi, rdx
rep movsq qword [rdi], qword [rsi]
mov cl, byte [rax + 0x74]
mov byte [rdx + 0x54], cl
mov ecx, dword [rax + 0x70]
mov dword [rdx + 0x50], ecx
mov rcx, qword [rax + 0x78]
mov qword [rsp + 0x1b8], rcx
mov r8d, 0
mov qword [rax + 0x78], r8
mov cl, byte [rax + 0x82]
mov byte [rdx + 0x62], cl
movzx ecx, word [rax + 0x80]
mov word [rdx + 0x60], cx
mov rcx, qword [rax + 0x88]
mov qword [rsp + 0x1c8], rcx
mov qword [rax + 0x88], r8
mov rcx, qword [rax + 0x90]
mov qword [rsp + 0x1d0], rcx
mov rcx, qword [rax + 0x98]
mov qword [rsp + 0x1d8], rcx
mov qword [rax + 0x98], r8
mov rax, qword [rax + 0xa0]
mov qword [rsp + 0x1e0], rax
mov rax, qword [r14 + 0xc0]
mov rdi, qword [r14 + 0xc8]
mov rcx, rdi
sub rcx, rax
sar rcx, 3
movabs rsi, 0xcf3cf3cf3cf3cf3d
imul rcx, rsi
dec rcx
je 0x14008d545
cmp rdi, rax
je 0x14008ee84
imul rcx, rcx, 0xa8
mov rdx, qword [rax + rcx + 0x98]
test rdx, rdx
je 0x14008cb7d
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008cb7d
add rax, rcx
cmp qword [rax + 0xa0], 0
je 0x14008cb7d
mov rcx, qword [rax + 0x98]
test rcx, rcx
je 0x14008ef29
mov cl, byte [rcx + 4]
test cl, cl
jne 0x14008ef29
mov rax, qword [rax + 0xa0]
mov qword [rax + 0x10], 0xffffffffffffffff
mov rax, qword [r14 + 0xc8]
cmp rax, qword [r14 + 0xc0]
je 0x14008ee87
movups xmm0, xmmword [rax - 0xa8]
movups xmm1, xmmword [rax - 0x98]
movaps xmmword [rsp + 0x110], xmm1
movaps xmmword [rsp + 0x100], xmm0
mov rcx, qword [rax - 0x88]
mov qword [rsp + 0x90], rcx
mov rcx, qword [rax - 0x80]
mov qword [rsp + 0x60], rcx
mov rcx, qword [rax - 0x78]
mov qword [rsp + 0x48], rcx
mov ecx, dword [rax - 0x70]
mov dword [rsp + 0x50], ecx
mov ecx, dword [rax - 0x3c]
mov dword [rsp + 0x7e0], ecx
movups xmm0, xmmword [rax - 0x4c]
movaps xmmword [rsp + 0x7d0], xmm0
movups xmm0, xmmword [rax - 0x5c]
movaps xmmword [rsp + 0x7c0], xmm0
movups xmm0, xmmword [rax - 0x6c]
movaps xmmword [rsp + 0x7b0], xmm0
mov r12d, dword [rax - 0x38]
mov cl, byte [rax - 0x34]
mov byte [rsp + 0x68], cl
mov rcx, qword [rax - 0x30]
mov qword [rsp + 0x70], rcx
mov edx, 0
mov qword [rax - 0x30], rdx
mov cl, byte [rax - 0x26]
mov byte [rsp + 0x12a], cl
movzx ecx, word [rax - 0x28]
mov word [rsp + 0x128], cx
mov rcx, qword [rax - 0x20]
mov qword [rsp + 0x80], rcx
mov r11, qword [rax - 0x18]
mov qword [rax - 0x20], rdx
mov r10, qword [rax - 0x10]
mov qword [rax - 0x10], rdx
mov rcx, qword [rax - 8]
mov qword [rsp + 0x88], rcx
mov rbx, qword [r14 + 0xc8]
sub rbx, qword [r14 + 0xc0]
sar rbx, 3
imul rbx, rsi
dec rbx
cmp rbx, 2
jb 0x14008e402
mov ecx, 1
xor edx, edx
xor r15d, r15d
mov dword [rsp + 0x58], r12d
mov r12, r15
add rdx, 2
mov r13, qword [r14 + 0xc0]
mov rax, qword [r14 + 0xc8]
mov r8, rax
sub r8, r13
sar r8, 3
imul r8, rsi
cmp rdx, rbx
jae 0x14008d837
cmp r8, rdx
jbe 0x14008ee8a
cmp r8, rcx
movabs r15, 0x8000000000000001
jbe 0x14008ee8d
mov qword [rsp + 0x78], r11
mov rbp, r10
imul r10, rcx, 0xa8
lea r9, [r10 + r13]
cmp dword [r13 + r10 + 0x38], 0
je 0x14008de2b
mov r10, qword [r9 + 0x28]
imul r11, rdx, 0xa8
add r11, r13
cmp dword [r11 + 0x38], 0
je 0x14008dce1
mov rsi, qword [r11 + 0x28]
mov r9d, dword [r9 + 0x70]
xor edi, edi
cmp r9d, dword [r11 + 0x70]
setg dil
xor r9d, r9d
cmp r10, rsi
setge r9b
cmovne edi, r9d
test dil, dil
jne 0x14008cd3a
mov rdx, rcx
mov r15, rdx
movabs rsi, 0xcf3cf3cf3cf3cf3d
mov r10, rbp
mov r11, qword [rsp + 0x78]
cmp r8, r12
je 0x14008db86
cmp r8, r15
jbe 0x14008ee90
cmp r8, r12
jbe 0x14008ee93
imul r14, r15, 0xa8
imul rbp, r12, 0xa8
lea rax, [r14 + r13]
add rax, 0x20
movups xmm0, xmmword [rax - 0x20]
movups xmm1, xmmword [rax - 0x10]
lea rdx, [r13 + rbp + 0x20]
movups xmmword [rdx - 0x10], xmm1
movups xmmword [rdx - 0x20], xmm0
mov ecx, 0xa
mov rdi, rdx
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rax + 0x50]
mov dword [rdx + 0x50], ecx
mov cl, byte [rax + 0x54]
mov byte [rdx + 0x54], cl
mov r8, qword [rax + 0x58]
mov qword [rax + 0x58], 0
mov rcx, qword [rdx + 0x58]
mov qword [rdx + 0x58], r8
test rcx, rcx
jne 0x14008e873
add r14, r13
add rbp, r13
mov al, byte [r14 + 0x82]
mov byte [rbp + 0x82], al
movzx eax, word [r14 + 0x80]
mov word [rbp + 0x80], ax
mov rax, qword [r14 + 0x88]
mov qword [r14 + 0x88], 0
mov rcx, qword [rbp + 0x88]
mov qword [rbp + 0x88], rax
test rcx, rcx
movabs rsi, 0xcf3cf3cf3cf3cf3d
jne 0x14008ef91
mov rax, qword [r14 + 0x90]
mov qword [rbp + 0x90], rax
mov rax, qword [r14 + 0x98]
mov qword [r14 + 0x98], 0
mov rcx, qword [rbp + 0x98]
mov qword [rbp + 0x98], rax
test rcx, rcx
mov r13, qword [rsp + 0x38]
je 0x14008ce73
lock dec dword [rcx]
jne 0x14008ce73
mov qword [rsp + 0x78], r10
mov rdi, r11
call fcn.14010cc0c
mov r11, rdi
mov r10, qword [rsp + 0x78]
mov rax, qword [r14 + 0xa0]
mov qword [rbp + 0xa0], rax
mov r14, qword [rsp + 0x30]
mov rax, qword [r14 + 0xc8]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx]
sub rax, rcx
sar rax, 3
imul rax, rsi
cmp rax, r12
jbe 0x14008ee96
imul rax, r12, 0xa8
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x14008cef7
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008cef7
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x14008cef7
mov rdx, qword [rcx + 0x98]
test rdx, rdx
je 0x14008eea2
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008eea2
mov rcx, qword [rcx + 0xa0]
mov qword [rcx + 0x10], r12
mov rcx, qword [r14 + 0xc0]
mov rdx, qword [r14 + 0xc8]
sub rdx, rcx
sar rdx, 3
imul rdx, rsi
cmp rdx, r12
jbe 0x14008ee99
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
mov r12d, dword [rsp + 0x58]
je 0x14008cf5a
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008cf5a
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x14008cf5a
mov rax, qword [rcx + 0x98]
test rax, rax
je 0x14008eea5
mov al, byte [rax + 4]
test al, al
jne 0x14008eea5
lea rdx, [r15 + r15]
lea rcx, [r15*2 + 1]
cmp rcx, rbx
jb 0x14008cc92
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
movaps xmm0, xmmword [rsp + 0x7b0]
movaps xmm1, xmmword [rsp + 0x7c0]
movaps xmm2, xmmword [rsp + 0x7d0]
movaps xmmword [rsp + 0x770], xmm0
movaps xmmword [rsp + 0x780], xmm1
movaps xmmword [rsp + 0x790], xmm2
mov eax, dword [rsp + 0x7e0]
mov dword [rsp + 0x7a0], eax
movzx eax, word [rsp + 0x128]
mov word [rsp + 0x130], ax
mov al, byte [rsp + 0x12a]
mov byte [rsp + 0x132], al
test r15, r15
je 0x14008e46a
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
lea rax, [r9 + r8]
sar rax, 0x3f
btc rax, 0x3f
mov rbx, r9
add rbx, r8
movabs rdx, 0x8000000000000001
lea rcx, [r8 + rdx - 2]
cmovo rbx, rax
lea rax, [r9 + rdx]
add rax, 0xfffffffffffffffe
cmp rax, 0xfffffffffffffffe
setb al
cmp r9, r8
sete dl
or dl, al
cmp rcx, 0xfffffffffffffffe
setb al
cmovae rbx, r8
cmp dword [rsp + 0x50], 0
setne dil
cmovne rbx, r9
or dil, al
or dil, dl
mov rbp, r15
dec r15
mov qword [rsp + 0x78], r15
shr r15, 1
mov rax, r14
mov r14, qword [r14 + 0xc0]
mov rax, qword [rax + 0xc8]
mov rcx, rax
sub rcx, r14
sar rcx, 3
imul rcx, rsi
cmp rcx, r15
jbe 0x14008eea8
imul rdx, r15, 0xa8
lea r13, [r14 + rdx]
cmp dword [r14 + rdx + 0x38], 0
je 0x14008dabc
mov rdx, qword [r13 + 0x28]
test dil, dil
je 0x14008ee48
xor r8d, r8d
cmp dword [r13 + 0x70], r12d
setg r8b
xor r9d, r9d
cmp rdx, rbx
setge r9b
cmovne r8d, r9d
cmp r8b, 1
jne 0x14008d2ea
cmp rcx, rbp
mov byte [rsp + 0x2f], dil
je 0x14008e31f
jbe 0x14008eeab
imul r12, rbp, 0xa8
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
lea rax, [r14 + r12]
add rax, 0x20
movups xmmword [rax - 0x10], xmm1
movups xmmword [rax - 0x20], xmm0
lea rsi, [r13 + 0x20]
mov ecx, 0xa
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [r13 + 0x70]
mov dword [rax + 0x50], ecx
mov cl, byte [r13 + 0x74]
mov byte [rax + 0x54], cl
mov rdx, qword [r13 + 0x78]
mov qword [r13 + 0x78], 0
mov rcx, qword [rax + 0x58]
mov qword [rax + 0x58], rdx
test rcx, rcx
jne 0x14008e9a5
add r14, r12
mov al, byte [r13 + 0x82]
mov byte [r14 + 0x82], al
movzx eax, word [r13 + 0x80]
mov word [r14 + 0x80], ax
mov rax, qword [r13 + 0x88]
mov qword [r13 + 0x88], 0
mov rcx, qword [r14 + 0x88]
mov qword [r14 + 0x88], rax
test rcx, rcx
movabs rsi, 0xcf3cf3cf3cf3cf3d
mov dil, byte [rsp + 0x2f]
jne 0x14008efcc
mov rax, qword [r13 + 0x90]
mov qword [r14 + 0x90], rax
mov rax, qword [r13 + 0x98]
mov qword [r13 + 0x98], 0
mov rcx, qword [r14 + 0x98]
mov qword [r14 + 0x98], rax
test rcx, rcx
mov r12d, dword [rsp + 0x58]
je 0x14008d1f6
lock dec dword [rcx]
jne 0x14008d1f6
mov rdi, r10
mov r12, r11
call fcn.14010cc0c
mov r11, r12
mov r12d, dword [rsp + 0x58]
mov r10, rdi
mov dil, byte [rsp + 0x2f]
mov rax, qword [r13 + 0xa0]
mov qword [r14 + 0xa0], rax
mov r14, qword [rsp + 0x30]
mov rax, qword [r14 + 0xc8]
mov r13, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx]
sub rax, rcx
sar rax, 3
imul rax, rsi
cmp rax, rbp
jbe 0x14008eeae
imul rax, rbp, 0xa8
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x14008d27f
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008d27f
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x14008d27f
mov rdx, qword [rcx + 0x98]
test rdx, rdx
je 0x14008eec3
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008eec3
mov rcx, qword [rcx + 0xa0]
mov qword [rcx + 0x10], rbp
mov rcx, qword [r14 + 0xc0]
mov rdx, qword [r14 + 0xc8]
sub rdx, rcx
sar rdx, 3
imul rdx, rsi
cmp rdx, rbp
jbe 0x14008eeb1
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x14008d2dd
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008d2dd
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x14008d2dd
mov rax, qword [rcx + 0x98]
test rax, rax
je 0x14008eeb7
mov al, byte [rax + 4]
test al, al
jne 0x14008eeb7
cmp qword [rsp + 0x78], 1
jbe 0x14008d2f7
jmp 0x14008d059
mov r15, rbp
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x38]
mov al, byte [rsp + 0x132]
mov byte [rsp + 0x13a], al
movzx eax, word [rsp + 0x130]
mov word [rsp + 0x138], ax
mov rcx, rsi
mov rsi, qword [r14 + 0xc0]
mov rbx, qword [r14 + 0xc8]
mov rax, rbx
sub rax, rsi
sar rax, 3
imul rax, rcx
cmp rax, r15
je 0x14008d6b7
jbe 0x14008eee9
imul rdi, r15, 0xa8
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movups xmmword [rsi + rdi + 0x10], xmm1
movups xmmword [rsi + rdi], xmm0
mov rax, qword [rsp + 0x90]
mov qword [rsi + rdi + 0x20], rax
mov rax, qword [rsp + 0x60]
mov qword [rsi + rdi + 0x28], rax
mov rax, qword [rsp + 0x48]
mov qword [rsi + rdi + 0x30], rax
mov eax, dword [rsp + 0x50]
mov dword [rsi + rdi + 0x38], eax
movaps xmm0, xmmword [rsp + 0x770]
movaps xmm1, xmmword [rsp + 0x780]
movaps xmm2, xmmword [rsp + 0x790]
movups xmmword [rsi + rdi + 0x3c], xmm0
movups xmmword [rsi + rdi + 0x4c], xmm1
movups xmmword [rsi + rdi + 0x5c], xmm2
mov eax, dword [rsp + 0x7a0]
mov dword [rsi + rdi + 0x6c], eax
mov dword [rsi + rdi + 0x70], r12d
mov al, byte [rsp + 0x68]
mov byte [rsi + rdi + 0x74], al
mov rcx, qword [rsi + rdi + 0x78]
mov rax, qword [rsp + 0x70]
mov qword [rsi + rdi + 0x78], rax
test rcx, rcx
jne 0x14008e84f
add rsi, rdi
mov al, byte [rsp + 0x13a]
mov byte [rsi + 0x82], al
movzx eax, word [rsp + 0x138]
mov word [rsi + 0x80], ax
mov rcx, qword [rsi + 0x88]
mov rax, qword [rsp + 0x80]
mov qword [rsi + 0x88], rax
test rcx, rcx
jne 0x14008ef59
mov qword [rsi + 0x90], r11
mov rcx, qword [rsi + 0x98]
mov qword [rsi + 0x98], r10
test rcx, rcx
je 0x14008d445
lock dec dword [rcx]
jne 0x14008d445
call fcn.14010cc0c
mov rax, qword [rsp + 0x88]
mov qword [rsi + 0xa0], rax
mov rbx, qword [r14 + 0xc8]
movabs rsi, 0xcf3cf3cf3cf3cf3d
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
sub rbx, rcx
sar rbx, 3
imul rbx, rsi
cmp rbx, r15
jbe 0x14008eeba
imul rax, r15, 0xa8
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x14008d4cf
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008d4cf
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x14008d4cf
mov rdx, qword [rcx + 0x98]
test rdx, rdx
je 0x14008ef2c
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008ef2c
mov rcx, qword [rcx + 0xa0]
mov qword [rcx + 0x10], r15
mov rcx, qword [r14 + 0xc0]
mov rdx, qword [r14 + 0xc8]
sub rdx, rcx
sar rdx, 3
imul rdx, rsi
cmp rdx, r15
jbe 0x14008eebd
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
movabs r15, 0x8000000000000001
je 0x14008d537
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14008d537
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x14008d537
mov rax, qword [rcx + 0x98]
test rax, rax
je 0x14008ef2f
mov al, byte [rax + 4]
test al, al
jne 0x14008ef2f
mov rax, qword [r14 + 0xc0]
mov rdi, qword [r14 + 0xc8]
cmp rax, rdi
je 0x14008ee2d
mov rbx, rdi
add rbx, 0xffffffffffffff58
je 0x14008ee30
mov rcx, qword [rdi - 0x10]
test rcx, rcx
je 0x14008d571
lock dec dword [rcx]
jne 0x14008d571
call fcn.14010cc0c
mov rsi, qword [rdi - 0x20]
test rsi, rsi
jne 0x14008d6a8
mov rsi, qword [rdi - 0x30]
mov qword [rdi - 0x30], 0
test rsi, rsi
jne 0x14008d7b3
mov qword [r14 + 0xc8], rbx
mov rax, qword [rsp + 0x1e8]
mov edx, 8
test al, 1
je 0x14008d5b3
mov rdx, qword [rsp + 0x1f8]
mov rcx, rax
shr rcx, 1
cmp rcx, rdx
je 0x14008d81d
lea rdx, [rsp + 0x1f0]
test al, 1
je 0x14008d5d6
mov rdx, qword [rsp + 0x1f0]
imul rax, rcx, 0xa8
add rax, rdx
je 0x14008eec0
movaps xmm0, xmmword [rsp + 0x140]
movaps xmm1, xmmword [rsp + 0x150]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
lea rdi, [rax + 0x20]
mov ecx, 0xa
lea rdx, [rsp + 0x160]
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rdx + 0x50]
mov dword [rax + 0x70], ecx
mov cl, byte [rdx + 0x54]
mov byte [rax + 0x74], cl
mov rcx, qword [rsp + 0x1b8]
mov qword [rax + 0x78], rcx
mov r8d, 0
mov qword [rsp + 0x1b8], r8
mov cl, byte [rdx + 0x62]
mov byte [rax + 0x82], cl
movzx ecx, word [rdx + 0x60]
mov word [rax + 0x80], cx
mov rcx, qword [rsp + 0x1c8]
mov qword [rax + 0x88], rcx
mov qword [rsp + 0x1c8], r8
mov rcx, qword [rsp + 0x1d0]
mov qword [rax + 0x90], rcx
mov rcx, qword [rsp + 0x1d8]
mov qword [rax + 0x98], rcx
mov qword [rsp + 0x1d8], r8
mov rcx, qword [rsp + 0x1e0]
mov qword [rax + 0xa0], rcx
add qword [rsp + 0x1e8], 2
jmp 0x14008c8cd
lock dec dword [rsi + 8]
jne 0x14008d57e
jmp 0x14008e93d
mov rax, qword [r14 + 0xd0]
cmp rbx, rax
jae 0x14008e4da
test rbx, rbx
je 0x14008ef32
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
mov rax, qword [rsp + 0x90]
mov qword [rbx + 0x20], rax
mov rax, qword [rsp + 0x60]
mov qword [rbx + 0x28], rax
mov rax, qword [rsp + 0x48]
mov qword [rbx + 0x30], rax
mov eax, dword [rsp + 0x50]
mov dword [rbx + 0x38], eax
movaps xmm0, xmmword [rsp + 0x770]
movaps xmm1, xmmword [rsp + 0x780]
movaps xmm2, xmmword [rsp + 0x790]
movups xmmword [rbx + 0x3c], xmm0
movups xmmword [rbx + 0x4c], xmm1
movups xmmword [rbx + 0x5c], xmm2
mov eax, dword [rsp + 0x7a0]
mov dword [rbx + 0x6c], eax
mov dword [rbx + 0x70], r12d
mov al, byte [rsp + 0x68]
mov byte [rbx + 0x74], al
mov rax, qword [rsp + 0x70]
mov qword [rbx + 0x78], rax
movzx eax, word [rsp + 0x130]
mov word [rbx + 0x80], ax
mov al, byte [rsp + 0x132]
mov byte [rbx + 0x82], al
mov rax, qword [rsp + 0x80]
mov qword [rbx + 0x88], rax
mov qword [rbx + 0x90], r11
mov qword [rbx + 0x98], r10
mov rax, qword [rsp + 0x88]
mov qword [rbx + 0xa0], rax
add rbx, 0xa8
movabs rsi, 0xcf3cf3cf3cf3cf3d
mov qword [r14 + 0xc8], rbx
jmp 0x14008d465
lock dec dword [rsi]
jne 0x14008d7f8
mov rax, qword [rsi + 0x10]
lea rcx, [0x14008faa0]
cmp rax, rcx
je 0x14008e4ba
lea rcx, [0x1400f5350]
cmp rax, rcx
je 0x14008d7e3
mov rcx, rsi
call qword [0x140318008]
jmp 0x14008d7f8
mov rcx, qword [rsi + 0x28]
test rcx, rcx
jne 0x14008eb23
mov rcx, rsi
call fcn.14010cc0c
mov rcx, qword [rdi - 0x30]
test rcx, rcx
je 0x14008d593
lock dec dword [rcx]
jne 0x14008d593
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x14008d593
lea rcx, [rsp + 0x1e8]
lea rdx, [rsp + 0x140]
call fcn.1400e5ca0
jmp 0x14008c8cd
mov r15, rcx
jmp 0x14008cd4f
mov r8, qword [r13 + 0x28]
mov rdx, qword [r13 + 0x30]
lea r9, [rdx + r15]
cmp r9, 2
jae 0x14008d86c
cmp r8, rdx
je 0x14008c12e
add r8, r15
cmp r8, 1
ja 0x14008c12e
jmp 0x14008ede5
lea r9, [r8 + rdx]
sar r9, 0x3f
btc r9, 0x3f
add r8, rdx
cmovo r8, r9
mov rdx, r8
jmp 0x14008c12e
cmp r15, r12
jbe 0x14008ee06
imul rcx, r12, 0xa8
add r13, rcx
cmp rax, qword [r14 + 0xd0]
jae 0x14008e91f
test rax, rax
je 0x14008ee12
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
lea rdi, [rax + 0x20]
lea rsi, [r13 + 0x20]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [r13 + 0x70]
mov dword [rax + 0x70], ecx
mov cl, byte [r13 + 0x74]
mov byte [rax + 0x74], cl
mov rcx, qword [r13 + 0x78]
mov qword [rax + 0x78], rcx
mov edx, 0
mov qword [r13 + 0x78], rdx
movzx ecx, word [r13 + 0x80]
mov word [rax + 0x80], cx
mov cl, byte [r13 + 0x82]
mov byte [rax + 0x82], cl
mov rcx, qword [r13 + 0x88]
mov qword [rax + 0x88], rcx
mov qword [r13 + 0x88], rdx
mov rcx, qword [r13 + 0x90]
mov qword [rax + 0x90], rcx
mov rcx, qword [r13 + 0x98]
mov qword [rax + 0x98], rcx
mov qword [r13 + 0x98], rdx
mov rcx, qword [r13 + 0xa0]
mov qword [rax + 0xa0], rcx
add rax, 0xa8
movabs rsi, 0xcf3cf3cf3cf3cf3d
mov qword [r14 + 0xc8], rax
jmp 0x14008bf16
mov r14, qword [rsp + 0x30]
cmp rax, qword [r14 + 0xd0]
jae 0x14008e9c9
test rax, rax
je 0x14008eddc
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
lea rdi, [rax + 0x20]
lea rsi, [r13 + 0x20]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [r13 + 0x70]
mov dword [rax + 0x70], ecx
mov cl, byte [r13 + 0x74]
mov byte [rax + 0x74], cl
mov rcx, qword [r13 + 0x78]
mov qword [rax + 0x78], rcx
mov edx, 0
mov qword [r13 + 0x78], rdx
movzx ecx, word [r13 + 0x80]
mov word [rax + 0x80], cx
mov cl, byte [r13 + 0x82]
mov byte [rax + 0x82], cl
mov rcx, qword [r13 + 0x88]
mov qword [rax + 0x88], rcx
mov qword [r13 + 0x88], rdx
mov rcx, qword [r13 + 0x90]
mov qword [rax + 0x90], rcx
mov rcx, qword [r13 + 0x98]
mov qword [rax + 0x98], rcx
mov qword [r13 + 0x98], rdx
mov rcx, qword [r13 + 0xa0]
mov qword [rax + 0xa0], rcx
add rax, 0xa8
movabs rsi, 0xcf3cf3cf3cf3cf3d
mov qword [r14 + 0xc8], rax
mov dil, byte [rsp + 0x2f]
jmp 0x14008c2a3
mov ecx, 0x30
mov r14, r13
mov r13, r9
call fcn.14010cc14
mov rsi, rax
movups xmmword [rax], xmm6
mov ecx, 0x2a0
call fcn.14010d000
mov rdi, rax
mov r8d, 0x2a0
mov rcx, rax
xor edx, edx
call fcn.140111cd0
mov r9, r13
mov r13, r14
mov r14, qword [rsp + 0x30]
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x20], 4
mov qword [rsi + 0x28], 0
mov qword [r13], rsi
mov qword [r13 + 8], rsi
mov eax, 1
mov ecx, 4
xor edx, edx
jmp 0x14008c713
mov r8, qword [r13 + 0x28]
mov rdx, qword [r13 + 0x30]
movabs r9, 0x8000000000000001
add r9, rdx
cmp r9, 2
jb 0x14008daf3
lea r9, [r8 + rdx]
sar r9, 0x3f
btc r9, 0x3f
add r8, rdx
cmovo r8, r9
mov rdx, r8
jmp 0x14008d0aa
cmp r8, rdx
je 0x14008d0aa
movabs r9, 0x8000000000000001
add r8, r9
cmp r8, 1
ja 0x14008d0aa
int3
lea rcx, [rax - 0xa8]
lea rdx, [rax - 0x6c]
add rax, 0xffffffffffffffd8
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
movaps xmmword [rsp + 0x730], xmm0
movaps xmmword [rsp + 0x740], xmm1
movaps xmmword [rsp + 0x750], xmm2
mov ecx, dword [rdx + 0x30]
mov dword [rsp + 0x760], ecx
movzx ecx, word [rax]
mov word [rsp + 0x130], cx
mov al, byte [rax + 2]
mov byte [rsp + 0x132], al
xor r12d, r12d
jmp 0x14008c380
cmp r12, r15
jbe 0x14008ee9c
imul rcx, r15, 0xa8
add r13, rcx
cmp rax, qword [r14 + 0xd0]
jae 0x14008eac1
test rax, rax
je 0x14008ee9f
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
lea rdi, [rax + 0x20]
lea rsi, [r13 + 0x20]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [r13 + 0x70]
mov dword [rax + 0x70], ecx
mov cl, byte [r13 + 0x74]
mov byte [rax + 0x74], cl
mov rcx, qword [r13 + 0x78]
mov qword [rax + 0x78], rcx
mov edx, 0
mov qword [r13 + 0x78], rdx
movzx ecx, word [r13 + 0x80]
mov word [rax + 0x80], cx
mov cl, byte [r13 + 0x82]
mov byte [rax + 0x82], cl
mov rcx, qword [r13 + 0x88]
mov qword [rax + 0x88], rcx
mov qword [r13 + 0x88], rdx
mov rcx, qword [r13 + 0x90]
mov qword [rax + 0x90], rcx
mov rcx, qword [r13 + 0x98]
mov qword [rax + 0x98], rcx
mov qword [r13 + 0x98], rdx
mov rcx, qword [r13 + 0xa0]
mov qword [rax + 0xa0], rcx
add rax, 0xa8
movabs rsi, 0xcf3cf3cf3cf3cf3d
mov qword [r14 + 0xc8], rax
mov r13, qword [rsp + 0x38]
jmp 0x14008ce8d
lock dec dword [rsi + 8]
jne 0x14008c8f5
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401cab90]
cmp qword [rcx + 0x10], rdx
jne 0x14008dc9c
lea rcx, [0x140200ce0]
cmp rax, rcx
je 0x14008dcaf
mov rcx, rsi
mov edx, 1
call qword [0x140318008]
jmp 0x14008c8f5
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14008dcc2
lock dec dword [rcx]
jne 0x14008dcc2
call fcn.14010cc0c
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x14008dcd4
lock dec dword [rcx]
je 0x14008eaf9
mov rcx, rsi
call fcn.14010cc0c
jmp 0x14008c8f5
mov rdi, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
lea r14, [rsi + r15]
cmp r14, 2
jae 0x14008dd0f
cmp rdi, rsi
je 0x14008dd26
add rdi, r15
cmp rdi, 1
mov r14, qword [rsp + 0x30]
ja 0x14008cd16
jmp 0x14008ee81
lea r14, [rdi + rsi]
sar r14, 0x3f
btc r14, 0x3f
add rdi, rsi
cmovo rdi, r14
mov rsi, rdi
mov r14, qword [rsp + 0x30]
jmp 0x14008cd16
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x14008dd7a
lock dec dword [rcx]
jne 0x14008dd7a
call fcn.14010cc0c
jmp 0x14008dd7a
lock dec dword [rsi]
jne 0x14008dd82
mov rax, qword [rsi + 0x10]
lea rcx, [0x14008faa0]
cmp rax, rcx
je 0x14008dd30
lea rcx, [0x1400f5350]
cmp rax, rcx
je 0x14008dd71
mov rcx, rsi
call qword [0x140318008]
jmp 0x14008dd82
mov rcx, qword [rsi + 0x28]
test rcx, rcx
jne 0x14008ddab
mov rcx, rsi
call fcn.14010cc0c
mov rcx, qword [rsp + 0x1b8]
test rcx, rcx
je 0x14008c912
lock dec dword [rcx]
jne 0x14008c912
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x14008c912
lock dec dword [rcx]
jne 0x14008dd7a
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x14008dd7a
lock dec dword [rsi + 8]
jne 0x14008c615
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401cab90]
cmp qword [rcx + 0x10], rdx
jne 0x14008dde6
lea rcx, [0x140200ce0]
cmp rax, rcx
je 0x14008ddf9
mov rcx, rsi
mov edx, 1
call qword [0x140318008]
jmp 0x14008c615
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14008de0c
lock dec dword [rcx]
jne 0x14008de0c
call fcn.14010cc0c
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x14008de1e
lock dec dword [rcx]
je 0x14008eb3b
mov rcx, rsi
call fcn.14010cc0c
jmp 0x14008c615
mov r11, qword [r9 + 0x28]
mov r10, qword [r9 + 0x30]
lea rsi, [r10 + r15]
cmp rsi, 2
jae 0x14008de58
cmp r11, r10
je 0x14008ccfd
add r11, r15
cmp r11, 1
ja 0x14008ccfd
jmp 0x14008ee7e
lea rsi, [r11 + r10]
sar rsi, 0x3f
btc rsi, 0x3f
add r11, r10
cmovo r11, rsi
mov r10, r11
jmp 0x14008ccfd
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0xd0]
cmp r13, rax
jae 0x14008df87
test r13, r13
je 0x14008eec6
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
mov rax, qword [rsp + 0x90]
mov qword [r13 + 0x20], rax
mov rax, qword [rsp + 0x58]
mov qword [r13 + 0x28], rax
mov rax, qword [rsp + 0x60]
mov qword [r13 + 0x30], rax
mov eax, dword [rsp + 0x48]
mov dword [r13 + 0x38], eax
movaps xmm0, xmmword [rsp + 0x730]
movaps xmm1, xmmword [rsp + 0x740]
movaps xmm2, xmmword [rsp + 0x750]
movups xmmword [r13 + 0x3c], xmm0
movups xmmword [r13 + 0x4c], xmm1
movups xmmword [r13 + 0x5c], xmm2
mov eax, dword [rsp + 0x760]
mov dword [r13 + 0x6c], eax
mov eax, dword [rsp + 0x50]
mov dword [r13 + 0x70], eax
mov al, byte [rsp + 0x68]
mov byte [r13 + 0x74], al
mov rax, qword [rsp + 0x70]
mov qword [r13 + 0x78], rax
movzx eax, word [rsp + 0x130]
mov word [r13 + 0x80], ax
mov al, byte [rsp + 0x132]
mov byte [r13 + 0x82], al
mov rax, qword [rsp + 0x80]
mov qword [r13 + 0x88], rax
mov qword [r13 + 0x90], r11
mov qword [r13 + 0x98], r10
mov rax, qword [rsp + 0x88]
mov qword [r13 + 0xa0], rax
add r13, 0xa8
mov rbx, r13
mov r14, qword [rsp + 0x30]
mov qword [r14 + 0xc8], rbx
mov r13, qword [rsp + 0x38]
jmp 0x14008c506
movabs r8, 0x186186186186186
lea rcx, [r8 - 1]
cmp r12, rcx
ja 0x14008ef4d
lea rcx, [r12 + 1]
sub rax, r14
sar rax, 3
imul rax, rsi
lea rdx, [rax + rax]
cmp rdx, rcx
cmova rcx, rdx
movabs rdx, 0xc30c30c30c30c3
cmp rax, rdx
cmovae rcx, r8
cmp rcx, r8
ja 0x14008ef50
mov rbx, r11
mov rdi, r10
imul rsi, rcx, 0xa8
mov rcx, rsi
call fcn.14010cc14
imul rdx, r12, 0xa8
add rdx, rax
je 0x14008ef53
add rax, rsi
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
mov rcx, qword [rsp + 0x90]
mov qword [rdx + 0x20], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rdx + 0x28], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rdx + 0x30], rcx
mov ecx, dword [rsp + 0x48]
mov dword [rdx + 0x38], ecx
mov ecx, dword [rsp + 0x760]
mov dword [rdx + 0x6c], ecx
movaps xmm0, xmmword [rsp + 0x730]
movaps xmm1, xmmword [rsp + 0x740]
movaps xmm2, xmmword [rsp + 0x750]
movups xmmword [rdx + 0x3c], xmm0
movups xmmword [rdx + 0x4c], xmm1
movups xmmword [rdx + 0x5c], xmm2
mov ecx, dword [rsp + 0x50]
mov dword [rdx + 0x70], ecx
mov cl, byte [rsp + 0x68]
mov byte [rdx + 0x74], cl
mov rcx, qword [rsp + 0x70]
mov qword [rdx + 0x78], rcx
movzx ecx, word [rsp + 0x130]
mov word [rdx + 0x80], cx
mov cl, byte [rsp + 0x132]
mov byte [rdx + 0x82], cl
mov rcx, qword [rsp + 0x80]
mov qword [rdx + 0x88], rcx
mov qword [rdx + 0x90], rbx
mov qword [rdx + 0x98], rdi
mov rcx, qword [rsp + 0x88]
mov qword [rdx + 0xa0], rcx
lea rbx, [rdx + 0xa8]
cmp r13, r14
je 0x14008ed65
mov r8, rdx
add r8, 0xffffffffffffff58
je 0x14008ef47
movups xmm0, xmmword [r13 - 0xa8]
movups xmm1, xmmword [r13 - 0x98]
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
mov rcx, 0xffffffffffffff78
lea rdi, [rdx + rcx]
lea rsi, [r13 + rcx]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov cl, byte [r13 - 0x34]
mov byte [rdx - 0x34], cl
mov ecx, dword [r13 - 0x38]
mov dword [rdx - 0x38], ecx
mov rcx, qword [r13 - 0x30]
mov qword [rdx - 0x30], rcx
mov r9d, 0
mov qword [r13 - 0x30], r9
mov cl, byte [r13 - 0x26]
mov byte [rdx - 0x26], cl
movzx ecx, word [r13 - 0x28]
mov word [rdx - 0x28], cx
mov rcx, qword [r13 - 0x20]
mov qword [rdx - 0x20], rcx
mov qword [r13 - 0x20], r9
mov rcx, qword [r13 - 0x18]
mov qword [rdx - 0x18], rcx
mov rcx, qword [r13 - 0x10]
mov qword [rdx - 0x10], rcx
mov qword [r13 - 0x10], r9
mov rcx, qword [r13 - 8]
lea r9, [r13 - 0xa8]
mov qword [rdx - 8], rcx
mov r13, r9
mov rdx, r8
cmp r9, r14
jne 0x14008e0d7
mov rcx, qword [rsp + 0x30]
mov r13, qword [rcx + 0xc0]
mov rdi, qword [rcx + 0xc8]
mov qword [rcx + 0xc0], r8
mov qword [rcx + 0xc8], rbx
mov qword [rcx + 0xd0], rax
cmp rdi, r13
je 0x14008ed7f
mov r14, rdi
add rdi, 0xffffffffffffff58
je 0x14008ef4a
mov rcx, qword [r14 - 0x10]
test rcx, rcx
je 0x14008e1d7
lock dec dword [rcx]
jne 0x14008e1d7
call fcn.14010cc0c
mov rsi, qword [r14 - 0x20]
test rsi, rsi
jne 0x14008e21b
mov rsi, qword [r14 - 0x30]
mov qword [r14 - 0x30], 0
test rsi, rsi
jne 0x14008e226
cmp rdi, r13
movabs rsi, 0xcf3cf3cf3cf3cf3d
jne 0x14008e1b4
test r13, r13
mov r14, qword [rsp + 0x30]
je 0x14008df76
mov rcx, r13
call fcn.14010cc0c
jmp 0x14008df76
lock dec dword [rsi + 8]
jne 0x14008e1e0
jmp 0x14008ec6d
lock dec dword [rsi]
jne 0x14008e26b
mov rax, qword [rsi + 0x10]
lea rcx, [0x14008faa0]
cmp rax, rcx
je 0x14008eb03
lea rcx, [0x1400f5350]
cmp rax, rcx
je 0x14008e256
mov rcx, rsi
call qword [0x140318008]
jmp 0x14008e26b
mov rcx, qword [rsi + 0x28]
test rcx, rcx
jne 0x14008ed1d
mov rcx, rsi
call fcn.14010cc0c
mov rcx, qword [r14 - 0x30]
test rcx, rcx
je 0x14008e1f1
lock dec dword [rcx]
jne 0x14008e1f1
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x14008e1f1
mov ebx, edx
jmp 0x14008b194
lock dec dword [rsi]
jne 0x14008e2e9
mov rax, qword [rsi + 0x10]
lea rcx, [0x14008faa0]
cmp rax, rcx
je 0x14008e2c3
lea rcx, [0x1400f5350]
cmp rax, rcx
je 0x14008e2d8
mov rcx, rsi
call qword [0x140318008]
jmp 0x14008e2e9
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x14008e2e1
lock dec dword [rcx]
jne 0x14008e2e1
call fcn.14010cc0c
jmp 0x14008e2e1
mov rcx, qword [rsi + 0x28]
test rcx, rcx
jne 0x14008e30e
mov rcx, rsi
call fcn.14010cc0c
mov rcx, qword [rdi - 0x30]
test rcx, rcx
je 0x14008c62a
lock dec dword [rcx]
jne 0x14008c62a
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x14008c62a
lock dec dword [rcx]
jne 0x14008e2e1
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x14008e2e1
mov r14, qword [rsp + 0x30]
cmp rax, qword [r14 + 0xd0]
jae 0x14008eb45
test rax, rax
je 0x14008eeb4
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
lea rdi, [rax + 0x20]
lea rsi, [r13 + 0x20]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [r13 + 0x70]
mov dword [rax + 0x70], ecx
mov cl, byte [r13 + 0x74]
mov byte [rax + 0x74], cl
mov rcx, qword [r13 + 0x78]
mov qword [rax + 0x78], rcx
mov edx, 0
mov qword [r13 + 0x78], rdx
movzx ecx, word [r13 + 0x80]
mov word [rax + 0x80], cx
mov cl, byte [r13 + 0x82]
mov byte [rax + 0x82], cl
mov rcx, qword [r13 + 0x88]
mov qword [rax + 0x88], rcx
mov qword [r13 + 0x88], rdx
mov rcx, qword [r13 + 0x90]
mov qword [rax + 0x90], rcx
mov rcx, qword [r13 + 0x98]
mov qword [rax + 0x98], rcx
mov qword [r13 + 0x98], rdx
mov rcx, qword [r13 + 0xa0]
mov qword [rax + 0xa0], rcx
add rax, 0xa8
movabs rsi, 0xcf3cf3cf3cf3cf3d
mov qword [r14 + 0xc8], rax
mov r13, qword [rsp + 0x38]
mov dil, byte [rsp + 0x2f]
jmp 0x14008d215
lea rcx, [rax - 0xa8]
lea rdx, [rax - 0x6c]
add rax, 0xffffffffffffffd8
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
movaps xmmword [rsp + 0x770], xmm0
movaps xmmword [rsp + 0x780], xmm1
movaps xmmword [rsp + 0x790], xmm2
mov ecx, dword [rdx + 0x30]
mov dword [rsp + 0x7a0], ecx
movzx ecx, word [rax]
mov word [rsp + 0x130], cx
mov al, byte [rax + 2]
mov byte [rsp + 0x132], al
xor r15d, r15d
jmp 0x14008d2f7
lock dec dword [rcx]
jne 0x14008c47d
mov rax, qword [rcx + 0x10]
mov rdi, r10
mov rbx, r11
call qword [0x140318008]
mov r11, rbx
mov r10, rdi
jmp 0x14008c47d
lock dec dword [rcx]
jne 0x14008be5e
mov rax, qword [rcx + 0x10]
mov rsi, r10
mov rdi, r11
call qword [0x140318008]
mov r11, rdi
mov r10, rsi
jmp 0x14008be5e
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x14008d7f0
lock dec dword [rcx]
jne 0x14008d7f0
call fcn.14010cc0c
jmp 0x14008d7f0
movabs r8, 0x186186186186186
lea rcx, [r8 - 1]
cmp r15, rcx
ja 0x14008ef35
lea rcx, [r15 + 1]
sub rax, rsi
sar rax, 3
movabs rdx, 0xcf3cf3cf3cf3cf3d
imul rax, rdx
lea rdx, [rax + rax]
cmp rdx, rcx
cmova rcx, rdx
movabs rdx, 0xc30c30c30c30c3
cmp rax, rdx
cmovae rcx, r8
cmp rcx, r8
ja 0x14008ef38
mov rbx, r11
mov rdi, r10
imul rsi, rcx, 0xa8
mov rcx, rsi
call fcn.14010cc14
imul rdx, r15, 0xa8
add rdx, rax
je 0x14008ef3b
add rax, rsi
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
mov rcx, qword [rsp + 0x90]
mov qword [rdx + 0x20], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rdx + 0x28], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rdx + 0x30], rcx
mov ecx, dword [rsp + 0x50]
mov dword [rdx + 0x38], ecx
movaps xmm0, xmmword [rsp + 0x770]
movaps xmm1, xmmword [rsp + 0x780]
movaps xmm2, xmmword [rsp + 0x790]
movups xmmword [rdx + 0x3c], xmm0
movups xmmword [rdx + 0x4c], xmm1
movups xmmword [rdx + 0x5c], xmm2
mov ecx, dword [rsp + 0x7a0]
mov dword [rdx + 0x6c], ecx
mov dword [rdx + 0x70], r12d
mov cl, byte [rsp + 0x68]
mov byte [rdx + 0x74], cl
mov rcx, qword [rsp + 0x70]
mov qword [rdx + 0x78], rcx
movzx ecx, word [rsp + 0x130]
mov word [rdx + 0x80], cx
mov cl, byte [rsp + 0x132]
mov byte [rdx + 0x82], cl
mov rcx, qword [rsp + 0x80]
mov qword [rdx + 0x88], rcx
mov qword [rdx + 0x90], rbx
mov qword [rdx + 0x98], rdi
mov rcx, qword [rsp + 0x88]
mov qword [rdx + 0xa0], rcx
lea rbx, [rdx + 0xa8]
mov r13, qword [r14 + 0xc0]
mov r9, qword [r14 + 0xc8]
cmp r9, r13
je 0x14008ed8e
mov r8, rdx
add r8, 0xffffffffffffff58
je 0x14008ef3e
movups xmm0, xmmword [r9 - 0xa8]
movups xmm1, xmmword [r9 - 0x98]
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
mov rcx, 0xffffffffffffff78
lea rdi, [rdx + rcx]
lea rsi, [r9 + rcx]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov cl, byte [r9 - 0x34]
mov byte [rdx - 0x34], cl
mov ecx, dword [r9 - 0x38]
mov dword [rdx - 0x38], ecx
mov rcx, qword [r9 - 0x30]
mov qword [rdx - 0x30], rcx
mov r10d, 0
mov qword [r9 - 0x30], r10
mov cl, byte [r9 - 0x26]
mov byte [rdx - 0x26], cl
movzx ecx, word [r9 - 0x28]
mov word [rdx - 0x28], cx
mov rcx, qword [r9 - 0x20]
mov qword [rdx - 0x20], rcx
mov qword [r9 - 0x20], r10
mov rcx, qword [r9 - 0x18]
mov qword [rdx - 0x18], rcx
mov rcx, qword [r9 - 0x10]
mov qword [rdx - 0x10], rcx
mov qword [r9 - 0x10], r10
mov rcx, qword [r9 - 8]
lea r10, [r9 - 0xa8]
mov qword [rdx - 8], rcx
mov r9, r10
mov rdx, r8
cmp r10, r13
jne 0x14008e63e
mov r13, qword [r14 + 0xc0]
mov rdi, qword [r14 + 0xc8]
mov qword [r14 + 0xc0], r8
mov qword [r14 + 0xc8], rbx
mov qword [r14 + 0xd0], rax
cmp rdi, r13
je 0x14008eda3
mov r14, rdi
add rdi, 0xffffffffffffff58
je 0x14008ef41
mov rcx, qword [r14 - 0x10]
test rcx, rcx
je 0x14008e738
lock dec dword [rcx]
jne 0x14008e738
call fcn.14010cc0c
mov rsi, qword [r14 - 0x20]
test rsi, rsi
jne 0x14008e77d
mov rsi, qword [r14 - 0x30]
mov qword [r14 - 0x30], 0
test rsi, rsi
jne 0x14008e7b0
cmp rdi, r13
movabs rsi, 0xcf3cf3cf3cf3cf3d
jne 0x14008e715
test r13, r13
mov r14, qword [rsp + 0x30]
je 0x14008e773
mov rcx, r13
call fcn.14010cc0c
mov r13, qword [rsp + 0x38]
jmp 0x14008d7a7
lock dec dword [rsi + 8]
jne 0x14008e741
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401cab90]
cmp qword [rcx + 0x10], rdx
jne 0x14008ed0a
lea rcx, [0x140200ce0]
cmp rax, rcx
jne 0x14008ed0a
jmp 0x14008ecd5
lock dec dword [rsi]
jne 0x14008e7f1
mov rax, qword [rsi + 0x10]
lea rcx, [0x14008faa0]
cmp rax, rcx
je 0x14008e816
lea rcx, [0x1400f5350]
cmp rax, rcx
je 0x14008e7dc
mov rcx, rsi
call qword [0x140318008]
jmp 0x14008e7f1
mov rcx, qword [rsi + 0x28]
test rcx, rcx
jne 0x14008ed35
mov rcx, rsi
call fcn.14010cc0c
mov rcx, qword [r14 - 0x30]
test rcx, rcx
je 0x14008e752
lock dec dword [rcx]
jne 0x14008e752
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x14008e752
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x14008e7e9
lock dec dword [rcx]
jne 0x14008e7e9
call fcn.14010cc0c
jmp 0x14008e7e9
lock dec dword [rcx]
jne 0x14008c1ce
mov rax, qword [rcx + 0x10]
mov rsi, r10
mov rdi, r11
call qword [0x140318008]
mov r11, rdi
mov r10, rsi
jmp 0x14008c1ce
lock dec dword [rcx]
jne 0x14008d3e3
mov rax, qword [rcx + 0x10]
mov rbx, r10
mov r12, r11
call qword [0x140318008]
mov r11, r12
mov r10, rbx
jmp 0x14008d3e3
lock dec dword [rcx]
jne 0x14008cdcc
mov rax, qword [rcx + 0x10]
mov rsi, r10
mov rdi, r11
call qword [0x140318008]
mov r11, rdi
mov r10, rsi
jmp 0x14008cdcc
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x14008e8e1
lock dec dword [rcx]
jne 0x14008e8e1
call fcn.14010cc0c
jmp 0x14008e8e1
lock dec dword [rsi]
jne 0x14008e8e9
mov rax, qword [rsi + 0x10]
lea rcx, [0x14008faa0]
cmp rax, rcx
je 0x14008e897
lea rcx, [0x1400f5350]
cmp rax, rcx
je 0x14008e8d8
mov rcx, rsi
call qword [0x140318008]
jmp 0x14008e8e9
mov rcx, qword [rsi + 0x28]
test rcx, rcx
jne 0x14008e90e
mov rcx, rsi
call fcn.14010cc0c
mov rcx, qword [rbx + 0x78]
test rcx, rcx
je 0x14008af11
lock dec dword [rcx]
jne 0x14008af11
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x14008af11
lock dec dword [rcx]
jne 0x14008e8e1
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x14008e8e1
mov rcx, qword [rsp + 0x40]
mov rdx, r13
mov rdi, r10
mov r13, r11
call fcn.1400a7720
mov r11, r13
mov r10, rdi
jmp 0x14008d963
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401cab90]
cmp qword [rcx + 0x10], rdx
jne 0x14008e95d
lea rcx, [0x140200ce0]
cmp rax, rcx
je 0x14008e970
mov rcx, rsi
mov edx, 1
call qword [0x140318008]
jmp 0x14008d57e
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14008e983
lock dec dword [rcx]
jne 0x14008e983
call fcn.14010cc0c
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x14008e991
lock dec dword [rcx]
je 0x14008e99e
mov rcx, rsi
call fcn.14010cc0c
jmp 0x14008d57e
call fcn.1400c4aa0
jmp 0x14008e991
lock dec dword [rcx]
jne 0x14008d145
mov rax, qword [rcx + 0x10]
mov rsi, r10
mov rdi, r11
call qword [0x140318008]
mov r11, rdi
mov r10, rsi
jmp 0x14008d145
mov rcx, qword [rsp + 0x40]
mov rdx, r13
mov rdi, r10
mov r13, r11
call fcn.1400a7720
mov r11, r13
mov r10, rdi
jmp 0x14008da3c
lea r8, [rcx + rdx]
sar r8, 0x3f
btc r8, 0x3f
add rcx, rdx
cmovo rcx, r8
jmp 0x14008ea37
mov rdx, qword [rsp + 0x170]
movabs r9, 0x8000000000000001
lea r8, [rdx + r9]
cmp r8, 2
jae 0x14008e9e7
lea r8, [rcx + r9]
cmp r8, 1
ja 0x14008ea5f
cmp rcx, rdx
je 0x14008ea5f
jmp 0x14008ef44
cmp dword [rsp + 0x178], 0
je 0x14008e9fd
mov rdx, rcx
jmp 0x14008ea5f
mov rcx, qword [rsp + 0x168]
cmp qword [r14 + 0x148], rcx
jg 0x14008c64f
mov eax, dword [rsp + 0x1b0]
test rcx, rcx
jne 0x14008ea2d
xor edx, edx
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x7b0], rcx
mov qword [rsp + 0x7b8], rdx
mov dword [rsp + 0x7c0], eax
mov rcx, r14
lea rdx, [rsp + 0x7b0]
call fcn.1400e57f0
cmp byte [r14 + 0x150], 0
je 0x14008c64f
mov byte [r14 + 0x150], 0
jmp 0x14008c64f
lea rdx, [rsp + 0x1e8]
mov rcx, r13
call fcn.14008fcb0
mov rbp, rax
jmp 0x14008b63b
mov rcx, qword [rsp + 0x40]
mov rdx, r13
mov rdi, r10
mov r13, r11
call fcn.1400a7720
mov r11, r13
mov r10, rdi
jmp 0x14008dc61
mov eax, 1
mov rcx, qword [rsp + 0x1f0]
mov qword [rsp + 0xa0], rcx
jmp 0x14008aeb5
call fcn.1400c4aa0
jmp 0x14008dcd4
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x14008e263
lock dec dword [rcx]
jne 0x14008e263
call fcn.14010cc0c
jmp 0x14008e263
lock dec dword [rcx]
jne 0x14008d7f0
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x14008d7f0
call fcn.1400c4aa0
jmp 0x14008de1e
mov rcx, qword [rsp + 0x40]
mov rdx, r13
mov rdi, r10
mov r12, r11
call fcn.1400a7720
mov r11, r12
mov r12d, dword [rsp + 0x58]
mov r10, rdi
jmp 0x14008e3ec
add rax, rcx
cmp qword [rax + 8], rbp
je 0x14008ed4d
jle 0x14008b599
jmp 0x14008b839
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401cab90]
cmp qword [rcx + 0x10], rdx
jne 0x14008eba0
lea rcx, [0x140200ce0]
cmp rax, rcx
je 0x14008ebb3
mov rcx, rsi
mov edx, 1
call qword [0x140318008]
jmp 0x14008aefc
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14008ebc6
lock dec dword [rcx]
jne 0x14008ebc6
call fcn.14010cc0c
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x14008ebd4
lock dec dword [rcx]
je 0x14008ebe1
mov rcx, rsi
call fcn.14010cc0c
jmp 0x14008aefc
call fcn.1400c4aa0
jmp 0x14008ebd4
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x98]
call qword [0x140318008]
jmp 0x14008b75f
mov rcx, qword [rsp + 0x1f0]
call fcn.14010cc0c
jmp 0x14008af2a
cmp byte [r14 + 0x120], 0
je 0x14008aff0
mov rcx, r14
call fcn.1400ce890
lea rdx, [rsp + 0x7b0]
movaps xmm0, xmmword [rdx]
movaps xmm1, xmmword [rdx + 0x10]
lea r9, [rsp + 0x100]
movaps xmmword [r9], xmm0
movaps xmmword [r9 + 0x10], xmm1
mov rcx, qword [rsi]
mov r10, qword [rcx + 0x10]
mov byte [rsp + 0x20], al
mov rcx, rsi
mov r8, qword [rsp + 0x98]
mov rax, r10
call qword [0x140318008]
jmp 0x14008aff0
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401cab90]
cmp qword [rcx + 0x10], rdx
jne 0x14008ec8d
lea rcx, [0x140200ce0]
cmp rax, rcx
je 0x14008eca0
mov rcx, rsi
mov edx, 1
call qword [0x140318008]
jmp 0x14008e1e0
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14008ecb3
lock dec dword [rcx]
jne 0x14008ecb3
call fcn.14010cc0c
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x14008ecc1
lock dec dword [rcx]
je 0x14008ecce
mov rcx, rsi
call fcn.14010cc0c
jmp 0x14008e1e0
call fcn.1400c4aa0
jmp 0x14008ecc1
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14008ece8
lock dec dword [rcx]
jne 0x14008ece8
call fcn.14010cc0c
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x14008ecf6
lock dec dword [rcx]
je 0x14008ed03
mov rcx, rsi
call fcn.14010cc0c
jmp 0x14008e741
call fcn.1400c4aa0
jmp 0x14008ecf6
mov rcx, rsi
mov edx, 1
call qword [0x140318008]
jmp 0x14008e741
lock dec dword [rcx]
jne 0x14008e263
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x14008e263
lock dec dword [rcx]
jne 0x14008e7e9
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x14008e7e9
mov ecx, dword [rsp + 0x40]
cmp dword [rax + 0x10], ecx
jmp 0x14008eb75
add rsi, 0x10
mov rcx, rsi
call fcn.140165620
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 0xc0], rdx
mov qword [rcx + 0xc8], rbx
mov qword [rcx + 0xd0], rax
movabs rsi, 0xcf3cf3cf3cf3cf3d
jmp 0x14008e200
mov qword [r14 + 0xc0], rdx
mov qword [r14 + 0xc8], rbx
mov qword [r14 + 0xd0], rax
movabs rsi, 0xcf3cf3cf3cf3cf3d
jmp 0x14008e761
int3
int3
int3
int3
int3
int3
dec dword [r14 + 0xd8]
jmp 0x14008ba73
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
dec dword [r14 + 0xd8]
jmp 0x14008c9d5
int3
int3
mov rax, qword [rsp + 0x140]
mov qword [rcx], rax
jmp 0x14008c958
lock dec dword [rcx + 8]
jne 0x14008c4bd
mov rsi, r10
mov rdi, r11
call fcn.14005fb30
mov r11, rdi
mov r10, rsi
jmp 0x14008c4bd
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
lock dec dword [rcx + 8]
jne 0x14008beb3
mov rdi, r10
mov r13, r11
call fcn.14005fb30
mov r11, r13
mov r10, rdi
jmp 0x14008beb3
int3
int3
int3
int3
int3
int3
int3
lock dec dword [rcx + 8]
jne 0x14008c227
mov rdi, r10
mov r15, r11
call fcn.14005fb30
mov r11, r15
mov r10, rdi
mov dil, byte [rsp + 0x2f]
jmp 0x14008c227
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
lock dec dword [rcx + 8]
jne 0x14008d421
mov rdi, r10
mov rbx, r11
call fcn.14005fb30
mov r11, rbx
mov r10, rdi
jmp 0x14008d421
lea rdx, [rsp + 0x7b0]
mov rcx, r14
call fcn.1401ff450
jmp 0x14008afe0
int3
lock dec dword [rcx + 8]
jne 0x14008ce21
mov rdi, r10
mov r13, r11
call fcn.14005fb30
mov r11, r13
mov r10, rdi
jmp 0x14008ce21
int3
mov rdx, qword [r14 + 0x10]
mov r8b, byte [rdx + 0x51]
xor edx, edx
cmp r8b, cl
setae dl
jmp 0x14008afa6
int3
lock dec dword [rcx + 8]
jne 0x14008d19e
mov rdi, r10
mov r12, r11
call fcn.14005fb30
mov r11, r12
mov r10, rdi
mov dil, byte [rsp + 0x2f]
jmp 0x14008d19e
int3
int3
int3