Function at 0x140065020
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, 0x208
mov qword [rsp + 0x1c8], r8
mov qword [rsp + 0x128], rdx
mov r13, rcx
mov edx, dword [rsp + 0x280]
mov esi, dword [rsp + 0x270]
xor ebx, ebx
test esi, esi
jg 0x140065063
cmp edx, 2
je 0x14006c058
mov r8d, dword [r9]
cmp r8, 0x7e000000
ja 0x14006c058
mov qword [rsp + 0x1f8], r9
add qword [r13 + 0x40000], r8
mov eax, dword [rsp + 0x278]
cmp eax, 0xc
mov ecx, 0xc
cmovl ecx, eax
test eax, eax
mov eax, 9
cmovg eax, ecx
mov dword [rsp + 0x1e8], eax
cdqe
lea rax, [rax + rax*2]
lea rcx, [0x1400db870]
mov r9d, dword [rcx + rax*4 + 4]
mov dword [rsp + 0x104], r9d
cmp dword [rcx + rax*4], 0
mov qword [rsp + 0xb8], r13
je 0x14006524f
mov qword [rsp + 0x170], r8
lea rax, [rcx + rax*4]
movzx ecx, byte [r13 + 0x40026]
xor ebx, ebx
mov byte [rsp + 0x110], cl
neg cl
mov ecx, 0
sbb ecx, ecx
mov dword [rsp + 0x198], ecx
mov edi, dword [rax + 8]
mov ecx, 0x10030
call sub.msvcrt.dll_malloc
mov r10, rax
test rax, rax
je 0x14006c044
mov r9, qword [rsp + 0x128]
mov rax, qword [rsp + 0x170]
lea r11, [r9 + rax]
add r11, 0xfffffffffffffff4
xor eax, eax
cmp dword [rsp + 0x280], 2
setne al
movsxd rcx, esi
mov rdx, qword [rsp + 0x1c8]
add rcx, rdx
mov r8, qword [rsp + 0x1f8]
mov dword [r8], 0
lea rax, [rax + rax*4]
add rax, rcx
add rax, 0xfffffffffffffffb
mov qword [rsp + 0x108], rax
cmp edi, 0xfff
mov eax, 0xfff
cmovb eax, edi
mov dword [rsp + 0x190], eax
mov rsi, r9
mov r8, rdx
mov qword [rsp + 0x1d0], r11
cmp r11, r9
mov qword [rsp + 0xc0], r10
jae 0x14006890b
mov r11, r8
mov r9, qword [rsp + 0x170]
add r9, qword [rsp + 0x128]
xor ecx, ecx
mov r10d, dword [rsp + 0x280]
cmp r10d, 2
sete r8b
sub r9, rsi
lea rax, [r9 + 0xf0]
movabs rdx, 0x8080808080808081
mul rdx
test r10d, r10d
je 0x14006bf42
shr rdx, 7
add rdx, r9
mov cl, r8b
lea rax, [rcx + rcx*4]
mov rcx, qword [rsp + 0x108]
add rcx, rax
mov r8, r11
lea rax, [r11 + rdx]
add rax, 1
cmp rax, rcx
mov r10, qword [rsp + 0xc0]
jbe 0x14006bf45
mov ebx, 0
cmp dword [rsp + 0x280], 1
je 0x14006c044
mov r8, r11
mov rax, r11
not rax
lea r9, [rax + rcx]
add rax, rcx
add rax, 0xf1
shr rax, 8
sub r9, rax
jmp 0x14006bf45
xor eax, eax
cmp edx, 2
setne al
movsxd rcx, esi
mov rdi, qword [rsp + 0x1c8]
add rcx, rdi
mov rdx, qword [rsp + 0x1f8]
mov dword [rdx], 0
lea rax, [rax + rax*4]
add rax, rcx
add rax, 0xfffffffffffffffb
mov qword [rsp + 0x108], rax
mov rcx, qword [rsp + 0x128]
mov r12, rcx
cmp r8d, 0xd
mov rax, r8
jb 0x14006be4c
lea rdx, [rcx + rax]
add rdx, 0xfffffffffffffff4
mov r12, rcx
mov rdi, qword [rsp + 0x1c8]
mov qword [rsp + 0x1d0], rdx
cmp rdx, rcx
jb 0x14006be4c
lea rdx, [rcx + rax]
add rdx, 0xfffffffffffffffb
lea r8, [rdx - 7]
mov qword [rsp + 0x20], r8
lea r8, [rdx - 3]
mov qword [rsp + 0x158], r8
lea r8, [rdx - 1]
mov qword [rsp + 0x150], r8
xor r8d, r8d
mov qword [rsp + 0x1a0], r8
xor r8d, r8d
mov qword [rsp + 0x198], r8
xor r8d, r8d
mov qword [rsp + 0x80], r8
xor r8d, r8d
mov qword [rsp + 0x60], r8
xor r15d, r15d
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0xd8], rax
mov r8, rcx
mov qword [rsp + 0x48], rdx
mov rdx, qword [r13 + 0x40008]
mov rax, qword [r13 + 0x40010]
mov edi, dword [r13 + 0x40018]
mov r10d, dword [r13 + 0x4001c]
lea r14d, [r10 + 0x10000]
mov rcx, rdi
sub rcx, r10
mov qword [rsp + 0x1b0], rcx
add rcx, rax
mov qword [rsp + 0x148], rcx
mov rcx, rdx
sub rcx, rdi
lea r9d, [rdi - 4]
mov dword [rsp + 0x58], r9d
lea r9, [rdx + 8]
mov qword [rsp + 0x160], r9
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x40], r10
sub rax, r10
mov qword [rsp + 0x188], rax
mov r9d, dword [r13 + 0x40020]
lea eax, [rdi + r8]
sub eax, edx
mov qword [rsp + 0xc8], rax
mov eax, 0xfffffffc
sub eax, r8d
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], rcx
lea rax, [rcx + 1]
mov qword [rsp + 0xe8], rax
lea rax, [r8 + 4]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0xa0], r8
xor eax, eax
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x120], r8
mov r15, r8
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x88], rdi
mov dword [rsp + 0x180], r14d
jmp 0x14006548a
cmp esi, 4
mov rdx, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x88]
mov r14d, dword [rsp + 0x180]
jge 0x140065f1a
add r15, 1
mov rax, qword [rsp + 0x90]
add eax, 1
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x28]
add eax, 0xffffffff
mov qword [rsp + 0x28], rax
add qword [rsp + 0xa0], 1
add qword [rsp + 0x68], 1
cmp r15, qword [rsp + 0x1d0]
mov r9d, dword [rsp + 0xe0]
ja 0x14006be2c
mov rax, r15
sub rax, rdx
lea esi, [rdi + rax]
cmp r14d, esi
mov qword [rsp + 0xc0], rax
lea eax, [rdi + rax - 0xffff]
cmova eax, dword [rsp + 0x40]
mov dword [rsp + 0x110], eax
mov ebx, dword [r15]
cmp r9d, esi
jae 0x14006552a
mov r8d, r9d
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x90]
lea r9d, [rax + rcx]
mov r10d, r8d
mov eax, r9d
sub eax, r8d
mov rcx, r10
test al, 1
je 0x14006551e
mov rax, qword [rsp + 0x30]
imul eax, dword [rax + r10], 0x9e3779b1
shr eax, 0x11
mov ecx, r8d
sub ecx, dword [r13 + rax*4]
cmp ecx, 0xffff
mov r11d, 0xffff
cmovae ecx, r11d
movzx r11d, r10w
mov word [r13 + r11*2 + 0x20000], cx
mov dword [r13 + rax*4], r8d
lea rcx, [r10 + 1]
not r10
add r10, r9
jne 0x140065e70
mov dword [r13 + 0x40020], esi
movzx eax, bx
mov ecx, ebx
shr ecx, 0x10
xor ecx, eax
movzx eax, bl
mov r8d, ebx
shr r8d, 0x18
xor r8d, eax
or r8d, ecx
sete byte [rsp + 0x138]
cmp dword [rsp + 0x104], 0
mov dword [rsp + 0xe0], esi
jle 0x140065441
imul eax, dword [r15], 0x9e3779b1
shr eax, 0x11
mov ecx, dword [r13 + rax*4]
cmp ecx, dword [rsp + 0x110]
jb 0x140065441
add qword [rsp + 0xc0], rdi
lea rax, [r15 + 4]
mov qword [rsp + 0x70], rax
lea rax, [r15 + 0xc]
mov qword [rsp + 0xa8], rax
mov r10, rbx
movabs rax, 0x100000001
imul r10, rax
xor ebp, ebp
mov esi, 3
mov eax, dword [rsp + 0x104]
mov r11d, eax
xor r14d, r14d
mov rax, r15
mov qword [rsp + 0xb0], r15
mov rdx, qword [rsp + 0x78]
nop word cs:[rax + rax]
mov r8, qword [rsp + 0x88]
sub r8d, ecx
jbe 0x140065650
cmp ecx, dword [rsp + 0x58]
ja 0x140065940
mov r12d, ecx
sub r12d, dword [rsp + 0x40]
add r12, rdx
cmp dword [r12], ebx
jne 0x140065940
lea rdi, [r15 + r8]
mov rax, qword [rsp + 0x48]
cmp rdi, rax
mov r15, rdi
cmova r15, rax
add r12, 4
lea r9, [r15 - 7]
mov rax, qword [rsp + 0x70]
mov edx, esi
cmp r9, rax
jbe 0x140065e38
mov rax, qword [rax]
xor rax, qword [r12]
je 0x1400656a5
tzcnt rsi, rax
shr esi, 3
jmp 0x140065735
mov edi, ecx
add rdi, qword [rsp + 0x30]
movsxd rax, esi
movzx r9d, word [r15 + rax - 1]
cmp r9w, word [rax + rdi - 1]
jne 0x140065940
cmp dword [rdi], ebx
jne 0x140065940
mov edx, esi
lea rsi, [rdi + 4]
mov r12, qword [rsp + 0x70]
cmp qword [rsp + 0x20], r12
jbe 0x1400657b2
mov rax, qword [r12]
xor rax, qword [rsi]
je 0x1400657a6
tzcnt r12, rax
shr r12d, 3
jmp 0x1400658fa
add r12, 8
mov rsi, qword [rsp + 0xa8]
cmp rsi, r9
jae 0x1400656d9
mov rax, qword [rsp + 0x28]
add eax, esi
nop dword [rax]
mov r13, qword [rsi]
xor r13, qword [r12]
jne 0x140065722
add rsi, 8
add r12, 8
add eax, 8
cmp rsi, r9
jb 0x1400656c0
lea rax, [r15 - 3]
cmp rsi, rax
jae 0x1400656f2
mov eax, dword [r12]
cmp eax, dword [rsi]
jne 0x1400656f2
add rsi, 4
add r12, 4
lea rax, [r15 - 1]
cmp rsi, rax
jae 0x140065dfc
movzx eax, word [r12]
cmp ax, word [rsi]
mov r13, qword [rsp + 0xb8]
jne 0x140065e04
add rsi, 2
add r12, 2
jmp 0x140065e04
tzcnt rsi, r13
shr rsi, 3
add esi, eax
mov r13, qword [rsp + 0xb8]
lea r12d, [rsi + 4]
cmp rdi, qword [rsp + 0x48]
jae 0x140065789
movsxd rax, esi
mov r9, qword [rsp + 0xb0]
add rax, r9
add rax, 4
cmp rax, r15
jne 0x140065789
mov r9, qword [rsp + 0x98]
mov rsi, r9
mov rdi, r15
cmp qword [rsp + 0x20], r15
jbe 0x140065859
mov rax, qword [r15]
xor rax, qword [r9]
je 0x14006584d
tzcnt rdi, rax
shr edi, 3
jmp 0x140065918
mov r15, qword [rsp + 0xb0]
mov esi, edx
mov rdx, qword [rsp + 0x78]
cmp r12d, esi
jg 0x14006592f
jmp 0x140065940
add rsi, 8
mov r12, qword [rsp + 0xa8]
cmp r12, qword [rsp + 0x20]
jae 0x1400657f0
mov rax, qword [rsp + 0x28]
lea r9d, [rax + r12]
nop word cs:[rax + rax]
nop dword [rax]
mov rax, qword [r12]
xor rax, qword [rsi]
jne 0x1400658ee
add r12, 8
add rsi, 8
add r9d, 8
cmp r12, qword [rsp + 0x20]
jb 0x1400657d0
cmp r12, qword [rsp + 0x158]
jae 0x14006580a
mov eax, dword [rsi]
cmp eax, dword [r12]
jne 0x14006580a
add r12, 4
add rsi, 4
cmp r12, qword [rsp + 0x150]
jae 0x140065826
movzx eax, word [rsi]
cmp ax, word [r12]
jne 0x140065826
add r12, 2
add rsi, 2
cmp r12, qword [rsp + 0x48]
jae 0x14006583e
movzx eax, byte [rsi]
xor r9d, r9d
cmp al, byte [r12]
sete r9b
add r12, r9
mov esi, edx
mov rax, qword [rsp + 0x70]
sub r12d, eax
jmp 0x1400658fc
lea rdi, [r15 + 8]
mov rsi, qword [rsp + 0x160]
cmp rdi, qword [rsp + 0x20]
jae 0x14006589f
mov rax, qword [rsp + 0xa0]
add rax, r8
mov r9, qword [rsp + 0x48]
cmp r9, rax
cmovb rax, r9
mov r9d, edi
sub r9d, eax
nop dword [rax]
mov rax, qword [rdi]
xor rax, qword [rsi]
jne 0x14006590c
add rdi, 8
add rsi, 8
add r9d, 8
cmp rdi, qword [rsp + 0x20]
jb 0x140065880
cmp rdi, qword [rsp + 0x158]
jae 0x1400658b7
mov eax, dword [rsi]
cmp eax, dword [rdi]
jne 0x1400658b7
add rdi, 4
add rsi, 4
cmp rdi, qword [rsp + 0x150]
jae 0x1400658d1
movzx eax, word [rsi]
cmp ax, word [rdi]
jne 0x1400658d1
add rdi, 2
add rsi, 2
cmp rdi, qword [rsp + 0x48]
jae 0x1400658e7
movzx eax, byte [rsi]
xor r9d, r9d
cmp al, byte [rdi]
sete r9b
add rdi, r9
mov esi, edx
sub edi, r15d
jmp 0x14006591a
tzcnt r12, rax
shr r12, 3
add r12d, r9d
mov esi, edx
mov rdx, qword [rsp + 0x78]
add r12d, 4
cmp r12d, esi
jg 0x140065936
jmp 0x140065940
tzcnt rdi, rax
shr rdi, 3
add edi, r9d
mov esi, edx
mov rdx, qword [rsp + 0x78]
add r12d, edi
mov r15, qword [rsp + 0xb0]
cmp r12d, esi
jle 0x140065940
mov edi, ecx
add rdi, qword [rsp + 0x30]
mov qword [rsp + 0x38], rdi
mov esi, r12d
nop
movzx eax, cx
movzx edi, word [r13 + rax*2 + 0x20000]
cmp dword [rsp + 0x104], 0x81
jl 0x140065b30
cmp di, 1
jne 0x140065b30
test ebp, ebp
je 0x14006599a
cmp ebp, 2
jne 0x140065b30
lea r12d, [rcx - 1]
cmp r12d, dword [rsp + 0x110]
jb 0x140065b30
cmp r8d, 3
jae 0x140065a2e
mov ebp, 2
jmp 0x140065b30
mov ebp, 1
cmp byte [rsp + 0x138], 0
je 0x140065b30
mov edx, esi
mov r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0x70]
mov rsi, rax
cmp qword [rsp + 0x20], rax
jbe 0x140065e49
nop word [rax + rax]
mov rax, qword [rsi]
xor rax, r10
jne 0x140065aef
add rsi, 8
add r14, 8
cmp rsi, qword [rsp + 0x20]
jb 0x1400659d0
mov rax, qword [rsp + 0x48]
cmp rsi, rax
jae 0x140065afb
sub rax, r14
lea r9, [rsi + rax]
mov r14, r10
nop word cs:[rax + rax]
nop dword [rax]
cmp byte [rsi], r14b
jne 0x140065a26
add rsi, 1
shr r14, 8
add rax, 0xffffffffffffffff
jne 0x140065a10
mov rsi, r9
mov r14, rsi
jmp 0x140065afb
mov rbp, qword [rsp + 0x88]
cmp r12d, ebp
mov r9, qword [rsp + 0x188]
cmovae r9, qword [rsp + 0x30]
mov r15d, r12d
cmp dword [r9 + r15], ebx
jne 0x140065b1e
mov dword [rsp + 0xd0], esi
lea rdi, [r9 + r15]
cmp r12d, ebp
mov rcx, qword [rsp + 0x148]
cmovae rcx, qword [rsp + 0x48]
lea r8, [rdi + 4]
lea rax, [rcx - 7]
mov rsi, r8
cmp rax, r8
mov rdx, qword [rsp + 0x98]
jbe 0x140065ab9
add r9, r15
add r9, 4
mov rsi, r8
nop word cs:[rax + rax]
nop dword [rax]
mov r15, qword [rsi]
xor r15, r10
jne 0x140065b58
add rsi, 8
add r9, 8
cmp rsi, rax
jb 0x140065aa0
cmp rsi, rcx
mov r15, qword [rsp + 0xb0]
jae 0x140065b6c
mov rax, rcx
sub rax, rsi
mov r9, r10
cmp byte [rsi], r9b
jne 0x140065b6c
add rsi, 1
shr r9, 8
add rax, 0xffffffffffffffff
jne 0x140065ad3
mov rsi, rcx
jmp 0x140065b6c
tzcnt rax, rax
shr rax, 3
add r14, rax
mov rax, qword [rsp + 0x70]
sub r14d, eax
add r14, 4
mov ebp, 2
mov esi, edx
mov rdx, qword [rsp + 0x78]
cmp ebp, 2
je 0x140065974
jmp 0x140065b30
mov ebp, 2
mov r15, qword [rsp + 0xb0]
nop dword [rax + rax]
movzx eax, di
sub ecx, eax
cmp ecx, dword [rsp + 0x110]
jb 0x140065420
lea eax, [r11 - 1]
cmp r11d, 1
mov r11d, eax
jg 0x1400655e0
jmp 0x140065420
tzcnt rsi, r15
shr rsi, 3
add rsi, r9
mov r15, qword [rsp + 0xb0]
sub rsi, r8
mov r8d, esi
add r8, 4
cmp r12d, ebp
jb 0x140065b83
mov rcx, rdx
jmp 0x140065c32
lea rax, [rdi + r8]
cmp rax, rcx
jne 0x140065c2d
mov ecx, esi
shl ecx, 3
mov r15d, ebx
rol r15d, cl
test sil, 3
cmove r15d, ebx
movabs rax, 0x100000001
imul r15, rax
cmp qword [rsp + 0x20], rdx
jbe 0x140065e56
mov r9, rdx
mov rcx, rdx
nop word cs:[rax + rax]
nop dword [rax]
mov rax, qword [rcx]
xor rax, r15
jne 0x140065c13
add rcx, 8
add r9, 8
cmp rcx, qword [rsp + 0x20]
jb 0x140065bd0
mov rax, qword [rsp + 0x48]
cmp rcx, rax
jae 0x140065c1f
sub rax, r9
lea r9, [rcx + rax]
cmp byte [rcx], r15b
jne 0x140065c0e
add rcx, 1
shr r15, 8
add rax, 0xffffffffffffffff
jne 0x140065bf8
mov rcx, r9
mov r9, rcx
jmp 0x140065c1f
tzcnt rax, rax
shr rax, 3
add r9, rax
mov r15, qword [rsp + 0xb0]
sub r9d, edx
add r8, r9
mov rcx, qword [rsp + 0x78]
mov dword [rsp + 0x54], ebx
lea rax, [rcx + 4]
mov rsi, rdi
nop dword [rax]
mov r9, rsi
cmp rsi, rax
jb 0x140065c52
lea rsi, [r9 - 4]
cmp dword [r9 - 4], ebx
je 0x140065c40
cmp r9, rcx
jbe 0x140065c86
xor eax, eax
nop dword [rax]
movzx esi, byte [r9 + rax - 1]
cmp sil, byte [rsp + rax + 0x57]
jne 0x140065c83
lea rsi, [r9 + rax]
add rsi, 0xffffffffffffffff
add rax, 0xffffffffffffffff
cmp rsi, rcx
ja 0x140065c60
mov r9, rcx
jmp 0x140065c86
add r9, rax
mov rsi, rdi
sub rsi, r9
cmp r12d, ebp
jb 0x140065d3a
mov eax, esi
sub rdi, rax
cmp rdi, rdx
jne 0x140065d3a
cmp dword [rsp + 0x40], ebp
mov rdx, qword [rsp + 0x78]
jae 0x140065d3f
mov r9d, esi
neg r9d
mov ecx, r9d
shl ecx, 3
mov eax, ebx
rol eax, cl
test r9b, 3
cmove eax, ebx
mov dword [rsp + 0x54], eax
mov r9, qword [rsp + 0x1b0]
nop word cs:[rax + rax]
nop
cmp r9, 4
jl 0x140065e26
lea rcx, [r9 - 4]
cmp dword [rdx + r9 - 4], eax
mov r9, rcx
je 0x140065ce0
add rcx, rdx
add rcx, 4
lea rax, [rsp + 0x57]
nop word cs:[rax + rax]
nop
movzx r9d, byte [rcx - 1]
cmp r9b, byte [rax]
jne 0x140065d2a
add rcx, 0xffffffffffffffff
add rax, 0xffffffffffffffff
cmp rcx, rdx
ja 0x140065d10
mov rcx, rdx
mov rax, qword [rsp + 0x148]
sub eax, ecx
add eax, esi
mov esi, eax
jmp 0x140065d3f
mov rdx, qword [rsp + 0x78]
mov ecx, r12d
sub ecx, esi
mov eax, dword [rsp + 0x110]
cmp ecx, eax
cmovbe ecx, eax
mov r9d, r12d
sub r9d, ecx
add r9, r8
cmp r8, r14
ja 0x140065d8b
cmp r9, r14
jb 0x140065d8b
sub r12d, r14d
add r12d, r8d
mov eax, r12d
not eax
add eax, ebp
cmp eax, 3
cmovb r12d, ebp
mov ebp, 2
mov ecx, r12d
mov esi, dword [rsp + 0xd0]
jmp 0x140065b35
mov eax, ecx
not eax
add eax, ebp
mov r8, rbp
mov ebp, 2
cmp eax, 3
mov esi, dword [rsp + 0xd0]
jae 0x140065dad
mov ecx, r8d
jmp 0x140065b35
cmp r9, r14
cmovae r9, r14
movsxd rax, esi
cmp r9, rax
jbe 0x140065de3
mov eax, ecx
mov r8, qword [rsp + 0xc0]
sub r8, rax
cmp r8, 0xffff
ja 0x140065420
add rax, qword [rsp + 0x30]
mov qword [rsp + 0x38], rax
mov esi, r9d
movzx eax, cx
movzx eax, word [r13 + rax*2 + 0x20000]
sub ecx, eax
jae 0x140065b35
jmp 0x140065420
mov r13, qword [rsp + 0xb8]
cmp rsi, r15
jae 0x140065e1a
movzx eax, byte [r12]
xor r9d, r9d
cmp al, byte [rsi]
sete r9b
add rsi, r9
mov rax, qword [rsp + 0x70]
sub esi, eax
jmp 0x140065735
lea rcx, [rdx + r9]
test r9, r9
jg 0x140065cff
jmp 0x140065d2a
mov rsi, rax
cmp rsi, r9
jb 0x1400656b6
jmp 0x1400656d9
mov rsi, qword [rsp + 0x70]
mov r14, rsi
jmp 0x1400659eb
mov r9, rdx
mov rcx, rdx
jmp 0x140065be7
mov r8d, esi
jmp 0x140065e9f
movzx r11d, ax
mov word [r13 + r11*2 + 0x20000], r10w
mov dword [r13 + r9*4], eax
add rcx, 2
cmp rcx, r8
je 0x14006552a
mov rax, qword [rsp + 0xe8]
imul eax, dword [rax + rcx - 1], 0x9e3779b1
shr eax, 0x11
mov r9d, ecx
sub r9d, dword [r13 + rax*4]
cmp r9d, 0xffff
jb 0x140065ec9
mov r9d, 0xffff
movzx r10d, cx
mov word [r13 + r10*2 + 0x20000], r9w
mov dword [r13 + rax*4], ecx
lea rax, [rcx + 1]
mov r9, qword [rsp + 0xe8]
imul r9d, dword [r9 + rcx], 0x9e3779b1
shr r9d, 0x11
mov r11d, dword [r13 + r9*4]
mov r10d, ecx
sub r10d, r11d
add r10d, 1
cmp r10d, 0xffff
jb 0x140065e80
mov r10d, 0xffff
jmp 0x140065e80
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x1a8], r15
mov ebx, esi
mov rdi, qword [rsp + 0x60]
mov qword [rsp + 0x178], rbx
movsxd rax, ebx
mov qword [rsp + 0xf0], rax
mov r10, r15
mov r15, rdi
mov rdx, qword [rsp + 0x38]
mov eax, esi
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0xc8], rax
movsxd r9, eax
lea r12, [r10 + r9]
cmp r12, qword [rsp + 0x1d0]
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x168], r9
ja 0x14006816b
lea r14, [r12 - 2]
mov rcx, qword [r13 + 0x40008]
mov r8d, dword [r13 + 0x40018]
mov r9, r14
mov rax, rcx
mov qword [rsp + 0x68], rcx
sub r9, rcx
lea edx, [r8 + r9]
mov ecx, dword [r13 + 0x4001c]
lea eax, [rcx + 0x10000]
cmp eax, edx
mov qword [rsp + 0x130], r9
lea eax, [r8 + r9 - 0xffff]
mov qword [rsp + 0x58], rcx
cmova eax, ecx
mov dword [rsp + 0xe8], eax
mov eax, dword [r12 - 2]
mov qword [rsp + 0x40], rax
mov r9d, dword [r13 + 0x40020]
mov qword [rsp + 0x78], r8
mov rcx, r8
neg rcx
cmp r9d, edx
jae 0x14006605c
mov r8d, edx
sub r8d, r9d
mov rax, r9
test r8b, 1
je 0x14006604d
mov rax, qword [rsp + 0x68]
add rax, rcx
imul eax, dword [rax + r9], 0x9e3779b1
shr eax, 0x11
mov r8d, r9d
sub r8d, dword [r13 + rax*4]
cmp r8d, 0xffff
mov r10d, 0xffff
cmovae r8d, r10d
movzx r10d, r9w
mov word [r13 + r10*2 + 0x20000], r8w
mov dword [r13 + rax*4], r9d
lea rax, [r9 + 1]
mov r8d, edx
not r9
add r9, r8
jne 0x140066c52
mov rsi, qword [r13 + 0x40010]
mov dword [r13 + 0x40020], edx
imul eax, dword [r14], 0x9e3779b1
shr eax, 0x11
mov r9d, dword [r13 + rax*4]
mov rdi, qword [rsp + 0x40]
movzx eax, di
mov edx, edi
shr edx, 0x10
xor edx, eax
movzx eax, dil
mov r8d, edi
shr r8d, 0x18
xor r8d, eax
or r8d, edx
sete byte [rsp + 0xa0]
cmp r9d, dword [rsp + 0xe8]
jb 0x140068172
mov qword [rsp + 0x1e8], r12
mov qword [rsp + 0xb0], r15
mov r11, qword [rsp + 0x78]
add qword [rsp + 0x130], r11
mov rdx, r11
mov rax, qword [rsp + 0x58]
sub rdx, rax
mov rbx, rax
neg rbx
mov rax, r14
mov r10, qword [rsp + 0x28]
sub rax, r10
mov qword [rsp + 0x140], rdx
add rdx, rsi
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x90], rax
cdqe
neg rax
mov qword [rsp + 0x98], rax
mov rax, r10
sub rax, r14
mov qword [rsp + 0xe0], rax
lea rax, [r14 + 4]
mov qword [rsp + 0x138], rax
lea rax, [r14 + 0xc]
mov qword [rsp + 0x148], rax
lea eax, [r11 - 4]
mov dword [rsp + 0xa8], eax
mov r8, qword [rsp + 0x68]
lea rax, [r8 + 8]
mov qword [rsp + 0x1c0], rax
lea rax, [r8 + rcx]
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0xc8]
mov r15d, 0xfffffffe
sub r15d, edx
sub r15d, r10d
mov qword [rsp + 0xc0], r15
mov r12, rdi
movabs rax, 0x100000001
imul r12, rax
add rbx, rsi
mov qword [rsp + 0x160], rbx
lea rax, [r8 + rcx]
add rax, 0xffffffffffffffff
mov qword [rsp + 0x180], rax
mov r8, r11
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x168]
lea rcx, [r10 + rax - 3]
mov qword [rsp + 0x110], rcx
lea rax, [r10 + rax - 2]
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x88], rsi
lea rax, [rsi - 1]
mov qword [rsp + 0x188], rax
xor eax, eax
mov qword [rsp + 0x30], rax
mov esi, edx
mov eax, dword [rsp + 0x104]
mov r15d, eax
xor r10d, r10d
nop dword [rax]
mov r11d, r8d
sub r11d, r9d
jbe 0x140066280
cmp r9d, dword [rsp + 0xa8]
ja 0x140066670
mov ecx, r9d
sub ecx, dword [rsp + 0x58]
mov rax, qword [rsp + 0x88]
lea rbp, [rax + rcx]
cmp dword [rbp], edi
jne 0x140066670
lea rdx, [r14 + r11]
mov rax, qword [rsp + 0x48]
cmp rdx, rax
mov rdi, rdx
cmova rdi, rax
add rbp, 4
lea rbx, [rdi - 7]
mov rax, qword [rsp + 0x138]
cmp rbx, rax
mov dword [rsp + 0xd0], esi
jbe 0x140066baf
mov rax, qword [rax]
xor rax, qword [rbp]
je 0x140066355
tzcnt rsi, rax
shr esi, 3
jmp 0x1400663e3
mov r8, r14
mov eax, esi
mov esi, r9d
mov rcx, qword [rsp + 0x70]
add rcx, rsi
mov r14d, eax
cdqe
mov rdx, qword [rsp + 0x28]
movzx edx, word [rdx + rax - 1]
mov rdi, qword [rsp + 0x98]
add rdi, rcx
cmp dx, word [rax + rdi - 1]
jne 0x140066330
mov rdi, qword [rsp + 0x40]
cmp dword [rcx], edi
jne 0x140066345
cmp dword [rsp + 0x90], 0
je 0x140066438
mov rax, qword [rsp + 0x68]
sub rax, rcx
mov rdx, qword [rsp + 0xe0]
cmp rdx, rax
cmovg rax, rdx
cdqe
mov edx, eax
sar edx, 0x1f
and edx, eax
add rsi, qword [rsp + 0x180]
xor edi, edi
nop word cs:[rax + rax]
cmp rdi, rax
jle 0x140066324
lea rbx, [rdi - 1]
mov rbp, qword [rsp + 0x110]
movzx ebp, byte [rbp + rdi]
cmp bpl, byte [rsi + rdi]
mov rdi, rbx
je 0x140066300
add ebx, 1
mov edx, ebx
mov rdi, qword [rsp + 0x40]
jmp 0x14006643a
mov esi, r14d
mov r14, r8
mov r8, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x40]
jmp 0x140066670
mov esi, r14d
mov r14, r8
mov r8, qword [rsp + 0x78]
jmp 0x140066670
add rbp, 8
mov rsi, qword [rsp + 0x148]
cmp rsi, rbx
jae 0x140066389
mov rax, qword [rsp + 0xc0]
add eax, esi
mov r13, qword [rsi]
xor r13, qword [rbp]
jne 0x1400663d0
add rsi, 8
add rbp, 8
add eax, 8
cmp rsi, rbx
jb 0x140066370
lea rax, [rdi - 3]
cmp rsi, rax
jae 0x1400663a1
mov eax, dword [rbp]
cmp eax, dword [rsi]
jne 0x1400663a1
add rsi, 4
add rbp, 4
lea rax, [rdi - 1]
cmp rsi, rax
jae 0x140066b29
movzx eax, word [rbp]
cmp ax, word [rsi]
mov r13, qword [rsp + 0xb8]
jne 0x140066b31
add rsi, 2
add rbp, 2
jmp 0x140066b31
tzcnt rsi, r13
shr rsi, 3
add esi, eax
mov r13, qword [rsp + 0xb8]
lea ebp, [rsi + 4]
cmp rdx, qword [rsp + 0x48]
jae 0x1400665ce
movsxd rax, esi
add rax, r14
add rax, 4
cmp rax, rdi
jne 0x1400665ce
mov r8, qword [rsp + 0x68]
mov rsi, r8
mov rdx, rdi
cmp qword [rsp + 0x20], rdi
jbe 0x1400664e6
mov rax, qword [rdi]
xor rax, qword [r8]
je 0x1400664da
tzcnt rdx, rax
shr edx, 3
mov r8, qword [rsp + 0x78]
jmp 0x1400665cc
xor edx, edx
lea rsi, [rcx + 4]
mov rbp, qword [rsp + 0x138]
cmp qword [rsp + 0x20], rbp
jbe 0x140066475
mov rax, qword [rbp]
xor rax, qword [rsi]
je 0x140066469
tzcnt rbp, rax
shr ebp, 3
mov esi, r14d
mov r14, r8
jmp 0x14006659f
add rsi, 8
mov rbp, qword [rsp + 0x148]
cmp rbp, qword [rsp + 0x20]
jae 0x1400664af
mov rax, qword [rsp + 0xc0]
lea edi, [rax + rbp]
nop word [rax + rax]
mov rax, qword [rbp]
xor rax, qword [rsi]
jne 0x140066589
add rbp, 8
add rsi, 8
add edi, 8
cmp rbp, qword [rsp + 0x20]
jb 0x140066490
cmp rbp, qword [rsp + 0x158]
jae 0x140066b6a
mov eax, dword [rsi]
cmp eax, dword [rbp]
mov rdi, qword [rsp + 0x40]
jne 0x140066b6f
add rbp, 4
add rsi, 4
jmp 0x140066b6f
lea rdx, [rdi + 8]
mov rsi, qword [rsp + 0x1c0]
cmp rdx, qword [rsp + 0x20]
jae 0x140066bc8
mov rax, qword [rsp + 0x1b0]
add rax, r11
mov rbx, qword [rsp + 0x48]
cmp rax, rbx
cmovae rax, rbx
mov ebx, edx
sub ebx, eax
mov r8, qword [rsp + 0x78]
nop word cs:[rax + rax]
nop dword [rax + rax]
mov rax, qword [rdx]
xor rax, qword [rsi]
jne 0x1400665c1
add rdx, 8
add rsi, 8
add ebx, 8
cmp rdx, qword [rsp + 0x20]
jb 0x140066520
cmp rdx, qword [rsp + 0x158]
jae 0x140066556
mov eax, dword [rsi]
cmp eax, dword [rdx]
jne 0x140066556
add rdx, 4
add rsi, 4
cmp rdx, qword [rsp + 0x150]
jae 0x140066570
movzx eax, word [rsi]
cmp ax, word [rdx]
jne 0x140066570
add rdx, 2
add rsi, 2
cmp rdx, qword [rsp + 0x48]
jae 0x140066585
movzx eax, byte [rsi]
xor esi, esi
cmp al, byte [rdx]
sete sil
add rdx, rsi
sub edx, edi
jmp 0x1400665cc
tzcnt rbp, rax
shr rbp, 3
add ebp, edi
mov esi, r14d
mov r14, r8
mov rdi, qword [rsp + 0x40]
sub ebp, edx
add ebp, 4
cmp ebp, esi
mov r8, qword [rsp + 0x78]
jle 0x140066670
movsxd rax, edx
add rcx, rax
mov qword [rsp + 0x38], rcx
jmp 0x14006665b
tzcnt rdx, rax
shr rdx, 3
add edx, ebx
add ebp, edx
cmp dword [rsp + 0x90], 0
je 0x140066634
mov rax, qword [rsp + 0x188]
add rax, rcx
neg rcx
mov rdx, qword [rsp + 0xe0]
cmp rdx, rcx
cmovg rcx, rdx
movsxd rdx, ecx
mov ecx, edx
sar ecx, 0x1f
and ecx, edx
xor esi, esi
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp rsi, rdx
jle 0x140066636
lea rdi, [rsi - 1]
mov rbx, qword [rsp + 0x110]
movzx ebx, byte [rbx + rsi]
cmp bl, byte [rax + rsi]
mov rsi, rdi
je 0x140066610
add edi, 1
mov ecx, edi
jmp 0x140066636
xor ecx, ecx
sub ebp, ecx
mov esi, dword [rsp + 0xd0]
cmp ebp, esi
mov rdi, qword [rsp + 0x40]
jle 0x140066670
mov edx, r9d
add rdx, qword [rsp + 0x70]
movsxd rax, ecx
add rdx, rax
mov qword [rsp + 0x38], rdx
add rax, r14
mov qword [rsp + 0xb0], rax
mov esi, ebp
nop dword [rax + rax]
movzx eax, r9w
movzx ecx, word [r13 + rax*2 + 0x20000]
cmp dword [rsp + 0x104], 0x81
jl 0x140066825
cmp cx, 1
jne 0x140066825
mov rax, qword [rsp + 0x30]
test eax, eax
je 0x14006676f
cmp eax, 2
jne 0x140066820
lea ebp, [r9 - 1]
cmp ebp, dword [rsp + 0xe8]
jb 0x140066820
mov eax, 2
mov qword [rsp + 0x30], rax
cmp r11d, 3
jb 0x140066825
mov ebx, esi
cmp ebp, r8d
mov rsi, qword [rsp + 0x160]
cmovae rsi, qword [rsp + 0x70]
mov rax, rdi
mov edi, ebp
cmp dword [rsi + rdi], eax
jne 0x14006684f
lea r9, [rsi + rdi]
cmp ebp, r8d
mov rcx, qword [rsp + 0x60]
cmovae rcx, qword [rsp + 0x48]
lea rdx, [r9 + 4]
lea rax, [rcx - 7]
mov r11, rdx
cmp rax, rdx
jbe 0x140066739
add rsi, rdi
add rsi, 4
mov r11, rdx
mov rdi, qword [r11]
xor rdi, r12
jne 0x140066858
add r11, 8
add rsi, 8
cmp r11, rax
jb 0x140066720
cmp r11, rcx
mov rdi, qword [rsp + 0x40]
jae 0x140066869
mov rax, rcx
sub rax, r11
mov rsi, r12
cmp byte [r11], sil
jne 0x140066869
add r11, 1
shr rsi, 8
add rax, 0xffffffffffffffff
jne 0x140066750
mov r11, rcx
jmp 0x140066869
mov eax, 1
mov qword [rsp + 0x30], rax
cmp byte [rsp + 0xa0], 0
je 0x140066825
mov rdx, qword [rsp + 0x138]
cmp qword [rsp + 0x20], rdx
jbe 0x140066bc0
mov r10, rdx
nop dword [rax]
mov rax, qword [rdx]
xor rax, r12
jne 0x1400667ef
add rdx, 8
add r10, 8
cmp rdx, qword [rsp + 0x20]
jb 0x1400667a0
mov rax, qword [rsp + 0x48]
cmp rdx, rax
jae 0x1400667fb
mov edi, esi
sub rax, r10
lea r10, [rdx + rax]
mov rsi, r12
cmp byte [rdx], sil
jne 0x1400667e3
add rdx, 1
shr rsi, 8
add rax, 0xffffffffffffffff
jne 0x1400667cd
mov rdx, r10
mov r10, rdx
mov esi, edi
mov rdi, qword [rsp + 0x40]
jmp 0x1400667fb
tzcnt rax, rax
shr rax, 3
add r10, rax
sub r10d, dword [rsp + 0x138]
add r10, 4
mov eax, 2
cmp eax, 2
je 0x1400666ae
nop word cs:[rax + rax]
nop
mov qword [rsp + 0x30], rax
movzx eax, cx
sub r9d, eax
cmp r9d, dword [rsp + 0xe8]
jb 0x140066be8
lea eax, [r15 - 1]
cmp r15d, 1
mov r15d, eax
jg 0x140066200
jmp 0x140066be8
mov esi, ebx
mov rdi, qword [rsp + 0x40]
jmp 0x140066825
tzcnt r11, rdi
shr r11, 3
add r11, rsi
mov rdi, qword [rsp + 0x40]
sub r11, rdx
mov edx, r11d
add rdx, 4
cmp ebp, r8d
jb 0x140066882
mov rcx, qword [rsp + 0x68]
jmp 0x14006692f
lea rax, [r9 + rdx]
cmp rax, rcx
jne 0x140066927
mov ecx, r11d
shl ecx, 3
mov esi, edi
rol esi, cl
test r11b, 3
cmove esi, edi
movabs rax, 0x100000001
imul rsi, rax
mov rcx, qword [rsp + 0x68]
cmp qword [rsp + 0x20], rcx
jbe 0x140066be0
mov r11, rcx
nop word cs:[rax + rax]
nop dword [rax + rax]
mov rax, qword [rcx]
xor rax, rsi
jne 0x140066913
add rcx, 8
add r11, 8
cmp rcx, qword [rsp + 0x20]
jb 0x1400668d0
mov rax, qword [rsp + 0x48]
cmp rcx, rax
jae 0x14006691f
sub rax, r11
lea r11, [rcx + rax]
cmp byte [rcx], sil
jne 0x14006690e
add rcx, 1
shr rsi, 8
add rax, 0xffffffffffffffff
jne 0x1400668f8
mov rcx, r11
mov r11, rcx
jmp 0x14006691f
tzcnt rax, rax
shr rax, 3
add r11, rax
sub r11d, dword [rsp + 0x68]
add rdx, r11
mov rcx, qword [rsp + 0x88]
mov dword [rsp + 0x54], edi
lea rax, [rcx + 4]
mov r11, r9
nop word [rax + rax]
mov rsi, r11
cmp r11, rax
jb 0x140066951
lea r11, [rsi - 4]
cmp dword [rsi - 4], edi
je 0x140066940
cmp rsi, rcx
jbe 0x140066986
xor eax, eax
nop dword [rax + rax]
movzx r11d, byte [rsi + rax - 1]
cmp r11b, byte [rsp + rax + 0x57]
jne 0x140066983
lea r11, [rsi + rax]
add r11, 0xffffffffffffffff
add rax, 0xffffffffffffffff
cmp r11, rcx
ja 0x140066960
mov rsi, rcx
jmp 0x140066986
add rsi, rax
mov r11, r9
sub r11, rsi
cmp ebp, r8d
jb 0x140066b22
mov eax, r11d
sub r9, rax
cmp r9, qword [rsp + 0x68]
mov esi, ebx
jne 0x140066a51
cmp dword [rsp + 0x58], r8d
jae 0x140066a51
mov r9d, r11d
neg r9d
mov ecx, r9d
shl ecx, 3
mov eax, edi
rol eax, cl
test r9b, 3
cmove eax, edi
mov dword [rsp + 0x54], eax
mov r9, qword [rsp + 0x140]
nop word cs:[rax + rax]
cmp r9, 4
jl 0x140066b50
lea rcx, [r9 - 4]
mov rbx, qword [rsp + 0x88]
cmp dword [rbx + r9 - 4], eax
mov r9, rcx
je 0x1400669e0
mov rax, qword [rsp + 0x88]
add rcx, rax
add rcx, 4
lea rax, [rsp + 0x57]
nop word cs:[rax + rax]
nop
movzx r9d, byte [rcx - 1]
cmp r9b, byte [rax]
jne 0x140066a44
add rcx, 0xffffffffffffffff
add rax, 0xffffffffffffffff
cmp rcx, qword [rsp + 0x88]
ja 0x140066a20
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x60]
sub eax, ecx
add eax, r11d
mov r11d, eax
mov r9d, ebp
sub r9d, r11d
mov eax, dword [rsp + 0xe8]
cmp r9d, eax
cmovbe r9d, eax
mov ecx, ebp
sub ecx, r9d
add rcx, rdx
cmp rdx, r10
ja 0x140066a9c
cmp rcx, r10
jb 0x140066a9c
sub ebp, r10d
add ebp, edx
mov eax, ebp
not eax
add eax, r8d
cmp eax, 3
cmovb ebp, r8d
mov eax, 2
mov qword [rsp + 0x30], rax
mov r9d, ebp
jmp 0x14006682b
mov eax, r9d
not eax
add eax, r8d
mov edx, 2
mov qword [rsp + 0x30], rdx
cmp eax, 3
jae 0x140066abb
mov r9d, r8d
jmp 0x14006682b
cmp dword [rsp + 0x90], 0
jne 0x14006682b
cmp rcx, r10
cmovae rcx, r10
movsxd rax, esi
cmp rcx, rax
jbe 0x140066b07
mov eax, r9d
mov rdx, qword [rsp + 0x130]
sub rdx, rax
cmp rdx, 0xffff
ja 0x140066be8
add rax, qword [rsp + 0x70]
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0x38], rax
mov esi, ecx
movzx eax, r9w
movzx eax, word [r13 + rax*2 + 0x20000]
sub r9d, eax
jae 0x14006682b
jmp 0x140066be8
mov esi, ebx
jmp 0x140066a51
mov r13, qword [rsp + 0xb8]
cmp rsi, rdi
jae 0x140066b44
movzx eax, byte [rbp]
xor ebx, ebx
cmp al, byte [rsi]
sete bl
add rsi, rbx
sub esi, dword [rsp + 0x138]
jmp 0x1400663e3
mov rax, qword [rsp + 0x88]
lea rcx, [rax + r9]
test r9, r9
jg 0x140066a0f
jmp 0x140066a44
mov rdi, qword [rsp + 0x40]
cmp rbp, qword [rsp + 0x150]
jae 0x140066b8a
movzx eax, word [rsi]
cmp ax, word [rbp]
jne 0x140066b8a
add rbp, 2
add rsi, 2
cmp rbp, qword [rsp + 0x48]
jae 0x140066ba0
movzx eax, byte [rsi]
xor esi, esi
cmp al, byte [rbp]
sete sil
add rbp, rsi
mov esi, r14d
sub ebp, dword [rsp + 0x138]
jmp 0x140066461
mov rsi, rax
cmp rsi, rbx
jb 0x140066366
jmp 0x140066389
mov r10, rdx
jmp 0x1400667b7
mov r8, qword [rsp + 0x78]
cmp rdx, qword [rsp + 0x158]
jb 0x140066548
jmp 0x140066556
mov r11, rcx
jmp 0x1400668e7
mov rbx, qword [rsp + 0xc8]
cmp esi, ebx
je 0x140068179
mov r9, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x1a8]
cmp rdx, r9
setb cl
mov rax, qword [rsp + 0xf0]
add rax, r9
mov r15, qword [rsp + 0xb0]
cmp r15, rax
setb al
and al, cl
cmovne r9, rdx
mov rcx, r15
sub rcx, r9
mov r10, r15
mov rdx, qword [rsp + 0x38]
mov r8, rdx
mov qword [rsp + 0x80], rdx
cmp rcx, 3
jl 0x140065f54
jmp 0x140066cdf
mov r9, qword [rsp + 0x68]
add r9, rcx
add r9, 1
jmp 0x140066c7f
movzx edi, r10w
mov word [r13 + rdi*2 + 0x20000], si
mov dword [r13 + r11*4], r10d
add rax, 2
cmp rax, r8
je 0x14006605c
imul r10d, dword [r9 + rax - 1], 0x9e3779b1
shr r10d, 0x11
mov r11d, eax
sub r11d, dword [r13 + r10*4]
cmp r11d, 0xffff
jb 0x140066ca3
mov r11d, 0xffff
movzx esi, ax
mov word [r13 + rsi*2 + 0x20000], r11w
mov dword [r13 + r10*4], eax
lea r10, [rax + 1]
imul r11d, dword [r9 + rax], 0x9e3779b1
shr r11d, 0x11
mov edi, dword [r13 + r11*4]
mov esi, eax
sub esi, edi
add esi, 1
cmp esi, 0xffff
jb 0x140066c60
mov esi, 0xffff
jmp 0x140066c60
test al, al
mov rax, qword [rsp + 0xf8]
cmovne rax, qword [rsp + 0x190]
mov qword [rsp + 0xf8], rax
cmovne ebx, dword [rsp + 0x178]
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x118], rax
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xd8], rcx
cmp ebx, 0x12
mov eax, 0x12
cmovl eax, ebx
mov dword [rsp + 0x190], eax
cdqe
add rax, r9
mov qword [rsp + 0x1b8], rax
movsxd rcx, ebx
lea rax, [r9 + rcx]
mov qword [rsp + 0x1f0], rcx
add rcx, r9
add rcx, 3
mov qword [rsp + 0x1a8], rcx
mov qword [rsp + 0xf0], r9
mov qword [rsp + 0x120], rax
mov rax, r15
sub rax, r9
cmp rax, 0x11
jg 0x140066dc7
movsxd rcx, esi
lea rdx, [r15 + rcx]
add rdx, 0xfffffffffffffffc
cmp qword [rsp + 0x1b8], rdx
lea ecx, [rax + rcx - 4]
cmovbe ecx, dword [rsp + 0x190]
mov eax, r9d
sub eax, r15d
add eax, ecx
test eax, eax
jle 0x140066dc7
mov ecx, eax
add r15, rcx
mov rdx, qword [rsp + 0x38]
add rdx, rcx
sub esi, eax
mov qword [rsp + 0x80], rdx
jmp 0x140066dd4
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x80], rax
mov eax, esi
mov qword [rsp + 0x178], rax
cdqe
mov qword [rsp + 0x168], rax
lea r12, [r15 + rax]
cmp r12, qword [rsp + 0x1d0]
mov rax, r15
mov qword [rsp + 0x60], r15
ja 0x14006846f
lea r15, [r12 - 3]
mov rcx, qword [r13 + 0x40008]
mov edx, dword [r13 + 0x40018]
mov r8, r15
mov rax, rcx
mov qword [rsp + 0x90], rcx
sub r8, rcx
lea ecx, [rdx + r8]
mov r9d, dword [r13 + 0x4001c]
lea eax, [r9 + 0x10000]
cmp eax, ecx
mov qword [rsp + 0x130], r8
lea eax, [rdx + r8 - 0xffff]
mov qword [rsp + 0x78], r9
cmova eax, r9d
mov dword [rsp + 0xe8], eax
mov ebx, dword [r12 - 3]
mov r9d, dword [r13 + 0x40020]
mov qword [rsp + 0x28], rdx
mov rax, rdx
neg rax
cmp r9d, ecx
jae 0x140066ed9
mov r8d, ecx
sub r8d, r9d
mov rdx, r9
test r8b, 1
je 0x140066eca
mov rdx, qword [rsp + 0x90]
add rdx, rax
imul edx, dword [rdx + r9], 0x9e3779b1
shr edx, 0x11
mov r8d, r9d
sub r8d, dword [r13 + rdx*4]
cmp r8d, 0xffff
mov r10d, 0xffff
cmovae r8d, r10d
movzx r10d, r9w
mov word [r13 + r10*2 + 0x20000], r8w
mov dword [r13 + rdx*4], r9d
lea rdx, [r9 + 1]
mov r8d, ecx
not r9
add r9, r8
jne 0x140067ad4
mov r11, qword [r13 + 0x40010]
mov dword [r13 + 0x40020], ecx
imul ecx, dword [r15], 0x9e3779b1
shr ecx, 0x11
mov r8d, dword [r13 + rcx*4]
movzx ecx, bx
mov edx, ebx
shr edx, 0x10
xor edx, ecx
movzx ecx, bl
mov r9d, ebx
shr r9d, 0x18
xor r9d, ecx
or r9d, edx
sete byte [rsp + 0xe0]
cmp r8d, dword [rsp + 0xe8]
jb 0x140068436
mov qword [rsp + 0x1e8], r12
mov rdi, qword [rsp + 0x28]
add qword [rsp + 0x130], rdi
mov rdx, rdi
mov rcx, qword [rsp + 0x78]
sub rdx, rcx
mov rsi, rcx
neg rsi
mov rcx, r15
mov r9, qword [rsp + 0x60]
sub rcx, r9
mov qword [rsp + 0x140], rdx
add rdx, r11
mov qword [rsp + 0x180], rdx
mov qword [rsp + 0xa8], rcx
movsxd rcx, ecx
neg rcx
mov qword [rsp + 0x138], rcx
mov rcx, r9
sub rcx, r15
mov qword [rsp + 0x68], rcx
lea rcx, [r15 + 4]
mov qword [rsp + 0x58], rcx
lea rcx, [r15 + 0xc]
mov qword [rsp + 0xc0], rcx
lea ecx, [rdi - 4]
mov dword [rsp + 0x98], ecx
mov r10, qword [rsp + 0x90]
lea rcx, [r10 + rax]
mov qword [rsp + 0x70], rcx
mov rdx, rbx
movabs rcx, 0x100000001
imul rdx, rcx
add rsi, r11
mov qword [rsp + 0x148], rsi
add rax, r10
add rax, 0xffffffffffffffff
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x178]
lea ecx, [rax + r9]
not ecx
mov qword [rsp + 0x188], rcx
mov rcx, qword [rsp + 0x1a0]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0x198]
mov qword [rsp + 0xb0], rcx
lea rcx, [r10 + 8]
mov qword [rsp + 0x1c0], rcx
mov rcx, qword [rsp + 0x168]
lea r10, [r9 + rcx - 4]
mov qword [rsp + 0x110], r10
lea rcx, [r9 + rcx - 3]
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x88], r11
lea rcx, [r11 - 1]
mov qword [rsp + 0xa0], rcx
xor ecx, ecx
mov qword [rsp + 0x30], rcx
mov esi, eax
mov eax, dword [rsp + 0x104]
mov r12d, eax
xor r9d, r9d
mov qword [rsp + 0x40], rbx
nop word cs:[rax + rax]
mov r10d, edi
sub r10d, r8d
jbe 0x140067100
cmp r8d, dword [rsp + 0x98]
ja 0x140067520
mov ecx, r8d
sub ecx, dword [rsp + 0x78]
mov rax, qword [rsp + 0x88]
lea rbp, [rax + rcx]
cmp dword [rbp], ebx
jne 0x140067520
mov dword [rsp + 0xd0], esi
lea rax, [r15 + r10]
mov r11, qword [rsp + 0x48]
cmp rax, r11
mov r14, rax
cmova r14, r11
add rbp, 4
lea r11, [r14 - 7]
mov rsi, qword [rsp + 0x58]
cmp r11, rsi
jbe 0x1400671e1
mov rsi, qword [rsi]
xor rsi, qword [rbp]
je 0x1400671d5
tzcnt rsi, rsi
shr esi, 3
jmp 0x140067267
mov rdi, r15
mov r11d, r8d
mov rax, qword [rsp + 0x70]
add rax, r11
mov r15d, esi
movsxd rcx, esi
mov rsi, qword [rsp + 0x60]
movzx esi, word [rsi + rcx - 1]
mov rbx, qword [rsp + 0x138]
add rbx, rax
cmp si, word [rcx + rbx - 1]
jne 0x1400671b0
mov rbx, qword [rsp + 0x40]
cmp dword [rax], ebx
jne 0x1400671c5
cmp dword [rsp + 0xa8], 0
je 0x1400672ba
mov rcx, qword [rsp + 0x90]
sub rcx, rax
mov rsi, qword [rsp + 0x68]
cmp rsi, rcx
cmovg rcx, rsi
movsxd rsi, ecx
mov ecx, esi
sar ecx, 0x1f
and ecx, esi
add r11, qword [rsp + 0x160]
xor ebx, ebx
nop word [rax + rax]
cmp rbx, rsi
jle 0x1400671a6
lea r14, [rbx - 1]
mov rbp, qword [rsp + 0x110]
movzx ebp, byte [rbp + rbx]
cmp bpl, byte [r11 + rbx]
mov rbx, r14
je 0x140067180
add r14d, 1
mov ecx, r14d
mov rbx, qword [rsp + 0x40]
jmp 0x1400672bc
mov esi, r15d
mov r15, rdi
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x40]
jmp 0x140067520
mov esi, r15d
mov r15, rdi
mov rdi, qword [rsp + 0x28]
jmp 0x140067520
add rbp, 8
mov rsi, qword [rsp + 0xc0]
cmp rsi, r11
jae 0x140067209
mov rbx, qword [rsp + 0x188]
add ebx, esi
mov r13, qword [rsi]
xor r13, qword [rbp]
jne 0x140067254
add rsi, 8
add rbp, 8
add ebx, 8
cmp rsi, r11
jb 0x1400671f0
lea r11, [r14 - 3]
cmp rsi, r11
jae 0x140067223
mov r11d, dword [rbp]
cmp r11d, dword [rsi]
jne 0x140067223
add rsi, 4
add rbp, 4
lea r11, [r14 - 1]
cmp rsi, r11
jae 0x140067a11
movzx r11d, word [rbp]
cmp r11w, word [rsi]
mov r13, qword [rsp + 0xb8]
jne 0x140067a19
add rsi, 2
add rbp, 2
jmp 0x140067a19
tzcnt rsi, r13
shr rsi, 3
add esi, ebx
mov r13, qword [rsp + 0xb8]
lea ebp, [rsi + 4]
cmp rax, qword [rsp + 0x48]
jae 0x140067488
movsxd rax, esi
add rax, r15
add rax, 4
cmp rax, r14
jne 0x140067488
mov r11, qword [rsp + 0x90]
mov rsi, r11
mov rax, r14
cmp qword [rsp + 0x20], r14
jbe 0x14006739d
mov rax, qword [r14]
xor rax, qword [r11]
je 0x140067391
tzcnt rax, rax
shr eax, 3
jmp 0x140067486
xor ecx, ecx
lea rsi, [rax + 4]
mov rbp, qword [rsp + 0x58]
cmp qword [rsp + 0x20], rbp
jbe 0x1400672f4
mov r11, qword [rbp]
xor r11, qword [rsi]
je 0x1400672e8
tzcnt rbp, r11
shr ebp, 3
mov esi, r15d
mov r15, rdi
jmp 0x140067458
add rsi, 8
mov rbp, qword [rsp + 0xc0]
cmp rbp, qword [rsp + 0x20]
jae 0x140067330
mov r11, qword [rsp + 0x188]
add r11d, ebp
nop word cs:[rax + rax]
mov rbx, qword [rbp]
xor rbx, qword [rsi]
jne 0x140067441
add rbp, 8
add rsi, 8
add r11d, 8
cmp rbp, qword [rsp + 0x20]
jb 0x140067310
cmp rbp, qword [rsp + 0x158]
jae 0x14006734b
mov r11d, dword [rsi]
cmp r11d, dword [rbp]
jne 0x14006734b
add rbp, 4
add rsi, 4
mov rbx, qword [rsp + 0x40]
cmp rbp, qword [rsp + 0x150]
jae 0x14006736d
movzx r11d, word [rsi]
cmp r11w, word [rbp]
jne 0x14006736d
add rbp, 2
add rsi, 2
cmp rbp, qword [rsp + 0x48]
jae 0x140067385
movzx r11d, byte [rsi]
xor esi, esi
cmp r11b, byte [rbp]
sete sil
add rbp, rsi
mov esi, r15d
sub ebp, dword [rsp + 0x58]
jmp 0x1400672e0
lea rax, [r14 + 8]
mov rsi, qword [rsp + 0x1c0]
cmp rax, qword [rsp + 0x20]
jae 0x1400673ef
mov r11, qword [rsp + 0x1b0]
lea rbx, [r11 + r10]
mov r11, qword [rsp + 0x48]
cmp rbx, r11
cmovae rbx, r11
mov r11d, eax
sub r11d, ebx
nop word cs:[rax + rax]
nop dword [rax]
mov rbx, qword [rax]
xor rbx, qword [rsi]
jne 0x14006747a
add rax, 8
add rsi, 8
add r11d, 8
cmp rax, qword [rsp + 0x20]
jb 0x1400673d0
cmp rax, qword [rsp + 0x158]
jae 0x140067409
mov r11d, dword [rsi]
cmp r11d, dword [rax]
jne 0x140067409
add rax, 4
add rsi, 4
cmp rax, qword [rsp + 0x150]
jae 0x140067425
movzx r11d, word [rsi]
cmp r11w, word [rax]
jne 0x140067425
add rax, 2
add rsi, 2
cmp rax, qword [rsp + 0x48]
jae 0x14006743c
movzx r11d, byte [rsi]
xor esi, esi
cmp r11b, byte [rax]
sete sil
add rax, rsi
sub eax, r14d
jmp 0x140067486
tzcnt rbp, rbx
shr rbp, 3
add ebp, r11d
mov esi, r15d
mov r15, rdi
mov rbx, qword [rsp + 0x40]
sub ebp, ecx
add ebp, 4
cmp ebp, esi
mov rdi, qword [rsp + 0x28]
jle 0x140067520
movsxd rcx, ecx
add rax, rcx
mov qword [rsp + 0x38], rax
jmp 0x14006750d
tzcnt rax, rbx
shr rax, 3
add eax, r11d
add ebp, eax
cmp dword [rsp + 0xa8], 0
je 0x1400674e6
mov rax, qword [rsp + 0xa0]
lea r11, [rax + rcx]
neg rcx
mov rax, qword [rsp + 0x68]
cmp rax, rcx
cmovg rcx, rax
movsxd rcx, ecx
mov eax, ecx
sar eax, 0x1f
and eax, ecx
xor esi, esi
nop dword [rax]
cmp rsi, rcx
jle 0x1400674e8
lea rbx, [rsi - 1]
mov r14, qword [rsp + 0x110]
movzx r14d, byte [r14 + rsi]
cmp r14b, byte [r11 + rsi]
mov rsi, rbx
je 0x1400674c0
add ebx, 1
mov eax, ebx
jmp 0x1400674e8
xor eax, eax
sub ebp, eax
mov esi, dword [rsp + 0xd0]
cmp ebp, esi
mov rbx, qword [rsp + 0x40]
jle 0x140067520
mov r11d, r8d
add r11, qword [rsp + 0x70]
movsxd rcx, eax
add r11, rcx
mov qword [rsp + 0x38], r11
add rcx, r15
mov qword [rsp + 0xb0], rcx
mov esi, ebp
nop word [rax + rax]
movzx eax, r8w
movzx eax, word [r13 + rax*2 + 0x20000]
cmp dword [rsp + 0x104], 0x81
jl 0x1400676e0
cmp ax, 1
jne 0x1400676e0
mov rcx, qword [rsp + 0x30]
test ecx, ecx
mov r14d, esi
je 0x14006762f
cmp ecx, 2
jne 0x1400676d0
lea ebp, [r8 - 1]
cmp ebp, dword [rsp + 0xe8]
jb 0x1400676d0
mov ecx, 2
mov qword [rsp + 0x30], rcx
cmp r10d, 3
jb 0x1400676e0
cmp ebp, edi
mov rsi, qword [rsp + 0x148]
cmovae rsi, qword [rsp + 0x70]
mov rcx, rbx
mov ebx, ebp
cmp dword [rsi + rbx], ecx
jne 0x1400676d7
lea r8, [rsi + rbx]
cmp ebp, edi
mov rcx, qword [rsp + 0x180]
cmovae rcx, qword [rsp + 0x48]
lea rax, [r8 + 4]
lea r11, [rcx - 7]
mov r10, rax
cmp r11, rax
jbe 0x1400675f9
add rsi, rbx
add rsi, 4
mov r10, rax
nop word cs:[rax + rax]
nop dword [rax]
mov rbx, qword [r10]
xor rbx, rdx
jne 0x14006770b
add r10, 8
add rsi, 8
cmp r10, r11
jb 0x1400675e0
cmp r10, rcx
mov rbx, qword [rsp + 0x40]
jae 0x14006771c
mov r11, rcx
sub r11, r10
mov rsi, rdx
cmp byte [r10], sil
jne 0x14006771c
add r10, 1
shr rsi, 8
add r11, 0xffffffffffffffff
jne 0x140067610
mov r10, rcx
jmp 0x14006771c
mov ecx, 1
mov qword [rsp + 0x30], rcx
cmp byte [rsp + 0xe0], 0
je 0x1400676e0
mov rcx, qword [rsp + 0x58]
cmp qword [rsp + 0x20], rcx
jbe 0x140067a50
mov r9, rcx
nop word [rax + rax]
mov r11, qword [rcx]
xor r11, rdx
jne 0x1400676a9
add rcx, 8
add r9, 8
cmp rcx, qword [rsp + 0x20]
jb 0x140067660
mov r11, qword [rsp + 0x48]
cmp rcx, r11
jae 0x1400676b5
sub r11, r9
lea r9, [rcx + r11]
mov rsi, rdx
cmp byte [rcx], sil
jne 0x1400676a1
add rcx, 1
shr rsi, 8
add r11, 0xffffffffffffffff
jne 0x14006768b
mov rcx, r9
mov r9, rcx
mov esi, r14d
jmp 0x1400676b5
tzcnt rcx, r11
shr rcx, 3
add r9, rcx
sub r9d, dword [rsp + 0x58]
add r9, 4
mov ecx, 2
cmp ecx, 2
je 0x140067561
nop dword [rax]
mov qword [rsp + 0x30], rcx
jmp 0x1400676e0
mov esi, r14d
mov rbx, qword [rsp + 0x40]
nop
movzx eax, ax
sub r8d, eax
cmp r8d, dword [rsp + 0xe8]
jb 0x140067a73
lea eax, [r12 - 1]
cmp r12d, 1
mov r12d, eax
jg 0x140067080
jmp 0x140067a73
tzcnt r10, rbx
shr r10, 3
add r10, rsi
mov rbx, qword [rsp + 0x40]
sub r10, rax
mov eax, r10d
add rax, 4
cmp ebp, edi
jb 0x140067737
mov rcx, qword [rsp + 0x90]
jmp 0x1400677f6
lea r11, [r8 + rax]
cmp r11, rcx
jne 0x1400677ee
mov ecx, r10d
shl ecx, 3
mov esi, ebx
rol esi, cl
test r10b, 3
cmove esi, ebx
movabs rcx, 0x100000001
imul rsi, rcx
mov rcx, qword [rsp + 0x90]
cmp qword [rsp + 0x20], rcx
jbe 0x140067a60
mov r10, rcx
nop dword [rax]
mov r11, qword [rcx]
xor r11, rsi
jne 0x1400677d7
add rcx, 8
add r10, 8
cmp rcx, qword [rsp + 0x20]
jb 0x140067780
cmp rcx, qword [rsp + 0x48]
jae 0x1400677e3
mov r11, qword [rsp + 0x48]
sub r11, r10
lea r10, [rcx + r11]
cmp byte [rcx], sil
jne 0x1400677c0
add rcx, 1
shr rsi, 8
add r11, 0xffffffffffffffff
jne 0x1400677aa
mov rcx, r10
mov r10, rcx
mov r13, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x40]
jmp 0x1400677e3
tzcnt rcx, r11
shr rcx, 3
add r10, rcx
sub r10d, dword [rsp + 0x90]
add rax, r10
mov rcx, qword [rsp + 0x88]
mov dword [rsp + 0x54], ebx
lea r10, [rcx + 4]
mov rsi, r8
nop word cs:[rax + rax]
nop dword [rax + rax]
mov r11, rsi
cmp rsi, r10
jb 0x140067822
lea rsi, [r11 - 4]
cmp dword [r11 - 4], ebx
je 0x140067810
cmp r11, rcx
jbe 0x140067a58
xor r10d, r10d
mov esi, r14d
nop word cs:[rax + rax]
nop dword [rax + rax]
movzx ebx, byte [r11 + r10 - 1]
cmp bl, byte [rsp + r10 + 0x57]
jne 0x140067866
lea rsi, [r11 + r10]
add rsi, 0xffffffffffffffff
add r10, 0xffffffffffffffff
cmp rsi, rcx
mov esi, r14d
ja 0x140067840
mov r11, rcx
jmp 0x140067869
add r11, r10
mov r10, r8
sub r10, r11
cmp ebp, edi
mov rbx, qword [rsp + 0x40]
jb 0x140067945
mov ecx, r10d
sub r8, rcx
cmp r8, qword [rsp + 0x90]
jne 0x140067945
cmp dword [rsp + 0x78], edi
jae 0x140067945
mov r11d, r10d
neg r11d
mov ecx, r11d
shl ecx, 3
mov r8d, ebx
rol r8d, cl
test r11b, 3
cmove r8d, ebx
mov dword [rsp + 0x54], r8d
mov r11, qword [rsp + 0x140]
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp r11, 4
jl 0x140067a37
lea rcx, [r11 - 4]
mov r14, qword [rsp + 0x88]
cmp dword [r14 + r11 - 4], r8d
mov r11, rcx
je 0x1400678d0
mov r8, qword [rsp + 0x88]
add rcx, r8
add rcx, 4
lea r8, [rsp + 0x57]
nop word cs:[rax + rax]
nop
movzx r11d, byte [rcx - 1]
cmp r11b, byte [r8]
jne 0x140067934
add rcx, 0xffffffffffffffff
add r8, 0xffffffffffffffff
cmp rcx, qword [rsp + 0x88]
ja 0x140067910
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x180]
sub r8d, ecx
add r8d, r10d
mov r10d, r8d
mov r8d, ebp
sub r8d, r10d
mov ecx, dword [rsp + 0xe8]
cmp r8d, ecx
cmovbe r8d, ecx
mov ecx, ebp
sub ecx, r8d
add rcx, rax
cmp rax, r9
ja 0x14006798e
cmp rcx, r9
jb 0x14006798e
sub ebp, r9d
add ebp, eax
mov eax, ebp
not eax
add eax, edi
cmp eax, 3
cmovb ebp, edi
mov eax, 2
mov qword [rsp + 0x30], rax
mov r8d, ebp
jmp 0x1400676e6
mov eax, r8d
not eax
add eax, edi
mov r10d, 2
mov qword [rsp + 0x30], r10
cmp eax, 3
jae 0x1400679ad
mov r8d, edi
jmp 0x1400676e6
cmp dword [rsp + 0xa8], 0
jne 0x1400676e6
cmp rcx, r9
cmovae rcx, r9
movsxd rax, esi
cmp rcx, rax
jbe 0x1400679f9
mov eax, r8d
mov r10, qword [rsp + 0x130]
sub r10, rax
cmp r10, 0xffff
ja 0x140067a73
add rax, qword [rsp + 0x70]
mov qword [rsp + 0xb0], r15
mov qword [rsp + 0x38], rax
mov esi, ecx
movzx eax, r8w
movzx eax, word [r13 + rax*2 + 0x20000]
sub r8d, eax
jae 0x1400676e6
jmp 0x140067a73
mov r13, qword [rsp + 0xb8]
cmp rsi, r14
jae 0x140067a2e
movzx r11d, byte [rbp]
xor ebx, ebx
cmp r11b, byte [rsi]
sete bl
add rsi, rbx
sub esi, dword [rsp + 0x58]
jmp 0x140067267
mov rcx, qword [rsp + 0x88]
add rcx, r11
test r11, r11
jg 0x1400678ff
jmp 0x140067934
mov r9, rcx
jmp 0x140067677
mov esi, r14d
jmp 0x140067869
mov r10, rcx
cmp rcx, qword [rsp + 0x48]
jb 0x14006779e
jmp 0x1400677e3
mov rbx, qword [rsp + 0x178]
cmp esi, ebx
mov r9, qword [rsp + 0xf0]
je 0x140068445
mov r15, qword [rsp + 0xb0]
cmp r15, qword [rsp + 0x1a8]
mov rax, qword [rsp + 0x38]
jae 0x140067b6f
mov qword [rsp + 0x198], r15
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x120]
cmp r15, rax
mov r14, qword [rsp + 0xc8]
jb 0x140066d77
jmp 0x140067e7d
mov r9, qword [rsp + 0x90]
add r9, rax
add r9, 1
jmp 0x140067b0f
movzx edi, r10w
mov word [r13 + rdi*2 + 0x20000], si
mov dword [r13 + r11*4], r10d
add rdx, 2
cmp rdx, r8
je 0x140066ed9
imul r10d, dword [r9 + rdx - 1], 0x9e3779b1
shr r10d, 0x11
mov r11d, edx
sub r11d, dword [r13 + r10*4]
cmp r11d, 0xffff
jb 0x140067b33
mov r11d, 0xffff
movzx esi, dx
mov word [r13 + rsi*2 + 0x20000], r11w
mov dword [r13 + r10*4], edx
lea r10, [rdx + 1]
imul r11d, dword [r9 + rdx], 0x9e3779b1
shr r11d, 0x11
mov edi, dword [r13 + r11*4]
mov esi, edx
sub esi, edi
add esi, 1
cmp esi, 0xffff
jb 0x140067af0
mov esi, 0xffff
jmp 0x140067af0
mov rcx, qword [rsp + 0x60]
cmp rcx, qword [rsp + 0x120]
mov rax, qword [rsp + 0xc8]
jae 0x140067bd6
mov rax, rcx
sub rax, r9
cmp rax, 0x11
jg 0x140067bd6
mov rdx, qword [rsp + 0x110]
cmp qword [rsp + 0x1b8], rdx
lea eax, [rbx + rax - 4]
mov edx, dword [rsp + 0x190]
cmova edx, eax
mov eax, r9d
sub eax, ecx
mov ebp, edx
add eax, edx
test eax, eax
jle 0x140067bd8
mov rdx, rcx
mov ecx, eax
add rdx, rcx
mov qword [rsp + 0x60], rdx
add qword [rsp + 0x80], rcx
sub ebx, eax
jmp 0x140067bd8
mov ebp, eax
mov r14, r9
sub r14, qword [rsp + 0x118]
mov rax, r14
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0x280], 0
mov rdi, qword [rsp + 0xd8]
je 0x140067c22
shr rdx, 7
add rdx, rdi
lea rax, [r14 + rdx]
add rax, 9
cmp rax, qword [rsp + 0x108]
ja 0x14006c348
lea r12, [rdi + 1]
cmp r14, 0xf
jb 0x140067c90
lea rax, [r14 - 0xf]
mov byte [rdi], 0xf0
cmp rax, 0xff
jb 0x140067c86
lea rax, [r14 - 0x10e]
mul rcx
mov rdi, rdx
shr rdi, 7
lea r8, [rdi + 1]
mov rcx, r12
mov dl, 0xff
call fcn.1400175c0
mov r9, qword [rsp + 0xf0]
mov rax, rdi
shl rax, 8
mov rcx, qword [rsp + 0xd8]
lea r12, [rcx + rdi]
add r12, 2
sub rdi, rax
lea rax, [r14 + rdi]
add rax, 0xfffffffffffffef2
mov byte [r12], al
add r12, 1
jmp 0x140067c98
mov eax, r14d
shl al, 4
mov byte [rdi], al
lea rax, [r12 + r9]
mov rdx, qword [rsp + 0x118]
sub rax, rdx
lea rcx, [r12 + 8]
cmp rax, rcx
cmovbe rax, rcx
lea rcx, [r12 + r14]
mov r8, r12
not r8
add r8, rax
mov rax, rdx
mov rdx, r12
cmp r8, 0x38
jb 0x140067d29
mov r9, r12
mov rax, qword [rsp + 0x118]
sub r9, rax
mov rdx, r12
cmp r9, 0x20
jb 0x140067d29
shr r8, 3
add r8, 1
mov r9, r8
and r9, 0xfffffffffffffffc
mov r11, qword [rsp + 0x118]
lea rax, [r11 + r9*8]
lea rdx, [r12 + r9*8]
xor r10d, r10d
movups xmm0, xmmword [r11 + r10*8]
movups xmm1, xmmword [r11 + r10*8 + 0x10]
movups xmmword [r12 + r10*8], xmm0
movups xmmword [r12 + r10*8 + 0x10], xmm1
add r10, 4
cmp r9, r10
jne 0x140067d05
cmp r8, r9
je 0x140067d3c
mov r8, qword [rax]
mov qword [rdx], r8
add rdx, 8
add rax, 8
cmp rdx, rcx
jb 0x140067d29
mov edi, esi
mov rax, qword [rsp + 0xf0]
mov r9d, eax
movsxd rsi, ebp
lea r8, [rsi - 4]
mov rax, r8
movabs rdx, 0x8080808080808081
mul rdx
sub r9d, dword [rsp + 0xf8]
mov word [rcx], r9w
cmp dword [rsp + 0x280], 0
je 0x140067d90
shr rdx, 7
lea rax, [rcx + rdx]
add rax, 8
cmp rax, qword [rsp + 0x108]
ja 0x14006c352
add rcx, 2
cmp r8, 0xf
jb 0x140067e2e
mov rax, qword [rsp + 0xd8]
add byte [rax], 0xf
lea rax, [rsi - 0x13]
cmp rax, 0x1fe
jb 0x140067dfe
lea rax, [rsi - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rbp, rdx
shr rbp, 8
lea r8, [rbp + 2]
add r8, rbp
mov dl, 0xff
call fcn.1400175c0
lea rax, [r14 + rbp*2]
lea rcx, [r12 + rax]
add rcx, 4
imul rax, rbp, 0xfffffffffffffe02
add rax, rsi
add rax, 0xfffffffffffffdef
cmp rax, 0xff
mov rdx, qword [rsp + 0xf0]
jb 0x140067e1b
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
add rcx, 1
mov byte [rcx], al
add rcx, 1
add rdx, rsi
mov qword [rsp + 0x118], rdx
jmp 0x140067e4c
mov rax, qword [rsp + 0xd8]
add byte [rax], r8b
mov rax, qword [rsp + 0xf0]
add rax, rsi
mov qword [rsp + 0x118], rax
mov r9, qword [rsp + 0x60]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x198], r15
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x1a0], rax
mov esi, edi
jmp 0x140066d1a
mov rcx, qword [rsp + 0x60]
cmp rcx, rax
jae 0x140067ebc
sub rax, rcx
sub ebx, eax
cmp ebx, 3
jg 0x140067eaa
mov rax, r15
mov qword [rsp + 0x60], r15
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x80], rax
mov ebx, esi
jmp 0x140067ebc
cdqe
add rcx, rax
mov qword [rsp + 0x60], rcx
add qword [rsp + 0x80], rax
mov r12, r9
sub r12, qword [rsp + 0x118]
mov rax, r12
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0x280], 0
mov rdi, qword [rsp + 0xd8]
je 0x140067f06
shr rdx, 7
add rdx, rdi
lea rax, [r12 + rdx]
add rax, 9
cmp rax, qword [rsp + 0x108]
ja 0x14006c35c
lea rbp, [rdi + 1]
cmp r12, 0xf
jb 0x140067f7a
lea rax, [r12 - 0xf]
mov byte [rdi], 0xf0
cmp rax, 0xff
jb 0x140067f6c
lea rax, [r12 - 0x10e]
mul rcx
mov rdi, rdx
shr rdi, 7
lea r8, [rdi + 1]
mov rcx, rbp
mov dl, 0xff
call fcn.1400175c0
mov r9, qword [rsp + 0xf0]
mov rax, rdi
shl rax, 8
mov rcx, qword [rsp + 0xd8]
lea rbp, [rcx + rdi]
add rbp, 2
sub rdi, rax
lea rax, [r12 + rdi]
add rax, 0xfffffffffffffef2
mov rdi, qword [rsp + 0x60]
mov byte [rbp], al
add rbp, 1
jmp 0x140067f87
mov eax, r12d
shl al, 4
mov byte [rdi], al
mov rdi, qword [rsp + 0x60]
lea rcx, [r12 + rbp]
mov rax, rbp
not rax
lea rdx, [r9 + rbp]
mov r9, qword [rsp + 0x118]
sub rdx, r9
lea r8, [rbp + 8]
cmp rdx, r8
cmovbe rdx, r8
add rdx, rax
mov rax, r9
mov r8, rbp
cmp rdx, 0x38
jb 0x14006801f
mov r9, rbp
mov rax, qword [rsp + 0x118]
sub r9, rax
mov r8, rbp
cmp r9, 0x20
jb 0x14006801f
shr rdx, 3
add rdx, 1
mov r9, rdx
and r9, 0xfffffffffffffffc
mov r11, qword [rsp + 0x118]
lea rax, [r11 + r9*8]
lea r8, [r9*8]
add r8, rbp
xor r10d, r10d
movups xmm0, xmmword [r11 + r10*8]
movups xmm1, xmmword [r11 + r10*8 + 0x10]
movups xmmword [rbp + r10*8], xmm0
movups xmmword [rbp + r10*8 + 0x10], xmm1
add r10, 4
cmp r9, r10
jne 0x140067ffa
cmp rdx, r9
je 0x140068032
mov rdx, qword [rax]
mov qword [r8], rdx
add r8, 8
add rax, 8
cmp r8, rcx
jb 0x14006801f
mov rax, qword [rsp + 0xf0]
mov r9d, eax
mov rax, qword [rsp + 0x1f0]
lea r8, [rax - 4]
mov rax, r8
movabs rdx, 0x8080808080808081
mul rdx
sub r9d, dword [rsp + 0xf8]
mov word [rcx], r9w
cmp dword [rsp + 0x280], 0
je 0x140068089
shr rdx, 7
lea rax, [rcx + rdx]
add rax, 8
cmp rax, qword [rsp + 0x108]
ja 0x14006c371
add rcx, 2
cmp r8, 0xf
jb 0x140068126
mov rax, qword [rsp + 0xd8]
add byte [rax], 0xf
mov r14, qword [rsp + 0x1f0]
lea rax, [r14 - 0x13]
cmp rax, 0x1fe
jb 0x140068109
lea rax, [r14 - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
shr rdx, 8
mov qword [rsp + 0x110], rdx
lea r8, [rdx + rdx]
add r8, 2
mov dl, 0xff
call fcn.1400175c0
mov rdx, qword [rsp + 0x110]
lea rax, [r12 + rdx*2]
lea rcx, [rax + rbp]
add rcx, 4
imul rax, rdx, 0xfffffffffffffe02
add rax, r14
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x14006811e
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
add rcx, 1
mov byte [rcx], al
add rcx, 1
jmp 0x140068131
mov rax, qword [rsp + 0xd8]
add byte [rax], r8b
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0x198], r15
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x1a8], rdi
jmp 0x140065f36
mov qword [rsp + 0x60], r15
jmp 0x1400681a8
mov qword [rsp + 0x60], r15
jmp 0x14006819b
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x60], rax
mov r12, qword [rsp + 0x1e8]
mov r10, qword [rsp + 0x28]
mov r9, qword [rsp + 0x168]
mov rdi, r10
sub rdi, qword [rsp + 0x120]
mov rax, rdi
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0x280], 0
mov rsi, qword [rsp + 0xd8]
mov r15, qword [rsp + 0xf8]
je 0x1400681fa
shr rdx, 7
add rdx, rsi
lea rax, [rdi + rdx]
add rax, 9
cmp rax, qword [rsp + 0x108]
ja 0x14006c2d3
lea rcx, [rsi + 1]
cmp rdi, 0xf
jb 0x14006826a
lea rax, [rdi - 0xf]
mov byte [rsi], 0xf0
cmp rax, 0xff
jb 0x140068262
lea rax, [rdi - 0x10e]
movabs rdx, 0x8080808080808081
mul rdx
mov rbx, rdx
shr rbx, 7
lea r8, [rbx + 1]
mov dl, 0xff
call fcn.1400175c0
mov r9, qword [rsp + 0x168]
mov r10, qword [rsp + 0x28]
mov rax, rbx
shl rax, 8
lea rcx, [rsi + rbx]
add rcx, 2
sub rbx, rax
lea rax, [rdi + rbx]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
add rcx, 1
jmp 0x140068271
mov eax, edi
shl al, 4
mov byte [rsi], al
add rdi, rcx
mov rsi, rcx
sub rsi, qword [rsp + 0x120]
lea rax, [rsi + r10]
lea r8, [rcx + 8]
cmp rax, r8
cmova r8, rax
mov rax, rcx
not rax
add r8, rax
cmp r8, 0x38
jb 0x140068303
cmp rsi, 0x20
jb 0x140068303
shr r8, 3
add r8, 1
mov r9, r8
and r9, 0xfffffffffffffffc
mov r11, qword [rsp + 0x120]
lea rax, [r11 + r9*8]
lea rdx, [rcx + r9*8]
xor r10d, r10d
nop word cs:[rax + rax]
nop
movups xmm0, xmmword [r11 + r10*8]
movups xmm1, xmmword [r11 + r10*8 + 0x10]
movups xmmword [rcx + r10*8], xmm0
movups xmmword [rcx + r10*8 + 0x10], xmm1
add r10, 4
cmp r9, r10
jne 0x1400682d0
cmp r8, r9
mov r10, qword [rsp + 0x28]
mov r9, qword [rsp + 0x168]
jne 0x140068310
jmp 0x140068323
mov rax, qword [rsp + 0x120]
mov rdx, rcx
nop
mov rcx, qword [rax]
mov qword [rdx], rcx
add rdx, 8
add rax, 8
cmp rdx, rdi
jb 0x140068310
mov r8d, r10d
lea rcx, [r9 - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
sub r8d, r15d
mov word [rdi], r8w
cmp dword [rsp + 0x280], 0
je 0x140068365
shr rdx, 7
lea rax, [rdi + rdx]
add rax, 8
cmp rax, qword [rsp + 0x108]
ja 0x14006c2f0
add rdi, 2
cmp rcx, 0xf
jb 0x1400683fe
mov rax, qword [rsp + 0xd8]
add byte [rax], 0xf
lea rax, [r9 - 0x13]
cmp rax, 0x1fe
jb 0x1400683d9
lea rax, [r9 - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rbx, rdx
shr rbx, 8
lea r8, [rbx + rbx]
add r8, 2
mov rcx, rdi
mov dl, 0xff
mov rdi, r10
mov r14, r9
call fcn.1400175c0
lea rax, [rdi + rbx*2]
lea rdi, [rsi + rax]
add rdi, 4
imul rax, rbx, 0xfffffffffffffe02
add rax, r14
add rax, 0xfffffffffffffdef
mov rcx, qword [rsp + 0x128]
cmp rax, 0xff
jb 0x1400683f6
add rax, 0xffffffffffffff01
mov byte [rdi], 0xff
add rdi, 1
mov byte [rdi], al
add rdi, 1
jmp 0x140068410
mov rax, qword [rsp + 0xd8]
add byte [rax], cl
mov rcx, qword [rsp + 0x128]
mov qword [rsp + 0xd8], rdi
mov r8, r12
cmp r12, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x170]
jbe 0x140065337
jmp 0x14006be4c
mov r15, qword [rsp + 0x60]
mov r9, qword [rsp + 0xf0]
jmp 0x14006846f
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x198], rax
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0x1e8]
mov eax, r15d
sub eax, r9d
cmp r15, qword [rsp + 0x120]
mov rcx, qword [rsp + 0xc8]
cmovb ecx, eax
mov qword [rsp + 0xc8], rcx
mov rdi, r9
mov rsi, qword [rsp + 0x118]
sub rdi, rsi
mov rax, rdi
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0x280], 0
mov rcx, qword [rsp + 0xd8]
mov r15, qword [rsp + 0xf8]
je 0x1400684e5
shr rdx, 7
add rdx, rcx
lea rax, [rdi + rdx]
add rax, 9
cmp rax, qword [rsp + 0x108]
ja 0x14006c331
lea rbp, [rcx + 1]
cmp rdi, 0xf
jb 0x14006855c
lea rax, [rdi - 0xf]
mov byte [rcx], 0xf0
cmp rax, 0xff
jb 0x140068553
lea rax, [rdi - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbx, rdx
shr rbx, 7
lea r8, [rbx + 1]
mov rcx, rbp
mov dl, 0xff
call fcn.1400175c0
mov r9, qword [rsp + 0xf0]
mov rax, rbx
shl rax, 8
mov rcx, qword [rsp + 0xd8]
lea rbp, [rcx + rbx]
add rbp, 2
sub rbx, rax
lea rax, [rdi + rbx]
add rax, 0xfffffffffffffef2
mov byte [rbp], al
add rbp, 1
jmp 0x140068563
mov eax, edi
shl al, 4
mov byte [rcx], al
lea rbx, [rdi + rbp]
mov rax, rbp
not rax
lea rcx, [r9 + rbp]
sub rcx, rsi
lea rdx, [rbp + 8]
cmp rcx, rdx
cmovbe rcx, rdx
add rcx, rax
mov rax, rsi
mov rdx, rbp
cmp rcx, 0x38
jb 0x1400685ee
mov r8, rbp
sub r8, rsi
mov rax, rsi
mov rdx, rbp
cmp r8, 0x20
jb 0x1400685ee
shr rcx, 3
add rcx, 1
mov r8, rcx
and r8, 0xfffffffffffffffc
lea rax, [rsi + r8*8]
lea rdx, [r8*8]
add rdx, rbp
xor r9d, r9d
movups xmm0, xmmword [rsi + r9*8]
movups xmm1, xmmword [rsi + r9*8 + 0x10]
movups xmmword [rbp + r9*8], xmm0
movups xmmword [rbp + r9*8 + 0x10], xmm1
add r9, 4
cmp r8, r9
jne 0x1400685c1
cmp rcx, r8
mov r9, qword [rsp + 0xf0]
je 0x140068601
mov rcx, qword [rax]
mov qword [rdx], rcx
add rdx, 8
add rax, 8
cmp rdx, rbx
jb 0x1400685ee
mov r8d, r9d
movsxd r14, dword [rsp + 0xc8]
lea rcx, [r14 - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
sub r8d, r15d
mov word [rbx], r8w
cmp dword [rsp + 0x280], 0
je 0x14006864b
shr rdx, 7
lea rax, [rbx + rdx]
add rax, 8
cmp rax, qword [rsp + 0x108]
ja 0x14006c343
add rbx, 2
cmp rcx, 0xf
jb 0x1400686ea
mov rax, qword [rsp + 0xd8]
add byte [rax], 0xf
lea rax, [r14 - 0x13]
cmp rax, 0x1fe
jb 0x1400686c8
lea rax, [r14 - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rsi, rdx
shr rsi, 8
lea r8, [rsi + rsi]
add r8, 2
mov rcx, rbx
mov dl, 0xff
call fcn.1400175c0
mov r9, qword [rsp + 0xf0]
lea rax, [rsi*2]
add rax, rbp
lea rbx, [rdi + rax]
add rbx, 4
imul rax, rsi, 0xfffffffffffffe02
add rax, r14
add rax, 0xfffffffffffffdef
cmp rax, 0xff
mov rdi, qword [rsp + 0x60]
jb 0x1400686e2
add rax, 0xffffffffffffff01
mov byte [rbx], 0xff
add rbx, 1
mov byte [rbx], al
add rbx, 1
jmp 0x1400686f9
mov rax, qword [rsp + 0xd8]
add byte [rax], cl
mov rdi, qword [rsp + 0x60]
lea r15, [r9 + r14]
sub rdi, r15
mov rax, rdi
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0x280], 0
je 0x140068737
shr rdx, 7
add rdx, rbx
lea rax, [rdi + rdx]
add rax, 9
cmp rax, qword [rsp + 0x108]
ja 0x14006c312
lea rcx, [rbx + 1]
cmp rdi, 0xf
jb 0x1400687a2
lea rax, [rdi - 0xf]
mov byte [rbx], 0xf0
cmp rax, 0xff
jb 0x14006879a
lea rax, [rdi - 0x10e]
movabs rdx, 0x8080808080808081
mul rdx
mov rbp, rdx
shr rbp, 7
lea r8, [rbp + 1]
mov dl, 0xff
call fcn.1400175c0
mov r9, qword [rsp + 0xf0]
mov rax, rbp
shl rax, 8
lea rcx, [rbx + rbp]
add rcx, 2
sub rbp, rax
lea rax, [rdi + rbp]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
add rcx, 1
jmp 0x1400687a9
mov eax, edi
shl al, 4
mov byte [rbx], al
add rdi, rcx
mov rsi, rcx
sub rsi, r15
mov rax, qword [rsp + 0x60]
add rax, rsi
lea r8, [rcx + 8]
cmp rax, r8
cmova r8, rax
mov rax, rcx
not rax
add r8, rax
cmp r8, 0x38
jb 0x140068824
cmp rsi, 0x20
jb 0x140068824
shr r8, 3
add r8, 1
mov r10, r9
mov r9, r8
and r9, 0xfffffffffffffffc
lea rax, [r15 + r9*8]
lea rdx, [rcx + r9*8]
add r10, r14
add r10, 0x10
xor r11d, r11d
movups xmm0, xmmword [r10 + r11*8 - 0x10]
movups xmm1, xmmword [r10 + r11*8]
movups xmmword [rcx + r11*8], xmm0
movups xmmword [rcx + r11*8 + 0x10], xmm1
add r11, 4
cmp r9, r11
jne 0x1400687fe
cmp r8, r9
jne 0x14006882a
jmp 0x14006883d
mov rax, r15
mov rdx, rcx
mov rcx, qword [rax]
mov qword [rdx], rcx
add rdx, 8
add rax, 8
cmp rdx, rdi
jb 0x14006882a
mov rax, qword [rsp + 0x60]
mov r8d, eax
mov r9, qword [rsp + 0x168]
lea rcx, [r9 - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
sub r8d, dword [rsp + 0x80]
mov word [rdi], r8w
cmp dword [rsp + 0x280], 0
je 0x140068891
shr rdx, 7
lea rax, [rdi + rdx]
add rax, 8
cmp rax, qword [rsp + 0x108]
ja 0x14006c312
add rdi, 2
cmp rcx, 0xf
jb 0x1400688f4
add byte [rbx], 0xf
lea rax, [r9 - 0x13]
cmp rax, 0x1fe
mov r15, qword [rsp + 0xf8]
jb 0x1400683d9
lea rax, [r9 - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rbx, rdx
shr rbx, 8
lea r8, [rbx + rbx]
add r8, 2
mov rcx, rdi
mov dl, 0xff
mov r14, r9
call fcn.1400175c0
mov rax, qword [rsp + 0x60]
lea rax, [rax + rbx*2]
jmp 0x1400683c1
add byte [rbx], cl
mov rcx, qword [rsp + 0x128]
mov r15, qword [rsp + 0xf8]
jmp 0x140068410
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x170]
lea rdi, [rax + rcx]
add rdi, 0xfffffffffffffffb
lea rbx, [rdi - 7]
lea rcx, [rdi - 3]
mov qword [rsp + 0x1e0], rcx
lea rcx, [rdi - 1]
mov qword [rsp + 0x1d8], rcx
lea rcx, [r10 + 0x4c]
mov qword [rsp + 0x1f0], rcx
lea rcx, [r10 + 0x50]
mov qword [rsp + 0x200], rcx
mov r8, qword [rsp + 0x1c8]
mov rsi, rax
mov r11, rax
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x38], rdi
jmp 0x14006899f
add r11, 1
mov r8, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0x28]
cmp r11, qword [rsp + 0x1d0]
ja 0x1400651a0
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0xe0], r8
mov r14, qword [r13 + 0x40008]
mov r15d, dword [r13 + 0x40018]
mov rbp, r11
sub rbp, r14
lea edx, [r15 + rbp]
mov eax, dword [r13 + 0x4001c]
lea ecx, [rax + 0x10000]
mov dword [rsp + 0x168], ecx
cmp ecx, edx
lea ecx, [r15 + rbp - 0xffff]
mov qword [rsp + 0x78], rax
cmova ecx, eax
mov dword [rsp + 0x88], ecx
mov qword [rsp + 0xb0], r11
mov eax, dword [r11]
mov r8d, dword [r13 + 0x40020]
mov rcx, r15
neg rcx
mov qword [rsp + 0xa0], rcx
mov dword [rsp + 0x70], edx
cmp r8d, edx
jae 0x140068a7f
mov ecx, dword [rsp + 0x70]
mov edx, ecx
sub edx, r8d
mov rcx, r8
test dl, 1
je 0x140068a6f
mov rcx, qword [rsp + 0xa0]
add rcx, r14
imul ecx, dword [rcx + r8], 0x9e3779b1
shr ecx, 0x11
mov edx, r8d
sub edx, dword [r13 + rcx*4]
cmp edx, 0xffff
mov r9d, 0xffff
cmovae edx, r9d
movzx r9d, r8w
mov word [r13 + r9*2 + 0x20000], dx
mov dword [r13 + rcx*4], r8d
lea rcx, [r8 + 1]
mov edx, dword [rsp + 0x70]
not r8
add r8, rdx
jne 0x1400695a9
mov qword [rsp + 0x30], r15
mov r10, qword [r13 + 0x40010]
mov ecx, dword [rsp + 0x70]
mov dword [r13 + 0x40020], ecx
movzx ecx, ax
mov edx, eax
shr edx, 0x10
xor edx, ecx
movzx ecx, al
mov r8d, eax
shr r8d, 0x18
xor r8d, ecx
or r8d, edx
sete byte [rsp + 0x90]
cmp dword [rsp + 0x104], 0
mov r11, qword [rsp + 0xb0]
jle 0x140068980
imul ecx, dword [r11], 0x9e3779b1
shr ecx, 0x11
mov ecx, dword [r13 + rcx*4]
cmp ecx, dword [rsp + 0x88]
jb 0x140068980
mov rdx, r11
sub rdx, qword [rsp + 0x28]
mov qword [rsp + 0xd0], rdx
mov r12, qword [rsp + 0x30]
mov r8, r12
mov rdx, qword [rsp + 0x78]
sub r8, rdx
mov rsi, rdx
neg rsi
mov qword [rsp + 0x178], r8
lea rdx, [r10 + r8]
mov qword [rsp + 0x160], rdx
add rbp, r12
mov qword [rsp + 0x180], rbp
lea rdx, [r11 + 4]
mov qword [rsp + 0xa8], rdx
lea rdx, [r11 + 0xc]
mov qword [rsp + 0x60], rdx
lea edx, [r12 - 4]
mov dword [rsp + 0x138], edx
lea rdx, [r14 + 8]
mov qword [rsp + 0xd8], rdx
mov rdx, r14
mov qword [rsp + 0x98], r14
mov rdx, qword [rsp + 0xa0]
add rdx, r14
mov qword [rsp + 0x40], rdx
mov r9, rax
movabs rdx, 0x100000001
imul r9, rdx
mov qword [rsp + 0x48], r10
add rsi, r10
mov qword [rsp + 0x188], rsi
mov edx, 0xfffffffc
sub edx, r11d
mov qword [rsp + 0x148], rdx
xor ebp, ebp
mov r14d, 3
mov edx, dword [rsp + 0x104]
mov r11d, edx
mov dword [rsp + 0xe8], 0
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x68], rdx
mov edx, dword [rsp + 0x70]
nop word cs:[rax + rax]
nop dword [rax]
cmp byte [rsp + 0x110], 0
je 0x140068bfa
mov r10d, edx
sub r10d, ecx
cmp r10d, 8
jb 0x140068cd0
mov edi, r12d
sub edi, ecx
jbe 0x140068c70
cmp ecx, dword [rsp + 0x138]
ja 0x140068cd0
mov esi, ecx
sub esi, dword [rsp + 0x78]
add rsi, qword [rsp + 0x48]
cmp dword [rsi], eax
jne 0x140068cd0
mov qword [rsp + 0x58], r14
add rdi, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x38]
cmp rdi, r10
mov r14, rdi
cmova r14, r10
add rsi, 4
lea r15, [r14 - 7]
mov r10, qword [rsp + 0xa8]
cmp r15, r10
jbe 0x140068cea
mov r10, qword [r10]
xor r10, qword [rsi]
je 0x140068ce1
tzcnt r10, r10
shr r10d, 3
jmp 0x140068d5f
mov r10d, ecx
add r10, qword [rsp + 0x40]
movsxd rsi, r14d
mov rdi, qword [rsp + 0xb0]
movzx edi, word [rdi + rsi - 1]
cmp di, word [rsi + r10 - 1]
jne 0x140068cd0
cmp dword [r10], eax
jne 0x140068cd0
lea rsi, [r10 + 4]
mov r15, qword [rsp + 0xa8]
cmp rbx, r15
jbe 0x140068dc9
mov rdi, qword [r15]
xor rdi, qword [rsi]
je 0x140068dc0
tzcnt r15, rdi
shr r15d, 3
jmp 0x140068ee8
xor r15d, r15d
cmp r15d, r14d
je 0x140068f39
jmp 0x140068fd0
add rsi, 8
mov r10, qword [rsp + 0x60]
cmp r10, r15
jae 0x140068d19
mov rbx, qword [rsp + 0x148]
lea r13d, [rbx + r10]
nop dword [rax + rax]
mov rbx, qword [r10]
xor rbx, qword [rsi]
jne 0x140068d46
add r10, 8
add rsi, 8
add r13d, 8
cmp r10, r15
jb 0x140068d00
lea rbx, [r14 - 3]
cmp r10, rbx
jae 0x1400694ec
mov ebx, dword [rsi]
cmp ebx, dword [r10]
mov r13, qword [rsp + 0xb8]
jne 0x1400694f4
add r10, 4
add rsi, 4
jmp 0x1400694f4
tzcnt r10, rbx
shr r10, 3
add r10d, r13d
mov r13, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x20]
lea r15d, [r10 + 4]
cmp rdi, qword [rsp + 0x38]
jae 0x140068f0a
movsxd r10, r10d
mov rsi, qword [rsp + 0xb0]
add r10, rsi
add r10, 4
cmp r10, r14
jne 0x140068f0a
mov r12, qword [rsp + 0x98]
mov rsi, r12
mov r10, r14
cmp rbx, r14
jbe 0x140068e69
mov r10, qword [r14]
xor r10, qword [r12]
je 0x140068e5d
tzcnt r10, r10
shr r10d, 3
mov r12, qword [rsp + 0x30]
jmp 0x140068f07
add rsi, 8
mov r15, qword [rsp + 0x60]
mov qword [rsp + 0x58], r14
cmp r15, rbx
jae 0x140068dfc
mov rdi, qword [rsp + 0x148]
add edi, r15d
nop
mov r14, qword [r15]
xor r14, qword [rsi]
jne 0x140068ed7
add r15, 8
add rsi, 8
add edi, 8
cmp r15, rbx
jb 0x140068de0
cmp r15, qword [rsp + 0x1e0]
jae 0x140068e15
mov edi, dword [rsi]
cmp edi, dword [r15]
jne 0x140068e15
add r15, 4
add rsi, 4
mov r14, qword [rsp + 0x58]
cmp r15, qword [rsp + 0x1d8]
jae 0x140068e35
movzx edi, word [rsi]
cmp di, word [r15]
jne 0x140068e35
add r15, 2
add rsi, 2
cmp r15, qword [rsp + 0x38]
jae 0x140068e50
movzx ebx, byte [rsi]
xor esi, esi
cmp bl, byte [r15]
mov rbx, qword [rsp + 0x20]
sete sil
add r15, rsi
sub r15d, dword [rsp + 0xa8]
jmp 0x140068ee8
lea r10, [r14 + 8]
mov rsi, qword [rsp + 0xd8]
cmp r10, rbx
jae 0x140069550
mov rbx, qword [rsp + 0x38]
cmp rbx, rdi
cmovb rdi, rbx
mov rbx, qword [rsp + 0x20]
mov r13d, r10d
sub r13d, edi
mov r12, qword [rsp + 0x30]
nop
mov rdi, qword [r10]
xor rdi, qword [rsi]
jne 0x140068ef3
add r10, 8
add rsi, 8
add r13d, 8
cmp r10, rbx
jb 0x140068e90
cmp r10, qword [rsp + 0x1e0]
jae 0x140069563
mov edi, dword [rsi]
cmp edi, dword [r10]
mov r13, qword [rsp + 0xb8]
jne 0x14006956b
add r10, 4
add rsi, 4
jmp 0x14006956b
tzcnt r15, r14
shr r15, 3
add r15d, edi
mov r14, qword [rsp + 0x58]
add r15d, 4
cmp r15d, r14d
jg 0x140068f1c
jmp 0x140068f30
tzcnt r10, rdi
shr r10, 3
add r10d, r13d
mov r13, qword [rsp + 0xb8]
add r15d, r10d
mov r14, qword [rsp + 0x58]
cmp r15d, r14d
jle 0x140068f30
mov r10d, ecx
add r10, qword [rsp + 0x40]
mov qword [rsp + 0x68], r10
mov r14d, r15d
nop word cs:[rax + rax]
nop
cmp r15d, r14d
jne 0x140068fd0
lea r10d, [r14 + rcx]
cmp r10d, edx
ja 0x140068fd0
cmp r15d, 4
jl 0x140068fd0
mov rdx, r14
lea r10d, [r15 - 3]
xor edi, edi
mov r14d, 0x10
mov esi, 1
mov r12d, 0x10
nop word [rax + rax]
mov ebx, esi
lea esi, [rdi + rcx]
movzx esi, si
movzx esi, word [r13 + rsi*2 + 0x20000]
lea r13d, [r14 + 1]
sar r14d, 4
cmp ebx, esi
cmovb r13d, r12d
cmova esi, ebx
cmovb ebp, edi
mov ebx, r14d
add ebx, edi
mov edi, ebx
mov r14d, r13d
mov r13, qword [rsp + 0xb8]
cmp ebx, r10d
jl 0x140068f70
cmp esi, 1
ja 0x140069154
mov rbx, qword [rsp + 0x20]
mov r12, qword [rsp + 0x30]
mov r14, rdx
mov edx, dword [rsp + 0x70]
nop word cs:[rax + rax]
movzx r10d, cx
cmp word [r13 + r10*2 + 0x20000], 1
jne 0x1400691c0
test ebp, ebp
jne 0x1400691c0
mov r10d, dword [rsp + 0xe8]
test r10d, r10d
je 0x1400690e7
cmp r10d, 2
jne 0x1400691a7
lea r15d, [rcx - 1]
cmp r15d, dword [rsp + 0x88]
jb 0x1400691a7
mov r10d, r12d
sub r10d, ecx
mov dword [rsp + 0xe8], 2
cmp r10d, 3
jb 0x1400691c0
mov qword [rsp + 0x58], r14
cmp r15d, r12d
mov r14, qword [rsp + 0x188]
cmovae r14, qword [rsp + 0x40]
mov r13d, r15d
cmp dword [r14 + r13], eax
jne 0x1400691b1
lea rdi, [r14 + r13]
cmp r15d, r12d
mov rcx, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x38]
cmovae rcx, rbp
lea rdx, [rdi + 4]
lea rsi, [rcx - 7]
mov r10, rdx
cmp rsi, rdx
jbe 0x1400690a9
add r14, r13
add r14, 4
mov r10, rdx
nop dword [rax]
mov rbx, qword [r10]
xor rbx, r9
jne 0x1400691f7
add r10, 8
add r14, 8
cmp r10, rsi
jb 0x140069090
cmp r10, rcx
mov r13, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x20]
jae 0x140069210
mov rsi, rcx
sub rsi, r10
mov r14, r9
cmp byte [r10], r14b
jne 0x140069210
add r10, 1
shr r14, 8
add rsi, 0xffffffffffffffff
jne 0x1400690c8
mov r10, rcx
jmp 0x140069210
mov dword [rsp + 0xe8], 1
cmp byte [rsp + 0x90], 0
je 0x1400691c0
mov rdx, qword [rsp + 0xa8]
mov r8, rdx
cmp rbx, rdx
jbe 0x140069125
mov r10, qword [rdx]
xor r10, r9
jne 0x14006917b
add rdx, 8
add r8, 8
cmp rdx, rbx
jb 0x140069110
mov r10, qword [rsp + 0x38]
cmp rdx, r10
jae 0x140069187
sub r10, r8
lea r8, [rdx + r10]
mov rsi, r9
cmp byte [rdx], sil
jne 0x14006914f
add rdx, 1
shr rsi, 8
add r10, 0xffffffffffffffff
jne 0x140069139
mov rdx, r8
mov r8, rdx
jmp 0x140069187
cmp ecx, esi
mov r10d, 0
cmovb esi, r10d
mov rbx, qword [rsp + 0x20]
mov r12, qword [rsp + 0x30]
jb 0x140069648
sub ecx, esi
mov r14d, r15d
mov edx, dword [rsp + 0x70]
jmp 0x1400691d4
tzcnt rdx, r10
shr rdx, 3
add r8, rdx
sub r8d, dword [rsp + 0xa8]
add r8, 4
mov r10d, 2
mov edx, dword [rsp + 0x70]
cmp r10d, 2
je 0x140069007
mov dword [rsp + 0xe8], r10d
jmp 0x1400691c0
mov r13, qword [rsp + 0xb8]
mov r14, qword [rsp + 0x58]
nop
lea r10d, [rcx + rbp]
movzx r10d, r10w
movzx r10d, word [r13 + r10*2 + 0x20000]
sub ecx, r10d
cmp ecx, dword [rsp + 0x88]
jb 0x140069650
lea r10d, [r11 - 1]
cmp r11d, 1
mov r11d, r10d
jg 0x140068be0
jmp 0x140069650
tzcnt r10, rbx
shr r10, 3
add r10, r14
mov r13, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x20]
sub r10, rdx
mov edx, r10d
add rdx, 4
cmp r15d, r12d
jb 0x140069234
mov r12, qword [rsp + 0x98]
mov rcx, r12
mov rbp, qword [rsp + 0x48]
jmp 0x1400692fb
lea rsi, [rdi + rdx]
cmp rsi, rcx
je 0x140069252
mov rbp, qword [rsp + 0x48]
mov rcx, rbp
mov r12, qword [rsp + 0x98]
jmp 0x1400692fb
mov ecx, r10d
shl ecx, 3
mov esi, eax
rol esi, cl
test r10b, 3
cmove esi, eax
movabs rcx, 0x100000001
imul rsi, rcx
mov rcx, qword [rsp + 0x98]
mov r10, rcx
cmp rbx, rcx
jbe 0x1400692aa
nop word cs:[rax + rax]
nop dword [rax + rax]
mov rbx, qword [rcx]
xor rbx, rsi
jne 0x1400692d4
add rcx, 8
add r10, 8
mov rbx, qword [rsp + 0x20]
cmp rcx, rbx
jb 0x140069290
cmp rcx, rbp
jae 0x1400692e5
mov r14, rbp
sub r14, r10
lea r10, [rcx + r14]
cmp byte [rcx], sil
jne 0x1400692cf
add rcx, 1
shr rsi, 8
add r14, 0xffffffffffffffff
jne 0x1400692b9
mov rcx, r10
mov r10, rcx
jmp 0x1400692e5
tzcnt rcx, rbx
shr rcx, 3
add r10, rcx
mov rbx, qword [rsp + 0x20]
mov r12, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x48]
sub r10d, r12d
add rdx, r10
mov rcx, rbp
mov dword [rsp + 0x54], eax
lea r10, [rcx + 4]
mov r14, rdi
nop word cs:[rax + rax]
mov rsi, r14
cmp r14, r10
jb 0x140069321
lea r14, [rsi - 4]
cmp dword [rsi - 4], eax
je 0x140069310
cmp rsi, rcx
jbe 0x140069546
xor r10d, r10d
mov r14, qword [rsp + 0x58]
nop word cs:[rax + rax]
nop dword [rax]
movzx ebx, byte [rsi + r10 - 1]
cmp bl, byte [rsp + r10 + 0x57]
jne 0x140069363
lea rbx, [rsi + r10]
add rbx, 0xffffffffffffffff
add r10, 0xffffffffffffffff
cmp rbx, rcx
ja 0x140069340
mov rsi, rcx
jmp 0x140069366
add rsi, r10
mov rbx, qword [rsp + 0x20]
mov r10, rdi
sub r10, rsi
cmp r15d, dword [rsp + 0x30]
jb 0x14006941f
mov ecx, r10d
sub rdi, rcx
cmp rdi, r12
jne 0x14006941f
mov r12, qword [rsp + 0x30]
cmp dword [rsp + 0x78], r12d
jae 0x140069424
mov edi, r10d
neg edi
mov ecx, edi
shl ecx, 3
mov esi, eax
rol esi, cl
test dil, 3
cmove esi, eax
mov dword [rsp + 0x54], esi
mov rdi, qword [rsp + 0x178]
nop dword [rax]
cmp rdi, 4
jl 0x140069534
lea rcx, [rdi - 4]
cmp dword [rbp + rdi - 4], esi
mov rdi, rcx
je 0x1400693c0
add rcx, rbp
add rcx, 4
lea rsi, [rsp + 0x57]
nop word cs:[rax + rax]
nop dword [rax]
movzx ebx, byte [rcx - 1]
cmp bl, byte [rsi]
jne 0x140069408
add rcx, 0xffffffffffffffff
add rsi, 0xffffffffffffffff
cmp rcx, rbp
ja 0x1400693f0
mov rcx, rbp
mov rsi, qword [rsp + 0x160]
sub esi, ecx
add esi, r10d
mov r10d, esi
mov rbx, qword [rsp + 0x20]
jmp 0x140069424
mov r12, qword [rsp + 0x30]
mov ecx, r15d
sub ecx, r10d
mov r10d, dword [rsp + 0x88]
cmp ecx, r10d
cmovbe ecx, r10d
mov r10d, r15d
sub r10d, ecx
add r10, rdx
cmp rdx, r8
ja 0x140069476
cmp r10, r8
jb 0x140069476
sub r15d, r8d
add r15d, edx
mov ecx, r15d
not ecx
add ecx, r12d
cmp ecx, 3
cmovb r15d, r12d
xor ebp, ebp
mov dword [rsp + 0xe8], 2
mov ecx, r15d
jmp 0x140069175
mov esi, ecx
not esi
add esi, r12d
xor ebp, ebp
mov dword [rsp + 0xe8], 2
cmp esi, 3
jae 0x140069497
mov ecx, r12d
jmp 0x140069175
cmp r10, r8
cmovae r10, r8
movsxd rsi, r14d
cmp r10, rsi
mov edx, dword [rsp + 0x70]
jbe 0x1400694d1
mov esi, ecx
mov rdi, qword [rsp + 0x180]
sub rdi, rsi
cmp rdi, 0xffff
ja 0x140069650
add rsi, qword [rsp + 0x40]
mov qword [rsp + 0x68], rsi
mov r14d, r10d
movzx r10d, cx
movzx r10d, word [r13 + r10*2 + 0x20000]
sub ecx, r10d
jae 0x1400691d4
jmp 0x140069650
mov r13, qword [rsp + 0xb8]
lea rbx, [r14 - 1]
cmp r10, rbx
jae 0x14006950e
movzx ebx, word [rsi]
cmp bx, word [r10]
jne 0x14006950e
add r10, 2
add rsi, 2
cmp r10, r14
jae 0x140069522
movzx ebx, byte [rsi]
xor esi, esi
cmp bl, byte [r10]
sete sil
add r10, rsi
mov rbx, qword [rsp + 0x20]
sub r10d, dword [rsp + 0xa8]
jmp 0x140068d5f
lea rcx, [rdi + rbp]
test rdi, rdi
jg 0x1400693de
jmp 0x140069408
mov r14, qword [rsp + 0x58]
jmp 0x14006936b
mov r12, qword [rsp + 0x30]
cmp r10, qword [rsp + 0x1e0]
jb 0x140068eb7
mov r13, qword [rsp + 0xb8]
cmp r10, qword [rsp + 0x1d8]
jae 0x140069586
movzx edi, word [rsi]
cmp di, word [r10]
jne 0x140069586
add r10, 2
add rsi, 2
cmp r10, qword [rsp + 0x38]
jae 0x1400695a1
movzx ebx, byte [rsi]
xor esi, esi
cmp bl, byte [r10]
mov rbx, qword [rsp + 0x20]
sete sil
add r10, rsi
sub r10d, r14d
jmp 0x140068f07
mov r8, qword [rsp + 0xa0]
add r8, r14
add r8, 1
jmp 0x1400695df
movzx esi, r9w
mov word [r13 + rsi*2 + 0x20000], r11w
mov dword [r13 + r10*4], r9d
add rcx, 2
cmp rcx, rdx
je 0x140068a7f
imul r9d, dword [r8 + rcx - 1], 0x9e3779b1
shr r9d, 0x11
mov r10d, ecx
sub r10d, dword [r13 + r9*4]
cmp r10d, 0xffff
jb 0x140069603
mov r10d, 0xffff
movzx r11d, cx
mov word [r13 + r11*2 + 0x20000], r10w
mov dword [r13 + r9*4], ecx
lea r9, [rcx + 1]
imul r10d, dword [r8 + rcx], 0x9e3779b1
shr r10d, 0x11
mov esi, dword [r13 + r10*4]
mov r11d, ecx
sub r11d, esi
add r11d, 1
cmp r11d, 0xffff
jb 0x1400695c0
mov r11d, 0xffff
jmp 0x1400695c0
mov r14d, r15d
nop dword [rax + rax]
cmp r14d, 4
mov r11, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0x98]
jl 0x140068980
lea eax, [r14 - 0x13]
cmp eax, 0x12
mov ecx, r14d
mov eax, 0x12
cmovb ecx, eax
cmp byte [rsp + 0x110], 0
cmove ecx, r14d
mov rdi, r11
sub rdi, qword [rsp + 0x68]
mov qword [rsp + 0x90], rcx
cmp dword [rsp + 0x190], ecx
jae 0x140069797
mov rax, qword [rsp + 0xd0]
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0x280], 0
mov r10, qword [rsp + 0xc0]
je 0x1400696f5
shr rdx, 7
add rdx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xd0]
add rax, rdx
add rax, 9
cmp rax, qword [rsp + 0x108]
ja 0x14006c06e
mov rcx, qword [rsp + 0xe0]
lea rbx, [rcx + 1]
mov rdx, qword [rsp + 0xd0]
cmp rdx, 0xf
jb 0x14006989b
lea rax, [rdx - 0xf]
mov byte [rcx], 0xf0
cmp rax, 0xff
mov rsi, qword [rsp + 0x28]
jb 0x14006978c
lea rax, [rdx - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov r14, rdx
shr r14, 7
lea r8, [r14 + 1]
mov rcx, rbx
mov dl, 0xff
call fcn.1400175c0
mov rdx, qword [rsp + 0xd0]
mov r11, qword [rsp + 0xb0]
mov r10, qword [rsp + 0xc0]
mov rax, r14
shl rax, 8
mov rcx, qword [rsp + 0xe0]
lea rbx, [rcx + r14]
add rbx, 2
sub r14, rax
lea rax, [rdx + r14]
add rax, 0xfffffffffffffef2
mov byte [rbx], al
add rbx, 1
jmp 0x1400698a7
mov r8, qword [rsp + 0xd0]
cmp r8d, 0xe
mov r9, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x28]
mov r10d, 0x80808081
jle 0x1400697d0
lea ecx, [r8 - 0xf]
imul rcx, r10
shr rcx, 0x27
lea eax, [r8 + 1]
add ecx, r8d
add ecx, 1
jmp 0x1400697d7
lea eax, [r8 + 1]
mov ecx, r8d
movabs rdx, 0x100000000
mov qword [r9 + 4], rdx
mov dword [r9 + 0xc], r8d
mov dword [r9], ecx
mov ecx, eax
cmp eax, 0xf
jl 0x140069803
lea ecx, [rax - 0xf]
imul rcx, r10
shr rcx, 0x27
add ecx, eax
add ecx, 1
movabs r11, 0x100000000
mov qword [r9 + 0x14], r11
mov dword [r9 + 0x1c], eax
mov dword [r9 + 0x10], ecx
lea ecx, [r8 + 2]
cmp r8d, 0xd
jl 0x140069865
mov rdx, qword [rsp + 0xd0]
lea r8d, [rdx - 0xd]
imul r8, r10
shr r8, 0x27
mov rdx, qword [rsp + 0xd0]
add edx, 3
mov r15, qword [rsp + 0xd0]
lea r8d, [r8 + r15 + 3]
mov qword [r9 + 0x24], r11
mov dword [r9 + 0x2c], ecx
mov dword [r9 + 0x20], r8d
mov r8, qword [rsp + 0xd0]
jmp 0x140069880
mov qword [r9 + 0x24], r11
mov dword [r9 + 0x2c], ecx
mov dword [r9 + 0x20], ecx
mov edx, 0xf
cmp r8d, 0xc
jne 0x140069a41
lea ecx, [r8 - 0xc]
imul rcx, r10
shr rcx, 0x27
mov r15, r8
add r8d, ecx
add r8d, 4
jmp 0x140069a4b
mov eax, edx
shl al, 4
mov byte [rcx], al
mov rsi, qword [rsp + 0x28]
lea rax, [rbx + r11]
sub rax, rsi
lea rcx, [rbx + 8]
cmp rax, rcx
cmovbe rax, rcx
lea rcx, [rbx + rdx]
mov r8, rbx
not r8
add r8, rax
mov rax, rsi
mov rdx, rbx
cmp r8, 0x38
jb 0x140069930
mov r9, rbx
sub r9, rsi
mov rax, rsi
mov rdx, rbx
cmp r9, 0x20
jb 0x140069930
shr r8, 3
add r8, 1
mov r9, r8
and r9, 0xfffffffffffffffc
lea rax, [rsi + r9*8]
lea rdx, [rbx + r9*8]
xor r10d, r10d
nop
movups xmm0, xmmword [rsi + r10*8]
movups xmm1, xmmword [rsi + r10*8 + 0x10]
movups xmmword [rbx + r10*8], xmm0
movups xmmword [rbx + r10*8 + 0x10], xmm1
add r10, 4
cmp r9, r10
jne 0x140069900
cmp r8, r9
mov r10, qword [rsp + 0xc0]
je 0x140069943
nop dword [rax]
mov r8, qword [rax]
mov qword [rdx], r8
add rdx, 8
add rax, 8
cmp rdx, rcx
jb 0x140069930
movsxd rsi, dword [rsp + 0x90]
lea r8, [rsi - 4]
mov rax, r8
movabs rdx, 0x8080808080808081
mul rdx
mov word [rcx], di
cmp dword [rsp + 0x280], 0
je 0x140069986
shr rdx, 7
lea rax, [rcx + rdx]
add rax, 8
cmp rax, qword [rsp + 0x108]
ja 0x14006c06e
add rcx, 2
cmp r8, 0xf
jb 0x140069a23
mov rax, qword [rsp + 0xe0]
add byte [rax], 0xf
lea rax, [rsi - 0x13]
cmp rax, 0x1fe
jb 0x140069a01
lea rax, [rsi - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov r14, rdx
shr r14, 8
lea r8, [r14 + r14]
add r8, 2
mov dl, 0xff
call fcn.1400175c0
mov r11, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xd0]
lea rax, [rax + r14*2]
lea rcx, [rbx + rax]
add rcx, 4
imul rax, r14, 0xfffffffffffffe02
add rax, rsi
add rax, 0xfffffffffffffdef
cmp rax, 0xff
mov rbx, qword [rsp + 0x20]
jb 0x140069a1b
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
add rcx, 1
mov byte [rcx], al
add rcx, 1
jmp 0x140069a33
mov rax, qword [rsp + 0xe0]
add byte [rax], r8b
mov rbx, qword [rsp + 0x20]
add r11, rsi
mov rsi, r11
mov r8, rcx
jmp 0x140068991
lea edx, [r8 + 3]
mov r15, r8
mov r8d, edx
mov r11, qword [rsp + 0x90]
lea ecx, [r15 - 0xf]
imul rcx, r10
shr rcx, 0x27
add eax, ecx
lea ecx, [r11 + 1]
cmp r15d, 0xf
movabs r10, 0x100000000
mov qword [r9 + 0x34], r10
mov dword [r9 + 0x3c], edx
mov dword [r9 + 0x30], r8d
cmovl eax, r15d
lea edx, [rax + 3]
add eax, 4
mov r8d, 4
mov r9d, 0xfffffff1
mov r10, qword [rsp + 0x1f0]
jmp 0x140069ac8
mov dword [r10 - 4], r8d
mov dword [r10 - 8], edi
mov r15, qword [rsp + 0xd0]
mov dword [r10], r15d
mov dword [r10 - 0xc], r11d
add r8, 1
add r10, 0x10
add r9d, 1
cmp rcx, r8
je 0x140069aed
mov r11d, edx
cmp r8, 0x13
jb 0x140069aa0
mov r11d, r9d
mov r15, r14
mov r14d, 0x80808081
imul r11, r14
mov r14, r15
shr r11, 0x27
add r11d, eax
jmp 0x140069aa0
mov r11, qword [rsp + 0x90]
mov rcx, r11
shl rcx, 4
movsxd rax, r11d
mov rdx, rax
shl rdx, 4
mov r10, qword [rsp + 0xc0]
movabs r9, 0x100000000
mov qword [rdx + r10 + 0x14], r9
mov dword [rdx + r10 + 0x1c], 1
mov r8d, dword [r10 + rcx]
add r8d, 1
mov dword [rdx + r10 + 0x10], r8d
mov qword [rdx + r10 + 0x24], r9
mov dword [rdx + r10 + 0x2c], 2
mov r8d, dword [r10 + rcx]
add r8d, 2
mov dword [rdx + r10 + 0x20], r8d
mov qword [rdx + r10 + 0x34], r9
mov dword [rdx + r10 + 0x3c], 3
mov ecx, dword [r10 + rcx]
add ecx, 3
mov dword [rdx + r10 + 0x30], ecx
cmp r11d, 2
jl 0x14006bacd
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x30]
lea edi, [rcx + rax]
sub edi, ebp
add edi, 1
mov rcx, qword [rsp + 0xa0]
add rcx, rbp
add rcx, 1
mov qword [rsp + 0xe8], rcx
mov edx, 0xfffffffb
sub edx, eax
lea r8, [rax + 1]
lea rcx, [rax + 5]
mov qword [rsp + 0x1c0], rcx
mov r14d, 1
xor r9d, r9d
mov ecx, 5
mov qword [rsp + 0x148], rcx
mov rcx, qword [rsp + 0x200]
mov qword [rsp + 0x1b8], rdi
jmp 0x140069c3c
mov r10, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x130]
mov r9, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x140]
add r9d, 1
add edx, 0xffffffff
add r8, 1
add qword [rsp + 0x1c0], 1
add rcx, 0x10
add qword [rsp + 0x148], 1
mov r14, qword [rsp + 0x180]
cmp r11d, r14d
mov rax, qword [rsp + 0xb0]
jle 0x14006bac7
lea r15, [rax + r14]
mov rax, r15
mov qword [rsp + 0xd0], r15
cmp r15, qword [rsp + 0x1d0]
ja 0x14006bac7
lea eax, [rdi + r9]
lea r15, [r14 + 1]
mov qword [rsp + 0x180], r15
mov r12, r15
shl r12, 4
mov r15, r14
shl r15, 4
mov qword [rsp + 0x1a0], r12
mov r12d, dword [r10 + r12]
mov qword [rsp + 0x120], r15
mov r15d, dword [r10 + r15]
cmp dword [rsp + 0x1e8], 0xc
mov dword [rsp + 0xa8], r12d
jne 0x14006a920
mov qword [rsp + 0x140], rcx
cmp r12d, r15d
jg 0x140069cd1
lea ecx, [r15 + 3]
mov r12, qword [rsp + 0x120]
cmp dword [r12 + r10 + 0x40], ecx
mov r12d, dword [rsp + 0xa8]
jl 0x140069bfa
mov qword [rsp + 0x1b0], r15
mov qword [rsp + 0xf8], r9
mov qword [rsp + 0x130], r8
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0xd0]
mov r8, rdx
sub r8, rbp
mov rcx, qword [rsp + 0x30]
lea r9d, [rcx + r8]
cmp dword [rsp + 0x168], r9d
mov qword [rsp + 0x158], r8
lea ecx, [rcx + r8 - 0xffff]
cmova ecx, dword [rsp + 0x78]
mov dword [rsp + 0x70], ecx
mov ecx, dword [rdx]
mov qword [rsp + 0x68], rcx
mov edx, dword [r13 + 0x40020]
mov dword [rsp + 0xa0], r9d
cmp edx, r9d
jae 0x140069d9a
mov r8d, eax
sub r8d, edx
mov rcx, rdx
test r8b, 1
je 0x140069d8e
mov rcx, qword [rsp + 0x40]
imul ecx, dword [rcx + rdx], 0x9e3779b1
shr ecx, 0x11
mov r8d, edx
sub r8d, dword [r13 + rcx*4]
cmp r8d, 0xffff
mov r9d, 0xffff
cmovae r8d, r9d
movzx r9d, dx
mov word [r13 + r9*2 + 0x20000], r8w
mov dword [r13 + rcx*4], edx
lea rcx, [rdx + 1]
not rdx
add rdx, rax
jne 0x14006b5a1
mov eax, dword [rsp + 0xa0]
mov dword [r13 + 0x40020], eax
mov r9, qword [rsp + 0xd0]
imul eax, dword [r9], 0x9e3779b1
shr eax, 0x11
mov ecx, dword [r13 + rax*4]
mov r10, qword [rsp + 0x68]
movzx eax, r10w
mov edx, r10d
shr edx, 0x10
xor edx, eax
movzx eax, r10b
mov r8d, r10d
shr r8d, 0x18
xor r8d, eax
or r8d, edx
sete byte [rsp + 0x1a8]
cmp ecx, dword [rsp + 0x70]
jb 0x140069bdd
mov qword [rsp + 0x90], r11
mov r11, qword [rsp + 0x30]
add qword [rsp + 0x158], r11
lea rax, [r9 + 4]
mov qword [rsp + 0xc8], rax
lea rax, [r9 + 0xc]
mov qword [rsp + 0x150], rax
movabs rdx, 0x100000001
imul r10, rdx
mov qword [rsp + 0x88], r10
xor r9d, r9d
mov r8d, 3
mov edx, dword [rsp + 0x104]
mov edi, edx
mov dword [rsp + 0x58], 0
xor ebp, ebp
xor edx, edx
mov qword [rsp + 0xf0], rdx
mov eax, dword [rsp + 0xa0]
nop word cs:[rax + rax]
nop dword [rax]
cmp byte [rsp + 0x110], 0
je 0x140069ea0
mov edx, eax
sub edx, ecx
cmp edx, 8
jae 0x140069ea0
xor ebx, ebx
cmp ebx, r8d
je 0x14006a249
jmp 0x14006a2f0
mov r15d, r11d
sub r15d, ecx
jbe 0x140069f20
cmp ecx, dword [rsp + 0x138]
ja 0x140069e83
mov ebx, ecx
sub ebx, dword [rsp + 0x78]
add rbx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x68]
cmp dword [rbx], edx
jne 0x140069e83
mov r11, qword [rsp + 0xd0]
lea r10, [r11 + r15]
mov rdx, qword [rsp + 0x38]
cmp r10, rdx
mov r12, r10
cmova r12, rdx
add rbx, 4
lea rdx, [r12 - 7]
mov rsi, qword [rsp + 0xc8]
cmp rdx, rsi
jbe 0x140069fab
mov rsi, qword [rsi]
xor rsi, qword [rbx]
je 0x140069f9f
tzcnt rsi, rsi
shr esi, 3
jmp 0x14006a032
mov eax, r12d
mov r10d, ecx
add r10, qword [rsp + 0x40]
mov r12, r8
movsxd rdx, r8d
mov r8, qword [rsp + 0xd0]
movzx r8d, word [r8 + rdx - 1]
cmp r8w, word [rdx + r10 - 1]
jne 0x140069f82
mov rdx, qword [rsp + 0x68]
cmp dword [r10], edx
jne 0x140069f82
lea rsi, [r10 + 4]
mov rdx, qword [rsp + 0xc8]
cmp rbx, rdx
mov r8, r12
jbe 0x14006a8f2
mov rdx, qword [rdx]
xor rdx, qword [rsi]
je 0x14006a08c
tzcnt rbx, rdx
shr ebx, 3
jmp 0x14006a1e1
xor ebx, ebx
mov r8, r12
mov r12d, eax
mov eax, dword [rsp + 0xa0]
cmp ebx, r8d
je 0x14006a249
jmp 0x14006a2f0
add rbx, 8
mov rsi, qword [rsp + 0x150]
mov qword [rsp + 0x80], r8
cmp rsi, rdx
jae 0x140069fe9
mov r8, qword [rsp + 0x60]
lea r13d, [r8 + rsi]
nop word cs:[rax + rax]
nop dword [rax + rax]
mov r8, qword [rsi]
xor r8, qword [rbx]
jne 0x14006a016
add rsi, 8
add rbx, 8
add r13d, 8
cmp rsi, rdx
jb 0x140069fd0
lea rdx, [r12 - 3]
cmp rsi, rdx
jae 0x14006a87d
mov edx, dword [rbx]
cmp edx, dword [rsi]
mov r13, qword [rsp + 0xb8]
jne 0x14006a885
add rsi, 4
add rbx, 4
jmp 0x14006a885
tzcnt rsi, r8
shr rsi, 3
add esi, r13d
mov r13, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x80]
lea ebx, [rsi + 4]
cmp r10, qword [rsp + 0x38]
jae 0x14006a082
movsxd rdx, esi
add rdx, r11
add rdx, 4
cmp rdx, r12
jne 0x14006a082
mov r11, r8
mov r8, qword [rsp + 0x98]
mov rsi, r8
mov r10, r12
cmp qword [rsp + 0x20], r12
jbe 0x14006a13a
mov rdx, qword [r12]
xor rdx, qword [r8]
je 0x14006a12d
tzcnt r10, rdx
shr r10d, 3
jmp 0x14006a206
mov rsi, qword [rsp + 0x28]
jmp 0x14006a211
add rsi, 8
mov rbx, qword [rsp + 0x150]
cmp rbx, qword [rsp + 0x20]
jae 0x14006a0ce
mov rdx, qword [rsp + 0x60]
add edx, ebx
nop word cs:[rax + rax]
mov r15, qword [rbx]
xor r15, qword [rsi]
jne 0x14006a1d6
add rbx, 8
add rsi, 8
add edx, 8
cmp rbx, qword [rsp + 0x20]
jb 0x14006a0b0
cmp rbx, qword [rsp + 0x1e0]
jae 0x14006a0e6
mov edx, dword [rsi]
cmp edx, dword [rbx]
jne 0x14006a0e6
add rbx, 4
add rsi, 4
cmp rbx, qword [rsp + 0x1d8]
jae 0x14006a100
movzx edx, word [rsi]
cmp dx, word [rbx]
jne 0x14006a100
add rbx, 2
add rsi, 2
cmp rbx, qword [rsp + 0x38]
jae 0x14006a119
movzx edx, byte [rsi]
xor r8d, r8d
cmp dl, byte [rbx]
sete r8b
add rbx, r8
mov r8, r12
mov rsi, qword [rsp + 0x28]
mov r12d, eax
sub ebx, dword [rsp + 0xc8]
jmp 0x14006a1e9
lea r10, [r12 + 8]
mov rsi, qword [rsp + 0xd8]
cmp r10, qword [rsp + 0x20]
jae 0x14006a17e
add r15, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x38]
cmp rdx, r15
cmovb r15, rdx
mov edx, r10d
sub edx, r15d
nop dword [rax + rax]
mov r8, qword [r10]
xor r8, qword [rsi]
jne 0x14006a1fa
add r10, 8
add rsi, 8
add edx, 8
cmp r10, qword [rsp + 0x20]
jb 0x14006a160
cmp r10, qword [rsp + 0x1e0]
jae 0x14006a197
mov edx, dword [rsi]
cmp edx, dword [r10]
jne 0x14006a197
add r10, 4
add rsi, 4
cmp r10, qword [rsp + 0x1d8]
jae 0x14006a1b2
movzx edx, word [rsi]
cmp dx, word [r10]
jne 0x14006a1b2
add r10, 2
add rsi, 2
cmp r10, qword [rsp + 0x38]
jae 0x14006a1c9
movzx edx, byte [rsi]
xor r8d, r8d
cmp dl, byte [r10]
sete r8b
add r10, r8
mov rsi, qword [rsp + 0x28]
mov r8, r11
sub r10d, r12d
jmp 0x14006a20e
tzcnt rbx, r15
shr rbx, 3
add ebx, edx
mov rsi, qword [rsp + 0x28]
mov r12d, eax
mov eax, dword [rsp + 0xa0]
add ebx, 4
cmp ebx, r8d
jg 0x14006a22b
jmp 0x14006a240
tzcnt r10, r8
shr r10, 3
add r10d, edx
mov rsi, qword [rsp + 0x28]
mov r8, r11
add ebx, r10d
mov r11, qword [rsp + 0x30]
mov r12d, dword [rsp + 0xa8]
cmp ebx, r8d
jle 0x14006a240
mov r10d, ecx
add r10, qword [rsp + 0x40]
mov qword [rsp + 0xf0], r10
mov r8d, ebx
nop word cs:[rax + rax]
cmp ebx, r8d
jne 0x14006a2f0
lea edx, [r8 + rcx]
cmp edx, eax
ja 0x14006a2f0
cmp ebx, 4
jl 0x14006a2f0
mov rax, r8
lea edx, [rbx - 3]
xor esi, esi
mov r15d, 0x10
mov r10d, 1
mov r11d, 0x10
nop dword [rax + rax]
mov r8d, r10d
lea r10d, [rsi + rcx]
movzx r10d, r10w
movzx r10d, word [r13 + r10*2 + 0x20000]
lea r12d, [r15 + 1]
sar r15d, 4
cmp r8d, r10d
cmovb r12d, r11d
cmova r10d, r8d
cmovb r9d, esi
mov r8d, r15d
add r8d, esi
mov esi, r8d
mov r15d, r12d
cmp r8d, edx
jl 0x14006a280
cmp r10d, 1
ja 0x14006a3f3
mov rsi, qword [rsp + 0x28]
mov r11, qword [rsp + 0x30]
mov r12d, dword [rsp + 0xa8]
mov r8, rax
mov eax, dword [rsp + 0xa0]
nop word cs:[rax + rax]
nop dword [rax]
movzx edx, cx
cmp word [r13 + rdx*2 + 0x20000], 1
mov rbx, qword [rsp + 0x20]
jne 0x14006a550
test r9d, r9d
jne 0x14006a550
mov edx, dword [rsp + 0x58]
test edx, edx
je 0x14006a34f
cmp edx, 2
jne 0x14006a52b
lea ebx, [rcx - 1]
cmp ebx, dword [rsp + 0x70]
jb 0x14006a42e
mov edx, r11d
sub edx, ecx
mov dword [rsp + 0x58], 2
cmp edx, 3
jae 0x14006a43c
mov rbx, qword [rsp + 0x20]
jmp 0x14006a550
mov dword [rsp + 0x58], 1
cmp byte [rsp + 0x1a8], 0
je 0x14006a550
mov rbp, qword [rsp + 0x1c0]
mov rdx, qword [rsp + 0xc8]
mov r10, rdx
cmp rbx, rdx
jbe 0x14006a8e2
nop word cs:[rax + rax]
nop dword [rax + rax]
mov rdx, qword [r10]
xor rdx, qword [rsp + 0x88]
jne 0x14006a506
add r10, 8
add rbp, 8
cmp r10, rbx
jb 0x14006a390
mov rdx, qword [rsp + 0x38]
cmp r10, rdx
jae 0x14006a512
sub rdx, rbp
lea rsi, [r10 + rdx]
mov rbx, qword [rsp + 0x88]
cmp byte [r10], bl
jne 0x14006a3e1
add r10, 1
shr rbx, 8
add rdx, 0xffffffffffffffff
jne 0x14006a3cb
mov r10, rsi
mov rbp, r10
mov rsi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
jmp 0x14006a512
cmp ecx, r10d
mov edx, 0
cmovb r10d, edx
mov rsi, qword [rsp + 0x28]
mov r11, qword [rsp + 0x30]
mov r12d, dword [rsp + 0xa8]
jb 0x14006b6fa
sub ecx, r10d
mov r8d, ebx
mov rbx, qword [rsp + 0x20]
mov eax, dword [rsp + 0xa0]
jmp 0x14006a562
mov dword [rsp + 0x58], edx
mov rbx, qword [rsp + 0x20]
jmp 0x14006a550
cmp ebx, r11d
mov rsi, qword [rsp + 0x188]
cmovae rsi, qword [rsp + 0x40]
mov r12d, ebx
mov rdx, qword [rsp + 0x68]
cmp dword [rsi + r12], edx
jne 0x14006a531
mov qword [rsp + 0x80], r8
lea r15, [rsi + r12]
cmp ebx, r11d
mov rcx, qword [rsp + 0x160]
cmovae rcx, qword [rsp + 0x38]
lea r9, [r15 + 4]
lea rdx, [rcx - 7]
mov r10, r9
cmp rdx, r9
jbe 0x14006a4be
add rsi, r12
add rsi, 4
mov r10, r9
nop word cs:[rax + rax]
mov r8, qword [r10]
xor r8, qword [rsp + 0x88]
jne 0x14006a57f
add r10, 8
add rsi, 8
cmp r10, rdx
jb 0x14006a4a0
cmp r10, rcx
mov r11, qword [rsp + 0x30]
mov r12d, dword [rsp + 0xa8]
mov r8, qword [rsp + 0x68]
jae 0x14006a59d
mov rdx, rcx
sub rdx, r10
mov rsi, qword [rsp + 0x88]
cmp byte [r10], sil
jne 0x14006a59d
add r10, 1
shr rsi, 8
add rdx, 0xffffffffffffffff
jne 0x14006a4e7
mov r10, rcx
jmp 0x14006a59d
tzcnt rdx, rdx
shr rdx, 3
add rbp, rdx
sub ebp, dword [rsp + 0xc8]
add rbp, 4
mov edx, 2
cmp edx, 2
je 0x14006a322
mov dword [rsp + 0x58], edx
jmp 0x14006a550
mov rsi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
mov r12d, dword [rsp + 0xa8]
nop word cs:[rax + rax]
nop dword [rax]
lea edx, [r9 + rcx]
movzx edx, dx
movzx edx, word [r13 + rdx*2 + 0x20000]
sub ecx, edx
cmp ecx, dword [rsp + 0x70]
jb 0x14006b702
lea edx, [rdi - 1]
cmp edi, 1
mov edi, edx
jg 0x140069e70
jmp 0x14006b702
tzcnt r10, r8
shr r10, 3
add r10, rsi
mov r11, qword [rsp + 0x30]
mov r12d, dword [rsp + 0xa8]
mov r8, qword [rsp + 0x68]
sub r10, r9
mov r9d, r10d
add r9, 4
cmp ebx, r11d
jb 0x14006a5b9
mov rcx, qword [rsp + 0x98]
jmp 0x14006a668
lea rdx, [r15 + r9]
cmp rdx, rcx
jne 0x14006a663
mov ecx, r10d
shl ecx, 3
mov esi, r8d
rol esi, cl
test r10b, 3
cmove esi, r8d
movabs rcx, 0x100000001
imul rsi, rcx
mov rcx, qword [rsp + 0x98]
cmp qword [rsp + 0x20], rcx
jbe 0x14006a90f
mov rdx, rcx
nop dword [rax]
mov r8, qword [rcx]
xor r8, rsi
jne 0x14006a648
add rcx, 8
add rdx, 8
cmp rcx, qword [rsp + 0x20]
jb 0x14006a600
mov r10, qword [rsp + 0x38]
cmp rcx, r10
jae 0x14006a654
sub r10, rdx
lea rdx, [rcx + r10]
cmp byte [rcx], sil
jne 0x14006a63e
add rcx, 1
shr rsi, 8
add r10, 0xffffffffffffffff
jne 0x14006a628
mov rcx, rdx
mov r8, qword [rsp + 0x68]
mov rdx, rcx
jmp 0x14006a659
tzcnt rcx, r8
shr rcx, 3
add rdx, rcx
mov r8, qword [rsp + 0x68]
sub edx, dword [rsp + 0x98]
add r9, rdx
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x54], r8d
lea r10, [rcx + 4]
mov rsi, r15
nop word cs:[rax + rax]
nop
mov rdx, rsi
cmp rsi, r10
jb 0x14006a692
lea rsi, [rdx - 4]
cmp dword [rdx - 4], r8d
je 0x14006a680
cmp rdx, rcx
jbe 0x14006a905
xor r10d, r10d
mov rsi, qword [rsp + 0x28]
nop word cs:[rax + rax]
nop dword [rax]
movzx r8d, byte [rdx + r10 - 1]
cmp r8b, byte [rsp + r10 + 0x57]
jne 0x14006a6d3
lea r8, [rdx + r10]
add r8, 0xffffffffffffffff
add r10, 0xffffffffffffffff
cmp r8, rcx
ja 0x14006a6b0
mov rdx, rcx
jmp 0x14006a6d6
add rdx, r10
mov r10, r15
sub r10, rdx
cmp ebx, r11d
jb 0x14006a79e
mov ecx, r10d
sub r15, rcx
cmp r15, qword [rsp + 0x98]
jne 0x14006a79e
cmp dword [rsp + 0x78], r11d
jae 0x14006a79e
mov r8d, r10d
neg r8d
mov ecx, r8d
shl ecx, 3
mov rdx, qword [rsp + 0x68]
rol edx, cl
test r8b, 3
cmove edx, dword [rsp + 0x68]
mov dword [rsp + 0x54], edx
mov rsi, qword [rsp + 0x178]
nop dword [rax]
cmp rsi, 4
jl 0x14006a8c7
lea rcx, [rsi - 4]
mov r8, qword [rsp + 0x48]
cmp dword [r8 + rsi - 4], edx
mov rsi, rcx
je 0x14006a730
mov rdx, qword [rsp + 0x48]
add rcx, rdx
add rcx, 4
mov rsi, qword [rsp + 0x28]
lea rdx, [rsp + 0x57]
nop word cs:[rax + rax]
nop dword [rax]
movzx r8d, byte [rcx - 1]
cmp r8b, byte [rdx]
jne 0x14006a78e
add rcx, 0xffffffffffffffff
add rdx, 0xffffffffffffffff
cmp rcx, qword [rsp + 0x48]
ja 0x14006a770
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x160]
sub edx, ecx
add edx, r10d
mov r10d, edx
mov ecx, ebx
sub ecx, r10d
mov edx, dword [rsp + 0x70]
cmp ecx, edx
cmovbe ecx, edx
mov edx, ebx
sub edx, ecx
add rdx, r9
cmp r9, rbp
ja 0x14006a7df
cmp rdx, rbp
jb 0x14006a7df
sub ebx, ebp
add ebx, r9d
mov ecx, ebx
not ecx
add ecx, r11d
cmp ecx, 3
cmovb ebx, r11d
xor r9d, r9d
mov dword [rsp + 0x58], 2
mov ecx, ebx
jmp 0x14006a7fc
mov r8d, ecx
not r8d
add r8d, r11d
xor r9d, r9d
mov dword [rsp + 0x58], 2
cmp r8d, 3
jae 0x14006a80e
mov ecx, r11d
mov rbx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x80]
jmp 0x14006a562
cmp rdx, rbp
cmovae rdx, rbp
movsxd r8, dword [rsp + 0x80]
cmp rdx, r8
mov rbx, qword [rsp + 0x20]
jbe 0x14006a85c
mov r10d, ecx
mov r8, qword [rsp + 0x158]
sub r8, r10
cmp r8, 0xffff
mov r8, qword [rsp + 0x80]
ja 0x14006b702
add r10, qword [rsp + 0x40]
mov qword [rsp + 0xf0], r10
mov r8d, edx
jmp 0x14006a864
mov r8, qword [rsp + 0x80]
movzx edx, cx
movzx edx, word [r13 + rdx*2 + 0x20000]
sub ecx, edx
jae 0x14006a562
jmp 0x14006b702
mov r13, qword [rsp + 0xb8]
lea rdx, [r12 - 1]
cmp rsi, rdx
jae 0x14006a89f
movzx edx, word [rbx]
cmp dx, word [rsi]
jne 0x14006a89f
add rsi, 2
add rbx, 2
cmp rsi, r12
jae 0x14006a8b3
movzx edx, byte [rbx]
xor r8d, r8d
cmp dl, byte [rsi]
sete r8b
add rsi, r8
mov r8, qword [rsp + 0x80]
sub esi, dword [rsp + 0xc8]
jmp 0x14006a032
mov rcx, qword [rsp + 0x48]
add rcx, rsi
test rsi, rsi
mov rsi, qword [rsp + 0x28]
jg 0x14006a75e
jmp 0x14006a78e
mov r10, qword [rsp + 0xc8]
mov rbp, r10
jmp 0x14006a3ae
mov rbx, rdx
cmp rbx, qword [rsp + 0x20]
jb 0x14006a09f
jmp 0x14006a0ce
mov rsi, qword [rsp + 0x28]
jmp 0x14006a6d6
mov rdx, rcx
jmp 0x14006a617
mov qword [rsp + 0x1b0], r15
cmp r12d, r15d
jle 0x140069c02
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0xf8], r9
mov qword [rsp + 0x130], r8
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0xd0]
mov r8, rdx
sub r8, rbp
mov rcx, qword [rsp + 0x30]
lea r9d, [rcx + r8]
cmp dword [rsp + 0x168], r9d
mov qword [rsp + 0x158], r8
lea ecx, [rcx + r8 - 0xffff]
cmova ecx, dword [rsp + 0x78]
mov dword [rsp + 0x70], ecx
mov ecx, dword [rdx]
mov qword [rsp + 0x68], rcx
mov edx, dword [r13 + 0x40020]
mov dword [rsp + 0xa0], r9d
cmp edx, r9d
jae 0x14006a9fa
mov r8d, eax
sub r8d, edx
mov rcx, rdx
test r8b, 1
je 0x14006a9ee
mov rcx, qword [rsp + 0x40]
imul ecx, dword [rcx + rdx], 0x9e3779b1
shr ecx, 0x11
mov r8d, edx
sub r8d, dword [r13 + rcx*4]
cmp r8d, 0xffff
mov r9d, 0xffff
cmovae r8d, r9d
movzx r9d, dx
mov word [r13 + r9*2 + 0x20000], r8w
mov dword [r13 + rcx*4], edx
lea rcx, [rdx + 1]
not rdx
add rdx, rax
jne 0x14006b64a
mov eax, dword [rsp + 0xa0]
mov dword [r13 + 0x40020], eax
mov r9, qword [rsp + 0xd0]
imul eax, dword [r9], 0x9e3779b1
shr eax, 0x11
mov ecx, dword [r13 + rax*4]
mov r10, qword [rsp + 0x68]
movzx eax, r10w
mov edx, r10d
shr edx, 0x10
xor edx, eax
movzx eax, r10b
mov r8d, r10d
shr r8d, 0x18
xor r8d, eax
or r8d, edx
sete byte [rsp + 0x1a8]
cmp ecx, dword [rsp + 0x70]
jb 0x140069bdd
mov qword [rsp + 0x90], r11
mov eax, r11d
sub eax, r14d
mov r11, qword [rsp + 0x30]
add qword [rsp + 0x158], r11
lea rdx, [r9 + 4]
mov qword [rsp + 0xc8], rdx
lea rdx, [r9 + 0xc]
mov qword [rsp + 0x150], rdx
movabs rdx, 0x100000001
imul r10, rdx
mov qword [rsp + 0x88], r10
xor ebp, ebp
mov dword [rsp + 0x118], eax
mov r8d, eax
mov edx, dword [rsp + 0x104]
mov edi, edx
mov dword [rsp + 0x58], 0
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0xf0], rdx
mov eax, dword [rsp + 0xa0]
nop dword [rax]
cmp byte [rsp + 0x110], 0
je 0x14006aaf0
mov edx, eax
sub edx, ecx
cmp edx, 8
jae 0x14006aaf0
xor r15d, r15d
jmp 0x14006aec0
mov ebx, r11d
sub ebx, ecx
jbe 0x14006ab70
cmp ecx, dword [rsp + 0x138]
ja 0x14006abdd
mov r15d, ecx
sub r15d, dword [rsp + 0x78]
add r15, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x68]
cmp dword [r15], edx
jne 0x14006abdd
mov r11, qword [rsp + 0xd0]
lea r10, [r11 + rbx]
mov rdx, qword [rsp + 0x38]
cmp r10, rdx
mov r12, r10
cmova r12, rdx
add r15, 4
lea rdx, [r12 - 7]
mov rsi, qword [rsp + 0xc8]
cmp rdx, rsi
jbe 0x14006ac15
mov rsi, qword [rsi]
xor rsi, qword [r15]
je 0x14006ac09
tzcnt rsi, rsi
shr esi, 3
jmp 0x14006ac93
mov eax, r12d
mov r10d, ecx
add r10, qword [rsp + 0x40]
mov r12, r8
movsxd rdx, r8d
mov r8, qword [rsp + 0xd0]
movzx r8d, word [r8 + rdx - 1]
cmp r8w, word [rdx + r10 - 1]
jne 0x14006abea
mov rdx, qword [rsp + 0x68]
cmp dword [r10], edx
mov rbx, qword [rsp + 0x20]
jne 0x14006abf4
lea rsi, [r10 + 4]
mov r15, qword [rsp + 0xc8]
cmp rbx, r15
mov r8, r12
jbe 0x14006ad09
mov rdx, qword [r15]
xor rdx, qword [rsi]
je 0x14006acfd
tzcnt r15, rdx
shr r15d, 3
mov rsi, qword [rsp + 0x28]
jmp 0x14006ae6a
xor r15d, r15d
mov rbx, qword [rsp + 0x20]
jmp 0x14006aec0
xor r15d, r15d
mov rbx, qword [rsp + 0x20]
jmp 0x14006abf7
xor r15d, r15d
mov r8, r12
mov r12d, eax
mov eax, dword [rsp + 0xa0]
jmp 0x14006aec0
add r15, 8
mov rsi, qword [rsp + 0x150]
mov qword [rsp + 0x80], r8
cmp rsi, rdx
jae 0x14006ac49
mov r8, qword [rsp + 0x60]
lea r13d, [r8 + rsi]
nop dword [rax + rax]
mov r8, qword [rsi]
xor r8, qword [r15]
jne 0x14006ac77
add rsi, 8
add r15, 8
add r13d, 8
cmp rsi, rdx
jb 0x14006ac30
lea rdx, [r12 - 3]
cmp rsi, rdx
jae 0x14006b4fb
mov edx, dword [r15]
cmp edx, dword [rsi]
mov r13, qword [rsp + 0xb8]
jne 0x14006b503
add rsi, 4
add r15, 4
jmp 0x14006b503
tzcnt rsi, r8
shr rsi, 3
add esi, r13d
mov r13, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x80]
lea r15d, [rsi + 4]
cmp r10, qword [rsp + 0x38]
jae 0x14006acee
movsxd rdx, esi
add rdx, r11
add rdx, 4
cmp rdx, r12
jne 0x14006acee
mov r11, r8
mov r8, qword [rsp + 0x98]
mov rsi, r8
mov r10, r12
cmp qword [rsp + 0x20], r12
jbe 0x14006adb1
mov rdx, qword [r12]
xor rdx, qword [r8]
je 0x14006ada4
tzcnt r10, rdx
shr r10d, 3
mov rsi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
jmp 0x14006ae90
mov rsi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
jmp 0x14006ae96
add rsi, 8
mov r15, qword [rsp + 0x150]
cmp r15, rbx
jae 0x14006ad41
mov rdx, qword [rsp + 0x60]
add edx, r15d
nop word cs:[rax + rax]
mov rbx, qword [r15]
xor rbx, qword [rsi]
jne 0x14006ae54
add r15, 8
add rsi, 8
add edx, 8
mov rbx, qword [rsp + 0x20]
cmp r15, rbx
jb 0x14006ad20
cmp r15, qword [rsp + 0x1e0]
jae 0x14006ad5a
mov edx, dword [rsi]
cmp edx, dword [r15]
jne 0x14006ad5a
add r15, 4
add rsi, 4
cmp r15, qword [rsp + 0x1d8]
jae 0x14006ad75
movzx edx, word [rsi]
cmp dx, word [r15]
jne 0x14006ad75
add r15, 2
add rsi, 2
cmp r15, qword [rsp + 0x38]
jae 0x14006ad8f
movzx edx, byte [rsi]
xor r8d, r8d
cmp dl, byte [r15]
sete r8b
add r15, r8
mov r8, r12
mov rsi, qword [rsp + 0x28]
mov r12d, eax
sub r15d, dword [rsp + 0xc8]
jmp 0x14006ae6d
lea r10, [r12 + 8]
mov rsi, qword [rsp + 0xd8]
cmp r10, qword [rsp + 0x20]
jae 0x14006b578
add rbx, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x38]
cmp rdx, rbx
cmovb rbx, rdx
mov edx, r10d
sub edx, ebx
mov rbx, qword [rsp + 0x20]
nop word [rax + rax]
mov r8, qword [r10]
xor r8, qword [rsi]
jne 0x14006ae7f
add r10, 8
add rsi, 8
add edx, 8
cmp r10, rbx
jb 0x14006ade0
cmp r10, qword [rsp + 0x1e0]
jae 0x14006ae15
mov edx, dword [rsi]
cmp edx, dword [r10]
jne 0x14006ae15
add r10, 4
add rsi, 4
cmp r10, qword [rsp + 0x1d8]
jae 0x14006ae30
movzx edx, word [rsi]
cmp dx, word [r10]
jne 0x14006ae30
add r10, 2
add rsi, 2
cmp r10, qword [rsp + 0x38]
jae 0x14006ae47
movzx edx, byte [rsi]
xor r8d, r8d
cmp dl, byte [r10]
sete r8b
add r10, r8
mov rsi, qword [rsp + 0x28]
mov r8, r11
sub r10d, r12d
jmp 0x14006ae93
tzcnt r15, rbx
shr r15, 3
add r15d, edx
mov rsi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
mov r12d, eax
mov eax, dword [rsp + 0xa0]
add r15d, 4
cmp r15d, r8d
jg 0x14006aeb0
jmp 0x14006aec0
tzcnt r10, r8
shr r10, 3
add r10d, edx
mov rsi, qword [rsp + 0x28]
mov r8, r11
add r15d, r10d
mov r11, qword [rsp + 0x30]
mov r12d, dword [rsp + 0xa8]
cmp r15d, r8d
jle 0x14006aec0
mov r10d, ecx
add r10, qword [rsp + 0x40]
mov qword [rsp + 0xf0], r10
mov r8d, r15d
nop dword [rax + rax]
cmp r15d, r8d
jne 0x14006af70
lea edx, [r8 + rcx]
cmp edx, eax
ja 0x14006af70
cmp r15d, 4
jl 0x14006af70
mov rax, r8
lea edx, [r15 - 3]
xor esi, esi
mov ebx, 0x10
mov r10d, 1
mov r11d, 0x10
nop dword [rax]
mov r8d, r10d
lea r10d, [rsi + rcx]
movzx r10d, r10w
movzx r10d, word [r13 + r10*2 + 0x20000]
lea r12d, [rbx + 1]
sar ebx, 4
cmp r8d, r10d
cmovb r12d, r11d
cmova r10d, r8d
cmovb ebp, esi
mov r8d, ebx
add r8d, esi
mov esi, r8d
mov ebx, r12d
cmp r8d, edx
jl 0x14006af00
cmp r10d, 1
mov rbx, qword [rsp + 0x20]
ja 0x14006b123
mov rsi, qword [rsp + 0x28]
mov r11, qword [rsp + 0x30]
mov r12d, dword [rsp + 0xa8]
mov r8, rax
mov eax, dword [rsp + 0xa0]
nop word cs:[rax + rax]
nop
movzx edx, cx
cmp word [r13 + rdx*2 + 0x20000], 1
jne 0x14006b180
test ebp, ebp
jne 0x14006b180
mov edx, dword [rsp + 0x58]
test edx, edx
je 0x14006b091
cmp edx, 2
jne 0x14006b17c
lea r15d, [rcx - 1]
cmp r15d, dword [rsp + 0x70]
jb 0x14006b17c
mov edx, r11d
sub edx, ecx
mov dword [rsp + 0x58], 2
cmp edx, 3
jb 0x14006b180
cmp r15d, r11d
mov rbx, qword [rsp + 0x188]
cmovae rbx, qword [rsp + 0x40]
mov r13d, r15d
mov rdx, qword [rsp + 0x68]
cmp dword [rbx + r13], edx
jne 0x14006b1ae
mov qword [rsp + 0x80], r8
lea r12, [rbx + r13]
cmp r15d, r11d
mov rcx, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x38]
cmovae rcx, rbp
lea rsi, [r12 + 4]
lea rdx, [rcx - 7]
mov r10, rsi
cmp rdx, rsi
jbe 0x14006b04e
add rbx, r13
add rbx, 4
mov r10, rsi
nop word cs:[rax + rax]
nop dword [rax]
mov r8, qword [r10]
xor r8, qword [rsp + 0x88]
jne 0x14006b1bd
add r10, 8
add rbx, 8
cmp r10, rdx
jb 0x14006b030
cmp r10, rcx
mov r13, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x68]
jae 0x14006b1d6
mov rdx, rcx
sub rdx, r10
mov rbx, qword [rsp + 0x88]
cmp byte [r10], bl
jne 0x14006b1d6
add r10, 1
shr rbx, 8
add rdx, 0xffffffffffffffff
jne 0x14006b072
mov r10, rcx
jmp 0x14006b1d6
mov dword [rsp + 0x58], 1
cmp byte [rsp + 0x1a8], 0
je 0x14006b180
mov r9, qword [rsp + 0x1c0]
mov rdx, qword [rsp + 0xc8]
mov r10, rdx
cmp rbx, rdx
jbe 0x14006b55e
nop word cs:[rax + rax]
nop dword [rax]
mov rdx, qword [r10]
xor rdx, qword [rsp + 0x88]
jne 0x14006b156
add r10, 8
add r9, 8
cmp r10, rbx
jb 0x14006b0d0
mov rdx, qword [rsp + 0x38]
cmp r10, rdx
jae 0x14006b162
sub rdx, r9
lea r9, [r10 + rdx]
mov rsi, qword [rsp + 0x88]
cmp byte [r10], sil
jne 0x14006b119
add r10, 1
shr rsi, 8
add rdx, 0xffffffffffffffff
jne 0x14006b103
mov r10, r9
mov r9, r10
mov rsi, qword [rsp + 0x28]
jmp 0x14006b162
cmp ecx, r10d
mov edx, 0
cmovb r10d, edx
mov rsi, qword [rsp + 0x28]
mov r11, qword [rsp + 0x30]
mov r12d, dword [rsp + 0xa8]
jb 0x14006ba91
sub ecx, r10d
mov r8d, r15d
mov eax, dword [rsp + 0xa0]
jmp 0x14006b191
tzcnt rdx, rdx
shr rdx, 3
add r9, rdx
sub r9d, dword [rsp + 0xc8]
add r9, 4
mov edx, 2
cmp edx, 2
je 0x14006afa0
mov dword [rsp + 0x58], edx
lea edx, [rcx + rbp]
movzx edx, dx
movzx edx, word [r13 + rdx*2 + 0x20000]
sub ecx, edx
cmp ecx, dword [rsp + 0x70]
jb 0x14006ba94
lea edx, [rdi - 1]
cmp edi, 1
mov edi, edx
jg 0x14006aad0
jmp 0x14006ba94
mov r13, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x20]
jmp 0x14006b180
tzcnt r10, r8
shr r10, 3
add r10, rbx
mov r13, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x68]
sub r10, rsi
mov ebx, r10d
add rbx, 4
cmp r15d, dword [rsp + 0x30]
jb 0x14006b1fc
mov r11, qword [rsp + 0x98]
mov rcx, r11
mov rbp, qword [rsp + 0x48]
jmp 0x14006b2da
lea rdx, [r12 + rbx]
cmp rdx, rcx
je 0x14006b21a
mov rbp, qword [rsp + 0x48]
mov rcx, rbp
mov r11, qword [rsp + 0x98]
jmp 0x14006b2da
mov ecx, r10d
shl ecx, 3
mov esi, r8d
rol esi, cl
test r10b, 3
cmove esi, r8d
movabs rcx, 0x100000001
imul rsi, rcx
mov rcx, qword [rsp + 0x98]
cmp qword [rsp + 0x20], rcx
jbe 0x14006b590
mov rdx, rcx
nop word cs:[rax + rax]
nop dword [rax + rax]
mov r8, qword [rcx]
xor r8, rsi
jne 0x14006b2b3
add rcx, 8
add rdx, 8
cmp rcx, qword [rsp + 0x20]
jb 0x14006b260
cmp rcx, rbp
jae 0x14006b2bf
mov r10, rbp
sub r10, rdx
lea rdx, [rcx + r10]
cmp byte [rcx], sil
jne 0x14006b29c
add rcx, 1
shr rsi, 8
add r10, 0xffffffffffffffff
jne 0x14006b286
mov rcx, rdx
mov r11, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x48]
mov r8, qword [rsp + 0x68]
mov rdx, rcx
jmp 0x14006b2d1
tzcnt rcx, r8
shr rcx, 3
add rdx, rcx
mov r11, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x48]
mov r8, qword [rsp + 0x68]
sub edx, r11d
add rbx, rdx
mov rcx, rbp
mov dword [rsp + 0x54], r8d
lea r10, [rcx + 4]
mov rsi, r12
nop word cs:[rax + rax]
mov rdx, rsi
cmp rsi, r10
jb 0x14006b302
lea rsi, [rdx - 4]
cmp dword [rdx - 4], r8d
je 0x14006b2f0
cmp rdx, rcx
jbe 0x14006b56e
xor r10d, r10d
mov rsi, qword [rsp + 0x28]
nop word cs:[rax + rax]
nop dword [rax]
movzx r8d, byte [rdx + r10 - 1]
cmp r8b, byte [rsp + r10 + 0x57]
jne 0x14006b343
lea r8, [rdx + r10]
add r8, 0xffffffffffffffff
add r10, 0xffffffffffffffff
cmp r8, rcx
ja 0x14006b320
mov rdx, rcx
jmp 0x14006b346
add rdx, r10
mov r10, r12
sub r10, rdx
cmp r15d, dword [rsp + 0x30]
jb 0x14006b40c
mov ecx, r10d
sub r12, rcx
cmp r12, r11
jne 0x14006b40c
mov r11, qword [rsp + 0x30]
cmp dword [rsp + 0x78], r11d
mov r12d, dword [rsp + 0xa8]
jae 0x14006b419
mov r8d, r10d
neg r8d
mov ecx, r8d
shl ecx, 3
mov rdx, qword [rsp + 0x68]
rol edx, cl
test r8b, 3
cmove edx, dword [rsp + 0x68]
mov dword [rsp + 0x54], edx
mov rsi, qword [rsp + 0x178]
nop word cs:[rax + rax]
cmp rsi, 4
jl 0x14006b547
lea rcx, [rsi - 4]
cmp dword [rbp + rsi - 4], edx
mov rsi, rcx
je 0x14006b3b0
add rcx, rbp
add rcx, 4
mov rsi, qword [rsp + 0x28]
lea rdx, [rsp + 0x57]
nop dword [rax + rax]
movzx r8d, byte [rcx - 1]
cmp r8b, byte [rdx]
jne 0x14006b3fa
add rcx, 0xffffffffffffffff
add rdx, 0xffffffffffffffff
cmp rcx, rbp
ja 0x14006b3e0
mov rcx, rbp
mov rdx, qword [rsp + 0x160]
sub edx, ecx
add edx, r10d
mov r10d, edx
jmp 0x14006b419
mov r11, qword [rsp + 0x30]
mov r12d, dword [rsp + 0xa8]
mov ecx, r15d
sub ecx, r10d
mov edx, dword [rsp + 0x70]
cmp ecx, edx
cmovbe ecx, edx
mov edx, r15d
sub edx, ecx
add rdx, rbx
cmp rbx, r9
ja 0x14006b45e
cmp rdx, r9
jb 0x14006b45e
sub r15d, r9d
add r15d, ebx
mov ecx, r15d
not ecx
add ecx, r11d
cmp ecx, 3
cmovb r15d, r11d
xor ebp, ebp
mov dword [rsp + 0x58], 2
mov ecx, r15d
jmp 0x14006b47a
mov r8d, ecx
not r8d
add r8d, r11d
xor ebp, ebp
mov dword [rsp + 0x58], 2
cmp r8d, 3
jae 0x14006b48c
mov ecx, r11d
mov rbx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x80]
jmp 0x14006b191
cmp rdx, r9
cmovae rdx, r9
movsxd r8, dword [rsp + 0x80]
cmp rdx, r8
mov rbx, qword [rsp + 0x20]
jbe 0x14006b4da
mov r10d, ecx
mov r8, qword [rsp + 0x158]
sub r8, r10
cmp r8, 0xffff
mov r8, qword [rsp + 0x80]
ja 0x14006ba94
add r10, qword [rsp + 0x40]
mov qword [rsp + 0xf0], r10
mov r8d, edx
jmp 0x14006b4e2
mov r8, qword [rsp + 0x80]
movzx edx, cx
movzx edx, word [r13 + rdx*2 + 0x20000]
sub ecx, edx
jae 0x14006b191
jmp 0x14006ba94
mov r13, qword [rsp + 0xb8]
lea rdx, [r12 - 1]
cmp rsi, rdx
jae 0x14006b51e
movzx edx, word [r15]
cmp dx, word [rsi]
jne 0x14006b51e
add rsi, 2
add r15, 2
cmp rsi, r12
jae 0x14006b533
movzx edx, byte [r15]
xor r8d, r8d
cmp dl, byte [rsi]
sete r8b
add rsi, r8
mov r8, qword [rsp + 0x80]
sub esi, dword [rsp + 0xc8]
jmp 0x14006ac93
lea rcx, [rsi + rbp]
test rsi, rsi
mov rsi, qword [rsp + 0x28]
jg 0x14006b3d3
jmp 0x14006b3fa
mov r10, qword [rsp + 0xc8]
mov r9, r10
jmp 0x14006b0ea
mov rsi, qword [rsp + 0x28]
jmp 0x14006b346
mov rbx, qword [rsp + 0x20]
cmp r10, qword [rsp + 0x1e0]
jb 0x14006ae06
jmp 0x14006ae15
mov rdx, rcx
cmp rcx, rbp
jb 0x14006b27c
jmp 0x14006b2bf
mov eax, dword [rsp + 0xa0]
jmp 0x14006b5cf
movzx r8d, dx
mov word [r13 + r8*2 + 0x20000], r10w
mov dword [r13 + r9*4], edx
add rcx, 2
cmp rcx, rax
je 0x140069d9a
mov rdx, qword [rsp + 0xe8]
imul edx, dword [rdx + rcx - 1], 0x9e3779b1
shr edx, 0x11
mov r9d, ecx
sub r9d, dword [r13 + rdx*4]
cmp r9d, 0xffff
jb 0x14006b5f9
mov r9d, 0xffff
movzx r8d, cx
mov word [r13 + r8*2 + 0x20000], r9w
mov dword [r13 + rdx*4], ecx
lea rdx, [rcx + 1]
mov r8, qword [rsp + 0xe8]
imul r9d, dword [r8 + rcx], 0x9e3779b1
shr r9d, 0x11
mov r8d, dword [r13 + r9*4]
mov r10d, ecx
sub r10d, r8d
add r10d, 1
cmp r10d, 0xffff
jb 0x14006b5b0
mov r10d, 0xffff
jmp 0x14006b5b0
mov eax, dword [rsp + 0xa0]
jmp 0x14006b67f
movzx r8d, dx
mov word [r13 + r8*2 + 0x20000], r10w
mov dword [r13 + r9*4], edx
add rcx, 2
cmp rcx, rax
je 0x14006a9fa
mov rdx, qword [rsp + 0xe8]
imul edx, dword [rdx + rcx - 1], 0x9e3779b1
shr edx, 0x11
mov r9d, ecx
sub r9d, dword [r13 + rdx*4]
cmp r9d, 0xffff
jb 0x14006b6a9
mov r9d, 0xffff
movzx r8d, cx
mov word [r13 + r8*2 + 0x20000], r9w
mov dword [r13 + rdx*4], ecx
lea rdx, [rcx + 1]
mov r8, qword [rsp + 0xe8]
imul r9d, dword [r8 + rcx], 0x9e3779b1
shr r9d, 0x11
mov r8d, dword [r13 + r9*4]
mov r10d, ecx
sub r10d, r8d
add r10d, 1
cmp r10d, 0xffff
jb 0x14006b660
mov r10d, 0xffff
jmp 0x14006b660
mov r8d, ebx
mov rbx, qword [rsp + 0x20]
cmp r8d, 3
jle 0x14006baa2
lea eax, [r8 - 0x13]
cmp eax, 0x12
mov eax, r8d
mov ecx, 0x12
cmovb eax, ecx
cmp byte [rsp + 0x110], 0
cmove eax, r8d
test eax, eax
mov r10, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0x98]
mov r11, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x1b8]
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x130]
mov r9, qword [rsp + 0xf8]
je 0x140069bfa
mov rcx, qword [rsp + 0xf0]
sub qword [rsp + 0xd0], rcx
cmp dword [rsp + 0x190], eax
jb 0x14006be16
lea ecx, [rax + r14]
cmp ecx, 0xfff
jg 0x14006be16
mov qword [rsp + 0xf8], r9
mov qword [rsp + 0x130], r8
mov qword [rsp + 0x60], rdx
mov rcx, qword [rsp + 0x120]
movsxd rcx, dword [r10 + rcx + 0xc]
lea edx, [rcx - 0xf]
mov r8d, 0x80808081
imul rdx, r8
shr rdx, 0x27
lea r9d, [rcx + 1]
cmp rcx, 0xf
lea edx, [rdx + rcx + 1]
cmovl edx, ecx
mov r8, qword [rsp + 0x1b0]
sub r8d, edx
mov r10d, r9d
cmp rcx, 0xd
jle 0x14006b802
lea r10d, [rcx - 0xe]
mov esi, 0x80808081
imul r10, rsi
shr r10, 0x27
add r10d, ecx
add r10d, 2
add r10d, r8d
cmp r10d, r12d
movabs rbx, 0x100000000
jge 0x14006b835
mov rdi, qword [rsp + 0xc0]
mov r15, qword [rsp + 0x1a0]
lea rsi, [rdi + r15]
mov qword [rdi + r15 + 4], rbx
mov dword [rdi + r15 + 0xc], r9d
mov dword [rsi], r10d
lea r9d, [rcx + 2]
mov r10d, r9d
cmp ecx, 0xd
jl 0x14006b859
lea r10d, [rcx - 0xd]
mov esi, 0x80808081
imul r10, rsi
shr r10, 0x27
add r10d, ecx
add r10d, 3
add r10d, r8d
lea rsi, [r14 + 2]
shl rsi, 4
mov rdi, qword [rsp + 0xc0]
cmp r10d, dword [rdi + rsi]
jge 0x14006b895
mov rbx, qword [rsp + 0xc0]
lea rdi, [rbx + rsi]
movabs r15, 0x100000000
mov qword [rbx + rsi + 4], r15
mov dword [rbx + rsi + 0xc], r9d
mov dword [rdi], r10d
lea r9d, [rcx + 3]
mov r10d, r9d
cmp ecx, 0xc
jl 0x14006b8b9
lea r10d, [rcx - 0xc]
mov esi, 0x80808081
imul r10, rsi
shr r10, 0x27
add r10d, ecx
add r10d, 4
add r10d, r8d
lea r8, [r14 + 3]
shl r8, 4
mov rsi, qword [rsp + 0xc0]
cmp r10d, dword [rsi + r8]
movabs rbx, 0x100000000
jge 0x14006b8f5
mov rdi, qword [rsp + 0xc0]
lea rsi, [rdi + r8]
mov qword [rdi + r8 + 4], rbx
mov dword [rdi + r8 + 0xc], r9d
mov dword [rsi], r10d
cmp eax, 3
jg 0x14006b970
movsxd rax, r11d
shl rax, 4
mov r10, qword [rsp + 0xc0]
movabs r8, 0x100000000
mov qword [r10 + rax + 0x14], r8
mov dword [r10 + rax + 0x1c], 1
mov ecx, dword [r10 + rax]
lea edx, [rcx + 1]
mov dword [r10 + rax + 0x10], edx
mov qword [r10 + rax + 0x24], r8
mov dword [r10 + rax + 0x2c], 2
lea edx, [rcx + 2]
mov dword [r10 + rax + 0x20], edx
mov qword [r10 + rax + 0x34], r8
mov dword [r10 + rax + 0x3c], 3
add ecx, 3
mov dword [r10 + rax + 0x30], ecx
mov rsi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x1b8]
jmp 0x140069be5
lea r8d, [rax + 1]
mov rsi, qword [rsp + 0xc0]
mov r9, qword [rsp + 0x120]
mov r9d, dword [rsi + r9 + 8]
mov r10d, r14d
sub r10d, ecx
movsxd r10, r10d
shl r10, 4
add r10, rsi
lea esi, [rdx + 3]
add edx, 4
mov edi, 4
mov rbx, qword [rsp + 0x140]
jmp 0x14006b9f7
cmp r11d, r12d
cmovge r12d, r11d
cmp rax, rdi
cmovne r12d, r11d
mov dword [rbx + 8], edi
mov r11, qword [rsp + 0xd0]
mov dword [rbx + 4], r11d
mov dword [rbx + 0xc], ebp
mov dword [rbx], r15d
mov r11d, r12d
mov rbp, qword [rsp + 0x98]
add rdi, 1
add rbx, 0x10
cmp r8, rdi
mov r13, qword [rsp + 0xb8]
je 0x14006b8fa
cmp r9d, 1
jne 0x14006ba30
xor ebp, ebp
cmp r14, rcx
jle 0x14006ba07
mov ebp, dword [r10]
mov r15d, esi
cmp rdi, 0x13
jb 0x14006ba25
lea r15d, [rdi - 0x13]
mov r12d, 0x80808081
imul r15, r12
shr r15, 0x27
add r15d, edx
add r15d, ebp
mov ebp, ecx
jmp 0x14006ba5c
mov r15d, 3
cmp rdi, 0x13
jb 0x14006ba52
lea r15d, [rdi - 0x13]
mov r12d, 0x80808081
imul r15, r12
shr r15, 0x27
add r15d, 4
add r15d, dword [rsp + 0x1b0]
xor ebp, ebp
lea r13d, [r11 + 3]
mov r12, qword [rsp + 0x148]
add r12, rdi
add r12, 0xfffffffffffffffc
cmp r13d, r12d
jl 0x14006b9b0
mov r13d, dword [rbx]
add r13d, dword [rsp + 0x198]
cmp r15d, r13d
jle 0x14006b9b0
jmp 0x14006b9d6
mov r8d, r15d
cmp r8d, dword [rsp + 0x118]
jg 0x14006b70c
mov r10, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0x98]
mov r11, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x1b8]
jmp 0x140069be5
movsxd rax, r11d
mov r14d, r11d
shl rax, 4
mov r9d, dword [r10 + rax + 4]
mov eax, dword [r10 + rax + 8]
mov qword [rsp + 0x58], r14
sub r14d, eax
nop word cs:[rax + rax]
nop dword [rax]
movsxd r14, r14d
mov rcx, r14
shl rcx, 4
mov edx, dword [r10 + rcx + 4]
mov r8d, dword [r10 + rcx + 8]
mov dword [r10 + rcx + 8], eax
mov dword [r10 + rcx + 4], r9d
mov eax, r8d
mov r9d, edx
sub r14d, r8d
jge 0x14006baf0
mov r14, qword [rsp + 0x58]
test r14d, r14d
jle 0x14006be01
xor ebp, ebp
mov r11, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xe0]
jmp 0x14006bb50
add r11, 1
add ebp, 1
cmp ebp, r14d
jge 0x140068991
movsxd rcx, ebp
shl rcx, 4
movsxd rax, dword [r10 + rcx + 8]
mov rdx, rax
mov qword [rsp + 0x90], rax
cmp rax, 1
je 0x14006bb40
mov rdi, r11
sub rdi, rsi
mov rax, rdi
movabs rdx, 0x8080808080808081
mul rdx
mov r12d, dword [r10 + rcx + 4]
cmp dword [rsp + 0x280], 0
mov qword [rsp + 0xe0], r8
je 0x14006bbb7
shr rdx, 7
add rdx, r8
lea rax, [rdi + rdx]
add rax, 9
cmp rax, qword [rsp + 0x108]
ja 0x14006c076
lea rbx, [r8 + 1]
cmp rdi, 0xf
jb 0x14006bc3d
lea rax, [rdi - 0xf]
mov byte [r8], 0xf0
cmp rax, 0xff
jb 0x14006bc35
lea rax, [rdi - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov r14, rdx
shr r14, 7
mov r15, r8
lea r8, [r14 + 1]
mov rcx, rbx
mov dl, 0xff
mov rbx, rsi
mov rsi, r11
call fcn.1400175c0
mov r8, r15
mov r11, rsi
mov rsi, rbx
mov r10, qword [rsp + 0xc0]
mov rax, r14
shl rax, 8
lea rbx, [r15 + r14]
add rbx, 2
sub r14, rax
lea rax, [rdi + r14]
add rax, 0xfffffffffffffef2
mov r14, qword [rsp + 0x58]
mov byte [rbx], al
add rbx, 1
jmp 0x14006bc45
mov eax, edi
shl al, 4
mov byte [r8], al
lea rax, [rbx + r11]
sub rax, rsi
lea rcx, [rbx + 8]
cmp rax, rcx
cmovbe rax, rcx
lea rcx, [rbx + rdi]
mov r8, rbx
not r8
add r8, rax
mov rax, rsi
mov rdx, rbx
cmp r8, 0x38
jb 0x14006bcd0
mov r9, rbx
sub r9, rsi
mov rax, rsi
mov rdx, rbx
cmp r9, 0x20
jb 0x14006bcd0
shr r8, 3
add r8, 1
mov r9, r8
and r9, 0xfffffffffffffffc
lea rax, [rsi + r9*8]
lea rdx, [rbx + r9*8]
xor r10d, r10d
nop dword [rax]
movups xmm0, xmmword [rsi + r10*8]
movups xmm1, xmmword [rsi + r10*8 + 0x10]
movups xmmword [rbx + r10*8], xmm0
movups xmmword [rbx + r10*8 + 0x10], xmm1
add r10, 4
cmp r9, r10
jne 0x14006bca0
cmp r8, r9
mov r10, qword [rsp + 0xc0]
je 0x14006bce3
nop dword [rax]
mov r8, qword [rax]
mov qword [rdx], r8
add rdx, 8
add rax, 8
cmp rdx, rcx
jb 0x14006bcd0
mov rax, qword [rsp + 0x90]
lea r8, [rax - 4]
mov rax, r8
movabs rdx, 0x8080808080808081
mul rdx
mov word [rcx], r12w
cmp dword [rsp + 0x280], 0
je 0x14006bd27
shr rdx, 7
lea rax, [rcx + rdx]
add rax, 8
cmp rax, qword [rsp + 0x108]
ja 0x14006c076
mov r15, qword [rsp + 0x90]
add ebp, r15d
add rcx, 2
cmp r8, 0xf
jb 0x14006bde3
mov rax, qword [rsp + 0xe0]
add byte [rax], 0xf
lea rax, [r15 - 0x13]
cmp rax, 0x1fe
jb 0x14006bdb0
lea rax, [r15 - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov r14, rdx
shr r14, 8
lea r8, [r14 + r14]
add r8, 2
mov dl, 0xff
mov rsi, r11
call fcn.1400175c0
mov r11, rsi
mov r10, qword [rsp + 0xc0]
lea rax, [rdi + r14*2]
lea rcx, [rbx + rax]
add rcx, 4
imul rax, r14, 0xfffffffffffffe02
mov r14, qword [rsp + 0x58]
add rax, r15
add rax, 0xfffffffffffffdef
cmp rax, 0xff
mov rbx, qword [rsp + 0x20]
jb 0x14006bdca
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
add rcx, 1
mov byte [rcx], al
add rcx, 1
add r11, qword [rsp + 0x90]
mov rsi, r11
mov r8, rcx
jmp 0x14006bb47
mov rax, qword [rsp + 0xe0]
add byte [rax], r8b
add r11, r15
mov rsi, r11
mov r8, rcx
mov rbx, qword [rsp + 0x20]
jmp 0x14006bb47
mov r11, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xe0]
jmp 0x140068991
lea ecx, [r14 + 1]
mov qword [rsp + 0x58], rcx
mov r9, qword [rsp + 0xd0]
jmp 0x14006baf0
mov r12, qword [rsp + 0x120]
mov rdi, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x128]
mov rax, qword [rsp + 0x170]
add rax, rcx
xor ecx, ecx
mov r11d, dword [rsp + 0x280]
cmp r11d, 2
sete r9b
sub rax, r12
mov r10, rax
add rax, 0xf0
movabs r8, 0x8080808080808081
mul r8
test r11d, r11d
je 0x14006becf
shr rdx, 7
add rdx, r10
mov cl, r9b
lea rax, [rcx + rcx*4]
mov rcx, qword [rsp + 0x108]
add rcx, rax
lea rax, [rdi + rdx]
add rax, 1
cmp rax, rcx
jbe 0x14006becf
xor ebx, ebx
cmp dword [rsp + 0x280], 1
je 0x14006c050
mov rax, rdi
not rax
lea r10, [rax + rcx]
add rax, rcx
add rax, 0xf1
shr rax, 8
sub r10, rax
lea rsi, [r12 + r10]
cmp r10, 0xf
jb 0x14006bf33
mov r14, r10
lea rax, [r10 - 0xf]
mov byte [rdi], 0xf0
lea rcx, [rdi + 1]
cmp rax, 0xff
jb 0x14006bfc3
lea rax, [r14 - 0x10e]
mul r8
mov rbx, rdx
shr rbx, 7
lea r8, [rbx + 1]
mov dl, 0xff
call fcn.1400175c0
mov rax, rbx
shl rax, 8
lea rcx, [rbx + rdi]
add rcx, 2
sub rbx, rax
mov rdx, r14
lea rax, [r14 + rbx]
add rax, 0xfffffffffffffef2
jmp 0x14006bfc6
mov rbx, r10
mov eax, ebx
shl al, 4
mov byte [rdi], al
jmp 0x14006bfce
mov r8, r11
mov r15, rsi
add rsi, r9
cmp r9, 0xf
jb 0x14006bfb6
mov rbx, r9
lea rax, [r9 - 0xf]
mov byte [r8], 0xf0
lea rcx, [r8 + 1]
cmp rax, 0xff
jb 0x14006c002
lea rax, [rbx - 0x10e]
movabs rdx, 0x8080808080808081
mul rdx
mov rdi, rdx
shr rdi, 7
mov r14, r8
lea r8, [rdi + 1]
mov dl, 0xff
call fcn.1400175c0
mov rax, rdi
shl rax, 8
lea rcx, [rdi + r14]
add rcx, 2
sub rdi, rax
mov rdx, rbx
lea rax, [rbx + rdi]
add rax, 0xfffffffffffffef2
jmp 0x14006c005
mov rdi, r9
mov eax, edi
shl al, 4
mov byte [r8], al
jmp 0x14006c00d
mov rdx, r14
mov byte [rcx], al
mov rdi, rcx
mov rbx, rdx
add rdi, 1
mov rcx, rdi
mov rdx, r12
mov r8, rbx
call fcn.1400176a0
add edi, ebx
sub esi, dword [rsp + 0x128]
mov rax, qword [rsp + 0x1f8]
mov dword [rax], esi
sub edi, dword [rsp + 0x1c8]
mov ebx, edi
test ebx, ebx
jg 0x14006c058
jmp 0x14006c050
mov rdx, rbx
mov byte [rcx], al
mov r8, rcx
mov rdi, rdx
add r8, 1
mov rcx, r8
mov rdx, r15
mov rbx, r8
mov r8, rdi
call fcn.1400176a0
add ebx, edi
sub esi, dword [rsp + 0x128]
mov rax, qword [rsp + 0x1f8]
mov dword [rax], esi
sub ebx, dword [rsp + 0x1c8]
mov r10, qword [rsp + 0xc0]
mov rcx, r10
call sub.msvcrt.dll_free
test ebx, ebx
jg 0x14006c058
mov byte [r13 + 0x40027], 1
mov eax, ebx
add rsp, 0x208
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movsxd r12, edi
mov rsi, qword [rsp + 0x28]
xor ebx, ebx
cmp dword [rsp + 0x280], 2
mov r8, qword [rsp + 0x108]
jne 0x14006c044
mov r15, r11
sub r15, rsi
lea rax, [r15 + 0xf0]
movabs rcx, 0x8080808080808081
mul rcx
shr rdx, 7
add rdx, r15
lea rcx, [r8 - 3]
mov rax, qword [rsp + 0xe0]
add rax, rdx
add rax, 1
cmp rax, rcx
ja 0x14006c186
sub rcx, rax
mov rdx, rcx
shl rdx, 8
sub rdx, rcx
add rdx, 0x12
movsxd rcx, dword [rsp + 0x90]
cmp rdx, rcx
cmovb ecx, edx
add rax, 2
not rax
add rax, r8
movsxd r14, ecx
add rax, r14
add rax, 5
cmp rax, 0xc
jl 0x14006c186
mov rcx, qword [rsp + 0xe0]
lea rdi, [rcx + 1]
cmp r15, 0xf
jb 0x14006c193
lea rax, [r15 - 0xf]
mov byte [rcx], 0xf0
cmp rax, 0xff
jb 0x14006c17e
lea rax, [r15 - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbx, rdx
shr rbx, 7
lea r8, [rbx + 1]
mov rcx, rdi
mov dl, 0xff
mov rdi, rsi
mov rsi, r11
call fcn.1400175c0
mov r11, rsi
mov rsi, rdi
mov rax, rbx
shl rax, 8
mov rcx, qword [rsp + 0xe0]
lea rdi, [rbx + rcx]
add rdi, 2
sub rbx, rax
lea rax, [r15 + rbx]
add rax, 0xfffffffffffffef2
mov byte [rdi], al
add rdi, 1
jmp 0x14006c19b
mov r8, qword [rsp + 0xe0]
jmp 0x1400651a0
mov eax, r15d
shl al, 4
mov byte [rcx], al
lea rcx, [rdi + r15]
lea rax, [rdi + r11]
sub rax, rsi
lea rdx, [rdi + 8]
cmp rax, rdx
cmovbe rax, rdx
mov r8, rdi
not r8
add r8, rax
cmp r8, 0x38
jb 0x14006c20c
mov rax, rdi
sub rax, rsi
cmp rax, 0x20
jb 0x14006c20c
shr r8, 3
add r8, 1
mov r9, r8
and r9, 0xfffffffffffffffc
lea rax, [rsi + r9*8]
lea rdx, [rdi + r9*8]
xor r10d, r10d
movups xmm0, xmmword [rsi + r10*8]
movups xmm1, xmmword [rsi + r10*8 + 0x10]
movups xmmword [rdi + r10*8], xmm0
movups xmmword [rdi + r10*8 + 0x10], xmm1
add r10, 4
cmp r9, r10
jne 0x14006c1e6
cmp r8, r9
jne 0x14006c212
jmp 0x14006c225
mov rax, rsi
mov rdx, rdi
mov r8, qword [rax]
mov qword [rdx], r8
add rdx, 8
add rax, 8
cmp rdx, rcx
jb 0x14006c212
mov word [rcx], r12w
add rcx, 2
lea rax, [r14 - 4]
cmp rax, 0xf
jb 0x14006c2bb
mov rax, qword [rsp + 0xe0]
add byte [rax], 0xf
lea rax, [r14 - 0x13]
cmp rax, 0x1fe
jb 0x14006c29e
lea rax, [r14 - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rbx, rdx
shr rbx, 8
lea r8, [rbx + rbx]
add r8, 2
mov dl, 0xff
mov rsi, r11
call fcn.1400175c0
mov r11, rsi
lea rax, [r15 + rbx*2]
lea rcx, [rdi + rax]
add rcx, 4
imul rax, rbx, 0xfffffffffffffe02
add rax, r14
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x14006c2b3
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
add rcx, 1
mov byte [rcx], al
add rcx, 1
jmp 0x14006c2c5
mov rdx, qword [rsp + 0xe0]
add byte [rdx], al
add r11, r14
mov rsi, r11
mov r8, rcx
jmp 0x1400651a0
mov r9, r10
mov r12, qword [rsp + 0x120]
mov rax, qword [rsp + 0xc8]
mov ebp, eax
mov rdi, rsi
jmp 0x14006c394
mov r9, r10
mov r12, qword [rsp + 0x120]
mov rax, qword [rsp + 0xc8]
mov ebp, eax
mov rdi, qword [rsp + 0xd8]
jmp 0x14006c394
mov r9, qword [rsp + 0x60]
mov r12, r15
mov r15, qword [rsp + 0x80]
mov rax, qword [rsp + 0x178]
mov ebp, eax
mov rdi, rbx
jmp 0x14006c394
mov r12, rsi
mov rax, qword [rsp + 0xc8]
mov ebp, eax
mov rdi, rcx
jmp 0x14006c394
mov r12, rsi
jmp 0x14006c2fb
mov r12, qword [rsp + 0x118]
jmp 0x14006c367
mov r12, qword [rsp + 0x118]
jmp 0x14006c37c
mov r12, qword [rsp + 0x118]
mov ebp, r14d
mov r15, qword [rsp + 0xf8]
jmp 0x14006c394
mov r12, qword [rsp + 0x118]
mov ebp, r14d
mov rdi, qword [rsp + 0xd8]
mov r15, qword [rsp + 0xf8]
mov r9, qword [rsp + 0xf0]
xor ebx, ebx
cmp dword [rsp + 0x280], 2
mov r8, qword [rsp + 0x108]
jne 0x14006c050
mov rsi, r15
mov r15, r9
sub r15, r12
lea rax, [r15 + 0xf0]
movabs rcx, 0x8080808080808081
mul rcx
shr rdx, 7
add rdx, r15
lea rcx, [r8 - 3]
lea rax, [rdi + rdx]
add rax, 1
cmp rax, rcx
ja 0x14006be3c
sub rcx, rax
mov rdx, rcx
shl rdx, 8
sub rdx, rcx
add rdx, 0x12
movsxd rcx, ebp
cmp rdx, rcx
cmovb ecx, edx
add rax, 2
not rax
add rax, r8
movsxd r14, ecx
add rax, r14
add rax, 5
cmp rax, 0xc
jl 0x14006be3c
lea rbx, [rdi + 1]
cmp r15, 0xf
mov rbp, r9
jb 0x14006c489
lea rax, [r15 - 0xf]
mov byte [rdi], 0xf0
cmp rax, 0xff
jb 0x14006c47e
lea rax, [r15 - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov r13, rdx
shr r13, 7
lea r8, [r13 + 1]
mov rcx, rbx
mov dl, 0xff
call fcn.1400175c0
mov rax, r13
shl rax, 8
lea rbx, [rdi + r13]
add rbx, 2
sub r13, rax
lea rax, [r15 + r13]
add rax, 0xfffffffffffffef2
mov byte [rbx], al
add rbx, 1
mov r9, rbp
jmp 0x14006c491
mov eax, r15d
shl al, 4
mov byte [rdi], al
lea rcx, [rbx + r15]
lea rax, [r9 + rbx]
sub rax, r12
lea rdx, [rbx + 8]
cmp rax, rdx
cmovbe rax, rdx
mov r8, rbx
not r8
add r8, rax
cmp r8, 0x38
jb 0x14006c505
mov rax, rbx
sub rax, r12
cmp rax, 0x20
jb 0x14006c50d
shr r8, 3
add r8, 1
mov r9, r8
and r9, 0xfffffffffffffffc
lea rax, [r12 + r9*8]
lea rdx, [rbx + r9*8]
xor r10d, r10d
movups xmm0, xmmword [r12 + r10*8]
movups xmm1, xmmword [r12 + r10*8 + 0x10]
movups xmmword [rbx + r10*8], xmm0
movups xmmword [rbx + r10*8 + 0x10], xmm1
add r10, 4
cmp r9, r10
jne 0x14006c4dc
cmp r8, r9
mov r9, rbp
jne 0x14006c516
jmp 0x14006c529
mov rax, r12
mov rdx, rbx
jmp 0x14006c516
mov rax, r12
mov rdx, rbx
mov r9, rbp
mov r8, qword [rax]
mov qword [rdx], r8
add rdx, 8
add rax, 8
cmp rdx, rcx
jb 0x14006c516
mov eax, r9d
sub eax, esi
mov word [rcx], ax
add rcx, 2
lea rax, [r14 - 4]
cmp rax, 0xf
jb 0x14006c5b7
add byte [rdi], 0xf
lea rax, [r14 - 0x13]
cmp rax, 0x1fe
jb 0x14006c594
lea rax, [r14 - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rdi, rdx
shr rdi, 8
lea r8, [rdi + rdi]
add r8, 2
mov dl, 0xff
call fcn.1400175c0
lea rax, [r15 + rdi*2]
lea rcx, [rbx + rax]
add rcx, 4
imul rax, rdi, 0xfffffffffffffe02
add rax, r14
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x14006c5a9
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
add rcx, 1
mov byte [rcx], al
add rcx, 1
mov r12, rbp
add r12, r14
jmp 0x14006c5bf
add byte [rdi], al
add r9, r14
mov r12, r9
mov rdi, rcx
mov r13, qword [rsp + 0xb8]
jmp 0x14006be3c