Function at 0x140005300
Capabilities:
Encode data using base64
Encrypt data using speck
Hash data using fnv

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x1a38
call fcn.14003aaf0
sub rsp, rax
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x19a0], xmm12
movaps xmmword [rbp + 0x1990], xmm11
movaps xmmword [rbp + 0x1980], xmm10
movaps xmmword [rbp + 0x1970], xmm9
movapd xmmword [rbp + 0x1960], xmm8
movaps xmmword [rbp + 0x1950], xmm7
movaps xmmword [rbp + 0x1940], xmm6
mov qword [rbp + 0x1938], 0xfffffffffffffffe
mov rsi, rcx
mov rax, qword [rcx + 0x3e80]
mov qword [rax + 0x20], 0x7f7f
mov rax, qword [rcx + 0x10]
mov ecx, dword [rax + 0x27a0]
mov qword [rbp + 0x1910], rcx
lea r8, [rsi + 0x3a48]
mov rdx, qword [rax + 0x27a8]
lea rdi, [rbp + 0xfb8]
mov rcx, rdi
mov qword [rbp + 0x18d8], r8
call fcn.14000c6f0
mov eax, dword [rdi + 0x34]
sub eax, dword [rdi + 0x8b0]
mov ecx, dword [0x140236f14]
cmp ecx, eax
cmovl eax, ecx
mov dword [rsi + 0x242c], eax
mov dword [rsi + 0x3a40], 0
lea rax, [rsi + 0x20]
mov qword [rbp + 0x1920], rax
lea rax, [rsi + 0x2033e8]
mov qword [rbp + 0x1888], rax
lea rax, [rsi + 0x148]
mov qword [rbp + 0x1880], rax
mov eax, 1
mov qword [rbp + 0x18f0], rax
xorps xmm6, xmm6
movsd xmm7, qword [0x1400c8b30]
xorpd xmm8, xmm8
movsd xmm9, qword [0x1400c8c10]
movsd xmm10, qword [0x1400c8c18]
movsd xmm11, qword [0x1400c07d8]
movsd xmm12, qword [0x1400c8c20]
xor r12d, r12d
mov qword [rbp + 0x1930], rsi
nop
mov r14, qword [rsi + 0x10]
mov r13d, dword [r14 + 0xfc]
mov rax, qword [rsi + 0x203348]
mov ebx, dword [rax + 0xc8]
mov r15d, dword [0x140236f18]
lea rdi, [r14 + 0x28b0]
mov rcx, rdi
call fcn.1400396b8
test eax, eax
jne 0x14000769d
cmp dword [r14 + 0x28fc], 0x7fffffff
je 0x1400076a7
mov rdx, r12
inc r12d
test ebx, ebx
jne 0x1400076bc
mov eax, r12d
cmp r12d, 0x3d
mov r15, qword [rbp + 0x1910]
ja 0x1400054bc
mov ecx, edx
dec dword [r14 + rcx*4 + 0x27b8]
mov ecx, eax
inc dword [r14 + rcx*4 + 0x27b8]
mov r12d, eax
mov rcx, rdi
call fcn.1400398d8
mov rax, qword [rbp + 0x1930]
mov dword [rax + 0x3a40], r12d
mov rdi, qword [rax + 0x10]
cmp r12d, dword [rdi + 0xfc]
jg 0x140006f85
cmp dword [rax + 0x3e78], 0
jne 0x140006f85
mov eax, dword [rdi + 0x198]
mov dword [rbp + 0x1890], eax
mov qword [rbp + 0x18a0], 0
mov ecx, 0x18
call fcn.14003a89c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0x1898], rax
lea rcx, [rbp + 0x18a8]
movups xmmword [rcx], xmm6
mov qword [rcx + 0x10], 0
mov rdx, qword [rdi + 0x1c8]
mov qword [rbp + 0x18c0], rdx
mov rdx, qword [rdi + 0x1d0]
mov qword [rbp + 0x18c8], rdx
mov rdx, qword [rdi + 0x1b8]
sub rdx, qword [rdi + 0x1b0]
sar rdx, 3
mov r8, rax
call fcn.140009d20
mov rsi, qword [rdi + 0x1a0]
mov rdi, rsi
mov rdi, qword [rdi]
cmp rdi, rsi
jne 0x140007708
xor eax, eax
mov rdx, qword [rbp + 0x1930]
mov dword [rdx + 0x2428], eax
mov ecx, dword [rdx + 0x242c]
cmp eax, ecx
jae 0x140006cb0
cmp dword [rdx + 0x3e78], 0
jne 0x140006cb0
cmp dword [rdx + 0x20339c], 2
jge 0x140007721
test eax, eax
jne 0x140007762
mov rcx, qword [rbp + 0x1930]
mov eax, dword [rcx + 0x3a40]
cmp eax, 2
jl 0x140006f03
cmp eax, dword [rcx + 0x2033d0]
jle 0x140006b79
cmp r15d, 0xffff8319
mov eax, 0xffff8318
cmovge eax, r15d
add eax, 0xffffffe8
mov dword [rbp + 0x191c], eax
cmp r15d, 0x7ce8
mov eax, 0x7ce8
cmovge r15d, eax
add r15d, 0x18
mov eax, r15d
mov dword [rbp + 0x1918], r15d
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x2033e4], 3
mov rcx, qword [rax + 0x203348]
sete al
cmp dword [rcx + 0xc8], 0
jne 0x14000778f
test al, al
jne 0x140007796
mov rax, qword [rbp + 0x18f0]
add eax, 0xffff8300
mov dword [rbp + 0x18ec], eax
xor eax, eax
mov qword [rbp + 0x1900], rax
xor eax, eax
mov rcx, qword [rbp + 0x1930]
xchg byte [rcx + 0x2431], al
xor eax, eax
xchg byte [rcx + 0x2430], al
mov edi, dword [rcx + 0x3a40]
mov rax, qword [rcx + 0x10]
dec dword [rax + 0x108]
inc dword [rcx + 0x3e7c]
mov eax, dword [rcx + 0x2033d0]
mov dword [rbp + 0x18fc], eax
mov eax, dword [rcx + 0x15c]
cmp eax, 2
je 0x140006f1c
mov dword [rbp + 0x18e4], eax
mov rax, qword [rbp + 0x1880]
movupd xmm0, xmmword [rax]
movupd xmm1, xmmword [rax + 0x10]
movapd xmmword [rbp - 0x40], xmm1
movapd xmmword [rbp - 0x50], xmm0
cmp edi, 2
mov qword [rbp + 0x1910], rdi
jl 0x140006f2d
mov rsi, qword [rbp + 0x1930]
mov rax, qword [rsi + 0x3e80]
mov r8d, dword [rax]
mov rdx, qword [rax + 0x20]
mov byte [rsp + 0x20], 0
lea rcx, [rbp + 0xfb8]
mov r9d, edi
call fcn.140009460
movabs rdi, 0xcbf29ce484222325
movabs rbx, 0x100000001b3
mov eax, dword [rbp + 0xfec]
mov ecx, eax
sub ecx, dword [rbp + 0x1868]
mov dword [rsi + 0x2438], ecx
mov dword [rsi + 0x2434], ecx
test eax, eax
jle 0x1400057ca
mov rax, qword [rbp + 0x18c0]
mov rcx, qword [rbp + 0x1898]
mov rdx, qword [rbp + 0x18a8]
xor r8d, r8d
nop dword [rax]
mov r9, qword [rbp + 0x1850]
lea r10, [r8*8]
lea r10, [r10 + r10*2]
and byte [r9 + r10 + 6], 0xfe
mov r9, qword [rbp + 0x1850]
movzx r11d, byte [r9 + r10]
xor r11, rdi
imul r11, rbx
movzx esi, byte [r9 + r10 + 1]
xor rsi, r11
imul rsi, rbx
movzx r11d, byte [r9 + r10 + 2]
xor r11, rsi
imul r11, rbx
movzx esi, byte [r9 + r10 + 3]
xor rsi, r11
imul rsi, rbx
and rsi, rax
mov r11, rsi
shl r11, 4
mov r11, qword [rdx + r11 + 8]
cmp r11, rcx
jne 0x140007115
inc r8
movsxd r9, dword [rbp + 0xfec]
cmp r8, r9
jl 0x140005750
mov rax, qword [rbp + 0x1910]
lea r8d, [rax + rax]
mov rdx, qword [rbp + 0x1930]
mov rax, qword [rdx + 0x3e80]
mov qword [rax + 0x40], 0x7f7f
mov rax, qword [rdx + 0x3e80]
mov dword [rax + 0x230], 0
mov rax, qword [rdx + 0x3e80]
mov dword [rax + 0xc], 0
mov rax, qword [rdx + 0x3e80]
mov dword [rax + 0x18], 0
mov rax, qword [rdx + 0x3e80]
mov dword [rax + 0x14], 0
mov rax, qword [rdx + 0x3e80]
mov dword [rax + 0x10], 0
mov rax, qword [rdx + 0x3e80]
mov ecx, dword [rbp + 0x191c]
mov dword [rax + 4], ecx
mov rax, qword [rdx + 0x3e80]
mov ecx, dword [rbp + 0x1918]
mov dword [rax + 8], ecx
mov rax, qword [rdx + 0x3e80]
mov ecx, dword [rax + 4]
mov dword [rax], ecx
mov rax, qword [rdx + 0x3e80]
mov dword [rax + 0xa58], 0
mov rax, qword [rdx + 0x3e80]
mov dword [rbp + 0x18e8], r8d
mov dword [rax + 0xa5c], r8d
mov rax, qword [rdx + 0x3e80]
mov qword [rax + 0x30], 0x7f7f
mov rax, qword [rdx + 0x3e80]
mov dword [rax + 0x38], 0xffff82ff
mov dword [rbp + 0x192c], 0
mov rax, qword [rdx + 0x3e80]
cmp dword [rax + 0xc], 0
jne 0x1400062ff
add dword [rbp + 0x18e8], 0xfffffffe
mov eax, dword [rbp + 0x1918]
mov dword [rbp + 0x190c], eax
jmp 0x1400058ea
cmp dword [rax + 0xc], 0
jne 0x1400062ff
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x3e78], 0
jne 0x1400062ff
mov rax, qword [rbp + 0xfb8]
lea rcx, [rbp + 0xfb8]
lea rdx, [rbp + 0x192c]
call qword [rax]
mov rbx, rax
cmp rax, 0x7f7f
je 0x1400062ff
movabs rax, 0x3000000000000
test rbx, rax
jne 0x14000716b
mov rcx, qword [rbp + 0x1930]
mov rax, qword [rcx + 0x3e80]
mov qword [rax + 0x28], rbx
mov rdi, rbx
shr rdi, 0x18
mov rax, qword [rcx + 0x3e80]
test di, di
jne 0x140005e3c
movsxd rcx, dword [rax + 0x10]
lea edx, [rcx + 1]
mov dword [rax + 0x10], edx
lea rax, [rax + rcx*8 + 0x238]
mov qword [rax], rbx
mov rcx, qword [rbp + 0x1930]
mov rax, qword [rcx + 0x3e80]
inc dword [rax + 0x18]
mov rax, qword [rcx + 0x203348]
cmp dword [rax + 0xc8], 0
jne 0x1400059b0
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
movzx ecx, byte [rax + 0xa8]
test cl, cl
jne 0x140007184
mov rcx, qword [rbp + 0x1920]
mov rdx, rbx
call fcn.140035980
mov r13d, eax
mov r15d, 2
cmp eax, 1
je 0x140005a03
mov eax, ebx
and eax, 0xff0000
cmp eax, 0x10000
je 0x140005d96
mov rax, rbx
shr rax, 0x28
xor r15d, r15d
test al, al
jne 0x140005a03
mov rax, rbx
movabs rcx, 0xfe00000000
and rax, rcx
jne 0x140005dc6
mov rax, qword [rbp + 0x1930]
mov r12, qword [rax + 0x3e80]
mov eax, dword [r12 + 0xa5c]
xor r14d, r14d
cmp eax, 6
jge 0x140005ca0
add r15d, dword [rbp + 0x18e8]
lea edi, [r15 - 2]
cmp r14d, edi
cmovl edi, r14d
cmp edi, 2
mov esi, 0
cmovge esi, edi
mov rcx, qword [rbp + 0x1920]
mov rdx, rbx
mov r8, r12
call fcn.14002fc60
cmp r13d, 2
je 0x140005a68
mov rax, qword [rbp + 0x1930]
mov dword [rax + 0x15c], r13d
xor eax, eax
mov ecx, dword [rbp + 0x18fc]
cmp ecx, dword [rbp + 0x1910]
setge al
mov r8, qword [rbp + 0x1930]
mov rcx, qword [r8 + 0x3e80]
xor r12d, r12d
sub r12d, dword [rcx + rax*4]
mov r14d, dword [rbp + 0x190c]
neg r14d
lea rdx, [rcx + 0x1b20]
mov eax, r15d
mov qword [r8 + 0x3e80], rdx
sub eax, esi
jle 0x140005fba
mov dword [rdx], r14d
mov rcx, qword [r8 + 0x3e80]
mov dword [rcx + 4], r14d
mov rcx, qword [r8 + 0x3e80]
mov dword [rcx + 8], r12d
mov rcx, qword [r8 + 0x3e80]
mov dword [rcx + 0x1c], 0
mov rcx, qword [r8 + 0x3e80]
mov qword [rcx + 0x30], 0x7f7f
mov rcx, qword [r8 + 0x3e80]
mov qword [rcx + 0x20], 0x7f7f
mov rcx, qword [r8 + 0x3e80]
mov dword [rcx + 0x18], 0
mov rcx, qword [r8 + 0x3e80]
mov dword [rcx + 0x10], 0
mov rcx, qword [r8 + 0x3e80]
mov dword [rcx + 0xa58], 1
mov rcx, qword [r8 + 0x3e80]
mov dword [rcx + 0xa5c], eax
mov rax, qword [r8 + 0x3e80]
mov dword [rax + 0xc], 0
mov rax, qword [r8 + 0x3e80]
mov qword [rax + 0x28], 0x7f7f
mov rax, qword [r8 + 0x3e80]
mov qword [rax + 0x48], 0x7f7f
mov rax, qword [r8 + 0x3e80]
mov dword [rax + 0x230], 0
mov rcx, r8
call fcn.140027620
mov r13d, eax
mov rdx, qword [rbp + 0x1930]
mov rax, qword [rdx + 0x3e80]
lea rcx, [rax - 0x1b20]
mov qword [rdx + 0x3e80], rcx
cmp dword [rdx + 0x3e78], 0
jne 0x140007153
neg r13d
mov ecx, dword [rcx]
cmp edi, 2
jl 0x140005bb4
cmp ecx, r13d
jl 0x14000614d
cmp r13d, ecx
jg 0x140005e53
mov rcx, qword [rbp + 0x1920]
mov rdx, rbx
lea r8, [rbp - 0x50]
call fcn.14002da40
mov eax, dword [rbp + 0x18fc]
cmp eax, dword [rbp + 0x1910]
jge 0x140005e20
mov rax, qword [rbp + 0x1930]
mov r12, qword [rax + 0x3e80]
cmp r13d, dword [r12]
jle 0x140005c0a
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x3e78], 0
je 0x140006096
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x203348]
cmp dword [rax + 0xc8], 0
jne 0x140005c40
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x2033e4], 3
mov rax, qword [rax + 0x10]
je 0x1400073f7
mov byte [rax + 0xda], 0
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x3e78], 0
jne 0x140005c5d
mov rax, qword [rbp + 0x1930]
dec dword [rax + 0x2438]
cmp dword [0x140236f10], 0x63
jle 0x1400071bb
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x3e80]
mov ecx, dword [rbp + 0x18fc]
cmp ecx, dword [rbp + 0x1910]
jge 0x1400058e0
mov ecx, dword [rax]
inc ecx
mov dword [rbp + 0x190c], ecx
jmp 0x1400058e0
mov ecx, dword [rbp + 0x192c]
mov edx, dword [r12 + 4]
mov r8d, dword [r12 + 8]
inc edx
xor r9d, r9d
cmp r8d, edx
setg r9b
lea r9d, [r9 + r9 + 1]
cmp r9d, ecx
jg 0x140005a25
test di, di
jne 0x140006039
xor r9d, r9d
cmp r8d, edx
setg r9b
shr eax, 1
cmp ecx, 0x3f
mov edx, 0x3f
cmovge ecx, edx
shl r9, 0xe
shl rax, 8
lea rdx, [0x14022e900]
add rax, rdx
add rax, r9
mov r14d, dword [rax + rcx*4]
cmp dword [r12 + 0xa58], 0
jle 0x140005a25
mov rsi, qword [rbp + 0x1930]
mov eax, dword [rsi + 0x15c]
mov qword [rbp + 0x18d0], r12
cmp eax, 2
je 0x1400074bc
mov rcx, rbx
shr rcx, 0x38
lea edi, [r14 - 2]
cmp eax, 1
cmove edi, r14d
cmp ecx, 6
cmovae edi, r14d
mov r9d, dword [rsi + 0x140]
mov rcx, qword [rbp + 0x18d8]
mov rdx, rbx
mov r8, r12
call fcn.14007cb10
lea ecx, [rax + 0xff]
test eax, eax
cmovns ecx, eax
sar ecx, 8
cmp ecx, 4
mov eax, 4
cmovge ecx, eax
cmp ecx, 0xfffffffd
mov eax, 0xfffffffc
cmovl ecx, eax
sub edi, ecx
mov r12, qword [rbp + 0x18d0]
mov r14d, edi
jmp 0x140005a25
mov rax, qword [rbp + 0x1930]
movsxd rax, dword [rax + 0x140]
mov ecx, ebx
shr ecx, 0xb
and ecx, 0x1f
lea rdx, [0x1400e8d80]
lea rcx, [rdx + rcx*8]
cmp dword [rcx + rax*4], 7
jne 0x1400059df
jmp 0x140005a03
mov r8, qword [rbp + 0x1930]
movsxd rax, dword [r8 + 0x140]
mov ecx, 1
sub rcx, rax
lea rcx, [rcx + rcx*2]
mov edx, dword [r8 + rcx*4 + 0x128]
not edx
or edx, 0xfffffff0
add edx, dword [r8 + rcx*4 + 0x130]
cmp edx, 1
jne 0x140005a03
lea rax, [rax + rax*2]
xor r15d, r15d
mov rcx, qword [rbp + 0x1930]
test dword [rcx + rax*4 + 0x128], 0xffeffff0
sete r15b
jmp 0x140005a03
movsxd rax, dword [rbp + 0x192c]
mov rcx, qword [rbp + 0x1850]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8 + 8], r13d
jmp 0x140005be2
movsxd rcx, dword [rax + 0x14]
lea edx, [rcx + 1]
mov dword [rax + 0x14], edx
lea rax, [rax + rcx*8 + 0x918]
jmp 0x140005972
mov ecx, dword [rbp + 0x190c]
cmp ecx, dword [rax - 0x1b18]
jge 0x140005bbd
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x3e78], 0
jne 0x140005bbd
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x203348]
cmp dword [rax + 0xc8], 0
jne 0x140005eac
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
cmp qword [rax + 0xc0], 0x5f5e100
jne 0x140007b5b
mov rcx, qword [rbp + 0x1930]
mov r8, qword [rcx + 0x3e80]
mov eax, dword [r8 + 8]
mov dword [rbp + 0x190c], eax
neg eax
lea rdx, [r8 + 0x1b20]
mov qword [rcx + 0x3e80], rdx
test r15d, r15d
jle 0x140007b90
mov dword [rdx], eax
mov rdx, qword [rcx + 0x3e80]
mov dword [rdx + 4], eax
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 8], r12d
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 0x1c], 0
mov rax, qword [rcx + 0x3e80]
mov qword [rax + 0x30], 0x7f7f
mov rax, qword [rcx + 0x3e80]
mov qword [rax + 0x20], 0x7f7f
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 0x18], 0
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 0x10], 0
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 0xa58], 1
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 0xa5c], r15d
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 0xc], 0
mov rax, qword [rcx + 0x3e80]
mov qword [rax + 0x28], 0x7f7f
mov rax, qword [rcx + 0x3e80]
mov qword [rax + 0x48], 0x7f7f
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 0x230], 0
call fcn.140027620
mov r13d, eax
mov rax, qword [rbp + 0x1930]
add qword [rax + 0x3e80], 0xffffffffffffe4e0
neg r13d
jmp 0x140005bbd
mov dword [rcx + 0x1b3c], 0
mov rax, qword [r8 + 0x3e80]
mov dword [rax + 0xa58], 1
mov rax, qword [r8 + 0x3e80]
mov dword [rax], r14d
mov rax, qword [r8 + 0x3e80]
mov dword [rax + 4], r14d
mov rax, qword [r8 + 0x3e80]
mov dword [rax + 8], r12d
mov rax, qword [r8 + 0x3e80]
mov qword [rax + 0x20], 0x7f7f
mov rax, qword [r8 + 0x3e80]
mov qword [rax + 0x48], 0x7f7f
mov rax, qword [r8 + 0x3e80]
mov dword [rax + 0x230], 0
mov rcx, r8
mov edx, 1
xor r8d, r8d
call fcn.140033120
jmp 0x140005b75
cmp eax, 0x1b
ja 0x14000759a
mov r9d, eax
shr r9d, 1
lea r10, [0x1400d0580]
mov r9d, dword [r10 + r9*4 + 0x40]
cmp r9d, ecx
jge 0x140005a25
xor r9d, r9d
cmp r8d, edx
setg r9b
shr eax, 1
cmp ecx, 0x3f
mov edx, 0x3f
cmovge ecx, edx
shl r9, 0xe
shl rax, 8
lea rdx, [0x14022e900]
add rax, rdx
add rax, r9
mov r14d, dword [rax + rcx*4]
add r14d, 0xfffffffe
jmp 0x140005a25
mov edi, dword [rbp + 0x192c]
mov qword [r12 + 0x20], rbx
mov dword [r12], r13d
cmp dword [r12 + 8], r13d
jle 0x140006270
mov qword [r12 + 0x40], rbx
movsxd r8, dword [r12 + 0x1d50]
test r8, r8
je 0x140006e97
lea rcx, [r12 + 0x48]
lea rdx, [r12 + 0x1b68]
shl r8, 3
call fcn.14006dc20
mov eax, dword [r12 + 0x1d50]
inc eax
mov dword [r12 + 0x230], eax
mov rcx, qword [rbp + 0x1930]
mov r9d, dword [rcx + 0x3a40]
mov dword [rsp + 0x20], r13d
mov rdx, qword [rbp + 0x1920]
mov r8, r12
call fcn.14000a020
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x203348]
cmp dword [rax + 0xc8], 0
jne 0x140005c0a
cmp edi, 2
jl 0x140005c0a
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x20339c], 1
jne 0x140005c0a
jmp 0x140006816
mov rcx, qword [rbp + 0x1930]
mov rax, qword [rcx + 0x10]
mov byte [rax + 0xda], 1
mov rax, qword [rcx + 0x3e80]
lea rdx, [rax + 0x1b20]
mov qword [rcx + 0x3e80], rdx
mov dword [rax + 0x1b20], r14d
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 4], r14d
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 8], r12d
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 0x1c], 0
mov rax, qword [rcx + 0x3e80]
mov qword [rax + 0x30], 0x7f7f
mov rax, qword [rcx + 0x3e80]
mov qword [rax + 0x20], 0x7f7f
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 0x18], 0
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 0x10], 0
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 0xa58], 1
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 0xa5c], r15d
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 0xc], 0
mov rax, qword [rcx + 0x3e80]
mov qword [rax + 0x28], 0x7f7f
mov rax, qword [rcx + 0x3e80]
mov qword [rax + 0x48], 0x7f7f
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 0x230], 0
call fcn.140027620
mov r13d, eax
mov rdx, qword [rbp + 0x1930]
mov rax, qword [rdx + 0x3e80]
lea rcx, [rax - 0x1b20]
mov qword [rdx + 0x3e80], rcx
neg r13d
mov ecx, dword [rax - 0x1b20]
jmp 0x140005bb4
mov qword [r12 + 0x40], rbx
mov dword [r12 + 0x230], 1
inc dword [r12 + 0xc]
mov rcx, qword [rbp + 0x1930]
mov r9d, dword [rcx + 0x3a40]
mov dword [rsp + 0x20], r13d
mov rdx, qword [rbp + 0x1920]
mov r8, r12
call fcn.14000a020
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x203348]
cmp dword [rax + 0xc8], 0
jne 0x1400062ff
mov rcx, qword [rbp + 0x1930]
mov eax, dword [rcx + 0x20339c]
mov rcx, qword [rcx + 0x10]
test eax, eax
sete dl
cmp byte [rcx + 0xa8], 0
jne 0x1400062e0
xor edx, edx
xor ecx, ecx
test dl, dl
jne 0x140007a94
test eax, eax
sete al
test ecx, ecx
jne 0x140007b1d
test al, al
jne 0x140007b24
mov rax, qword [rbp + 0x1930]
mov r8, qword [rax + 0x3e80]
cmp dword [r8 + 0xc], 0
jne 0x140006680
cmp dword [r8 + 0x18], 0
je 0x1400075a5
cmp qword [r8 + 0x20], 0x7f7f
je 0x14000639f
mov rax, qword [rbp + 0x1930]
mov eax, dword [rax + 0x15c]
cmp eax, 2
je 0x1400075f5
cmp eax, 1
je 0x14000639f
mov r9, qword [rbp + 0x1930]
mov r8, qword [r9 + 0x3e80]
mov rax, qword [r8 + 0x20]
mov rcx, rax
shr rcx, 0x18
test cx, cx
jne 0x14000638c
mov ecx, dword [r8 + 0xa58]
mov rdx, qword [r9 + rcx*8 + 0x3a50]
cmp eax, edx
jne 0x1400067a3
mov qword [r9 + rcx*8 + 0x3a50], rax
mov r8, qword [r9 + 0x3e80]
mov rcx, qword [rbp + 0x18d8]
mov rdx, qword [rbp + 0x1920]
call fcn.140012a30
mov rcx, qword [rbp + 0x1930]
movsxd rax, dword [rcx + 0x3e7c]
lock add qword [rcx + 0x2450], rax
mov dword [rcx + 0x3e7c], 0
mov r8, qword [rcx + 0x3e80]
mov r15d, dword [r8]
cmp dword [rcx + 0x3e78], 0
jne 0x1400074f5
mov r9d, dword [rcx + 0x3a40]
mov dword [rsp + 0x20], r15d
mov rdx, qword [rbp + 0x1920]
call fcn.14000a020
mov rcx, qword [rbp + 0x1930]
cmp dword [rcx + 0x3e78], 0
jne 0x140006410
mov eax, dword [rcx + 0x21f8]
add eax, 0xfffffffd
cmp eax, 1
jbe 0x1400074db
mov rax, qword [rcx + 0x10]
cmp qword [rax + 0x27b0], 0xc9
jae 0x1400067b4
cmp r15d, dword [rbp + 0x1918]
setge al
mov r9, qword [rbp + 0x1930]
xchg byte [r9 + 0x2430], al
cmp r15d, dword [rbp + 0x191c]
setle al
xchg byte [r9 + 0x2431], al
mov rax, qword [r9 + 0x203348]
cmp dword [rax + 0xc8], 0
jne 0x14000648f
mov eax, dword [r9 + 0x2200]
mov rcx, qword [r9 + 0x3e80]
mov rcx, qword [rcx + 0x20]
mov rdx, qword [r9 + 0x10]
movsxd r8, dword [r9 + 0x3a40]
shl r8, 4
mov qword [r8 + rdx + 0x1c8], rcx
mov dword [r8 + rdx + 0x1d0], eax
mov rax, qword [r9 + 0x10]
mov rcx, qword [rax + 0x140]
mov edx, 0x21f0
add rcx, rdx
cmp dword [0x140236f18], 2
jge 0x14000750c
test byte [rcx + 0x240], 1
jne 0x140006690
cmp byte [rax + 0xd8], 0
jne 0x140006797
test byte [rcx + 0x241], 1
jne 0x1400064e0
cmp byte [rax + 0xd9], 0
je 0x1400064e8
xor ecx, ecx
jmp 0x1400064e2
mov cl, 1
mov byte [rax + 0xd9], cl
mov rax, qword [rbp + 0x1930]
test byte [rax + 0x2430], 1
jne 0x1400066b0
test byte [rax + 0x2431], 1
jne 0x140006570
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x3e78], 0
jne 0x140006a47
mov rcx, qword [rbp + 0x1930]
call fcn.140008cb0
test eax, eax
jne 0x14000756c
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x3e78], 0
jne 0x140006a47
mov rax, qword [rbp + 0x1930]
test byte [rax + 0x2431], 1
jne 0x14000565d
mov rax, qword [rbp + 0x1930]
test byte [rax + 0x2430], 1
je 0x140006950
jmp 0x14000565d
mov rax, qword [rax + 0x203348]
cmp dword [rax + 0xc8], 0
jne 0x1400065db
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x242c], 1
jne 0x1400065c7
mov rcx, qword [rbp + 0x1930]
movzx eax, byte [rcx + 0x2430]
and al, 1
movzx r9d, byte [rcx + 0x2431]
and r9b, 1
mov rdx, qword [rcx + 0x3e80]
mov r8, qword [rdx + 0x20]
mov byte [rsp + 0x20], al
mov rdx, qword [rbp + 0x1920]
call fcn.140008860
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x2033e4], 3
je 0x140007a0d
mov rdx, qword [rbp + 0x1900]
cmp edx, 5
jge 0x140007a27
mov dword [rbp + 0x191c], 0xffff8301
cmp r15d, 0xffff82ff
je 0x140006610
lea eax, [r15 - 0x7b00]
cmp eax, 0xffff0a01
jb 0x140006505
inc edx
cmp edx, 5
je 0x140006f4e
mov rax, qword [rbp + 0x1930]
mov eax, dword [rax + 0x3a40]
mov ecx, dword [0x140236f4c]
add ecx, ecx
neg ecx
cmp eax, dword [0x140236f48]
mov eax, 0
cmovg ecx, eax
mov qword [rbp + 0x1900], rdx
movsxd rax, edx
mov r8d, dword [rbp + 0x1918]
lea rdx, [0x1400d0260]
sub r8d, dword [rdx + rax*4]
add r8d, ecx
mov eax, dword [rbp + 0x18ec]
cmp eax, r8d
cmovg r8d, eax
mov dword [rbp + 0x191c], r8d
jmp 0x140006505
mov rcx, qword [rbp + 0x1930]
jmp 0x1400063c6
mov byte [rax + 0xd8], 1
mov byte [rax + 0xda], 0
jmp 0x1400064c9
mov rax, qword [rax + 0x203348]
cmp dword [rax + 0xc8], 0
jne 0x14000671b
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x242c], 1
jne 0x140006707
mov rcx, qword [rbp + 0x1930]
movzx eax, byte [rcx + 0x2430]
and al, 1
movzx r9d, byte [rcx + 0x2431]
and r9b, 1
mov rdx, qword [rcx + 0x3e80]
mov r8, qword [rdx + 0x20]
mov byte [rsp + 0x20], al
mov rdx, qword [rbp + 0x1920]
call fcn.140008860
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x2033e4], 3
je 0x140007a7a
mov dword [rbp + 0x1918], 0x7d00
mov rax, qword [rbp + 0x1900]
cmp eax, 4
jg 0x140006505
inc eax
cmp eax, 5
je 0x140006f4e
mov qword [rbp + 0x1900], rax
cdqe
mov rcx, qword [rbp + 0x1930]
mov ecx, dword [rcx + 0x3a40]
mov edx, dword [0x140236f4c]
add edx, edx
cmp ecx, dword [0x140236f48]
mov ecx, 0
cmovg edx, ecx
lea rcx, [0x1400d0260]
mov ecx, dword [rcx + rax*4]
add ecx, dword [rbp + 0x191c]
add ecx, edx
cmp ecx, 0x7d00
mov eax, 0x7d00
cmovge ecx, eax
mov dword [rbp + 0x1918], ecx
jmp 0x140006505
mov byte [rax + 0xd8], 0
jmp 0x1400064c9
mov qword [r9 + rcx*8 + 0x3c50], rdx
mov rax, qword [r8 + 0x20]
jmp 0x14000637d
mov r9, qword [rbp + 0x1930]
mov rax, qword [r9 + 0x2450]
shl rax, 2
lea rax, [rax + rax*4]
mov rcx, qword [r9 + 0x10]
mov r8, qword [rcx + 0x27b0]
shl r8, 4
xor edx, edx
div r8
mov dword [rcx + 0x10c], eax
mov rax, qword [r9 + 0x10]
mov ecx, dword [rax + 0xb8]
sub ecx, dword [rax + 0x27b0]
cmp ecx, 0x63
jle 0x140007f3d
mov rax, qword [r9 + 0x203348]
cmp dword [rax + 0xc8], 0
je 0x140006ea1
jmp 0x140006425
cmp dword [r12 + 4], r13d
setge r9b
cmp dword [r12 + 8], r13d
setle byte [rsp + 0x20]
mov rcx, qword [rbp + 0x1930]
mov rdx, qword [rbp + 0x1920]
mov r8, rbx
call fcn.140008860
jmp 0x140005c0a
mov r13, qword [rbx + 0x18]
mov r14d, dword [rbx + 0x20]
mov ecx, dword [rbx + 0x2c]
mov dword [rbp - 0x48], ecx
mov rcx, qword [rbx + 0x24]
mov rbx, rax
mov qword [rbp - 0x50], rcx
cmp r14d, dword [r12 + 8]
jg 0x14000692a
mov rax, rbx
cmp r14d, dword [rbx - 0x10]
jle 0x140006903
lea rax, [rbx - 0x18]
mov rcx, qword [rbx - 8]
mov qword [rbx + 0x10], rcx
movupd xmm0, xmmword [rbx - 0x18]
movupd xmmword [rbx], xmm0
cmp r14d, dword [rbx - 0x28]
jle 0x140006903
lea rcx, [rbx - 0x30]
mov rdx, qword [rbx - 0x20]
mov qword [rax + 0x10], rdx
movupd xmm0, xmmword [rbx - 0x30]
movupd xmmword [rax], xmm0
cmp r14d, dword [rbx - 0x40]
jle 0x140006900
lea rax, [rbx - 0x48]
mov rdx, qword [rbx - 0x38]
mov qword [rcx + 0x10], rdx
movupd xmm0, xmmword [rbx - 0x48]
movupd xmmword [rcx], xmm0
mov rcx, rax
cmp r14d, dword [rbx - 0x58]
jle 0x140006903
lea rax, [rcx - 0x18]
mov rdx, qword [rcx - 8]
mov qword [rcx + 0x10], rdx
movupd xmm0, xmmword [rcx - 0x18]
movupd xmmword [rcx], xmm0
cmp r14d, dword [rcx - 0x28]
mov rcx, rax
jle 0x140006903
jmp 0x1400068d5
mov rax, rcx
mov qword [rax], r13
mov dword [rax + 8], r14d
mov rcx, qword [rbp - 0x50]
mov qword [rax + 0xc], rcx
mov ecx, dword [rbp - 0x48]
mov dword [rax + 0x14], ecx
lea rax, [rbx + 0x18]
cmp rax, rdi
jne 0x140006850
jmp 0x140006ae9
mov r8, rbx
sub r8, r12
mov rcx, rsi
mov rdx, r12
call fcn.14006dc20
mov qword [r12], r13
mov rax, r12
jmp 0x140006906
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x3e78], 0
jne 0x140006a47
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
cmp dword [rax + 0x104], 0
jne 0x14000781c
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x3e78], 0
jne 0x140006a47
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x203348]
cmp dword [rax + 0xc8], 0
jne 0x1400069ce
mov rsi, qword [rbp + 0x1930]
mov edx, dword [rsi + 0x2420]
mov eax, dword [0x140236f48]
add eax, 6
cmp edx, eax
jg 0x140006bbd
mov rcx, qword [rsi + 0x10]
call fcn.140009ec0
mov rcx, qword [rbp + 0x1930]
mov eax, dword [rcx + 0x3a40]
xchg dword [rcx + 0x2424], eax
mov eax, dword [rcx + 0x20339c]
cmp eax, 1
jne 0x140006b6b
mov eax, dword [rcx + 0x3a40]
cmp eax, dword [0x140236f48]
jle 0x140006a5b
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0xa8], 0
jne 0x1400078e9
cmp r15d, dword [rbp + 0x18ec]
jle 0x1400078fb
mov edx, 0x7cff
sub edx, dword [rbp + 0x18f0]
mov rcx, qword [rbp + 0x1930]
cmp dword [rcx + 0x3a40], 2
setge cl
cmp r15d, edx
jge 0x140006a3f
xor ecx, ecx
test cl, cl
jne 0x14000795c
mov rdx, qword [rbp + 0x1930]
mov eax, dword [rdx + 0x2428]
inc eax
jmp 0x140005586
mov qword [rbp + 0xfe4], 0
mov dword [rbp + 0xff4], 0
mov r12, qword [rbp + 0x1850]
mov rdi, qword [rbp + 0x1858]
mov rax, rdi
sub rax, r12
mov r13, rax
sar r13, 3
movabs rcx, 0xaaaaaaaaaaaaaaab
imul r13, rcx
cmp r13, 2
jb 0x140006ae9
cmp rax, 0x317
jle 0x140006eba
mov rax, r13
shr rax, 1
mov rdx, r13
sub rdx, rax
lea rcx, [rbp - 0x50]
call fcn.140073f10
mov r9, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
mov qword [rsp + 0x20], rax
mov rcx, r12
mov rdx, rdi
mov r8, r13
call fcn.140073fa0
cmp qword [rbp - 0x48], 0xab
jae 0x1400081c2
mov rcx, qword [rbp + 0x1930]
mov rax, qword [rcx + 0x2033e8]
cmp rax, qword [rcx + 0x2033f0]
je 0x140006b07
mov qword [rcx + 0x2033f0], rax
mov rdi, qword [rbp + 0x1850]
mov rbx, qword [rbp + 0x1858]
nop word cs:[rax + rax]
nop
cmp rdi, rbx
je 0x140006b5e
mov rcx, qword [rbp + 0x1930]
mov rdx, qword [rcx + 0x2033f0]
cmp rdx, qword [rcx + 0x2033f8]
je 0x140006f6d
mov rax, qword [rdi + 0x10]
mov qword [rdx + 0x10], rax
movupd xmm0, xmmword [rdi]
movupd xmmword [rdx], xmm0
add qword [rcx + 0x2033f0], 0x18
add rdi, 0x18
jmp 0x140006b20
mov rcx, qword [rbp + 0x1930]
mov eax, dword [rcx + 0x20339c]
cmp eax, 2
jl 0x1400069fe
jmp 0x140007e46
mov rax, qword [rbp + 0x1930]
mov ecx, dword [rax + 0x2033d4]
mov edx, r15d
sub edx, ecx
cmp edx, 0xffff8319
mov eax, 0xffff8318
cmovl edx, eax
add edx, 0xffffffe8
mov dword [rbp + 0x191c], edx
add ecx, r15d
mov eax, 0x7ce8
cmp ecx, eax
cmovge ecx, eax
add ecx, 0x18
mov dword [rbp + 0x1918], ecx
jmp 0x140005615
mov rax, qword [rsi + 0x10]
lea r10d, [rdx - 2]
add edx, 0xfffffffa
test edx, edx
mov ecx, 0
cmovle edx, ecx
cmp r10d, edx
jl 0x140006f5f
mov r8d, r10d
mov r9, r8
shl r9, 4
mov r11d, dword [rax + r9 + 0x1d8]
xorpd xmm0, xmm0
cmp r11d, dword [rsi + 0x2210]
jne 0x140006ef9
mov ecx, dword [rax + r9 + 0x1e0]
cmp ecx, 0xffff8301
mov esi, 0xffff8300
cmovl ecx, esi
cmp edx, r10d
jl 0x140006d73
mov rsi, qword [rbp + 0x1930]
sub ecx, dword [rsi + 0x2200]
cmp ecx, 0xd
mov edx, 0xc
cmovl ecx, edx
add ecx, 0xfffffff4
xorps xmm2, xmm2
cvtsi2sd xmm2, ecx
mulsd xmm2, xmm7
maxsd xmm2, xmm8
mulsd xmm0, xmm9
movapd xmm1, xmm0
addsd xmm1, xmm10
mulsd xmm1, xmm2
addsd xmm1, xmm0
minsd xmm1, xmm11
movsd qword [rax + 0xe0], xmm1
mov qword [rax + 0xe8], 0
movsd xmm0, qword [rax + 0xf0]
ucomisd xmm1, xmm0
ja 0x140006edc
ucomisd xmm1, xmm8
jne 0x1400069c5
jp 0x1400069c5
ucomisd xmm9, xmm0
jbe 0x1400069c5
jmp 0x140007080
cmp ecx, 2
jae 0x1400077c8
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x203348]
cmp dword [rax + 0xc8], 0
jne 0x140006cf6
mov rcx, qword [rbp + 0x1930]
mov rax, qword [rcx + 0x3e80]
mov r8, qword [rax + 0x20]
mov byte [rsp + 0x20], 0
mov rdx, qword [rbp + 0x1920]
xor r9d, r9d
call fcn.140008860
mov rcx, qword [rbp + 0x18a8]
test rcx, rcx
je 0x140006d1e
mov rdx, qword [rbp + 0x18b8]
sub rdx, rcx
cmp rdx, 0x1000
jae 0x1400077e0
call fcn.14003a894
mov rdi, qword [rbp + 0x1898]
mov rax, qword [rdi + 8]
mov qword [rax], 0
mov rcx, qword [rdi]
test rcx, rcx
jne 0x140007801
mov qword [rbp + 0x1910], r15
mov edx, 0x18
mov rcx, rdi
call fcn.14003a894
mov rax, qword [rbp + 0x18f0]
inc eax
mov qword [rbp + 0x18f0], rax
mov rsi, qword [rbp + 0x1930]
mov r12d, dword [rsi + 0x3a40]
jmp 0x140005440
lea r10, [rax + 0x1d8]
lea rdi, [r8 - 1]
mov rbx, rdi
shl rbx, 4
mov esi, dword [r10 + rbx]
mov ebx, dword [r10 + rbx + 8]
xor r14d, r14d
cmp esi, r11d
sete r14b
lea r11, [0x1400c8bc0]
addsd xmm0, qword [r11 + r14*8]
cmp ebx, ecx
cmovg ecx, ebx
cmp edx, edi
jge 0x140006c1d
lea rdi, [r8 - 2]
mov rbx, rdi
shl rbx, 4
mov r11d, dword [r10 + rbx]
mov ebx, dword [r10 + rbx + 8]
xor r14d, r14d
cmp r11d, esi
sete r14b
lea rsi, [0x1400c8bd0]
addsd xmm0, qword [rsi + r14*8]
cmp ebx, ecx
cmovg ecx, ebx
cmp edx, edi
jge 0x140006c1d
lea rsi, [r8 - 3]
mov rbx, rsi
shl rbx, 4
mov edi, dword [r10 + rbx]
mov ebx, dword [r10 + rbx + 8]
xor r14d, r14d
cmp edi, r11d
sete r14b
lea r11, [0x1400c8be0]
addsd xmm0, qword [r11 + r14*8]
cmp ebx, ecx
cmovg ecx, ebx
cmp edx, esi
jge 0x140006c1d
lea r11, [r8 - 4]
mov rbx, r11
shl rbx, 4
mov esi, dword [r10 + rbx]
mov ebx, dword [r10 + rbx + 8]
xor r14d, r14d
cmp esi, edi
sete r14b
lea rdi, [0x1400c8bf0]
addsd xmm0, qword [rdi + r14*8]
cmp ebx, ecx
cmovg ecx, ebx
cmp edx, r11d
jge 0x140006c1d
add r8, 0xfffffffffffffffb
mov rdi, r8
shl rdi, 4
mov r11, qword [r10 + rdi]
xor ebx, ebx
cmp r11d, esi
sete bl
lea rsi, [0x1400c8c00]
addsd xmm0, qword [rsi + rbx*8]
mov r10d, dword [r10 + rdi + 8]
cmp r10d, ecx
cmovg ecx, r10d
cmp edx, r8d
jge 0x140006c1d
jmp 0x1400070bc
mov eax, 1
jmp 0x1400060e6
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x2033e4], 3
jne 0x140006425
jmp 0x1400081d0
cmp r12, rdi
je 0x140006ae9
lea rsi, [r12 + 0x18]
cmp rsi, rdi
je 0x140006ae9
mov rax, rsi
mov rbx, r12
jmp 0x140006850
movsd qword [rax + 0xf0], xmm1
mov ecx, dword [rsi + 0x2420]
mov dword [rax + 0xf8], ecx
movapd xmm0, xmm1
jmp 0x140006c88
movapd xmm0, xmm11
jmp 0x140006bfe
mov dword [rbp + 0x1918], 0x7d00
mov dword [rbp + 0x191c], 0xffff8300
jmp 0x140005615
mov rcx, qword [rbp + 0x1920]
call fcn.14000b590
jmp 0x1400056a5
mov qword [rbp + 0xfe4], 0
mov dword [rbp + 0xff4], 0
mov rsi, qword [rbp + 0x1930]
jmp 0x1400056fe
mov eax, 5
mov qword [rbp + 0x1900], rax
jmp 0x140006505
xorpd xmm0, xmm0
mov ecx, 0xffff8300
jmp 0x140006c1d
mov rcx, qword [rbp + 0x1888]
mov r8, rdi
call fcn.140005140
add rdi, 0x18
jmp 0x140006b20
mov ecx, 0xa8
add rcx, qword [rdi + 0x138]
call fcn.140004810
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
cmp qword [rax + 0xa0], 0
jne 0x1400082c5
mov ecx, 0xa8
add rcx, qword [rax + 0x138]
call fcn.1400398d8
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x203348]
cmp dword [rax + 0xc8], 0
jne 0x140006feb
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x2033e4], 3
je 0x140008440
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x3e80]
mov rsi, qword [rax + 0x20]
lea rax, vtable.RootMoveGenerator.0
mov qword [rbp + 0xfb8], rax
mov rcx, qword [rbp + 0x1850]
test rcx, rcx
je 0x140007033
mov rdx, qword [rbp + 0x1860]
sub rdx, rcx
cmp rdx, 0x1000
jae 0x140008337
call fcn.14003a894
mov rax, rsi
movaps xmm6, xmmword [rbp + 0x1940]
movaps xmm7, xmmword [rbp + 0x1950]
movaps xmm8, xmmword [rbp + 0x1960]
movaps xmm9, xmmword [rbp + 0x1970]
movaps xmm10, xmmword [rbp + 0x1980]
movaps xmm11, xmmword [rbp + 0x1990]
movaps xmm12, xmmword [rbp + 0x19a0]
add rsp, 0x1a38
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movapd xmm1, xmm11
xorps xmm2, xmm2
cvtsi2sd xmm2, dword [rax + 0xf8]
subsd xmm1, xmm0
mov ecx, dword [rsi + 0x2420]
xorps xmm0, xmm0
cvtsi2sd xmm0, rcx
mulsd xmm2, xmm12
divsd xmm2, xmm0
addsd xmm2, xmm1
movsd qword [rax + 0xe8], xmm2
jmp 0x1400069c5
lea r9, [rax + r9 + 0x180]
mov r10d, 0x40
mov rsi, r11
mov r11, qword [r9 - 8]
cmp r11d, esi
je 0x1400070ec
xorps xmm2, xmm2
cvtsi2sd xmm2, r10d
movsd xmm1, qword [0x1400c07d8]
divsd xmm1, xmm2
jmp 0x1400070f4
movsd xmm1, qword [0x1400c07e0]
addsd xmm0, xmm1
mov esi, dword [r9]
cmp esi, ecx
cmovg ecx, esi
add r10d, r10d
dec r8d
add r9, 0xfffffffffffffff0
cmp edx, r8d
jge 0x140006c1d
jmp 0x1400070ca
add r9, r10
mov r10, qword [r9]
cmp r10d, dword [r11 + 0x10]
jne 0x140007417
cmp r11, rcx
movabs rdi, 0xcbf29ce484222325
movabs rbx, 0x100000001b3
je 0x1400057bb
shr r10, 0x30
or r10b, 1
mov byte [r9 + 6], r10b
jmp 0x1400057bb
lea r8, [rbp - 0x50]
mov rcx, qword [rbp + 0x1920]
mov rdx, rbx
call fcn.14002da40
jmp 0x1400062ff
mov rax, qword [rbp + 0x1930]
dec dword [rax + 0x2438]
mov rax, qword [rax + 0x3e80]
jmp 0x1400058e0
cmp qword [rax + 0x27b0], 0x12d
jb 0x1400059b0
mov r9d, dword [rbp + 0x192c]
mov rax, qword [rbp + 0x1910]
mov dword [rsp + 0x20], eax
mov rdx, qword [rbp + 0x1920]
mov r8, rbx
call fcn.1400acf80
jmp 0x1400059b0
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
cmp qword [rax + 0xc0], 0x5f5e100
je 0x140005c6a
mov rcx, qword [rbp + 0x1910]
cmp dword [rax + 0xfc], ecx
jne 0x140005c6a
mov eax, dword [rbp + 0xfec]
sub eax, dword [rbp + 0x1868]
cmp dword [rbp + 0x192c], eax
jge 0x140005c6a
lea rdi, [rbp + 0x1870]
mov rcx, rdi
call fcn.140004850
mov rsi, qword [rbp + 0x1930]
mov rcx, qword [rsi + 0x10]
mov rax, qword [rdi]
sub rax, qword [rcx + 0x128]
movabs rdx, 0x431bde82d7b634db
imul rdx
mov rax, rdx
shr rax, 0x3f
sar rdx, 0x12
add rdx, rax
mov qword [rcx + 0x27b0], rdx
mov rcx, qword [rsi + 0x10]
call fcn.1400ace80
mov rdi, rax
mov rcx, qword [rsi + 0x10]
add rax, rax
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
mov rcx, qword [rcx + 0x27b0]
shr rdx, 1
cmp rcx, rdx
jae 0x140005c6a
cmp rdi, rcx
jb 0x140005c6a
mov rax, rdi
sub rax, rcx
mov ecx, dword [rbp + 0xfec]
mov edx, dword [rbp + 0x1868]
add edx, dword [rbp + 0x192c]
sub ecx, edx
shl ecx, 2
movsxd rcx, ecx
xor edx, edx
div rcx
cmp rax, 0x32
jb 0x140005c6a
mov r12, rax
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x3e78], 0
jne 0x140005c6a
mov eax, 0x3e8
cmp r12, rax
jb 0x1400072da
mov r12d, 0x3e8
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x203348]
cmp dword [rax + 0xc8], 0
jne 0x1400073c5
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x2033e4], 3
jne 0x1400073c5
cmp qword [0x1402369b8], 0x10
jb 0x14000731c
mov rdx, qword [0x1402369a0]
jmp 0x140007323
lea rdx, [0x1402369a0]
mov r8, qword [0x1402369b0]
lea rcx, [0x140145f30]
call fcn.140075630
lea rcx, [0x140145f30]
lea rdx, str.index
call fcn.140072f20
mov edx, dword [rbp + 0x192c]
lea rcx, [0x140145f30]
call fcn.140075900
lea rcx, [0x140145f30]
lea rdx, str._waiting_for
call fcn.140072f20
lea rcx, [0x140145f30]
mov rdx, r12
call fcn.14006f140
lea r13, [0x140145f30]
lea rdx, str._ms.
mov rcx, r13
call fcn.140072f20
mov rax, qword [0x140145f30]
movsxd rax, dword [rax + 4]
add r13, rax
mov rcx, r13
mov dl, 0xa
call fcn.14000ebe0
lea rcx, [0x140145f30]
mov edx, eax
call fcn.14006f000
lea rcx, [0x140145f30]
call fcn.140074270
lea rcx, [rbp + 0x1878]
mov qword [rcx], r12
call fcn.1400ad040
mov rcx, qword [rbp + 0x1930]
call fcn.140008cb0
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax + 0x27b0]
jmp 0x14000727b
cmp byte [rax + 0xda], 0
je 0x140005c39
cmp qword [0x1402369b8], 0x10
jb 0x14000744a
mov rdx, qword [0x1402369a0]
jmp 0x140007451
add rsi, rsi
mov rsi, qword [rdx + rsi*8]
cmp r11, rsi
movabs rdi, 0xcbf29ce484222325
movabs rbx, 0x100000001b3
je 0x1400057bb
mov r11, qword [r11 + 8]
cmp r10d, dword [r11 + 0x10]
jne 0x14000741e
jmp 0x140007125
lea rdx, [0x1402369a0]
mov r8, qword [0x1402369b0]
lea rcx, [0x140145f30]
call fcn.140075630
lea rdi, [0x140145f30]
lea rdx, str.resetting_fail_high_root
mov rcx, rdi
call fcn.140072f20
mov rax, qword [0x140145f30]
movsxd rax, dword [rax + 4]
add rdi, rax
mov rcx, rdi
mov dl, 0xa
call fcn.14000ebe0
lea rcx, [0x140145f30]
mov edx, eax
call fcn.14006f000
lea rcx, [0x140145f30]
call fcn.140074270
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
jmp 0x140005c39
mov rcx, qword [rbp + 0x1920]
call fcn.14000b590
mov rcx, qword [rsi + 0x3e80]
mov qword [rbp + 0x18d0], rcx
jmp 0x140005d2f
cmp qword [0x1402369b8], 0x10
jb 0x140007606
mov rdx, qword [0x1402369a0]
jmp 0x14000760d
mov eax, dword [rcx + 0x2438]
cmp eax, dword [rcx + 0x2434]
jne 0x1400063d6
jmp 0x140006410
mov edx, 0x22
mov r8, qword [rax + 0x138]
mov r8, qword [r8 + rdx*8]
mov r8, qword [r8 + 0xb0]
test r8, r8
je 0x140007535
cmp qword [r8 + 0x2210], 0x7f7f
jne 0x140007552
movsxd r8, dword [0x140236f18]
lea r9, [rdx + 1]
add rdx, 0xffffffffffffffe0
cmp rdx, r8
mov rdx, r9
jge 0x1400064af
jmp 0x140007511
cmp qword [rcx + 0x20], 0x7f7f
jne 0x140007d40
add r8, 0x21f0
mov rcx, r8
jmp 0x140007535
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x2033e4], 3
jne 0x140007c68
cmp qword [0x1402369b8], 0x10
jb 0x140007c06
mov rdx, qword [0x1402369a0]
jmp 0x140007c0d
mov r9d, 0xdc
jmp 0x140006054
cmp dword [rbp + 0x18e4], 1
jne 0x1400079a5
mov eax, dword [rbp + 0xfec]
cmp eax, dword [rbp + 0x1868]
jne 0x14000639f
mov dword [r8], 0xffff8300
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x20339c], 0
jne 0x14000639f
mov rax, qword [rbp + 0x1930]
mov dword [rax + 0x21f8], 3
jmp 0x14000639f
mov rcx, qword [rbp + 0x1920]
call fcn.14000b590
jmp 0x140006343
lea rdx, [0x1402369a0]
mov r8, qword [0x1402369b0]
lea rcx, [0x140145f30]
call fcn.140075630
lea rcx, [0x140145f30]
lea rdx, str.terminating_due_to_checkmate_or_statemate__state
call fcn.140072f20
mov rax, qword [rbp + 0x1930]
mov edx, dword [rax + 0x21f8]
lea rdi, [0x140145f30]
mov rcx, rdi
call fcn.140075900
mov rax, qword [0x140145f30]
movsxd rax, dword [rax + 4]
add rdi, rax
mov rcx, rdi
mov dl, 0xa
call fcn.14000ebe0
lea rcx, [0x140145f30]
mov edx, eax
call fcn.14006f000
lea rcx, [0x140145f30]
call fcn.140074270
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax + 0x138]
call fcn.1400abf40
jmp 0x140006950
mov ecx, 5
call fcn.14003b2e8
mov dword [r14 + 0x28fc], 0x7ffffffe
mov ecx, 6
call fcn.14003b2e8
test edx, edx
je 0x140007e1a
cmp r12d, r13d
jae 0x140005495
mov r12d, r12d
mov ecx, 1
mov eax, r15d
shr eax, cl
test eax, eax
je 0x140005495
cmp dword [r14 + r12*4 + 0x27b8], eax
jb 0x140005495
inc r12
cmp ecx, 6
ja 0x140005495
inc ecx
cmp r12, r13
jb 0x1400076d5
jmp 0x140005495
lea r8, [rdi + 0x10]
lea rcx, [rbp + 0x1890]
lea rdx, [rbp - 0x50]
call fcn.140085020
jmp 0x140005571
mov rax, qword [rbp + 0x1930]
lea rcx, [rax + 0x21f0]
call fcn.1400aedd0
cmp dword [rbp + 0x18f0], 2
jb 0x140007c84
mov rdx, qword [rbp + 0x1930]
mov eax, dword [rdx + 0x2428]
imul rcx, rax, 0x230
mov r15d, dword [rdx + rcx + 0x2464]
jmp 0x1400055b4
dec eax
imul rax, rax, 0x230
mov rcx, qword [rbp + 0x1930]
lea r8, [rcx + rax + 0x2688]
lea rcx, [rbp + 0x1890]
lea rdx, [rbp - 0x50]
call fcn.140085020
jmp 0x1400055bc
xor eax, eax
jmp 0x14000563a
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
test byte [rax + 0x100], 1
je 0x140005642
cmp qword [0x1402369b8], 0x10
jb 0x140007f57
mov rdx, qword [0x1402369a0]
jmp 0x140007f5e
mov rax, qword [rbp + 0x1930]
lea rcx, [rax + 0x21f0]
call fcn.1400aefd0
jmp 0x140006cb9
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140008354
add rdx, 0x27
mov rcx, rax
jmp 0x140006d19
mov rsi, qword [rcx]
mov edx, 0x18
call fcn.14003a894
mov rcx, rsi
test rsi, rsi
je 0x140006d3c
jmp 0x140007801
test byte [rax + 0x100], 1
jne 0x14000697c
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
cmp dword [rax + 0x104], 2
jne 0x14000784e
cmp qword [rax + 0xc0], 0x5f5e100
je 0x14000697c
mov ecx, dword [rbp + 0xfec]
sub ecx, dword [rbp + 0x1868]
cmp ecx, 1
jne 0x14000697c
mov rcx, qword [rbp + 0x1930]
cmp dword [rcx + 0x3a40], 2
jl 0x14000697c
mov rcx, qword [rbp + 0x1930]
cmp byte [rcx + 0x203360], 0
je 0x1400078a0
mov rdx, qword [rbp + 0x1930]
mov ecx, dword [rdx + 0x2200]
cmp ecx, dword [rdx + 0x203364]
jle 0x14000697c
mov rcx, qword [rbp + 0x1930]
mov rcx, qword [rcx + 0x203348]
cmp dword [rcx + 0xc8], 0
jne 0x1400084eb
mov rcx, qword [rbp + 0x1930]
cmp dword [rcx + 0x2033e4], 3
jne 0x1400084eb
cmp qword [0x1402369b8], 0x10
jb 0x14000847e
mov rdx, qword [0x1402369a0]
jmp 0x140008485
cmp dword [rax + 0x104], 1
je 0x140006a0f
jmp 0x140006a47
mov rcx, qword [rbp + 0x1930]
cmp qword [rcx + 0x2210], 0x7f7f
je 0x140006a1c
mov rcx, qword [rbp + 0x1930]
mov rcx, qword [rcx + 0x203348]
cmp dword [rcx + 0xc8], 0
jne 0x140008257
mov rcx, qword [rbp + 0x1930]
cmp dword [rcx + 0x2033e4], 3
jne 0x140008257
cmp qword [0x1402369b8], 0x10
jb 0x1400081ea
mov rdx, qword [0x1402369a0]
jmp 0x1400081f1
mov rcx, qword [rbp + 0x1930]
mov rcx, qword [rcx + 0x203348]
cmp dword [rcx + 0xc8], 0
jne 0x14000810c
mov rcx, qword [rbp + 0x1930]
cmp dword [rcx + 0x2033e4], 3
jne 0x14000810c
cmp qword [0x1402369b8], 0x10
jb 0x14000809f
mov rdx, qword [0x1402369a0]
jmp 0x1400080a6
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x20339c], 0
jne 0x1400079c6
mov rax, qword [rbp + 0x1930]
mov dword [rax + 0x21f8], 4
mov rax, qword [rbp + 0x1930]
mov rcx, qword [rax + 0x10]
mov rax, qword [rax + 0x2450]
and eax, 1
dec eax
mov edx, dword [rcx + 0x124]
test edx, edx
je 0x140007f28
mov r8, qword [rbp + 0x1930]
mov r8d, dword [r8 + 0x140]
cmp r8d, dword [rcx + 0x120]
jne 0x140007f26
sub eax, edx
jmp 0x140007f28
cmp qword [0x1402369b8], 0x10
jb 0x140007ca1
mov rdx, qword [0x1402369a0]
jmp 0x140007ca8
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x203348]
cmp dword [rax + 0xc8], 0
mov dword [rbp + 0x191c], 0xffff8301
jne 0x140006505
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x2033e4], 3
jne 0x140006505
cmp qword [0x1402369b8], 0x10
jb 0x14000811d
mov rdx, qword [0x1402369a0]
jmp 0x140008124
cmp qword [0x1402369b8], 0x10
jb 0x140007d7b
mov rdx, qword [0x1402369a0]
jmp 0x140007d82
lea rcx, [0x140145f30]
lea rdx, str.info_score
call fcn.140072f20
lea rdx, [0x140145f30]
mov ecx, r13d
call fcn.1400a9c50
lea r12, [0x140145f30]
lea rdx, str._lowerbound
mov rcx, r12
call fcn.140072f20
mov rax, qword [0x140145f30]
movsxd rax, dword [rax + 4]
add r12, rax
mov rcx, r12
mov dl, 0xa
call fcn.14000ebe0
lea rcx, [0x140145f30]
mov edx, eax
call fcn.14006f000
lea rcx, [0x140145f30]
call fcn.140074270
mov rdx, qword [rbp + 0x1930]
mov rax, qword [rdx + 0x203348]
mov ecx, dword [rax + 0xc8]
mov eax, dword [rdx + 0x20339c]
jmp 0x1400062ea
xor eax, eax
jmp 0x1400062f7
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
mov r9d, dword [rbp + 0x192c]
mov cl, byte [rax + 0xa8]
mov rax, qword [rbp + 0x1910]
mov dword [rsp + 0x20], eax
mov rdx, qword [rbp + 0x1920]
mov r8, rbx
call fcn.1400acf80
jmp 0x1400062ff
mov byte [rax + 0xda], 1
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x2033e4], 3
jne 0x140005eac
cmp qword [0x1402369b8], 0x10
jb 0x140008184
mov rdx, qword [0x1402369a0]
jmp 0x14000818b
xor edx, edx
mov dword [r8 + 0x1b3c], edx
mov r8, qword [rcx + 0x3e80]
mov dword [r8 + 0xa58], 1
mov r8, qword [rcx + 0x3e80]
mov dword [r8], eax
mov r8, qword [rcx + 0x3e80]
mov dword [r8 + 4], eax
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 8], r12d
mov rax, qword [rcx + 0x3e80]
mov r8d, 0x7f7f
mov qword [rax + 0x20], r8
mov rax, qword [rcx + 0x3e80]
mov qword [rax + 0x48], r8
mov rax, qword [rcx + 0x3e80]
mov dword [rax + 0x230], edx
mov edx, 1
xor r8d, r8d
call fcn.140033120
jmp 0x140005f9d
lea rdx, [0x1402369a0]
mov r8, qword [0x1402369b0]
lea rcx, [0x140145f30]
call fcn.140075630
lea rdi, [0x140145f30]
lea rdx, [0x1400f7da7]
mov rcx, rdi
call fcn.140072f20
mov rax, qword [0x140145f30]
movsxd rax, dword [rax + 4]
add rdi, rax
mov rcx, rdi
mov dl, 0xa
call fcn.14000ebe0
lea rcx, [0x140145f30]
mov edx, eax
call fcn.14006f000
lea rcx, [0x140145f30]
call fcn.140074270
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax + 0x138]
call fcn.1400abf40
jmp 0x14000652d
mov rcx, qword [rbp + 0x1930]
mov rax, qword [rcx + 0x10]
mov r15d, dword [rax + 0x27a0]
mov eax, dword [rcx + 0x2428]
jmp 0x1400055b4
lea rdx, [0x1402369a0]
mov r8, qword [0x1402369b0]
lea rcx, [0x140145f30]
call fcn.140075630
lea rcx, [0x140145f30]
lea rdx, str.ply_0_fail_low__re_searching_..._value
call fcn.140072f20
lea rdx, [0x140145f30]
mov ecx, r15d
call fcn.1400a9b30
lea rcx, [0x140145f30]
lea rdx, str._fails
call fcn.140072f20
mov rax, qword [rbp + 0x1900]
lea edx, [rax + 1]
lea rdi, [0x140145f30]
mov rcx, rdi
call fcn.140075900
mov rax, qword [0x140145f30]
movsxd rax, dword [rax + 4]
add rdi, rax
mov rcx, rdi
mov dl, 0xa
call fcn.14000ebe0
lea rcx, [0x140145f30]
mov edx, eax
call fcn.14006f000
lea rcx, [0x140145f30]
call fcn.140074270
jmp 0x1400065db
mov r9d, dword [r8 + 0x2200]
cmp r9d, dword [rcx + 0x10]
jle 0x140007535
mov r9d, dword [r8 + 0x2424]
cmp r9d, dword [rcx + 0x234]
jae 0x140007560
cmp dword [r8 + 0x21fc], 0x7c00
jl 0x140007535
jmp 0x140007560
lea rdx, [0x1402369a0]
mov r8, qword [0x1402369b0]
lea rcx, [0x140145f30]
call fcn.140075630
lea rcx, [0x140145f30]
lea rdx, str.ply_0_fail_high__re_searching_..._value
call fcn.140072f20
lea rdx, [0x140145f30]
mov ecx, r15d
call fcn.1400a9b30
lea rcx, [0x140145f30]
lea rdx, str._fails
call fcn.140072f20
mov rax, qword [rbp + 0x1900]
lea edx, [rax + 1]
lea rdi, [0x140145f30]
mov rcx, rdi
call fcn.140075900
mov rax, qword [0x140145f30]
movsxd rax, dword [rax + 4]
add rdi, rax
mov rcx, rdi
mov dl, 0xa
call fcn.14000ebe0
lea rcx, [0x140145f30]
mov edx, eax
call fcn.14006f000
lea rcx, [0x140145f30]
call fcn.140074270
jmp 0x14000671b
mov ecx, ebx
and ecx, 1
xor eax, eax
cmp r12d, r13d
cmovb eax, ecx
add eax, r12d
cmp eax, r13d
jae 0x140007e3a
inc ebx
and ebx, 3
cmp ebx, 1
adc eax, 0
mov r15, qword [rbp + 0x1910]
jmp 0x1400054a5
lea rdx, [rcx + 0x21f0]
lea rdi, [rbp - 0x50]
mov rcx, rdi
call fcn.1400959f0
mov rsi, r15
mov rcx, qword [rbp + 0x1930]
lea rbx, [rcx + 0x2460]
lea r14, [rbp + 0x1d0]
mov eax, dword [rcx + 0x2428]
imul r15, rax, 0x230
lea r12, [rcx + r15 + 0x2460]
mov r8d, 0x200
mov rcx, r12
mov rdx, rdi
call fcn.14006dc20
cmp r12, rdi
je 0x140008268
mov rax, qword [rbp + 0x1930]
lea rdi, [rax + r15 + 0x2660]
mov rax, qword [rbx + r15 + 0x218]
cmp rax, 0x10
jb 0x140007ef1
mov rcx, qword [rdi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140007eec
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140008354
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.14003a894
movups xmm0, xmmword [rbp + 0x1b0]
movupd xmm1, xmmword [rbp + 0x1c0]
movupd xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
movupd xmm0, xmmword [r14]
movupd xmmword [rbx + r15 + 0x220], xmm0
mov rcx, qword [rbp + 0x1930]
mov r15, rsi
jmp 0x1400069fe
add eax, edx
mov rcx, qword [rbp + 0x1930]
mov rcx, qword [rcx + 0x3e80]
mov dword [rcx], eax
jmp 0x14000639f
mov ecx, dword [rax + 0x10c]
mov edx, ecx
shr edx, 0x1f
add edx, ecx
sar edx, 1
mov dword [rax + 0x10c], edx
jmp 0x1400067fd
lea rdx, [0x1402369a0]
mov r8, qword [0x1402369b0]
lea rcx, [0x140145f30]
call fcn.140075630
mov rax, qword [rbp + 0x1930]
cmp dword [rax + 0x20339c], 2
jl 0x140007fc0
lea rcx, [0x140145f30]
lea rdx, [0x1400faaa8]
call fcn.140072f20
mov rax, qword [rbp + 0x1930]
mov edx, dword [rax + 0x2428]
lea rcx, [0x140145f30]
call fcn.1400856c0
lea rcx, [0x140145f30]
lea rdx, [0x1400fd425]
call fcn.140072f20
mov rax, qword [rbp + 0x1930]
mov edx, dword [rax + 0x3a40]
lea rcx, [0x140145f30]
call fcn.140075900
lea rcx, [0x140145f30]
lea rdx, str.._move
call fcn.140072f20
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x3e80]
mov rcx, qword [rax + 0x20]
lea rdx, [0x140145f30]
call fcn.1400a85c0
lea rcx, [0x140145f30]
lea rdx, [0x1400fac88]
call fcn.140072f20
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x3e80]
mov ecx, dword [rax]
lea rdx, [0x140145f30]
call fcn.1400a9b30
lea rcx, [0x140145f30]
lea rdx, str._terminate
call fcn.140072f20
mov rax, qword [rbp + 0x1930]
mov edx, dword [rax + 0x3e78]
lea rdi, [0x140145f30]
mov rcx, rdi
call fcn.140075900
mov rax, qword [0x140145f30]
movsxd rax, dword [rax + 4]
add rdi, rax
mov rcx, rdi
mov dl, 0xa
call fcn.14000ebe0
lea rcx, [0x140145f30]
mov edx, eax
call fcn.14006f000
lea rcx, [0x140145f30]
call fcn.140074270
jmp 0x140005642
lea rdx, [0x1402369a0]
mov r8, qword [0x1402369b0]
lea rcx, [0x140145f30]
call fcn.140075630
lea rdi, [0x140145f30]
lea rdx, str.terminating__high_score
mov rcx, rdi
call fcn.140072f20
mov rax, qword [0x140145f30]
movsxd rax, dword [rax + 4]
add rdi, rax
mov rcx, rdi
mov dl, 0xa
call fcn.14000ebe0
lea rcx, [0x140145f30]
mov edx, eax
call fcn.14006f000
lea rcx, [0x140145f30]
call fcn.140074270
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax + 0x138]
call fcn.1400abf40
jmp 0x140006a47
lea rdx, [0x1402369a0]
mov r8, qword [0x1402369b0]
lea rcx, [0x140145f30]
call fcn.140075630
lea rdi, [0x140145f30]
lea rdx, str.too_many_aspiration_window_steps__setting_window_to_max_width
mov rcx, rdi
call fcn.140072f20
mov rax, qword [0x140145f30]
movsxd rax, dword [rax + 4]
add rdi, rax
mov rcx, rdi
mov dl, 0xa
call fcn.14000ebe0
lea rcx, [0x140145f30]
mov edx, eax
call fcn.14006f000
lea rcx, [0x140145f30]
call fcn.140074270
jmp 0x140006505
lea rdx, [0x1402369a0]
mov r8, qword [0x1402369b0]
lea rcx, [0x140145f30]
call fcn.140075630
lea rcx, [0x140145f30]
lea rdx, str.researching_at_root__extending_time
call fcn.140072f20
lea rcx, [0x140145f30]
call fcn.140079ef0
jmp 0x140005eac
mov rcx, qword [rbp - 0x50]
call fcn.140039c1c
jmp 0x140006ae9
cmp qword [0x1402369b8], 0x10
jb 0x140008359
mov rdx, qword [0x1402369a0]
jmp 0x140008360
lea rdx, [0x1402369a0]
mov r8, qword [0x1402369b0]
lea rcx, [0x140145f30]
call fcn.140075630
lea rdi, [0x140145f30]
lea rdx, str.terminating__low_score
mov rcx, rdi
call fcn.140072f20
mov rax, qword [0x140145f30]
movsxd rax, dword [rax + 4]
add rdi, rax
mov rcx, rdi
mov dl, 0xa
call fcn.14000ebe0
lea rcx, [0x140145f30]
mov edx, eax
call fcn.14006f000
lea rcx, [0x140145f30]
call fcn.140074270
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax + 0x138]
call fcn.1400abf40
jmp 0x140006a47
mov rax, qword [rbp + 0x1c8]
movupd xmm0, xmmword [r14]
movupd xmmword [rbx + r15 + 0x220], xmm0
cmp rax, 0x10
jb 0x140007f17
mov rcx, qword [rbp + 0x1b0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400082bb
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140008354
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.14003a894
jmp 0x140007f17
mov rcx, qword [rbp + 0x1930]
mov rcx, qword [rcx + 0x203348]
mov ecx, dword [rcx + 0xc8]
cmp dword [rax + 0x154], ecx
jne 0x140006faf
mov rdx, qword [rax + 0x138]
mov r8d, dword [rdx + 0x100]
test r8, r8
je 0x140006faf
xor r9d, r9d
cmp rcx, r9
je 0x14000832a
cmp r9, 0x100
jae 0x140008612
mov r10, r9
shr r10, 6
mov r10, qword [rdx + r10*8 + 0x948]
bt r10, r9
jae 0x1400085fb
inc r9
cmp r8, r9
jne 0x1400082ff
jmp 0x140006faf
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140008354
add rdx, 0x27
mov rcx, rax
jmp 0x14000702e
call fcn.14004d508
lea rdx, [0x1402369a0]
mov r8, qword [0x1402369b0]
lea rcx, [0x140145f30]
call fcn.140075630
lea rcx, [0x140145f30]
lea rdx, str.time_check_interval
call fcn.140072f20
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
mov edx, dword [rax + 0x10c]
lea rcx, [0x140145f30]
call fcn.140075900
lea rcx, [0x140145f30]
lea rdx, str._elapsed_time
call fcn.140072f20
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
mov rdx, qword [rax + 0x27b0]
lea rcx, [0x140145f30]
call fcn.14006f140
lea rcx, [0x140145f30]
lea rdx, str._target
call fcn.140072f20
mov rax, qword [rbp + 0x1930]
mov rcx, qword [rax + 0x10]
call fcn.1400ace80
lea rdi, [0x140145f30]
mov rcx, rdi
mov rdx, rax
call fcn.14006f140
mov rax, qword [0x140145f30]
movsxd rax, dword [rax + 4]
add rdi, rax
mov rcx, rdi
mov dl, 0xa
call fcn.14000ebe0
lea rcx, [0x140145f30]
mov edx, eax
call fcn.14006f000
lea rcx, [0x140145f30]
call fcn.140074270
jmp 0x140006425
mov rcx, qword [rbp + 0x1930]
mov eax, dword [rcx + 0x3a40]
mov rcx, qword [rcx + 0x10]
cmp eax, dword [rcx + 0xfc]
jl 0x140008557
mov r8, qword [0x1402369b0]
cmp qword [0x1402369b8], 0x10
jb 0x1400084fc
mov rdx, qword [0x1402369a0]
jmp 0x140008503
lea rdx, [0x1402369a0]
mov r8, qword [0x1402369b0]
lea rcx, [0x140145f30]
call fcn.140075630
lea rdi, [0x140145f30]
lea rdx, str.single_legal_move__terminating
mov rcx, rdi
call fcn.140072f20
mov rax, qword [0x140145f30]
movsxd rax, dword [rax + 4]
add rdi, rax
mov rcx, rdi
mov dl, 0xa
call fcn.14000ebe0
lea rcx, [0x140145f30]
mov edx, eax
call fcn.14006f000
lea rcx, [0x140145f30]
call fcn.140074270
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax + 0x138]
call fcn.1400abf40
jmp 0x14000697c
lea rdx, [0x1402369a0]
lea rcx, [0x140145f30]
call fcn.140075630
lea rdi, [0x140145f30]
lea rdx, str.exiting_search_due_to_max_depth
mov rcx, rdi
call fcn.140072f20
mov rax, qword [0x140145f30]
movsxd rax, dword [rax + 4]
add rdi, rax
mov rcx, rdi
mov dl, 0xa
call fcn.14000ebe0
lea rcx, [0x140145f30]
mov edx, eax
call fcn.14006f000
lea rcx, [0x140145f30]
call fcn.140074270
mov r8, qword [0x1402369b0]
cmp qword [0x1402369b8], 0x10
jb 0x140008571
mov rdx, qword [0x1402369a0]
jmp 0x140008578
lea rdx, [0x1402369a0]
lea rcx, [0x140145f30]
call fcn.140075630
lea rcx, [0x140145f30]
lea rdx, str.out_of_search_loop__move
call fcn.140072f20
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x3e80]
mov rcx, qword [rax + 0x20]
lea rdi, [0x140145f30]
mov rdx, rdi
call fcn.1400a85c0
mov rax, qword [0x140145f30]
movsxd rax, dword [rax + 4]
add rdi, rax
mov rcx, rdi
mov dl, 0xa
call fcn.14000ebe0
lea rcx, [0x140145f30]
mov edx, eax
call fcn.14006f000
lea rcx, [0x140145f30]
call fcn.140074270
lea rcx, [0x140145f30]
call fcn.140074270
jmp 0x140006feb
mov dword [rax + 0x154], r9d
mov rax, qword [rbp + 0x1930]
mov rax, qword [rax + 0x10]
jmp 0x140006faf
call fcn.1400ace60
int3