Function at 0x140017090
Capabilities:
Inspect section memory permissions

Disassembly:
jmp 0x1401fdee0
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
mov eax, 0x53e8
call fcn.1400056d0
sub rsp, rax
lea rdi, [rsp + 0x40]
mov ecx, 0x14ea
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x5400]
mov rax, qword [0x1405dc580]
xor rax, rsp
mov qword [rsp + 0x53d0], rax
mov dword [rsp + 0x44], 0
mov qword [rsp + 0x48], 0
mov rax, qword [rsp + 0x5400]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
xor eax, eax
mov word [rsp + 0x6c], ax
xor eax, eax
mov word [rsp + 0x70], ax
xor eax, eax
mov word [rsp + 0x74], ax
xor eax, eax
mov word [rsp + 0x78], ax
mov rax, qword [rsp + 0x5408]
mov rcx, qword [rsp + 0x5418]
lea rax, [rax + rcx*2]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
sub rax, 2
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xb8], 0
mov dword [rsp + 0xbc], 0
mov dword [rsp + 0xc4], 0
lea rax, [rsp + 0x170]
mov qword [rsp + 0x2a8], rax
mov rax, qword [rsp + 0x2a8]
lea rcx, [rsp + 0x2c0]
mov qword [rax + 0x30], rcx
cmp qword [rsp + 0x5410], 0xffffffffffffffff
jne 0x1401fe015
mov rcx, qword [rsp + 0x5408]
call fcn.14001baa0
mov qword [rsp + 0x5410], rax
mov dword [rsp + 0x44], 1
mov rax, qword [rsp + 0x5408]
mov rcx, qword [rsp + 0x5410]
lea rax, [rax + rcx*2]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x5420]
and eax, 0x1fff9fc0
test eax, eax
je 0x1401fe05b
mov eax, 0xffffffde
jmp 0x140200926
cmp qword [rsp + 0x5400], 0
je 0x1401fe07c
cmp qword [rsp + 0x5408], 0
je 0x1401fe07c
cmp qword [rsp + 0x5428], 0
jne 0x1401fe086
mov eax, 0xffffffcd
jmp 0x140200926
mov rax, qword [rsp + 0x5410]
cmp qword [rsp + 0x5418], rax
jbe 0x1401fe0a2
mov eax, 0xffffffdf
jmp 0x140200926
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0x50], 0x50435245
je 0x1401fe0ba
mov eax, 0xffffffe1
jmp 0x140200926
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x60]
and eax, 7
cmp eax, 2
je 0x1401fe0d4
mov eax, 0xffffffe0
jmp 0x140200926
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x60]
and eax, 0x30000
xor edx, edx
mov ecx, 0x4000
div ecx
mov ecx, dword [rsp + 0x5420]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x5420], eax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x58]
and eax, 0x80000
test eax, eax
je 0x1401fe11a
mov dword [rsp + 0x5310], 1
jmp 0x1401fe125
mov dword [rsp + 0x5310], 0
mov eax, dword [rsp + 0x5310]
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x58]
and eax, 0x4000000
test eax, eax
je 0x1401fe151
mov dword [rsp + 0x5314], 1
jmp 0x1401fe15c
mov dword [rsp + 0x5314], 0
mov eax, dword [rsp + 0x5314]
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x58]
and eax, 0x20000
test eax, eax
je 0x1401fe188
mov dword [rsp + 0x5318], 1
jmp 0x1401fe193
mov dword [rsp + 0x5318], 0
mov eax, dword [rsp + 0x5318]
mov dword [rsp + 0xbc], eax
mov eax, dword [rsp + 0x5420]
and eax, 0x20
test eax, eax
je 0x1401fe1bc
mov dword [rsp + 0x531c], 2
jmp 0x1401fe1f0
mov eax, dword [rsp + 0x5420]
and eax, 0x10
test eax, eax
je 0x1401fe1d7
mov dword [rsp + 0x5320], 1
jmp 0x1401fe1e2
mov dword [rsp + 0x5320], 0
mov eax, dword [rsp + 0x5320]
mov dword [rsp + 0x531c], eax
mov rax, qword [rsp + 0x2a8]
movzx ecx, word [rsp + 0x531c]
mov word [rax + 0x80], cx
mov rax, qword [rsp + 0x2a8]
movzx eax, word [rax + 0x80]
test eax, eax
je 0x1401fe23e
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x5420]
mov eax, dword [rax + 0x58]
or eax, ecx
and eax, 0x20000000
test eax, eax
je 0x1401fe23e
mov eax, 0xffffffde
jmp 0x140200926
cmp qword [rsp + 0x5430], 0
je 0x1401fe273
mov rax, qword [rsp + 0x5430]
cmp qword [rax + 0x38], 0xffffffffffffffff
je 0x1401fe273
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x58]
and eax, 0x800000
test eax, eax
jne 0x1401fe273
mov eax, 0xffffffc8
jmp 0x140200926
mov rax, qword [rsp + 0x5428]
movzx eax, byte [rax + 0x49]
and eax, 1
test eax, eax
je 0x1401fe2c3
mov rax, qword [rsp + 0x5428]
mov rdx, qword [rax + 0x10]
mov rax, qword [rsp + 0x5428]
mov rcx, qword [rax + 0x20]
mov rax, qword [rsp + 0x5428]
call qword [rax + 8]
mov rax, qword [rsp + 0x5428]
movzx eax, byte [rax + 0x49]
and eax, 0xfffffffe
mov rcx, qword [rsp + 0x5428]
mov byte [rcx + 0x49], al
mov rax, qword [rsp + 0x5428]
mov qword [rax + 0x20], 0
mov rax, qword [rsp + 0x5428]
mov qword [rax + 0x40], 0
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x5408]
mov qword [rax + 0xa0], rcx
cmp dword [rsp + 0xb8], 0
je 0x1401fe64b
mov eax, dword [rsp + 0x5420]
and eax, 0x40000000
test eax, eax
je 0x1401fe326
cmp dword [rsp + 0xc0], 0
je 0x1401fe64b
mov dword [rsp + 0x52c4], 0
cmp dword [rsp + 0xc0], 0
je 0x1401fe387
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1401fe385
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x1401fe385
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
mov dword [rsp + 0x52c4], 1
jmp 0x1401fe33b
jmp 0x1401fe3cf
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1401fe3cf
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x1401fe3cf
cmp qword [rsp + 0x5418], 0
jbe 0x1401fe3c5
mov eax, 0xffffffdc
jmp 0x140200926
mov eax, 0xffffffe6
jmp 0x140200926
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x98]
mov qword [rax + 0xa0], rcx
cmp dword [rsp + 0x52c4], 0
jne 0x1401fe4c3
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x7c]
mov dword [rsp + 0x52c8], eax
jmp 0x1401fe416
mov eax, dword [rsp + 0x52c8]
dec eax
mov dword [rsp + 0x52c8], eax
cmp dword [rsp + 0x52c8], 0
jbe 0x1401fe4c3
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x5408]
cmp qword [rax + 0xa0], rcx
jbe 0x1401fe4c3
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa0]
sub rax, 2
mov rcx, qword [rsp + 0x2a8]
mov qword [rcx + 0xa0], rax
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x5408]
cmp qword [rax + 0xa0], rcx
jbe 0x1401fe4be
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa0]
movzx eax, word [rax]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x1401fe4be
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa0]
sub rax, 2
mov rcx, qword [rsp + 0x2a8]
mov qword [rcx + 0xa0], rax
jmp 0x1401fe463
jmp 0x1401fe406
mov rax, qword [rsp + 0x5428]
add rax, 0x40
mov rcx, qword [rsp + 0x2a8]
mov rdx, qword [rsp + 0x5408]
mov rcx, qword [rcx + 0xa0]
sub rcx, rdx
sar rcx, 1
mov rdx, qword [rsp + 0x5410]
sub rdx, rcx
mov rcx, rdx
mov r8, rax
mov rdx, rcx
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rax + 0xa0]
call fcn.140007e90
mov rcx, qword [rsp + 0x5428]
mov dword [rcx + 0x4c], eax
mov rax, qword [rsp + 0x5428]
cmp dword [rax + 0x4c], 0
jne 0x1401fe532
jmp 0x1401fe64b
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x5408]
mov rax, qword [rax + 0xa0]
sub rax, rcx
sar rax, 1
mov rcx, qword [rsp + 0x5428]
add rax, qword [rcx + 0x40]
mov rcx, qword [rsp + 0x5428]
mov qword [rcx + 0x40], rax
cmp dword [rsp + 0xc0], 0
je 0x1401fe57f
mov rax, qword [rsp + 0x5428]
cmp dword [rax + 0x4c], 0
jle 0x1401fe58f
mov rax, qword [rsp + 0x5428]
mov eax, dword [rax + 0x4c]
jmp 0x140200926
mov rax, qword [rsp + 0x5428]
mov rax, qword [rax + 0x40]
mov rcx, qword [rsp + 0x5408]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x98]
cmp qword [rsp + 0x88], rax
jae 0x1401fe639
mov rax, qword [rsp + 0x88]
add rax, 2
mov rcx, qword [rsp + 0x2a8]
mov qword [rcx + 0xa0], rax
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x98]
cmp qword [rax + 0xa0], rcx
jae 0x1401fe637
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa0]
movzx eax, word [rax]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x1401fe637
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa0]
add rax, 2
mov rcx, qword [rsp + 0x2a8]
mov qword [rcx + 0xa0], rax
jmp 0x1401fe5dc
jmp 0x1401fe646
mov dword [rsp + 0xc4], 2
jmp 0x1401fe64b
jmp 0x1401fe4c3
cmp qword [rsp + 0x5430], 0
jne 0x1401fe67b
lea rax, str.P9__
mov qword [rsp + 0x5430], rax
mov rdi, qword [rsp + 0x2a8]
mov rsi, qword [rsp + 0x50]
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
jmp 0x1401fe692
mov rdi, qword [rsp + 0x2a8]
mov rsi, qword [rsp + 0x5430]
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x5420]
mov eax, dword [rax + 0x58]
or eax, ecx
and eax, 0x80000000
test eax, eax
je 0x1401fe6b9
mov dword [rsp + 0x5324], 1
jmp 0x1401fe6c4
mov dword [rsp + 0x5324], 0
mov eax, dword [rsp + 0x5324]
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x58]
and eax, 0x100
test eax, eax
je 0x1401fe6ed
mov dword [rsp + 0x5328], 1
jmp 0x1401fe6f8
mov dword [rsp + 0x5328], 0
mov eax, dword [rsp + 0x5328]
mov dword [rsp + 0x5c], eax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x60]
and eax, 0x200
test eax, eax
je 0x1401fe721
mov dword [rsp + 0x532c], 1
jmp 0x1401fe72c
mov dword [rsp + 0x532c], 0
mov eax, dword [rsp + 0x532c]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0x5430]
cmp qword [rax + 0x38], 0xffffffffffffffff
jne 0x1401fe758
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x5330], rax
jmp 0x1401fe778
mov rax, qword [rsp + 0x5430]
mov rax, qword [rax + 0x38]
mov rcx, qword [rsp + 0x5408]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x5330], rax
mov rax, qword [rsp + 0x5330]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x2a8]
lea rcx, [rsp + 0xe0]
mov qword [rax + 0x110], rcx
mov dword [rsp + 0xe0], 2
mov rax, qword [rsp + 0x5408]
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x5408]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
sar rax, 1
mov qword [rsp + 0x108], rax
mov dword [rsp + 0x148], 0
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x5430]
mov rcx, qword [rcx + 0x18]
mov qword [rax + 0x120], rcx
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x5430]
mov rcx, qword [rcx + 0x20]
mov qword [rax + 0x118], rcx
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x5408]
mov qword [rax + 0x98], rcx
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x5418]
mov qword [rax + 0x70], rcx
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x88]
mov qword [rax + 0xa8], rcx
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x60]
and eax, 0x1000
test eax, eax
je 0x1401fe87c
mov dword [rsp + 0x5338], 1
jmp 0x1401fe887
mov dword [rsp + 0x5338], 0
mov rax, qword [rsp + 0x2a8]
mov ecx, dword [rsp + 0x5338]
mov dword [rax + 0x50], ecx
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x7c]
test eax, eax
jg 0x1401fe8c4
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x60]
and eax, 0x2000
test eax, eax
jne 0x1401fe8c4
mov dword [rsp + 0x533c], 0
jmp 0x1401fe8cf
mov dword [rsp + 0x533c], 1
mov rax, qword [rsp + 0x2a8]
mov ecx, dword [rsp + 0x533c]
mov dword [rax + 0x54], ecx
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x50]
mov ecx, dword [rcx + 0x58]
mov dword [rax + 0xf0], ecx
mov rax, qword [rsp + 0x2a8]
mov dword [rax + 0xf8], 0
mov rax, qword [rsp + 0x2a8]
mov qword [rax + 0xd0], 0
mov rax, qword [rsp + 0x2a8]
mov qword [rax + 0xc8], 0
mov rax, qword [rsp + 0x50]
add rax, 0x88
mov rcx, qword [rsp + 0x2a8]
mov qword [rcx + 0x88], rax
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + 0x86]
mov word [rax + 0x84], cx
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + 0x84]
mov word [rax + 0x86], cx
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x86]
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + 0x84]
imul eax, ecx
cdqe
mov rcx, qword [rsp + 0x2a8]
mov rcx, qword [rcx + 0x88]
lea rax, [rcx + rax*2]
mov rcx, qword [rsp + 0x2a8]
mov qword [rcx + 0x90], rax
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + 0x78]
mov word [rax + 0x82], cx
mov rax, qword [rsp + 0x2a8]
mov dword [rax + 0xfc], 0
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x7a]
mov dword [rsp + 0x5340], eax
mov eax, dword [rsp + 0x5340]
dec eax
mov dword [rsp + 0x5340], eax
cmp dword [rsp + 0x5340], 5
ja case.default.0x1401fea2f
movsxd rax, dword [rsp + 0x5340]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x200958]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x2a8]
mov dword [rax + 0x100], 1
mov eax, 2
imul rax, rax, 0
mov ecx, 0xd
mov rdx, qword [rsp + 0x2a8]
mov word [rdx + rax + 0x104], cx
jmp 0x1401feb4f
mov rax, qword [rsp + 0x2a8]
mov dword [rax + 0x100], 1
mov eax, 2
imul rax, rax, 0
mov ecx, 0xa
mov rdx, qword [rsp + 0x2a8]
mov word [rdx + rax + 0x104], cx
jmp 0x1401feb4f
mov rax, qword [rsp + 0x2a8]
mov dword [rax + 0x100], 1
mov eax, 2
imul rax, rax, 0
xor ecx, ecx
mov rdx, qword [rsp + 0x2a8]
mov word [rdx + rax + 0x104], cx
jmp 0x1401feb4f
mov rax, qword [rsp + 0x2a8]
mov dword [rax + 0x100], 2
mov eax, 2
imul rax, rax, 0
mov ecx, 0xd
mov rdx, qword [rsp + 0x2a8]
mov word [rdx + rax + 0x104], cx
mov eax, 2
imul rax, rax, 1
mov ecx, 0xa
mov rdx, qword [rsp + 0x2a8]
mov word [rdx + rax + 0x104], cx
jmp 0x1401feb4f
mov rax, qword [rsp + 0x2a8]
mov dword [rax + 0xfc], 1
jmp 0x1401feb4f
mov rax, qword [rsp + 0x2a8]
mov dword [rax + 0xfc], 2
jmp 0x1401feb4f
mov eax, 0xffffffd4
jmp 0x140200926
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x80]
shl eax, 1
cdqe
lea rax, [rax*8 + 0x80]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x5430]
mov rcx, qword [rsp + 0x50]
mov ecx, dword [rcx + 0x64]
cmp dword [rax + 0x40], ecx
jae 0x1401feb98
mov rax, qword [rsp + 0x5430]
mov eax, dword [rax + 0x40]
mov dword [rsp + 0x5344], eax
jmp 0x1401feba7
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x64]
mov dword [rsp + 0x5344], eax
mov eax, dword [rsp + 0x5344]
mov rcx, qword [rsp + 0x2a8]
mov qword [rcx + 0x38], rax
mov rax, qword [rsp + 0x5430]
mov rcx, qword [rsp + 0x50]
mov ecx, dword [rcx + 0x68]
cmp dword [rax + 0x44], ecx
jae 0x1401febe3
mov rax, qword [rsp + 0x5430]
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x5348], eax
jmp 0x1401febf2
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x68]
mov dword [rsp + 0x5348], eax
mov rax, qword [rsp + 0x2a8]
mov ecx, dword [rsp + 0x5348]
mov dword [rax + 0x40], ecx
mov rax, qword [rsp + 0x5430]
mov rcx, qword [rsp + 0x50]
mov ecx, dword [rcx + 0x6c]
cmp dword [rax + 0x48], ecx
jae 0x1401fec2d
mov rax, qword [rsp + 0x5430]
mov eax, dword [rax + 0x48]
mov dword [rsp + 0x534c], eax
jmp 0x1401fec3c
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x6c]
mov dword [rsp + 0x534c], eax
mov rax, qword [rsp + 0x2a8]
mov ecx, dword [rsp + 0x534c]
mov dword [rax + 0x44], ecx
cmp qword [rsp + 0xc8], 0x800
ja 0x1401fec9d
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x2a8]
mov rcx, qword [rcx + 0x30]
mov qword [rax + 0x20], rcx
xor edx, edx
mov eax, 0x5000
div qword [rsp + 0xc8]
imul rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x2a8]
mov qword [rcx + 0x18], rax
jmp 0x1401fed70
imul rax, qword [rsp + 0xc8], 0xa
mov rcx, qword [rsp + 0x2a8]
mov qword [rcx + 0x18], rax
xor edx, edx
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0x18]
mov ecx, 0x400
div rcx
mov rcx, qword [rsp + 0x2a8]
cmp rax, qword [rcx + 0x38]
jbe 0x1401fed29
mov rax, qword [rsp + 0x2a8]
imul rax, qword [rax + 0x38], 0x400
cmp qword [rsp + 0xc8], rax
jbe 0x1401fecfa
mov eax, 0xffffffc1
jmp 0x140200926
mov rax, qword [rsp + 0x2a8]
imul rax, qword [rax + 0x38], 0x400
xor edx, edx
div qword [rsp + 0xc8]
imul rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x2a8]
mov qword [rcx + 0x18], rax
mov rax, qword [rsp + 0x2a8]
mov rdx, qword [rax + 0x10]
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rax + 0x18]
mov rax, qword [rsp + 0x2a8]
call qword [rax]
mov rcx, qword [rsp + 0x2a8]
mov qword [rcx + 0x20], rax
mov rax, qword [rsp + 0x2a8]
cmp qword [rax + 0x20], 0
jne 0x1401fed70
mov eax, 0xffffffd0
jmp 0x140200926
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0x20]
mov rcx, qword [rsp + 0x2a8]
add rax, qword [rcx + 0x18]
mov rcx, qword [rsp + 0x2a8]
mov qword [rcx + 0x28], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x80]
shl eax, 1
cdqe
shl rax, 3
mov rcx, qword [rsp + 0x2a8]
mov rcx, qword [rcx + 0x20]
add rcx, 0x80
mov r8, rax
mov edx, 0xff
call fcn.1400139e0
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x18]
mov qword [rax + 0x58], rcx
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x18]
add rax, 0x100
mov rcx, qword [rsp + 0x2a8]
mov qword [rcx + 0x60], rax
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x18]
add rax, 0x340
mov rcx, qword [rsp + 0x2a8]
mov qword [rcx + 0x68], rax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x60]
and eax, 0x10
test eax, eax
je 0x1401fef3d
mov dword [rsp + 0x60], 1
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x70]
mov word [rsp + 0x70], ax
movzx eax, word [rsp + 0x70]
mov word [rsp + 0x6c], ax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x60]
and eax, 0x20
test eax, eax
je 0x1401fef3b
movzx eax, word [rsp + 0x6c]
cmp eax, 0xff
ja 0x1401fee83
movzx eax, word [rsp + 0x6c]
mov rcx, qword [rsp + 0x2a8]
mov rcx, qword [rcx + 0x60]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x5350], eax
jmp 0x1401fee8f
movzx eax, word [rsp + 0x6c]
mov dword [rsp + 0x5350], eax
movzx eax, word [rsp + 0x5350]
mov word [rsp + 0x70], ax
movzx eax, word [rsp + 0x6c]
cmp eax, 0x7f
jle 0x1401fef3b
cmp dword [rsp + 0xb8], 0
jne 0x1401feebe
cmp dword [rsp + 0xbc], 0
je 0x1401fef3b
movzx eax, word [rsp + 0x6c]
mov dword [rsp + 0x5354], eax
movzx ecx, word [rsp + 0x6c]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
cdqe
lea rcx, [0x140520d10]
movzx eax, word [rcx + rax*2]
imul eax, eax, 0x80
mov dword [rsp + 0x5358], eax
movzx ecx, word [rsp + 0x6c]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
and eax, 0x7f
sub eax, edx
mov ecx, dword [rsp + 0x5358]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x140525110]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x14051de50]
mov edx, dword [rsp + 0x5354]
add edx, dword [rcx + rax + 4]
mov eax, edx
mov word [rsp + 0x70], ax
jmp 0x1401fef61
cmp dword [rsp + 0x68], 0
jne 0x1401fef61
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x60]
and eax, 0x40
test eax, eax
je 0x1401fef61
mov rax, qword [rsp + 0x50]
add rax, 0x28
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x60]
and eax, 0x80
test eax, eax
je 0x1401ff08d
mov dword [rsp + 0x64], 1
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x74]
mov word [rsp + 0x78], ax
movzx eax, word [rsp + 0x78]
mov word [rsp + 0x74], ax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x60]
and eax, 0x100
test eax, eax
je 0x1401ff08d
movzx eax, word [rsp + 0x74]
cmp eax, 0xff
ja 0x1401fefd5
movzx eax, word [rsp + 0x74]
mov rcx, qword [rsp + 0x2a8]
mov rcx, qword [rcx + 0x60]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x535c], eax
jmp 0x1401fefe1
movzx eax, word [rsp + 0x74]
mov dword [rsp + 0x535c], eax
movzx eax, word [rsp + 0x535c]
mov word [rsp + 0x78], ax
movzx eax, word [rsp + 0x74]
cmp eax, 0x7f
jle 0x1401ff08d
cmp dword [rsp + 0xb8], 0
jne 0x1401ff010
cmp dword [rsp + 0xbc], 0
je 0x1401ff08d
movzx eax, word [rsp + 0x74]
mov dword [rsp + 0x5360], eax
movzx ecx, word [rsp + 0x74]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
cdqe
lea rcx, [0x140520d10]
movzx eax, word [rcx + rax*2]
imul eax, eax, 0x80
mov dword [rsp + 0x5364], eax
movzx ecx, word [rsp + 0x74]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
and eax, 0x7f
sub eax, edx
mov ecx, dword [rsp + 0x5364]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x140525110]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x14051de50]
mov edx, dword [rsp + 0x5360]
add edx, dword [rcx + rax + 4]
mov eax, edx
mov word [rsp + 0x78], ax
mov qword [rsp + 0xb0], 0
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x2a8]
mov dword [rax + 0x4c], 0
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x58]
and eax, 0x10000
test eax, eax
jne 0x1401ffe68
cmp dword [rsp + 0x5c], 0
je 0x1401ff470
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x52d8], rax
cmp dword [rsp + 0xb8], 0
je 0x1401ff2cc
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x52d8], rax
jae 0x1401ff2c7
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 0
je 0x1401ff1af
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa8]
cmp qword [rsp + 0x52d8], rax
jae 0x1401ff191
mov rax, qword [rsp + 0x2a8]
add rax, 0x100
mov ecx, dword [rsp + 0xb8]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rax, qword [rsp + 0x2a8]
mov r8, qword [rax + 0xa8]
mov rax, qword [rsp + 0x2a8]
mov edx, dword [rax + 0xfc]
mov rcx, qword [rsp + 0x52d8]
call fcn.140019a00
test eax, eax
je 0x1401ff191
mov dword [rsp + 0x5368], 1
jmp 0x1401ff19c
mov dword [rsp + 0x5368], 0
mov eax, dword [rsp + 0x5368]
mov dword [rsp + 0x536c], eax
jmp 0x1401ff267
mov rax, qword [rsp + 0x2a8]
mov eax, dword [rax + 0x100]
shl rax, 1
mov rcx, qword [rsp + 0x2a8]
mov rcx, qword [rcx + 0xa8]
sub rcx, rax
mov rax, rcx
cmp qword [rsp + 0x52d8], rax
ja 0x1401ff24e
mov rax, qword [rsp + 0x52d8]
movzx eax, word [rax]
mov ecx, 2
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x2a8]
movzx ecx, word [rdx + rcx + 0x104]
cmp eax, ecx
jne 0x1401ff24e
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0x100], 1
je 0x1401ff241
mov rax, qword [rsp + 0x52d8]
movzx eax, word [rax + 2]
mov ecx, 2
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x2a8]
movzx ecx, word [rdx + rcx + 0x104]
cmp eax, ecx
jne 0x1401ff24e
mov dword [rsp + 0x5370], 1
jmp 0x1401ff259
mov dword [rsp + 0x5370], 0
mov eax, dword [rsp + 0x5370]
mov dword [rsp + 0x536c], eax
cmp dword [rsp + 0x536c], 0
jne 0x1401ff2c7
mov rax, qword [rsp + 0x52d8]
add rax, 2
mov qword [rsp + 0x52d8], rax
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x52d8], rax
jae 0x1401ff2c2
mov rax, qword [rsp + 0x52d8]
movzx eax, word [rax]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x1401ff2c2
mov rax, qword [rsp + 0x52d8]
add rax, 2
mov qword [rsp + 0x52d8], rax
jmp 0x1401ff0f6
jmp 0x1401ff460
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x52d8], rax
jae 0x1401ff460
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 0
je 0x1401ff385
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa8]
cmp qword [rsp + 0x52d8], rax
jae 0x1401ff367
mov rax, qword [rsp + 0x2a8]
add rax, 0x100
mov ecx, dword [rsp + 0xb8]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rax, qword [rsp + 0x2a8]
mov r8, qword [rax + 0xa8]
mov rax, qword [rsp + 0x2a8]
mov edx, dword [rax + 0xfc]
mov rcx, qword [rsp + 0x52d8]
call fcn.140019a00
test eax, eax
je 0x1401ff367
mov dword [rsp + 0x5374], 1
jmp 0x1401ff372
mov dword [rsp + 0x5374], 0
mov eax, dword [rsp + 0x5374]
mov dword [rsp + 0x5378], eax
jmp 0x1401ff43d
mov rax, qword [rsp + 0x2a8]
mov eax, dword [rax + 0x100]
shl rax, 1
mov rcx, qword [rsp + 0x2a8]
mov rcx, qword [rcx + 0xa8]
sub rcx, rax
mov rax, rcx
cmp qword [rsp + 0x52d8], rax
ja 0x1401ff424
mov rax, qword [rsp + 0x52d8]
movzx eax, word [rax]
mov ecx, 2
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x2a8]
movzx ecx, word [rdx + rcx + 0x104]
cmp eax, ecx
jne 0x1401ff424
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0x100], 1
je 0x1401ff417
mov rax, qword [rsp + 0x52d8]
movzx eax, word [rax + 2]
mov ecx, 2
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x2a8]
movzx ecx, word [rdx + rcx + 0x104]
cmp eax, ecx
jne 0x1401ff424
mov dword [rsp + 0x537c], 1
jmp 0x1401ff42f
mov dword [rsp + 0x537c], 0
mov eax, dword [rsp + 0x537c]
mov dword [rsp + 0x5378], eax
cmp dword [rsp + 0x5378], 0
jne 0x1401ff460
mov rax, qword [rsp + 0x52d8]
add rax, 2
mov qword [rsp + 0x52d8], rax
jmp 0x1401ff2cc
mov rax, qword [rsp + 0x52d8]
mov qword [rsp + 0x88], rax
cmp dword [rsp + 0x58], 0
je 0x1401ff5e0
cmp dword [rsp + 0x60], 0
jne 0x1401ff48e
cmp qword [rsp + 0x48], 0
je 0x1401ff5db
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1401ff4ad
mov dword [rsp + 0x5380], 1
jmp 0x1401ff4b8
mov dword [rsp + 0x5380], 0
mov eax, dword [rsp + 0x5380]
mov dword [rsp + 0x52e0], eax
cmp dword [rsp + 0x52e0], 0
je 0x1401ff5c4
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
mov word [rsp + 0x52e4], ax
cmp dword [rsp + 0x60], 0
je 0x1401ff51d
movzx eax, word [rsp + 0x52e4]
movzx ecx, word [rsp + 0x6c]
cmp eax, ecx
je 0x1401ff510
movzx eax, word [rsp + 0x52e4]
movzx ecx, word [rsp + 0x70]
cmp eax, ecx
jne 0x1401ff51d
mov dword [rsp + 0x5384], 1
jmp 0x1401ff528
mov dword [rsp + 0x5384], 0
mov eax, dword [rsp + 0x5384]
mov dword [rsp + 0x52e0], eax
cmp dword [rsp + 0x52e0], 0
jne 0x1401ff5c4
cmp qword [rsp + 0x48], 0
je 0x1401ff5c4
movzx eax, word [rsp + 0x52e4]
cmp eax, 0xff
jle 0x1401ff568
mov eax, 0xff
mov word [rsp + 0x52e4], ax
movzx eax, word [rsp + 0x52e4]
cdq
and edx, 7
add eax, edx
sar eax, 3
cdqe
mov rcx, qword [rsp + 0x48]
movzx eax, byte [rcx + rax]
movzx ecx, word [rsp + 0x52e4]
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, edx
and eax, ecx
test eax, eax
je 0x1401ff5ab
mov dword [rsp + 0x5388], 1
jmp 0x1401ff5b6
mov dword [rsp + 0x5388], 0
mov eax, dword [rsp + 0x5388]
mov dword [rsp + 0x52e0], eax
cmp dword [rsp + 0x52e0], 0
jne 0x1401ff5db
mov dword [rsp + 0x40], 0
jmp 0x1402003b4
jmp 0x1401ffc1f
cmp dword [rsp + 0x60], 0
je 0x1401ff6d2
movzx eax, word [rsp + 0x6c]
movzx ecx, word [rsp + 0x70]
cmp eax, ecx
je 0x1401ff658
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1401ff656
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
mov word [rsp + 0x52e8], ax
movzx eax, word [rsp + 0x52e8]
movzx ecx, word [rsp + 0x6c]
cmp eax, ecx
je 0x1401ff656
movzx eax, word [rsp + 0x52e8]
movzx ecx, word [rsp + 0x70]
cmp eax, ecx
je 0x1401ff656
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
jmp 0x1401ff5f9
jmp 0x1401ff694
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1401ff694
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
movzx ecx, word [rsp + 0x6c]
cmp eax, ecx
je 0x1401ff694
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
jmp 0x1401ff658
mov rax, qword [rsp + 0x2a8]
movzx eax, word [rax + 0x80]
test eax, eax
jne 0x1401ff6cd
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa8]
cmp qword [rsp + 0x98], rax
jb 0x1401ff6cd
mov dword [rsp + 0x40], 0
jmp 0x1402003b4
jmp 0x1401ffc1f
cmp dword [rsp + 0x68], 0
je 0x1401ffb4f
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0x98]
mov rcx, qword [rsp + 0x5418]
lea rax, [rax + rcx*2]
cmp qword [rsp + 0x98], rax
jbe 0x1401ffb4a
cmp dword [rsp + 0xb8], 0
je 0x1401ff917
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1401ff912
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 0
je 0x1401ff7cd
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0x98]
cmp qword [rsp + 0x98], rax
jbe 0x1401ff7af
mov rax, qword [rsp + 0x2a8]
add rax, 0x100
mov ecx, dword [rsp + 0xb8]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rax, qword [rsp + 0x2a8]
mov r8, qword [rax + 0x98]
mov rax, qword [rsp + 0x2a8]
mov edx, dword [rax + 0xfc]
mov rcx, qword [rsp + 0x98]
call fcn.140002f80
test eax, eax
je 0x1401ff7af
mov dword [rsp + 0x538c], 1
jmp 0x1401ff7ba
mov dword [rsp + 0x538c], 0
mov eax, dword [rsp + 0x538c]
mov dword [rsp + 0x5390], eax
jmp 0x1401ff8b2
mov rax, qword [rsp + 0x2a8]
mov eax, dword [rax + 0x100]
mov rcx, qword [rsp + 0x2a8]
mov rcx, qword [rcx + 0x98]
lea rax, [rcx + rax*2]
cmp qword [rsp + 0x98], rax
jb 0x1401ff899
mov rax, qword [rsp + 0x2a8]
mov eax, dword [rax + 0x100]
shl rax, 1
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
movzx eax, word [rax]
mov ecx, 2
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x2a8]
movzx ecx, word [rdx + rcx + 0x104]
cmp eax, ecx
jne 0x1401ff899
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0x100], 1
je 0x1401ff88c
mov rax, qword [rsp + 0x2a8]
mov eax, dword [rax + 0x100]
shl rax, 1
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
movzx eax, word [rax + 2]
mov ecx, 2
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x2a8]
movzx ecx, word [rdx + rcx + 0x104]
cmp eax, ecx
jne 0x1401ff899
mov dword [rsp + 0x5394], 1
jmp 0x1401ff8a4
mov dword [rsp + 0x5394], 0
mov eax, dword [rsp + 0x5394]
mov dword [rsp + 0x5390], eax
cmp dword [rsp + 0x5390], 0
jne 0x1401ff912
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1401ff90d
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x1401ff90d
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
jmp 0x1401ff714
jmp 0x1401ffad8
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1401ffad8
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 0
je 0x1401ff9d0
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0x98]
cmp qword [rsp + 0x98], rax
jbe 0x1401ff9b2
mov rax, qword [rsp + 0x2a8]
add rax, 0x100
mov ecx, dword [rsp + 0xb8]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rax, qword [rsp + 0x2a8]
mov r8, qword [rax + 0x98]
mov rax, qword [rsp + 0x2a8]
mov edx, dword [rax + 0xfc]
mov rcx, qword [rsp + 0x98]
call fcn.140002f80
test eax, eax
je 0x1401ff9b2
mov dword [rsp + 0x5398], 1
jmp 0x1401ff9bd
mov dword [rsp + 0x5398], 0
mov eax, dword [rsp + 0x5398]
mov dword [rsp + 0x539c], eax
jmp 0x1401ffab5
mov rax, qword [rsp + 0x2a8]
mov eax, dword [rax + 0x100]
mov rcx, qword [rsp + 0x2a8]
mov rcx, qword [rcx + 0x98]
lea rax, [rcx + rax*2]
cmp qword [rsp + 0x98], rax
jb 0x1401ffa9c
mov rax, qword [rsp + 0x2a8]
mov eax, dword [rax + 0x100]
shl rax, 1
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
movzx eax, word [rax]
mov ecx, 2
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x2a8]
movzx ecx, word [rdx + rcx + 0x104]
cmp eax, ecx
jne 0x1401ffa9c
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0x100], 1
je 0x1401ffa8f
mov rax, qword [rsp + 0x2a8]
mov eax, dword [rax + 0x100]
shl rax, 1
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
movzx eax, word [rax + 2]
mov ecx, 2
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x2a8]
movzx ecx, word [rdx + rcx + 0x104]
cmp eax, ecx
jne 0x1401ffa9c
mov dword [rsp + 0x53a0], 1
jmp 0x1401ffaa7
mov dword [rsp + 0x53a0], 0
mov eax, dword [rsp + 0x53a0]
mov dword [rsp + 0x539c], eax
cmp dword [rsp + 0x539c], 0
jne 0x1401ffad8
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
jmp 0x1401ff917
mov eax, 2
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x98]
movzx eax, word [rcx + rax]
cmp eax, 0xd
jne 0x1401ffb4a
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 1
je 0x1401ffb14
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 2
jne 0x1401ffb4a
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1401ffb4a
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
cmp eax, 0xa
jne 0x1401ffb4a
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
jmp 0x1401ffc1f
cmp qword [rsp + 0x48], 0
je 0x1401ffc1f
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1401ffbe6
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
mov dword [rsp + 0x52ec], eax
cmp dword [rsp + 0x52ec], 0xff
jbe 0x1401ffb97
mov dword [rsp + 0x52ec], 0xff
xor edx, edx
mov eax, dword [rsp + 0x52ec]
mov ecx, 8
div ecx
mov eax, eax
mov rcx, qword [rsp + 0x48]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x52ec]
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, edx
and eax, ecx
test eax, eax
je 0x1401ffbcd
jmp 0x1401ffbe6
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
jmp 0x1401ffb5b
mov rax, qword [rsp + 0x2a8]
movzx eax, word [rax + 0x80]
test eax, eax
jne 0x1401ffc1f
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa8]
cmp qword [rsp + 0x98], rax
jb 0x1401ffc1f
mov dword [rsp + 0x40], 0
jmp 0x1402003b4
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x2a8]
movzx eax, word [rax + 0x80]
test eax, eax
jne 0x1401ffe68
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
sar rax, 1
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + 0x7e]
cmp rax, rcx
jge 0x1401ffc81
mov dword [rsp + 0x40], 0
jmp 0x1402003b4
cmp dword [rsp + 0x60], 0
je 0x1401ffc95
mov dword [rsp + 0x53a4], 1
jmp 0x1401ffca0
mov dword [rsp + 0x53a4], 0
movsxd rax, dword [rsp + 0x53a4]
mov rcx, qword [rsp + 0x98]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x52f0], rax
cmp dword [rsp + 0x64], 0
je 0x1401ffe68
mov rax, qword [rsp + 0xa0]
cmp qword [rsp + 0x52f0], rax
jbe 0x1401ffe68
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
sar rax, 1
mov qword [rsp + 0x52f8], rax
cmp qword [rsp + 0x52f8], 0x7d0
jb 0x1401ffd29
cmp dword [rsp + 0x58], 0
jne 0x1401ffe68
cmp qword [rsp + 0x52f8], 0x1e8480
jae 0x1401ffe68
movzx eax, word [rsp + 0x74]
movzx ecx, word [rsp + 0x78]
cmp eax, ecx
je 0x1401ffda8
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x52f0], rax
jae 0x1401ffda3
mov rax, qword [rsp + 0x52f0]
movzx eax, word [rax]
mov dword [rsp + 0x5300], eax
mov rax, qword [rsp + 0x52f0]
add rax, 2
mov qword [rsp + 0x52f0], rax
movzx eax, word [rsp + 0x74]
cmp dword [rsp + 0x5300], eax
je 0x1401ffd8b
movzx eax, word [rsp + 0x78]
cmp dword [rsp + 0x5300], eax
jne 0x1401ffda1
mov rax, qword [rsp + 0x52f0]
sub rax, 2
mov qword [rsp + 0x52f0], rax
jmp 0x1401ffda3
jmp 0x1401ffd37
jmp 0x1401ffe39
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x52f0], rax
jae 0x1401ffe39
mov rax, qword [rsp + 0x52f0]
movzx eax, word [rax]
mov dword [rsp + 0x53a8], eax
movzx eax, word [rsp + 0x74]
mov dword [rsp + 0x53ac], eax
mov rax, qword [rsp + 0x52f0]
add rax, 2
mov qword [rsp + 0x52f0], rax
mov eax, dword [rsp + 0x53ac]
cmp dword [rsp + 0x53a8], eax
jne 0x1401ffe09
mov dword [rsp + 0x53b0], 1
jmp 0x1401ffe14
mov dword [rsp + 0x53b0], 0
cmp dword [rsp + 0x53b0], 0
je 0x1401ffe34
mov rax, qword [rsp + 0x52f0]
sub rax, 2
mov qword [rsp + 0x52f0], rax
jmp 0x1401ffe39
jmp 0x1401ffda8
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x52f0], rax
jb 0x1401ffe58
mov dword [rsp + 0x40], 0
jmp 0x1402003b4
mov rax, qword [rsp + 0x52f0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x80]
cmp qword [rsp + 0x98], rax
jbe 0x1401ffe87
mov dword [rsp + 0x40], 0
jmp 0x1402003b4
mov rax, qword [rsp + 0x5408]
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
sar rax, 1
mov qword [rsp + 0x110], rax
mov eax, dword [rsp + 0x148]
or eax, 1
mov dword [rsp + 0x148], eax
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x98]
mov qword [rax + 0xb8], rcx
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x98]
mov qword [rax + 0xc0], rcx
mov eax, dword [rsp + 0xc4]
mov ecx, dword [rsp + 0x5420]
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x2a8]
mov dword [rcx + 0xec], eax
mov rax, qword [rsp + 0x2a8]
mov dword [rax + 0x48], 0
mov rax, qword [rsp + 0x2a8]
mov qword [rax + 0x78], 0
mov rax, qword [rsp + 0x2a8]
mov dword [rax + 0xf4], 0
mov rax, qword [rsp + 0x5428]
add rax, 0x50
mov rcx, qword [rsp + 0x2a8]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x50]
movzx ecx, word [rcx + 0x80]
mov word [rsp + 0x20], cx
mov rcx, qword [rsp + 0x5428]
movzx r9d, word [rcx + 0x4a]
mov r8, rax
mov rax, qword [rsp + 0x2a8]
mov rdx, qword [rax + 0x90]
mov rcx, qword [rsp + 0x98]
call fcn.140201250
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0x4c], 0
je 0x1401fffdf
cmp qword [rsp + 0xa8], 0
jne 0x1401fffdf
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xb8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xb0], rax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x53b4], eax
cmp dword [rsp + 0x53b4], 0xfffffc1e
jg 0x140200038
cmp dword [rsp + 0x53b4], 0xfffffc1e
je 0x140200054
cmp dword [rsp + 0x53b4], 0xfffffc1b
je 0x140200129
cmp dword [rsp + 0x53b4], 0xfffffc1c
je 0x1402000ba
cmp dword [rsp + 0x53b4], 0xfffffc1d
je 0x140200085
jmp 0x140200136
cmp dword [rsp + 0x53b4], 0xfffffc1f
je 0x1402000ba
cmp dword [rsp + 0x53b4], 0
je 0x1402000ba
jmp 0x140200136
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x52d0], rax
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x2a8]
mov ecx, dword [rcx + 0xf4]
mov dword [rax + 0xf8], ecx
jmp 0x14020013b
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x98]
cmp qword [rax + 0xe0], rcx
jbe 0x1402000ba
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xe0]
mov qword [rsp + 0x52d0], rax
jmp 0x14020013b
mov rax, qword [rsp + 0x2a8]
mov dword [rax + 0xf8], 0
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x52d0], rax
cmp dword [rsp + 0xb8], 0
je 0x140200127
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x52d0], rax
jae 0x140200127
mov rax, qword [rsp + 0x52d0]
movzx eax, word [rax]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x140200127
mov rax, qword [rsp + 0x52d0]
add rax, 2
mov qword [rsp + 0x52d0], rax
jmp 0x14020013b
mov dword [rsp + 0x40], 0
jmp 0x1402003b4
jmp 0x1402003b4
mov dword [rsp + 0x40], 0
cmp dword [rsp + 0x5c], 0
je 0x1402002b8
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 0
je 0x1402001f1
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa8]
cmp qword [rsp + 0x98], rax
jae 0x1402001d3
mov rax, qword [rsp + 0x2a8]
add rax, 0x100
mov ecx, dword [rsp + 0xb8]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rax, qword [rsp + 0x2a8]
mov r8, qword [rax + 0xa8]
mov rax, qword [rsp + 0x2a8]
mov edx, dword [rax + 0xfc]
mov rcx, qword [rsp + 0x98]
call fcn.140019a00
test eax, eax
je 0x1402001d3
mov dword [rsp + 0x53b8], 1
jmp 0x1402001de
mov dword [rsp + 0x53b8], 0
mov eax, dword [rsp + 0x53b8]
mov dword [rsp + 0x53bc], eax
jmp 0x1402002a9
mov rax, qword [rsp + 0x2a8]
mov eax, dword [rax + 0x100]
shl rax, 1
mov rcx, qword [rsp + 0x2a8]
mov rcx, qword [rcx + 0xa8]
sub rcx, rax
mov rax, rcx
cmp qword [rsp + 0x98], rax
ja 0x140200290
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
mov ecx, 2
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x2a8]
movzx ecx, word [rdx + rcx + 0x104]
cmp eax, ecx
jne 0x140200290
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0x100], 1
je 0x140200283
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 2]
mov ecx, 2
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x2a8]
movzx ecx, word [rdx + rcx + 0x104]
cmp eax, ecx
jne 0x140200290
mov dword [rsp + 0x53c0], 1
jmp 0x14020029b
mov dword [rsp + 0x53c0], 0
mov eax, dword [rsp + 0x53c0]
mov dword [rsp + 0x53bc], eax
cmp dword [rsp + 0x53bc], 0
je 0x1402002b8
jmp 0x1402003b4
mov rax, qword [rsp + 0x52d0]
mov qword [rsp + 0x98], rax
cmp dword [rsp + 0x58], 0
jne 0x1402002e1
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jbe 0x1402002e6
jmp 0x1402003b4
mov rax, qword [rsp + 0x5408]
mov rcx, qword [rsp + 0x5418]
lea rax, [rax + rcx*2]
cmp qword [rsp + 0x98], rax
jbe 0x14020039c
mov eax, 2
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x98]
movzx eax, word [rcx + rax]
cmp eax, 0xd
jne 0x14020039c
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x14020039c
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
cmp eax, 0xa
jne 0x14020039c
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x60]
and eax, 0x800
test eax, eax
jne 0x14020039c
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 1
je 0x140200388
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 2
je 0x140200388
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0x100], 2
jne 0x14020039c
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x2a8]
mov qword [rax + 0xc8], 0
jmp 0x1401ff0b8
cmp dword [rsp + 0xb8], 0
je 0x140200562
mov rax, qword [rsp + 0x90]
cmp qword [rsp + 0x88], rax
je 0x140200562
cmp dword [rsp + 0x40], 0
je 0x1402003ea
cmp dword [rsp + 0x40], 0xfffffffe
jne 0x140200562
mov rax, qword [rsp + 0x88]
add rax, 2
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x90]
cmp qword [rsp + 0x98], rax
jae 0x14020043d
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x14020043d
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
jmp 0x1402003fe
mov rax, qword [rsp + 0x90]
cmp qword [rsp + 0x98], rax
jb 0x14020045c
mov dword [rsp + 0x40], 0
jmp 0x140200562
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x98]
mov qword [rax + 0xa0], rcx
mov rax, qword [rsp + 0x5428]
add rax, 0x40
mov rcx, qword [rsp + 0x5408]
mov rdx, qword [rsp + 0x98]
sub rdx, rcx
mov rcx, rdx
sar rcx, 1
mov rdx, qword [rsp + 0x5410]
sub rdx, rcx
mov rcx, rdx
mov r8, rax
mov rdx, rcx
mov rcx, qword [rsp + 0x98]
call fcn.140007e90
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jne 0x1402004fd
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x88]
mov qword [rax + 0xa8], rcx
mov dword [rsp + 0xc4], 1
jmp 0x1401ff08d
cmp dword [rsp + 0x40], 0
jge 0x14020055d
mov rax, qword [rsp + 0x5428]
mov rax, qword [rax + 0x40]
mov rcx, qword [rsp + 0x98]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x88]
mov qword [rax + 0xa8], rcx
mov rax, qword [rsp + 0x98]
cmp qword [rsp + 0x88], rax
jbe 0x14020055d
mov dword [rsp + 0xc4], 3
jmp 0x1401ff08d
jmp 0x1402003ea
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x2a8]
mov rcx, qword [rcx + 0x30]
cmp qword [rax + 0x20], rcx
je 0x14020059f
mov rax, qword [rsp + 0x2a8]
mov rdx, qword [rax + 0x10]
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rax + 0x20]
mov rax, qword [rsp + 0x2a8]
call qword [rax + 8]
mov rax, qword [rsp + 0x5428]
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x5428]
mov rcx, qword [rsp + 0x2a8]
mov rcx, qword [rcx + 0xc8]
mov qword [rax + 0x28], rcx
mov rax, qword [rsp + 0x5428]
mov byte [rax + 0x48], 0
cmp dword [rsp + 0x40], 1
jne 0x1402007ce
mov rax, qword [rsp + 0x5428]
movzx eax, word [rax + 0x4a]
shl eax, 1
mov rcx, qword [rsp + 0x2a8]
cmp dword [rcx + 0x78], eax
jl 0x14020060a
mov dword [rsp + 0x53c4], 0
jmp 0x140200623
mov rax, qword [rsp + 0x2a8]
mov eax, dword [rax + 0x78]
cdq
sub eax, edx
sar eax, 1
inc eax
mov dword [rsp + 0x53c4], eax
mov rax, qword [rsp + 0x5428]
mov ecx, dword [rsp + 0x53c4]
mov dword [rax + 0x4c], ecx
mov rax, qword [rsp + 0x5408]
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
sar rax, 1
mov rcx, qword [rsp + 0x5428]
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x5408]
mov rax, qword [rax + 0xb8]
sub rax, rcx
sar rax, 1
mov rcx, qword [rsp + 0x5428]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x2a8]
mov rcx, qword [rcx + 0xb0]
cmp qword [rax + 0xc0], rcx
jbe 0x1402006bc
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xc0]
mov qword [rsp + 0x53c8], rax
jmp 0x1402006d3
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xb0]
mov qword [rsp + 0x53c8], rax
mov rax, qword [rsp + 0x5408]
mov rcx, qword [rsp + 0x53c8]
sub rcx, rax
mov rax, rcx
sar rax, 1
mov rcx, qword [rsp + 0x5428]
mov qword [rcx + 0x38], rax
mov eax, dword [rsp + 0x5420]
and eax, 0x4000
test eax, eax
je 0x1402007aa
movsxd rax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x5410]
add rcx, rax
mov rax, rcx
shl rax, 1
mov qword [rsp + 0x5410], rax
mov rax, qword [rsp + 0x5428]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x5410]
mov rax, qword [rsp + 0x5428]
call qword [rax]
mov rcx, qword [rsp + 0x5428]
mov qword [rcx + 0x20], rax
mov rax, qword [rsp + 0x5428]
cmp qword [rax + 0x20], 0
jne 0x14020076d
mov eax, 0xffffffd0
jmp 0x140200926
mov r8, qword [rsp + 0x5410]
mov rdx, qword [rsp + 0x5408]
mov rax, qword [rsp + 0x5428]
mov rcx, qword [rax + 0x20]
call fcn.14000d4b0
mov rax, qword [rsp + 0x5428]
movzx eax, byte [rax + 0x49]
or eax, 1
mov rcx, qword [rsp + 0x5428]
mov byte [rcx + 0x49], al
jmp 0x1402007be
mov rax, qword [rsp + 0x5428]
mov rcx, qword [rsp + 0x5408]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0x5428]
mov eax, dword [rax + 0x4c]
jmp 0x140200926
mov rax, qword [rsp + 0x5428]
mov rcx, qword [rsp + 0x2a8]
mov rcx, qword [rcx + 0xd0]
mov qword [rax + 0x28], rcx
cmp dword [rsp + 0x40], 0
je 0x14020080b
cmp dword [rsp + 0x40], 0xfffffffe
je 0x14020080b
mov rax, qword [rsp + 0x5428]
mov ecx, dword [rsp + 0x40]
mov dword [rax + 0x4c], ecx
jmp 0x14020091b
cmp qword [rsp + 0xb0], 0
je 0x14020090c
mov rax, qword [rsp + 0x5428]
mov rcx, qword [rsp + 0x5408]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0x5408]
mov rcx, qword [rsp + 0xb0]
sub rcx, rax
mov rax, rcx
sar rax, 1
mov ecx, 8
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x5428]
mov qword [rdx + rcx + 0x50], rax
mov rax, qword [rsp + 0x5408]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
sar rax, 1
mov ecx, 8
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x5428]
mov qword [rdx + rcx + 0x50], rax
mov rax, qword [rsp + 0x5408]
mov rcx, qword [rsp + 0xb0]
sub rcx, rax
mov rax, rcx
sar rax, 1
mov rcx, qword [rsp + 0x5428]
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0x5408]
mov rcx, qword [rsp + 0xa8]
sub rcx, rax
mov rax, rcx
sar rax, 1
mov rcx, qword [rsp + 0x5428]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x5408]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
sar rax, 1
mov rcx, qword [rsp + 0x5428]
mov qword [rcx + 0x38], rax
mov rax, qword [rsp + 0x5428]
mov dword [rax + 0x4c], 0xfffffffe
jmp 0x14020091b
mov rax, qword [rsp + 0x5428]
mov dword [rax + 0x4c], 0xffffffff
mov rax, qword [rsp + 0x5428]
mov eax, dword [rax + 0x4c]
mov rdi, rax
mov rcx, rsp
lea rdx, [0x14050d290]
call fcn.140015750
mov rax, rdi
mov rcx, qword [rsp + 0x53d0]
xor rcx, rsp
call fcn.14000d430
add rsp, 0x53e8
pop rdi
pop rsi
ret