Function at 0x1401590f0
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0xb8
mov byte [rsp + 0x25], 1
mov byte [rsp + 0x20], 0
mov byte [rsp + 0x23], 0
mov byte [rsp + 0x21], 0
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0xb0]
dec rax
mov rcx, qword [rsp + 0xc0]
mov qword [rcx + 0xe8], rax
movzx eax, byte [rsp + 0x25]
test eax, eax
je 0x1401597d9
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0xc8], 2
jne 0x14015923e
lea rdx, [rsp + 0x20]
mov rcx, qword [rsp + 0xc0]
call fcn.140158560
test eax, eax
je 0x140159173
mov eax, 0xffffffff
jmp 0x14015a641
movzx eax, byte [rsp + 0x20]
and eax, 0xf0
cmp eax, 0x40
jne 0x140159231
xor eax, eax
cmp eax, 1
je 0x1401591e2
lea rdx, [rsp + 0x20]
mov rcx, qword [rsp + 0xc0]
call fcn.1401585d0
test eax, eax
je 0x1401591ad
mov eax, 0xffffffff
jmp 0x14015a641
movzx eax, byte [rsp + 0x20]
and eax, 0xf0
cmp eax, 0x40
jne 0x1401591de
lea rdx, [rsp + 0x20]
mov rcx, qword [rsp + 0xc0]
call fcn.140158560
test eax, eax
je 0x1401591dc
mov eax, 0xffffffff
jmp 0x14015a641
jmp 0x1401591e0
jmp 0x1401591e2
jmp 0x140159186
movzx eax, byte [rsp + 0x20]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
sub eax, 0x26
mov dword [rsp + 0x2c], eax
cmp dword [rsp + 0x2c], 0xcd
ja case.0x14015921e.39
movsxd rax, dword [rsp + 0x2c]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x15a654]
mov eax, dword [rcx + rax*4 + 0x15a64c]
add rax, rcx
jmp rax
jmp 0x14015922f
mov rcx, qword [rsp + 0xc0]
call fcn.140158620
jmp 0x14015923e
mov rcx, qword [rsp + 0xc0]
call fcn.140158620
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0xb0]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x20]
mov rcx, qword [rsp + 0xc0]
call fcn.140158560
test eax, eax
je 0x140159272
mov eax, 0xffffffff
jmp 0x14015a641
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0xb0]
dec rax
mov rcx, qword [rsp + 0xc0]
cmp rax, qword [rcx + 0xd0]
jne 0x1401593d2
movzx eax, byte [rsp + 0x20]
cmp eax, 0xf2
je 0x1401592b5
movzx eax, byte [rsp + 0x20]
cmp eax, 0xf3
jne 0x1401593d2
lea rdx, [rsp + 0x22]
mov rcx, qword [rsp + 0xc0]
call fcn.1401585d0
test eax, eax
je 0x1401592d5
mov eax, 0xffffffff
jmp 0x14015a641
movzx eax, byte [rsp + 0x22]
cmp eax, 0xf0
je 0x140159303
movzx eax, byte [rsp + 0x22]
and eax, 0xfe
cmp eax, 0x86
je 0x140159303
movzx eax, byte [rsp + 0x22]
and eax, 0xf8
cmp eax, 0x90
jne 0x140159316
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x20]
mov byte [rax + 0x91], cl
movzx eax, byte [rsp + 0x20]
cmp eax, 0xf3
jne 0x140159365
movzx eax, byte [rsp + 0x22]
cmp eax, 0x88
je 0x140159352
movzx eax, byte [rsp + 0x22]
cmp eax, 0x89
je 0x140159352
movzx eax, byte [rsp + 0x22]
cmp eax, 0xc6
je 0x140159352
movzx eax, byte [rsp + 0x22]
cmp eax, 0xc7
jne 0x140159365
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x20]
mov byte [rax + 0x91], cl
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0xc8], 2
jne 0x1401593d2
movzx eax, byte [rsp + 0x22]
and eax, 0xf0
cmp eax, 0x40
jne 0x1401593d2
lea rdx, [rsp + 0x22]
mov rcx, qword [rsp + 0xc0]
call fcn.140158560
test eax, eax
je 0x1401593a5
mov eax, 0xffffffff
jmp 0x14015a641
lea rdx, [rsp + 0x22]
mov rcx, qword [rsp + 0xc0]
call fcn.1401585d0
test eax, eax
je 0x1401593c5
mov eax, 0xffffffff
jmp 0x14015a641
mov rcx, qword [rsp + 0xc0]
call fcn.140158620
movzx eax, byte [rsp + 0x20]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
sub eax, 0x26
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0xcd
ja case.0x140159412.39
movsxd rax, dword [rsp + 0x30]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x15a74c]
mov eax, dword [rcx + rax*4 + 0x15a724]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0xc0]
mov byte [rax + 0xe], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 0xf], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 0xd], 0
mov r8, qword [rsp + 0x38]
movzx edx, byte [rsp + 0x20]
mov rcx, qword [rsp + 0xc0]
call fcn.140158b60
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x20]
mov byte [rax + 1], cl
jmp 0x1401597d4
mov rax, qword [rsp + 0xc0]
mov dword [rax + 0x6c], 1
mov rax, qword [rsp + 0xc0]
mov byte [rax + 6], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 7], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 8], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 5], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 9], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 0xa], 0
mov r8, qword [rsp + 0x38]
movzx edx, byte [rsp + 0x20]
mov rcx, qword [rsp + 0xc0]
call fcn.140158b60
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x20]
mov byte [rax + 2], cl
jmp 0x1401597d4
mov rax, qword [rsp + 0xc0]
mov dword [rax + 0x6c], 2
mov rax, qword [rsp + 0xc0]
mov byte [rax + 6], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 7], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 8], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 5], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 9], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 0xa], 0
mov r8, qword [rsp + 0x38]
movzx edx, byte [rsp + 0x20]
mov rcx, qword [rsp + 0xc0]
call fcn.140158b60
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x20]
mov byte [rax + 2], cl
jmp 0x1401597d4
mov rax, qword [rsp + 0xc0]
mov dword [rax + 0x6c], 3
mov rax, qword [rsp + 0xc0]
mov byte [rax + 6], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 7], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 8], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 5], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 9], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 0xa], 0
mov r8, qword [rsp + 0x38]
movzx edx, byte [rsp + 0x20]
mov rcx, qword [rsp + 0xc0]
call fcn.140158b60
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x20]
mov byte [rax + 2], cl
jmp 0x1401597d4
mov rax, qword [rsp + 0xc0]
mov dword [rax + 0x6c], 4
mov rax, qword [rsp + 0xc0]
mov byte [rax + 6], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 7], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 8], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 5], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 9], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 0xa], 0
mov r8, qword [rsp + 0x38]
movzx edx, byte [rsp + 0x20]
mov rcx, qword [rsp + 0xc0]
call fcn.140158b60
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x20]
mov byte [rax + 2], cl
jmp 0x1401597d4
mov rax, qword [rsp + 0xc0]
mov dword [rax + 0x6c], 5
mov rax, qword [rsp + 0xc0]
mov byte [rax + 6], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 7], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 8], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 5], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 9], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 0xa], 0
mov r8, qword [rsp + 0x38]
movzx edx, byte [rsp + 0x20]
mov rcx, qword [rsp + 0xc0]
call fcn.140158b60
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x20]
mov byte [rax + 2], cl
jmp 0x1401597d4
mov rax, qword [rsp + 0xc0]
mov dword [rax + 0x6c], 6
mov rax, qword [rsp + 0xc0]
mov byte [rax + 6], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 7], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 8], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 5], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 9], 0
mov rax, qword [rsp + 0xc0]
mov byte [rax + 0xa], 0
mov r8, qword [rsp + 0x38]
movzx edx, byte [rsp + 0x20]
mov rcx, qword [rsp + 0xc0]
call fcn.140158b60
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x20]
mov byte [rax + 2], cl
jmp 0x1401597d4
mov byte [rsp + 0x21], 1
mov r8, qword [rsp + 0x38]
movzx edx, byte [rsp + 0x20]
mov rcx, qword [rsp + 0xc0]
call fcn.140158b60
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x20]
mov byte [rax + 3], cl
jmp 0x1401597d4
mov byte [rsp + 0x23], 1
mov r8, qword [rsp + 0x38]
movzx edx, byte [rsp + 0x20]
mov rcx, qword [rsp + 0xc0]
call fcn.140158b60
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x20]
mov byte [rax + 4], cl
jmp 0x1401597d4
mov byte [rsp + 0x25], 0
jmp 0x140159131
mov rax, qword [rsp + 0xc0]
mov dword [rax + 0xe0], 0
movzx eax, byte [rsp + 0x20]
cmp eax, 0x62
jne 0x140159a99
lea rdx, [rsp + 0x24]
mov rcx, qword [rsp + 0xc0]
call fcn.140158560
test eax, eax
je 0x140159819
mov eax, 0xffffffff
jmp 0x14015a641
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0xc8], 2
je 0x14015983f
movzx eax, byte [rsp + 0x24]
and eax, 0xc0
cmp eax, 0xc0
jne 0x140159a7a
movzx eax, byte [rsp + 0x24]
not eax
and eax, 0xc
cmp eax, 0xc
jne 0x140159a7a
lea rdx, [rsp + 0x26]
mov rcx, qword [rsp + 0xc0]
call fcn.1401585d0
test eax, eax
je 0x140159872
mov eax, 0xffffffff
jmp 0x14015a641
movzx eax, byte [rsp + 0x26]
and eax, 4
cmp eax, 4
jne 0x140159893
mov rax, qword [rsp + 0xc0]
mov dword [rax + 0xe0], 3
jmp 0x1401598cf
mov rcx, qword [rsp + 0xc0]
call fcn.140158620
mov rcx, qword [rsp + 0xc0]
call fcn.140158620
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0xb0]
sub rax, 2
mov rcx, qword [rsp + 0xc0]
mov qword [rcx + 0xe8], rax
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0xe0], 3
jne 0x140159a78
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0xc0]
movzx edx, byte [rsp + 0x20]
mov byte [rcx + rax + 0x92], dl
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0xc0]
movzx edx, byte [rsp + 0x24]
mov byte [rcx + rax + 0x92], dl
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0xc0]
lea rax, [rcx + rax + 0x92]
mov rdx, rax
mov rcx, qword [rsp + 0xc0]
call fcn.140158560
test eax, eax
je 0x140159955
mov eax, 0xffffffff
jmp 0x14015a641
mov eax, 1
imul rax, rax, 3
mov rcx, qword [rsp + 0xc0]
lea rax, [rcx + rax + 0x92]
mov rdx, rax
mov rcx, qword [rsp + 0xc0]
call fcn.140158560
test eax, eax
je 0x14015998c
mov eax, 0xffffffff
jmp 0x14015a641
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0xc8], 2
jne 0x140159a44
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0xc0]
movzx eax, byte [rcx + rax + 0x92]
and eax, 0x80
sar eax, 7
shl eax, 3
or eax, 0x40
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xc0]
movzx ecx, byte [rdx + rcx + 0x92]
not ecx
and ecx, 0x80
sar ecx, 7
shl ecx, 2
or eax, ecx
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xc0]
movzx ecx, byte [rdx + rcx + 0x92]
not ecx
and ecx, 0x40
sar ecx, 6
shl ecx, 1
or eax, ecx
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xc0]
movzx ecx, byte [rdx + rcx + 0x92]
not ecx
and ecx, 0x20
sar ecx, 5
or eax, ecx
mov rcx, qword [rsp + 0xc0]
mov byte [rcx + 0x68], al
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0xc0]
movzx eax, byte [rcx + rax + 0x92]
and eax, 3
mov dword [rsp + 0x94], eax
cmp dword [rsp + 0x94], 1
je 0x140159a73
jmp 0x140159a78
mov byte [rsp + 0x21], 1
jmp 0x140159a94
mov rcx, qword [rsp + 0xc0]
call fcn.140158620
mov rcx, qword [rsp + 0xc0]
call fcn.140158620
jmp 0x14015a17f
movzx eax, byte [rsp + 0x20]
cmp eax, 0xc4
jne 0x140159cdf
lea rdx, [rsp + 0x27]
mov rcx, qword [rsp + 0xc0]
call fcn.1401585d0
test eax, eax
je 0x140159ac9
mov eax, 0xffffffff
jmp 0x14015a641
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0xc8], 2
je 0x140159aeb
movzx eax, byte [rsp + 0x27]
and eax, 0xc0
cmp eax, 0xc0
jne 0x140159b20
mov rax, qword [rsp + 0xc0]
mov dword [rax + 0xe0], 2
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0xb0]
dec rax
mov rcx, qword [rsp + 0xc0]
mov qword [rcx + 0xe8], rax
jmp 0x140159b4e
mov rcx, qword [rsp + 0xc0]
call fcn.140158620
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0xb0]
dec rax
mov rcx, qword [rsp + 0xc0]
mov qword [rcx + 0xe8], rax
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0xe0], 2
jne 0x140159cda
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0xc0]
movzx edx, byte [rsp + 0x20]
mov byte [rcx + rax + 0x92], dl
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0xc0]
lea rax, [rcx + rax + 0x92]
mov rdx, rax
mov rcx, qword [rsp + 0xc0]
call fcn.140158560
test eax, eax
je 0x140159bb7
mov eax, 0xffffffff
jmp 0x14015a641
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0xc0]
lea rax, [rcx + rax + 0x92]
mov rdx, rax
mov rcx, qword [rsp + 0xc0]
call fcn.140158560
test eax, eax
je 0x140159bee
mov eax, 0xffffffff
jmp 0x14015a641
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0xc8], 2
jne 0x140159ca6
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0xc0]
movzx eax, byte [rcx + rax + 0x92]
and eax, 0x80
sar eax, 7
shl eax, 3
or eax, 0x40
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xc0]
movzx ecx, byte [rdx + rcx + 0x92]
not ecx
and ecx, 0x80
sar ecx, 7
shl ecx, 2
or eax, ecx
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xc0]
movzx ecx, byte [rdx + rcx + 0x92]
not ecx
and ecx, 0x40
sar ecx, 6
shl ecx, 1
or eax, ecx
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xc0]
movzx ecx, byte [rdx + rcx + 0x92]
not ecx
and ecx, 0x20
sar ecx, 5
or eax, ecx
mov rcx, qword [rsp + 0xc0]
mov byte [rcx + 0x68], al
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0xc0]
movzx eax, byte [rcx + rax + 0x92]
and eax, 3
mov dword [rsp + 0x98], eax
cmp dword [rsp + 0x98], 1
je 0x140159cd5
jmp 0x140159cda
mov byte [rsp + 0x21], 1
jmp 0x14015a17f
movzx eax, byte [rsp + 0x20]
cmp eax, 0xc5
jne 0x140159e39
lea rdx, [rsp + 0x28]
mov rcx, qword [rsp + 0xc0]
call fcn.1401585d0
test eax, eax
je 0x140159d0f
mov eax, 0xffffffff
jmp 0x14015a641
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0xc8], 2
je 0x140159d31
movzx eax, byte [rsp + 0x28]
and eax, 0xc0
cmp eax, 0xc0
jne 0x140159d45
mov rax, qword [rsp + 0xc0]
mov dword [rax + 0xe0], 1
jmp 0x140159d52
mov rcx, qword [rsp + 0xc0]
call fcn.140158620
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0xe0], 1
jne 0x140159e34
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0xc0]
movzx edx, byte [rsp + 0x20]
mov byte [rcx + rax + 0x92], dl
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0xc0]
lea rax, [rcx + rax + 0x92]
mov rdx, rax
mov rcx, qword [rsp + 0xc0]
call fcn.140158560
test eax, eax
je 0x140159dbb
mov eax, 0xffffffff
jmp 0x14015a641
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0xc8], 2
jne 0x140159e00
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0xc0]
movzx eax, byte [rcx + rax + 0x92]
not eax
and eax, 0x80
sar eax, 7
shl eax, 2
or eax, 0x40
mov rcx, qword [rsp + 0xc0]
mov byte [rcx + 0x68], al
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0xc0]
movzx eax, byte [rcx + rax + 0x92]
and eax, 3
mov dword [rsp + 0x9c], eax
cmp dword [rsp + 0x9c], 1
je 0x140159e2f
jmp 0x140159e34
mov byte [rsp + 0x21], 1
jmp 0x14015a17f
movzx eax, byte [rsp + 0x20]
cmp eax, 0x8f
jne 0x14015a069
lea rdx, [rsp + 0x29]
mov rcx, qword [rsp + 0xc0]
call fcn.1401585d0
test eax, eax
je 0x140159e69
mov eax, 0xffffffff
jmp 0x14015a641
movzx eax, byte [rsp + 0x29]
and eax, 0x38
test eax, eax
je 0x140159eaa
mov rax, qword [rsp + 0xc0]
mov dword [rax + 0xe0], 4
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0xb0]
dec rax
mov rcx, qword [rsp + 0xc0]
mov qword [rcx + 0xe8], rax
jmp 0x140159ed8
mov rcx, qword [rsp + 0xc0]
call fcn.140158620
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0xb0]
dec rax
mov rcx, qword [rsp + 0xc0]
mov qword [rcx + 0xe8], rax
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0xe0], 4
jne 0x14015a064
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0xc0]
movzx edx, byte [rsp + 0x20]
mov byte [rcx + rax + 0x92], dl
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0xc0]
lea rax, [rcx + rax + 0x92]
mov rdx, rax
mov rcx, qword [rsp + 0xc0]
call fcn.140158560
test eax, eax
je 0x140159f41
mov eax, 0xffffffff
jmp 0x14015a641
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0xc0]
lea rax, [rcx + rax + 0x92]
mov rdx, rax
mov rcx, qword [rsp + 0xc0]
call fcn.140158560
test eax, eax
je 0x140159f78
mov eax, 0xffffffff
jmp 0x14015a641
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0xc8], 2
jne 0x14015a030
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0xc0]
movzx eax, byte [rcx + rax + 0x92]
and eax, 0x80
sar eax, 7
shl eax, 3
or eax, 0x40
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xc0]
movzx ecx, byte [rdx + rcx + 0x92]
not ecx
and ecx, 0x80
sar ecx, 7
shl ecx, 2
or eax, ecx
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xc0]
movzx ecx, byte [rdx + rcx + 0x92]
not ecx
and ecx, 0x40
sar ecx, 6
shl ecx, 1
or eax, ecx
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xc0]
movzx ecx, byte [rdx + rcx + 0x92]
not ecx
and ecx, 0x20
sar ecx, 5
or eax, ecx
mov rcx, qword [rsp + 0xc0]
mov byte [rcx + 0x68], al
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0xc0]
movzx eax, byte [rcx + rax + 0x92]
and eax, 3
mov dword [rsp + 0xa0], eax
cmp dword [rsp + 0xa0], 1
je 0x14015a05f
jmp 0x14015a064
mov byte [rsp + 0x21], 1
jmp 0x14015a17f
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0xc8], 2
jne 0x14015a151
movzx eax, byte [rsp + 0x20]
and eax, 0xf0
cmp eax, 0x40
jne 0x14015a121
xor eax, eax
cmp eax, 1
je 0x14015a0ed
lea rdx, [rsp + 0x2a]
mov rcx, qword [rsp + 0xc0]
call fcn.1401585d0
test eax, eax
je 0x14015a0b8
mov eax, 0xffffffff
jmp 0x14015a641
movzx eax, byte [rsp + 0x2a]
and eax, 0xf0
cmp eax, 0x40
jne 0x14015a0e9
lea rdx, [rsp + 0x20]
mov rcx, qword [rsp + 0xc0]
call fcn.140158560
test eax, eax
je 0x14015a0e7
mov eax, 0xffffffff
jmp 0x14015a641
jmp 0x14015a0eb
jmp 0x14015a0ed
jmp 0x14015a091
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x20]
mov byte [rax + 0x68], cl
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0xb0]
sub rax, 2
mov rcx, qword [rsp + 0xc0]
mov qword [rcx + 0xe8], rax
jmp 0x14015a14f
mov rcx, qword [rsp + 0xc0]
call fcn.140158620
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0xb0]
dec rax
mov rcx, qword [rsp + 0xc0]
mov qword [rcx + 0xe8], rax
jmp 0x14015a17f
mov rcx, qword [rsp + 0xc0]
call fcn.140158620
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0xb0]
dec rax
mov rcx, qword [rsp + 0xc0]
mov qword [rcx + 0xe8], rax
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0xc8], 0
jne 0x14015a27f
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x14015a1a7
mov dword [rsp + 0x40], 4
jmp 0x14015a1af
mov dword [rsp + 0x40], 2
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x40]
mov byte [rax + 0xf0], cl
movzx eax, byte [rsp + 0x23]
test eax, eax
je 0x14015a1d5
mov dword [rsp + 0x44], 4
jmp 0x14015a1dd
mov dword [rsp + 0x44], 2
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x44]
mov byte [rax + 0xf1], cl
movzx eax, byte [rsp + 0x23]
test eax, eax
je 0x14015a203
mov dword [rsp + 0x48], 4
jmp 0x14015a20b
mov dword [rsp + 0x48], 2
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x48]
mov byte [rax + 0xf2], cl
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x14015a231
mov dword [rsp + 0x4c], 4
jmp 0x14015a239
mov dword [rsp + 0x4c], 2
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x4c]
mov byte [rax + 0xf3], cl
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x14015a25f
mov dword [rsp + 0x50], 4
jmp 0x14015a267
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x50]
mov byte [rax + 0xf4], cl
jmp 0x14015a63f
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0xc8], 1
jne 0x14015a388
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x14015a2a7
mov dword [rsp + 0x54], 2
jmp 0x14015a2af
mov dword [rsp + 0x54], 4
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x54]
mov byte [rax + 0xf0], cl
movzx eax, byte [rsp + 0x23]
test eax, eax
je 0x14015a2d8
mov dword [rsp + 0x90], 2
jmp 0x14015a2e3
mov dword [rsp + 0x90], 4
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x90]
mov byte [rax + 0xf1], cl
movzx eax, byte [rsp + 0x23]
test eax, eax
je 0x14015a30c
mov dword [rsp + 0x58], 2
jmp 0x14015a314
mov dword [rsp + 0x58], 4
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x58]
mov byte [rax + 0xf2], cl
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x14015a33a
mov dword [rsp + 0x5c], 2
jmp 0x14015a342
mov dword [rsp + 0x5c], 4
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x5c]
mov byte [rax + 0xf3], cl
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x14015a368
mov dword [rsp + 0x60], 2
jmp 0x14015a370
mov dword [rsp + 0x60], 4
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x60]
mov byte [rax + 0xf4], cl
jmp 0x14015a63f
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0xc8], 2
jne 0x14015a63f
mov rax, qword [rsp + 0xc0]
movzx eax, byte [rax + 0x68]
test eax, eax
je 0x14015a436
mov rax, qword [rsp + 0xc0]
movzx eax, byte [rax + 0x68]
and eax, 8
sar eax, 3
test eax, eax
je 0x14015a436
mov rax, qword [rsp + 0xc0]
mov byte [rax + 0xf0], 8
movzx eax, byte [rsp + 0x23]
test eax, eax
je 0x14015a3e9
mov dword [rsp + 0x64], 4
jmp 0x14015a3f1
mov dword [rsp + 0x64], 8
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x64]
mov byte [rax + 0xf1], cl
mov rax, qword [rsp + 0xc0]
mov byte [rax + 0xf2], 4
mov rax, qword [rsp + 0xc0]
mov byte [rax + 0xf3], 4
mov rax, qword [rsp + 0xc0]
mov byte [rax + 0xf4], 4
jmp 0x14015a63f
mov rax, qword [rsp + 0xc0]
movzx eax, byte [rax + 0x68]
test eax, eax
je 0x14015a535
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x14015a45d
mov dword [rsp + 0x68], 2
jmp 0x14015a465
mov dword [rsp + 0x68], 4
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x68]
mov byte [rax + 0xf0], cl
movzx eax, byte [rsp + 0x23]
test eax, eax
je 0x14015a48b
mov dword [rsp + 0x6c], 4
jmp 0x14015a493
mov dword [rsp + 0x6c], 8
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x6c]
mov byte [rax + 0xf1], cl
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x14015a4b9
mov dword [rsp + 0x70], 2
jmp 0x14015a4c1
mov dword [rsp + 0x70], 4
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x70]
mov byte [rax + 0xf2], cl
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x14015a4e7
mov dword [rsp + 0x74], 2
jmp 0x14015a4ef
mov dword [rsp + 0x74], 4
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x74]
mov byte [rax + 0xf3], cl
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x14015a515
mov dword [rsp + 0x78], 2
jmp 0x14015a51d
mov dword [rsp + 0x78], 4
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0xf4], cl
jmp 0x14015a63f
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x14015a548
mov dword [rsp + 0x7c], 2
jmp 0x14015a550
mov dword [rsp + 0x7c], 4
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x7c]
mov byte [rax + 0xf0], cl
movzx eax, byte [rsp + 0x23]
test eax, eax
je 0x14015a579
mov dword [rsp + 0x80], 4
jmp 0x14015a584
mov dword [rsp + 0x80], 8
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x80]
mov byte [rax + 0xf1], cl
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x14015a5b0
mov dword [rsp + 0x84], 2
jmp 0x14015a5bb
mov dword [rsp + 0x84], 4
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x84]
mov byte [rax + 0xf2], cl
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x14015a5e7
mov dword [rsp + 0x88], 2
jmp 0x14015a5f2
mov dword [rsp + 0x88], 4
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x88]
mov byte [rax + 0xf3], cl
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x14015a61e
mov dword [rsp + 0x8c], 4
jmp 0x14015a629
mov dword [rsp + 0x8c], 8
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x8c]
mov byte [rax + 0xf4], cl
xor eax, eax
add rsp, 0xb8
ret