Function at 0x140212f8e
Capabilities:
Inspect section memory permissions

Disassembly:
jmp 0x1404a3b50
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.14020bc9d
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 [0x140961e80]
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 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 + 0x5408], 0
jne 0x1404a3c52
cmp qword [rsp + 0x5410], 0
jne 0x1404a3c52
lea rax, [0x14077380e]
mov qword [rsp + 0x5408], rax
mov eax, dword [rsp + 0x5420]
and eax, 0x1fff9fc0
test eax, eax
je 0x1404a3c6c
mov eax, 0xffffffde
jmp 0x1404a65ce
cmp qword [rsp + 0x5400], 0
je 0x1404a3c8d
cmp qword [rsp + 0x5408], 0
je 0x1404a3c8d
cmp qword [rsp + 0x5428], 0
jne 0x1404a3c97
mov eax, 0xffffffcd
jmp 0x1404a65ce
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
cmp qword [rsp + 0x5410], 0xffffffffffffffff
jne 0x1404a3cef
mov rcx, qword [rsp + 0x5408]
call fcn.140214d0c
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 rax, qword [rsp + 0x5410]
cmp qword [rsp + 0x5418], rax
jbe 0x1404a3d37
mov eax, 0xffffffdf
jmp 0x1404a65ce
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0x50], 0x50435245
je 0x1404a3d4f
mov eax, 0xffffffe1
jmp 0x1404a65ce
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x60]
and eax, 7
cmp eax, 2
je 0x1404a3d69
mov eax, 0xffffffe0
jmp 0x1404a65ce
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 0x1404a3daf
mov dword [rsp + 0x5310], 1
jmp 0x1404a3dba
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 0x1404a3de6
mov dword [rsp + 0x5314], 1
jmp 0x1404a3df1
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 0x1404a3e1d
mov dword [rsp + 0x5318], 1
jmp 0x1404a3e28
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 0x1404a3e51
mov dword [rsp + 0x531c], 2
jmp 0x1404a3e85
mov eax, dword [rsp + 0x5420]
and eax, 0x10
test eax, eax
je 0x1404a3e6c
mov dword [rsp + 0x5320], 1
jmp 0x1404a3e77
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 0x1404a3ed3
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 0x1404a3ed3
mov eax, 0xffffffde
jmp 0x1404a65ce
cmp qword [rsp + 0x5430], 0
je 0x1404a3f08
mov rax, qword [rsp + 0x5430]
cmp qword [rax + 0x38], 0xffffffffffffffff
je 0x1404a3f08
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x58]
and eax, 0x800000
test eax, eax
jne 0x1404a3f08
mov eax, 0xffffffc8
jmp 0x1404a65ce
mov rax, qword [rsp + 0x5428]
movzx eax, byte [rax + 0x49]
and eax, 1
test eax, eax
je 0x1404a3f58
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 0x1404a42f4
mov eax, dword [rsp + 0x5420]
and eax, 0x40000000
test eax, eax
je 0x1404a3fbb
cmp dword [rsp + 0xc0], 0
je 0x1404a42f4
mov dword [rsp + 0x52c4], 0
cmp dword [rsp + 0xc0], 0
je 0x1404a401c
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1404a401a
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x1404a401a
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
mov dword [rsp + 0x52c4], 1
jmp 0x1404a3fd0
jmp 0x1404a4064
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1404a4064
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x1404a4064
cmp qword [rsp + 0x5418], 0
jbe 0x1404a405a
mov eax, 0xffffffdc
jmp 0x1404a65ce
mov eax, 0xffffffe6
jmp 0x1404a65ce
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x98]
mov qword [rax + 0xa0], rcx
cmp dword [rsp + 0x52c4], 0
jne 0x1404a4158
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x7c]
mov dword [rsp + 0x52c8], eax
jmp 0x1404a40ab
mov eax, dword [rsp + 0x52c8]
dec eax
mov dword [rsp + 0x52c8], eax
cmp dword [rsp + 0x52c8], 0
jbe 0x1404a4158
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x5408]
cmp qword [rax + 0xa0], rcx
jbe 0x1404a4158
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 0x1404a4153
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa0]
movzx eax, word [rax]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x1404a4153
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa0]
sub rax, 2
mov rcx, qword [rsp + 0x2a8]
mov qword [rcx + 0xa0], rax
jmp 0x1404a40f8
jmp 0x1404a409b
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.14020cc74
mov rcx, qword [rsp + 0x5428]
mov dword [rcx + 0x4c], eax
mov rax, qword [rsp + 0x5428]
cmp dword [rax + 0x4c], 0
jne 0x1404a41c7
jmp 0x1404a42f4
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 0x1404a4214
mov rax, qword [rsp + 0x5428]
cmp dword [rax + 0x4c], 0
jle 0x1404a4224
mov rax, qword [rsp + 0x5428]
mov eax, dword [rax + 0x4c]
jmp 0x1404a65ce
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 0x1404a42e2
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 0x1404a42d0
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa0]
movzx eax, word [rax]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x1404a42d0
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa0]
add rax, 2
mov rcx, qword [rsp + 0x2a8]
mov qword [rcx + 0xa0], rax
jmp 0x1404a4275
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x88], rax
jmp 0x1404a42ef
mov dword [rsp + 0xc4], 2
jmp 0x1404a42f4
jmp 0x1404a4158
cmp qword [rsp + 0x5430], 0
jne 0x1404a4324
lea rax, str.0_Q_
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 0x1404a433b
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 0x1404a4362
mov dword [rsp + 0x5324], 1
jmp 0x1404a436d
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 0x1404a4396
mov dword [rsp + 0x5328], 1
jmp 0x1404a43a1
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 0x1404a43ca
mov dword [rsp + 0x532c], 1
jmp 0x1404a43d5
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 0x1404a4401
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x5330], rax
jmp 0x1404a4421
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 0x1404a4525
mov dword [rsp + 0x5338], 1
jmp 0x1404a4530
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 0x1404a456d
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x60]
and eax, 0x2000
test eax, eax
jne 0x1404a456d
mov dword [rsp + 0x533c], 0
jmp 0x1404a4578
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.0x1404a46d8
movsxd rax, dword [rsp + 0x5340]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x4a6600]
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 0x1404a47f8
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 0x1404a47f8
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 0x1404a47f8
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 0x1404a47f8
mov rax, qword [rsp + 0x2a8]
mov dword [rax + 0xfc], 1
jmp 0x1404a47f8
mov rax, qword [rsp + 0x2a8]
mov dword [rax + 0xfc], 2
jmp 0x1404a47f8
mov eax, 0xffffffd4
jmp 0x1404a65ce
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x80]
shl eax, 1
cdqe
lea rax, [rax*8 + 0x87]
and rax, 0xfffffffffffffff8
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 0x1404a4845
mov rax, qword [rsp + 0x5430]
mov eax, dword [rax + 0x40]
mov dword [rsp + 0x5344], eax
jmp 0x1404a4854
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 0x1404a4890
mov rax, qword [rsp + 0x5430]
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x5348], eax
jmp 0x1404a489f
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 0x1404a48da
mov rax, qword [rsp + 0x5430]
mov eax, dword [rax + 0x48]
mov dword [rsp + 0x534c], eax
jmp 0x1404a48e9
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 0x1404a494a
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 0x1404a4a1d
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 0x1404a49d6
mov rax, qword [rsp + 0x2a8]
imul rax, qword [rax + 0x38], 0x400
cmp qword [rsp + 0xc8], rax
jbe 0x1404a49a7
mov eax, 0xffffffc1
jmp 0x1404a65ce
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 0x1404a4a1d
mov eax, 0xffffffd0
jmp 0x1404a65ce
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 + 0xc8]
sub rax, 0x80
mov rcx, qword [rsp + 0x2a8]
mov rcx, qword [rcx + 0x20]
add rcx, 0x80
mov r8, rax
mov edx, 0xff
call fcn.1402118af
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 0x1404a4be4
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 0x1404a4be2
movzx eax, word [rsp + 0x6c]
cmp eax, 0xff
ja 0x1404a4b2a
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 0x1404a4b36
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 0x1404a4be2
cmp dword [rsp + 0xb8], 0
jne 0x1404a4b65
cmp dword [rsp + 0xbc], 0
je 0x1404a4be2
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, [0x140894170]
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, [0x140898570]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x14088ff60]
mov edx, dword [rsp + 0x5354]
add edx, dword [rcx + rax + 4]
mov eax, edx
mov word [rsp + 0x70], ax
jmp 0x1404a4c08
cmp dword [rsp + 0x68], 0
jne 0x1404a4c08
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x60]
and eax, 0x40
test eax, eax
je 0x1404a4c08
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 0x1404a4d34
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 0x1404a4d34
movzx eax, word [rsp + 0x74]
cmp eax, 0xff
ja 0x1404a4c7c
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 0x1404a4c88
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 0x1404a4d34
cmp dword [rsp + 0xb8], 0
jne 0x1404a4cb7
cmp dword [rsp + 0xbc], 0
je 0x1404a4d34
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, [0x140894170]
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, [0x140898570]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x14088ff60]
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 0x1404a5b0f
cmp dword [rsp + 0x5c], 0
je 0x1404a5117
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x52d8], rax
cmp dword [rsp + 0xb8], 0
je 0x1404a4f73
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x52d8], rax
jae 0x1404a4f6e
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 0
je 0x1404a4e56
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa8]
cmp qword [rsp + 0x52d8], rax
jae 0x1404a4e38
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.14021405a
test eax, eax
je 0x1404a4e38
mov dword [rsp + 0x5368], 1
jmp 0x1404a4e43
mov dword [rsp + 0x5368], 0
mov eax, dword [rsp + 0x5368]
mov dword [rsp + 0x536c], eax
jmp 0x1404a4f0e
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 0x1404a4ef5
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 0x1404a4ef5
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0x100], 1
je 0x1404a4ee8
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 0x1404a4ef5
mov dword [rsp + 0x5370], 1
jmp 0x1404a4f00
mov dword [rsp + 0x5370], 0
mov eax, dword [rsp + 0x5370]
mov dword [rsp + 0x536c], eax
cmp dword [rsp + 0x536c], 0
jne 0x1404a4f6e
mov rax, qword [rsp + 0x52d8]
add rax, 2
mov qword [rsp + 0x52d8], rax
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x52d8], rax
jae 0x1404a4f69
mov rax, qword [rsp + 0x52d8]
movzx eax, word [rax]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x1404a4f69
mov rax, qword [rsp + 0x52d8]
add rax, 2
mov qword [rsp + 0x52d8], rax
jmp 0x1404a4d9d
jmp 0x1404a5107
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x52d8], rax
jae 0x1404a5107
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 0
je 0x1404a502c
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa8]
cmp qword [rsp + 0x52d8], rax
jae 0x1404a500e
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.14021405a
test eax, eax
je 0x1404a500e
mov dword [rsp + 0x5374], 1
jmp 0x1404a5019
mov dword [rsp + 0x5374], 0
mov eax, dword [rsp + 0x5374]
mov dword [rsp + 0x5378], eax
jmp 0x1404a50e4
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 0x1404a50cb
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 0x1404a50cb
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0x100], 1
je 0x1404a50be
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 0x1404a50cb
mov dword [rsp + 0x537c], 1
jmp 0x1404a50d6
mov dword [rsp + 0x537c], 0
mov eax, dword [rsp + 0x537c]
mov dword [rsp + 0x5378], eax
cmp dword [rsp + 0x5378], 0
jne 0x1404a5107
mov rax, qword [rsp + 0x52d8]
add rax, 2
mov qword [rsp + 0x52d8], rax
jmp 0x1404a4f73
mov rax, qword [rsp + 0x52d8]
mov qword [rsp + 0x88], rax
cmp dword [rsp + 0x58], 0
je 0x1404a5287
cmp dword [rsp + 0x60], 0
jne 0x1404a5135
cmp qword [rsp + 0x48], 0
je 0x1404a5282
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1404a5154
mov dword [rsp + 0x5380], 1
jmp 0x1404a515f
mov dword [rsp + 0x5380], 0
mov eax, dword [rsp + 0x5380]
mov dword [rsp + 0x52e0], eax
cmp dword [rsp + 0x52e0], 0
je 0x1404a526b
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
mov word [rsp + 0x52e4], ax
cmp dword [rsp + 0x60], 0
je 0x1404a51c4
movzx eax, word [rsp + 0x52e4]
movzx ecx, word [rsp + 0x6c]
cmp eax, ecx
je 0x1404a51b7
movzx eax, word [rsp + 0x52e4]
movzx ecx, word [rsp + 0x70]
cmp eax, ecx
jne 0x1404a51c4
mov dword [rsp + 0x5384], 1
jmp 0x1404a51cf
mov dword [rsp + 0x5384], 0
mov eax, dword [rsp + 0x5384]
mov dword [rsp + 0x52e0], eax
cmp dword [rsp + 0x52e0], 0
jne 0x1404a526b
cmp qword [rsp + 0x48], 0
je 0x1404a526b
movzx eax, word [rsp + 0x52e4]
cmp eax, 0xff
jle 0x1404a520f
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 0x1404a5252
mov dword [rsp + 0x5388], 1
jmp 0x1404a525d
mov dword [rsp + 0x5388], 0
mov eax, dword [rsp + 0x5388]
mov dword [rsp + 0x52e0], eax
cmp dword [rsp + 0x52e0], 0
jne 0x1404a5282
mov dword [rsp + 0x40], 0
jmp 0x1404a605b
jmp 0x1404a58c6
cmp dword [rsp + 0x60], 0
je 0x1404a5379
movzx eax, word [rsp + 0x6c]
movzx ecx, word [rsp + 0x70]
cmp eax, ecx
je 0x1404a52ff
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1404a52fd
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 0x1404a52fd
movzx eax, word [rsp + 0x52e8]
movzx ecx, word [rsp + 0x70]
cmp eax, ecx
je 0x1404a52fd
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
jmp 0x1404a52a0
jmp 0x1404a533b
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1404a533b
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
movzx ecx, word [rsp + 0x6c]
cmp eax, ecx
je 0x1404a533b
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
jmp 0x1404a52ff
mov rax, qword [rsp + 0x2a8]
movzx eax, word [rax + 0x80]
test eax, eax
jne 0x1404a5374
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa8]
cmp qword [rsp + 0x98], rax
jb 0x1404a5374
mov dword [rsp + 0x40], 0
jmp 0x1404a605b
jmp 0x1404a58c6
cmp dword [rsp + 0x68], 0
je 0x1404a57f6
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 0x1404a57f1
cmp dword [rsp + 0xb8], 0
je 0x1404a55be
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1404a55b9
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 0
je 0x1404a5474
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0x98]
cmp qword [rsp + 0x98], rax
jbe 0x1404a5456
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.14020ac8f
test eax, eax
je 0x1404a5456
mov dword [rsp + 0x538c], 1
jmp 0x1404a5461
mov dword [rsp + 0x538c], 0
mov eax, dword [rsp + 0x538c]
mov dword [rsp + 0x5390], eax
jmp 0x1404a5559
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 0x1404a5540
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 0x1404a5540
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0x100], 1
je 0x1404a5533
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 0x1404a5540
mov dword [rsp + 0x5394], 1
jmp 0x1404a554b
mov dword [rsp + 0x5394], 0
mov eax, dword [rsp + 0x5394]
mov dword [rsp + 0x5390], eax
cmp dword [rsp + 0x5390], 0
jne 0x1404a55b9
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1404a55b4
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x1404a55b4
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
jmp 0x1404a53bb
jmp 0x1404a577f
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1404a577f
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 0
je 0x1404a5677
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0x98]
cmp qword [rsp + 0x98], rax
jbe 0x1404a5659
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.14020ac8f
test eax, eax
je 0x1404a5659
mov dword [rsp + 0x5398], 1
jmp 0x1404a5664
mov dword [rsp + 0x5398], 0
mov eax, dword [rsp + 0x5398]
mov dword [rsp + 0x539c], eax
jmp 0x1404a575c
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 0x1404a5743
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 0x1404a5743
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0x100], 1
je 0x1404a5736
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 0x1404a5743
mov dword [rsp + 0x53a0], 1
jmp 0x1404a574e
mov dword [rsp + 0x53a0], 0
mov eax, dword [rsp + 0x53a0]
mov dword [rsp + 0x539c], eax
cmp dword [rsp + 0x539c], 0
jne 0x1404a577f
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
jmp 0x1404a55be
mov eax, 2
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x98]
movzx eax, word [rcx + rax]
cmp eax, 0xd
jne 0x1404a57f1
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 1
je 0x1404a57bb
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 2
jne 0x1404a57f1
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1404a57f1
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
cmp eax, 0xa
jne 0x1404a57f1
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
jmp 0x1404a58c6
cmp qword [rsp + 0x48], 0
je 0x1404a58c6
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1404a588d
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
mov dword [rsp + 0x52ec], eax
cmp dword [rsp + 0x52ec], 0xff
jbe 0x1404a583e
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 0x1404a5874
jmp 0x1404a588d
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
jmp 0x1404a5802
mov rax, qword [rsp + 0x2a8]
movzx eax, word [rax + 0x80]
test eax, eax
jne 0x1404a58c6
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa8]
cmp qword [rsp + 0x98], rax
jb 0x1404a58c6
mov dword [rsp + 0x40], 0
jmp 0x1404a605b
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 0x1404a5b0f
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 0x1404a5928
mov dword [rsp + 0x40], 0
jmp 0x1404a605b
cmp dword [rsp + 0x60], 0
je 0x1404a593c
mov dword [rsp + 0x53a4], 1
jmp 0x1404a5947
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 0x1404a5b0f
mov rax, qword [rsp + 0xa0]
cmp qword [rsp + 0x52f0], rax
jbe 0x1404a5b0f
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 0x1404a59d0
cmp dword [rsp + 0x58], 0
jne 0x1404a5b0f
cmp qword [rsp + 0x52f8], 0x1e8480
jae 0x1404a5b0f
movzx eax, word [rsp + 0x74]
movzx ecx, word [rsp + 0x78]
cmp eax, ecx
je 0x1404a5a4f
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x52f0], rax
jae 0x1404a5a4a
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 0x1404a5a32
movzx eax, word [rsp + 0x78]
cmp dword [rsp + 0x5300], eax
jne 0x1404a5a48
mov rax, qword [rsp + 0x52f0]
sub rax, 2
mov qword [rsp + 0x52f0], rax
jmp 0x1404a5a4a
jmp 0x1404a59de
jmp 0x1404a5ae0
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x52f0], rax
jae 0x1404a5ae0
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 0x1404a5ab0
mov dword [rsp + 0x53b0], 1
jmp 0x1404a5abb
mov dword [rsp + 0x53b0], 0
cmp dword [rsp + 0x53b0], 0
je 0x1404a5adb
mov rax, qword [rsp + 0x52f0]
sub rax, 2
mov qword [rsp + 0x52f0], rax
jmp 0x1404a5ae0
jmp 0x1404a5a4f
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x52f0], rax
jb 0x1404a5aff
mov dword [rsp + 0x40], 0
jmp 0x1404a605b
mov rax, qword [rsp + 0x52f0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x80]
cmp qword [rsp + 0x98], rax
jbe 0x1404a5b2e
mov dword [rsp + 0x40], 0
jmp 0x1404a605b
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.1404a6ef0
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0x4c], 0
je 0x1404a5c86
cmp qword [rsp + 0xa8], 0
jne 0x1404a5c86
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 0x1404a5cdf
cmp dword [rsp + 0x53b4], 0xfffffc1e
je 0x1404a5cfb
cmp dword [rsp + 0x53b4], 0xfffffc1b
je 0x1404a5dd0
cmp dword [rsp + 0x53b4], 0xfffffc1c
je 0x1404a5d61
cmp dword [rsp + 0x53b4], 0xfffffc1d
je 0x1404a5d2c
jmp 0x1404a5ddd
cmp dword [rsp + 0x53b4], 0xfffffc1f
je 0x1404a5d61
cmp dword [rsp + 0x53b4], 0
je 0x1404a5d61
jmp 0x1404a5ddd
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 0x1404a5de2
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x98]
cmp qword [rax + 0xe0], rcx
jbe 0x1404a5d61
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xe0]
mov qword [rsp + 0x52d0], rax
jmp 0x1404a5de2
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 0x1404a5dce
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x52d0], rax
jae 0x1404a5dce
mov rax, qword [rsp + 0x52d0]
movzx eax, word [rax]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x1404a5dce
mov rax, qword [rsp + 0x52d0]
add rax, 2
mov qword [rsp + 0x52d0], rax
jmp 0x1404a5de2
mov dword [rsp + 0x40], 0
jmp 0x1404a605b
jmp 0x1404a605b
mov dword [rsp + 0x40], 0
cmp dword [rsp + 0x5c], 0
je 0x1404a5f5f
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 0
je 0x1404a5e98
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xa8]
cmp qword [rsp + 0x98], rax
jae 0x1404a5e7a
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.14021405a
test eax, eax
je 0x1404a5e7a
mov dword [rsp + 0x53b8], 1
jmp 0x1404a5e85
mov dword [rsp + 0x53b8], 0
mov eax, dword [rsp + 0x53b8]
mov dword [rsp + 0x53bc], eax
jmp 0x1404a5f50
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 0x1404a5f37
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 0x1404a5f37
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0x100], 1
je 0x1404a5f2a
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 0x1404a5f37
mov dword [rsp + 0x53c0], 1
jmp 0x1404a5f42
mov dword [rsp + 0x53c0], 0
mov eax, dword [rsp + 0x53c0]
mov dword [rsp + 0x53bc], eax
cmp dword [rsp + 0x53bc], 0
je 0x1404a5f5f
jmp 0x1404a605b
mov rax, qword [rsp + 0x52d0]
mov qword [rsp + 0x98], rax
cmp dword [rsp + 0x58], 0
jne 0x1404a5f88
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jbe 0x1404a5f8d
jmp 0x1404a605b
mov rax, qword [rsp + 0x5408]
mov rcx, qword [rsp + 0x5418]
lea rax, [rax + rcx*2]
cmp qword [rsp + 0x98], rax
jbe 0x1404a6043
mov eax, 2
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x98]
movzx eax, word [rcx + rax]
cmp eax, 0xd
jne 0x1404a6043
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x98], rax
jae 0x1404a6043
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
cmp eax, 0xa
jne 0x1404a6043
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x60]
and eax, 0x800
test eax, eax
jne 0x1404a6043
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 1
je 0x1404a602f
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0xfc], 2
je 0x1404a602f
mov rax, qword [rsp + 0x2a8]
cmp dword [rax + 0x100], 2
jne 0x1404a6043
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x2a8]
mov qword [rax + 0xc8], 0
jmp 0x1404a4d5f
cmp dword [rsp + 0xb8], 0
je 0x1404a6209
mov rax, qword [rsp + 0x90]
cmp qword [rsp + 0x88], rax
je 0x1404a6209
cmp dword [rsp + 0x40], 0
je 0x1404a6091
cmp dword [rsp + 0x40], 0xfffffffe
jne 0x1404a6209
mov rax, qword [rsp + 0x88]
add rax, 2
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x90]
cmp qword [rsp + 0x98], rax
jae 0x1404a60e4
mov rax, qword [rsp + 0x98]
movzx eax, word [rax]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x1404a60e4
mov rax, qword [rsp + 0x98]
add rax, 2
mov qword [rsp + 0x98], rax
jmp 0x1404a60a5
mov rax, qword [rsp + 0x90]
cmp qword [rsp + 0x98], rax
jb 0x1404a6103
mov dword [rsp + 0x40], 0
jmp 0x1404a6209
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.14020cc74
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jne 0x1404a61a4
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 0x1404a4d34
cmp dword [rsp + 0x40], 0
jge 0x1404a6204
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 0x1404a6204
mov dword [rsp + 0xc4], 3
jmp 0x1404a4d34
jmp 0x1404a6091
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x2a8]
mov rcx, qword [rcx + 0x30]
cmp qword [rax + 0x20], rcx
je 0x1404a6247
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]
nop
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 0x1404a6476
mov rax, qword [rsp + 0x5428]
movzx eax, word [rax + 0x4a]
shl eax, 1
mov rcx, qword [rsp + 0x2a8]
cmp dword [rcx + 0x78], eax
jl 0x1404a62b2
mov dword [rsp + 0x53c4], 0
jmp 0x1404a62cb
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 0x1404a6364
mov rax, qword [rsp + 0x2a8]
mov rax, qword [rax + 0xc0]
mov qword [rsp + 0x53c8], rax
jmp 0x1404a637b
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 0x1404a6452
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 0x1404a6415
mov eax, 0xffffffd0
jmp 0x1404a65ce
mov r8, qword [rsp + 0x5410]
mov rdx, qword [rsp + 0x5408]
mov rax, qword [rsp + 0x5428]
mov rcx, qword [rax + 0x20]
call fcn.14020eed9
mov rax, qword [rsp + 0x5428]
movzx eax, byte [rax + 0x49]
or eax, 1
mov rcx, qword [rsp + 0x5428]
mov byte [rcx + 0x49], al
jmp 0x1404a6466
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 0x1404a65ce
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 0x1404a64b3
cmp dword [rsp + 0x40], 0xfffffffe
je 0x1404a64b3
mov rax, qword [rsp + 0x5428]
mov ecx, dword [rsp + 0x40]
mov dword [rax + 0x4c], ecx
jmp 0x1404a65c3
cmp qword [rsp + 0xb0], 0
je 0x1404a65b4
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 0x1404a65c3
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, [0x1407db5e0]
call fcn.1402124fd
mov rax, rdi
mov rcx, qword [rsp + 0x53d0]
xor rcx, rsp
call fcn.14020ee98
add rsp, 0x53e8
pop rdi
pop rsi
ret