Function at 0x14008f900
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
mov rbp, qword [r9 + 0x18]
mov r15, qword [r9 + 0x20]
cmp rbp, r15
jbe 0x14008f92c
mov qword [rcx], 0
jmp 0x140091fd2
mov rdi, r9
mov rsi, r8
mov rbx, rdx
mov qword [rsp + 0x38], rcx
mov edx, dword [r9]
mov rax, rdx
dec rax
cmp rax, 2
mov qword [rsp + 0x30], r8
jb 0x14008f96c
lea rax, [rbx + 0x60]
cmp byte [rbx + 0x78], 3
lea r14, [0x1401269e0]
cmovne r14, rax
cmp byte [r14 + 0x18], 2
jne 0x14008fb70
cmp byte [rdi + 0x28], 0
je 0x14008fab3
mov r14, qword [rbx + 0x2b0]
test rbp, rbp
je 0x14008fa26
lea rax, [rbp - 1]
cmp qword [rdi + 0x10], rax
jbe 0x14008fa26
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14008fa26
movzx r12d, byte [rcx + rax]
mov r8d, dword [rdi + 4]
mov rax, qword [rbx + 0x298]
or rax, qword [rbx + 0x2a8]
mov rcx, qword [rbx + 0x290]
or rcx, qword [rbx + 0x2a0]
or rcx, rax
je 0x14008fa10
lea rax, [rbx + 0x290]
mov r11d, r12d
shr r11d, 7
shl r11, 4
mov r9d, 1
xor r10d, r10d
mov ecx, r12d
shld r10, r9, cl
shl r9, cl
xor ecx, ecx
test r12b, 0x40
cmovne r10, r9
cmovne r9, rcx
and r10, qword [rax + r11 + 8]
and r9, qword [rax + r11]
or r9, r10
jne 0x1400905bb
movzx eax, byte [rbx + r12 + 0x90]
movzx r9d, al
mov rax, r9
test edx, edx
jne 0x14008fa37
jmp 0x14008fa44
mov r8d, dword [rdi + 4]
mov al, 2
movzx r9d, al
mov rax, r9
test edx, edx
je 0x14008fa44
cmp edx, 1
jne 0x14008ff8d
lea rax, [r9 + 6]
cmp rax, qword [rsi + 0x40]
jae 0x14009242d
mov rcx, qword [rsi + 0x38]
mov r12d, dword [rcx + rax*4]
test r12d, r12d
js 0x140090876
cmp qword [rsi], 1
jne 0x14008fa84
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rsi + 0x158], rax
mov qword [rsi], 1
mov qword [rsi + 8], rbp
mov qword [rsi + 0x10], rbp
cmp rbp, r15
jae 0x14008fce8
mov qword [rsp + 0x30], r14
mov r14, qword [rdi + 8]
mov r10, qword [rdi + 0x10]
lea rcx, [rsp + 0x40]
jmp 0x14008fd6c
mov r10, qword [rbx + 0x2b0]
test rbp, rbp
je 0x14008fc48
lea rax, [rbp - 1]
cmp qword [rdi + 0x10], rax
jbe 0x14008fc48
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14008fc48
movzx r12d, byte [rcx + rax]
mov r8d, dword [rdi + 4]
mov rax, qword [rbx + 0x298]
or rax, qword [rbx + 0x2a8]
mov rcx, qword [rbx + 0x290]
or rcx, qword [rbx + 0x2a0]
or rcx, rax
je 0x14008fb53
lea rax, [rbx + 0x290]
mov r11d, r12d
shr r11d, 7
shl r11, 4
mov r9d, 1
mov r14, r10
xor r10d, r10d
mov ecx, r12d
shld r10, r9, cl
shl r9, cl
xor ecx, ecx
test r12b, 0x40
cmovne r10, r9
cmovne r9, rcx
and r10, qword [rax + r11 + 8]
and r9, qword [rax + r11]
or r9, r10
mov r10, r14
jne 0x1400905bb
movzx eax, byte [rbx + r12 + 0x90]
movzx r9d, al
mov rax, r9
test edx, edx
jne 0x14008fc59
jmp 0x14008fc66
cmp byte [rdi + 0x28], 0
mov qword [rsp + 0x70], rdx
je 0x14009050b
mov rax, qword [rbx + 0x2b0]
mov qword [rsp + 0x60], rax
mov eax, dword [rax + 0x17c]
mov dword [rsp + 0x68], eax
test rbp, rbp
je 0x14009032b
lea rax, [rbp - 1]
cmp qword [rdi + 0x10], rax
jbe 0x14009032b
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14009032b
movzx r12d, byte [rcx + rax]
mov eax, dword [rdi + 4]
mov dword [rsp + 0x58], eax
mov rax, qword [rbx + 0x298]
or rax, qword [rbx + 0x2a8]
mov rcx, qword [rbx + 0x290]
or rcx, qword [rbx + 0x2a0]
or rcx, rax
je 0x14008fc2b
lea rax, [rbx + 0x290]
mov r10d, r12d
shr r10d, 7
shl r10, 4
mov r8d, 1
xor r9d, r9d
mov ecx, r12d
shld r9, r8, cl
shl r8, cl
xor ecx, ecx
test r12b, 0x40
cmovne r9, r8
cmovne r8, rcx
and r9, qword [rax + r10 + 8]
and r8, qword [rax + r10]
or r8, r9
jne 0x1400905bb
movzx eax, byte [rbx + r12 + 0x90]
movzx r9d, al
mov rax, r9
test edx, edx
jne 0x14009033f
jmp 0x14009034c
mov r8d, dword [rdi + 4]
mov al, 2
movzx r9d, al
mov rax, r9
test edx, edx
je 0x14008fc66
cmp edx, 1
jne 0x1400905c6
lea rax, [r9 + 6]
cmp rax, qword [rsi + 0x40]
jae 0x14009242d
mov rcx, qword [rsi + 0x38]
mov r12d, dword [rcx + rax*4]
test r12d, r12d
js 0x140090b18
cmp qword [rsi], 1
jne 0x14008fca6
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rsi + 0x158], rax
mov qword [rsi], 1
mov qword [rsi + 8], rbp
mov qword [rsi + 0x10], rbp
cmp rbp, r15
jae 0x14009047d
mov r14, qword [rdi + 8]
mov r9, qword [rdi + 0x10]
mov rax, qword [rbx + 0x2b8]
and eax, 0x3f
mov qword [rsp + 0xa0], rax
xor r11d, r11d
mov qword [rsp + 0x90], r9
jmp 0x140090042
mov r10, qword [rdi + 0x10]
cmp r15, r10
jae 0x14008ffd9
mov rax, qword [rdi + 8]
mov rdx, rsi
movzx esi, byte [rax + r15]
movzx ecx, byte [rbx + rsi + 0x190]
mov eax, r12d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdx + 0x28]
jae 0x14009242d
mov rdi, rdx
mov rcx, qword [rdx + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x140090b4b
mov edx, edx
test edx, 0x8000000
jne 0x14009067d
test edx, 0x20000000
jne 0x1400904df
xor ecx, ecx
jmp 0x140091dad
mov r12d, r8d
nop word cs:[rax + rax]
inc rbp
cmp rbp, r15
jae 0x14008ffcb
cmp r12d, 0x7ffffff
jbe 0x14008fdf0
cmp qword [rsi], 0
je 0x14009242d
mov qword [rsi + 0x10], rbp
cmp rbp, r10
jae 0x14009242d
movzx r8d, byte [r14 + rbp]
movzx edx, byte [rbx + r8 + 0x190]
mov eax, r12d
and eax, 0x7ffffff
add rax, rdx
cmp rax, qword [rsi + 0x28]
jae 0x14009242d
mov rdx, qword [rsi + 0x20]
mov edx, dword [rdx + rax*4]
test edx, edx
js 0x14008ff44
mov r13, rbp
mov r12d, edx
mov rbp, r13
cmp edx, 0x7ffffff
jbe 0x14008fd60
mov eax, edx
test eax, 0x10000000
je 0x1400906fc
mov r12d, edx
mov rbp, r13
jmp 0x14008fd60
cmp rbp, r15
jae 0x14008fd60
mov rax, qword [rsi + 0x20]
mov r11, qword [rsi + 0x28]
nop word cs:[rax + rax]
movzx edx, byte [r14 + rbp]
movzx edx, byte [rbx + rdx + 0x190]
mov r8d, r12d
add r8, rdx
mov r8d, dword [rax + r8*4]
cmp r8, 0x7ffffff
ja 0x14008fec7
lea r13, [rbp + 3]
cmp r13, r15
jae 0x14008fd51
movzx edx, byte [r14 + rbp + 1]
movzx edx, byte [rbx + rdx + 0x190]
add rdx, r8
mov r12d, dword [rax + rdx*4]
cmp r12, 0x7ffffff
ja 0x14008fead
movzx edx, byte [r14 + rbp + 2]
movzx edx, byte [rbx + rdx + 0x190]
add rdx, r12
mov r8d, dword [rax + rdx*4]
cmp r8, 0x7ffffff
ja 0x14008fec3
movzx edx, byte [r14 + rbp + 3]
movzx edx, byte [rbx + rdx + 0x190]
add rdx, r8
mov r12d, dword [rax + rdx*4]
cmp r12d, 0x7ffffff
ja 0x14008feb3
add rbp, 4
cmp rbp, r15
jb 0x14008fe10
jmp 0x14008fd60
inc rbp
mov r13, rbp
mov edx, r12d
mov r12d, r8d
test edx, edx
jns 0x14008fdcf
jmp 0x14008fed5
add rbp, 2
mov r13, rbp
mov edx, r8d
test edx, edx
jns 0x14008fdcf
cmp qword [rsi], 0
je 0x14009242d
mov qword [rsi + 0x10], r13
movzx r8d, byte [r14 + r13]
movzx r9d, byte [rbx + r8 + 0x190]
mov edx, r12d
add rdx, r9
cmp rdx, r11
jae 0x14009242d
mov edx, dword [rax + rdx*4]
test edx, edx
jns 0x14008fdc1
mov qword [rsp + 0x70], r10
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov rbp, rsi
mov qword [rsp + 0x48], rsi
mov rsi, rcx
mov edx, r12d
call fcn.140080a50
test eax, eax
jne 0x1400921f0
mov r10, qword [rsp + 0x70]
mov rcx, rsi
mov rsi, rbp
jmp 0x14008fdc1
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], r10
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov rdi, rsi
mov qword [rsp + 0x48], rsi
mov rsi, rcx
mov edx, r12d
call fcn.140080a50
test eax, eax
jne 0x140091cbf
mov r13, rbp
mov r10, qword [rsp + 0x70]
mov rax, rdi
mov rdi, qword [rsp + 0x68]
mov rcx, rsi
mov rsi, rax
jmp 0x14008fdc1
test byte [rbx + 0x81], 1
mov r12d, r8d
mov r13d, 2
je 0x140091c76
cmp qword [r14 + 0x168], r12
jbe 0x14009075a
lea rax, [r12 + r12*2]
lea rax, [r9 + rax*2]
add rax, 0xc
cmp rax, qword [rsi + 0x40]
jb 0x14008fa4e
jmp 0x14009242d
mov r14, qword [rsp + 0x30]
cmp r15, r10
jb 0x14008fcf5
movzx r8d, byte [rbx + 0x28f]
shl r8d, 0x10
add r8d, 0x10001
mov ecx, r8d
shr ecx, 0x10
mov eax, r12d
and eax, 0x7ffffff
add rax, rcx
cmp qword [rsi + 0x28], rax
jbe 0x14009242d
mov rcx, qword [rsi + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x140090b76
xor eax, eax
test edx, 0x8000000
jne 0x140091d5d
xor ecx, ecx
jmp 0x140091db0
mov r12d, edx
nop
mov r13, rbp
inc r13
mov rbp, r13
cmp r13, r15
jae 0x140090604
cmp r12d, 0x7ffffff
jbe 0x1400900c0
cmp qword [rsi], 0
je 0x14009242d
mov qword [rsi + 0x10], rbp
cmp rbp, r9
jae 0x14009242d
movzx r8d, byte [r14 + rbp]
movzx ecx, byte [rbx + r8 + 0x190]
mov eax, r12d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rsi + 0x28]
jae 0x14009242d
mov rcx, qword [rsi + 0x20]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x1400902d4
mov r13, rbp
mov r12d, eax
cmp r12d, 0x7ffffff
jbe 0x140090033
mov eax, r12d
test eax, 0x10000000
jne 0x140090033
jmp 0x14009022f
cmp rbp, r15
jae 0x140090030
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x28]
nop word cs:[rax + rax]
movzx edx, byte [r14 + rbp]
movzx edx, byte [rbx + rdx + 0x190]
mov r8d, r12d
add r8, rdx
mov edx, dword [rax + r8*4]
cmp rdx, 0x7ffffff
ja 0x14009020f
lea r13, [rbp + 3]
cmp r13, r15
jae 0x14009002b
movzx r8d, byte [r14 + rbp + 1]
movzx r8d, byte [rbx + r8 + 0x190]
add r8, rdx
mov r12d, dword [rax + r8*4]
cmp r12, 0x7ffffff
ja 0x140090182
movzx edx, byte [r14 + rbp + 2]
movzx edx, byte [rbx + rdx + 0x190]
add rdx, r12
mov edx, dword [rax + rdx*4]
cmp rdx, 0x7ffffff
ja 0x14009020b
movzx r8d, byte [r14 + rbp + 3]
movzx r8d, byte [rbx + r8 + 0x190]
add r8, rdx
mov r12d, dword [rax + r8*4]
cmp r12d, 0x7ffffff
ja 0x140090188
add rbp, 4
cmp rbp, r15
jb 0x1400900e0
jmp 0x140090030
inc rbp
mov r13, rbp
mov r8d, r12d
mov r12d, edx
test r8d, r8d
jns 0x14009021e
cmp qword [rsi], 0
je 0x14009242d
mov qword [rsi + 0x10], r13
movzx r8d, byte [r14 + r13]
movzx r9d, byte [rbx + r8 + 0x190]
mov edx, r12d
add rdx, r9
cmp rdx, rcx
jae 0x14009242d
mov eax, dword [rax + rdx*4]
test eax, eax
mov r9, qword [rsp + 0x90]
jns 0x140090097
mov qword [rsp + 0x58], r11
mov rbp, r10
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.140080a50
test eax, eax
jne 0x1400921f0
mov r12d, edx
mov r10, rbp
jmp 0x14009030c
add rbp, 2
mov r13, rbp
mov r8d, edx
test r8d, r8d
js 0x140090197
mov r12d, r8d
mov eax, r12d
test eax, 0x10000000
jne 0x140090033
test eax, 0x8000000
je 0x140090a30
mov r11d, 1
cmp qword [r10 + 0x168], 1
jne 0x14009025c
mov dword [rsp + 0x70], 0
mov qword [rsp + 0x68], r13
jmp 0x140090033
mov eax, r12d
and eax, 0x7ffffff
mov rcx, qword [rsp + 0xa0]
shr rax, cl
cmp rax, qword [rsi + 0x58]
jae 0x14009242d
mov dword [rsp + 0x70], 0
mov rdx, qword [rsi + 0x50]
shl rax, 4
mov rcx, qword [rdx + rax + 8]
test rcx, rcx
je 0x14009242d
mov rax, qword [rdx + rax]
test byte [rax + 0x10], 2
jne 0x1400902ab
mov qword [rsp + 0x68], r13
jmp 0x140090033
cmp rcx, 0xc
jbe 0x14009242d
add rcx, 0xfffffffffffffff3
cmp rcx, 3
jbe 0x14009242d
mov eax, dword [rax + 0x1d]
mov dword [rsp + 0x70], eax
mov qword [rsp + 0x68], r13
jmp 0x140090033
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x60], r10
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.140080a50
test eax, eax
jne 0x140091cbf
mov r12d, edx
mov r13, rbp
mov r10, qword [rsp + 0x60]
mov r11, qword [rsp + 0x58]
mov r9, qword [rsp + 0x90]
cmp r12d, 0x7ffffff
jbe 0x140090033
jmp 0x1400900a3
mov eax, dword [rdi + 4]
mov dword [rsp + 0x58], eax
mov al, 2
movzx r9d, al
mov rax, r9
test edx, edx
je 0x14009034c
cmp edx, 1
jne 0x1400906b7
lea rax, [r9 + 6]
cmp rax, qword [rsi + 0x40]
jae 0x14009242d
mov rcx, qword [rsi + 0x38]
mov r12d, dword [rcx + rax*4]
test r12d, r12d
js 0x140091264
mov r13, qword [rdi + 8]
mov rsi, qword [rdi + 0x10]
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
mov rdx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x40]
dec rdx
and rdx, 0xfffffffffffffff0
add rdx, rax
add rdx, 0x10
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rbp
lea rcx, [rsp + 0x40]
mov qword [rsp + 0xa0], rdx
mov r8, r13
mov r9, rsi
mov qword [rsp + 0x90], r10
call r10
cmp qword [rsp + 0x40], 0
je 0x140090a29
mov rbp, qword [rsp + 0x48]
cmp dword [rsp + 0x68], 0
mov rdx, qword [rsp + 0x70]
je 0x140090d02
cmp rsi, r15
jb 0x14009242d
lea rax, [r15 + 1]
cmp rax, rbp
jb 0x14009242d
mov al, 2
test rbp, rbp
je 0x140090bcf
lea rcx, [rbp - 1]
cmp rsi, rcx
jbe 0x140090bcf
movzx r12d, byte [r13 + rcx]
mov rax, qword [rbx + 0x298]
or rax, qword [rbx + 0x2a8]
mov rcx, qword [rbx + 0x290]
or rcx, qword [rbx + 0x2a0]
or rcx, rax
je 0x140090bc6
lea rax, [rbx + 0x290]
mov r10d, r12d
shr r10d, 7
shl r10, 4
mov r8d, 1
xor r9d, r9d
mov ecx, r12d
shld r9, r8, cl
shl r8, cl
xor ecx, ecx
test r12b, 0x40
cmovne r9, r8
cmovne r8, rcx
and r9, qword [rax + r10 + 8]
and r8, qword [rax + r10]
or r8, r9
je 0x140090bc6
mov edi, 4
jmp 0x140090c03
mov r9, qword [rdi + 0x10]
xor r11d, r11d
cmp r15, r9
jae 0x140090616
mov rax, qword [rdi + 8]
mov rdx, rsi
movzx esi, byte [rax + r15]
movzx ecx, byte [rbx + rsi + 0x190]
mov eax, r12d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdx + 0x28]
jae 0x14009242d
mov rcx, qword [rdx + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x14009135d
mov edx, edx
test edx, 0x8000000
jne 0x140091f35
test edx, 0x20000000
je 0x140091f92
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 0
mov byte [rax + 1], sil
mov qword [rax + 8], r15
jmp 0x140091d0b
mov rax, qword [rbx + 0x2b0]
mov qword [rsp + 0x58], rax
mov eax, dword [rax + 0x17c]
mov dword [rsp + 0x68], eax
test rbp, rbp
je 0x14009069a
lea rax, [rbp - 1]
cmp qword [rdi + 0x10], rax
jbe 0x14009069a
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14009069a
movzx r12d, byte [rcx + rax]
mov eax, dword [rdi + 4]
mov dword [rsp + 0x60], eax
mov rax, qword [rbx + 0x298]
or rax, qword [rbx + 0x2a8]
mov rcx, qword [rbx + 0x290]
or rcx, qword [rbx + 0x2a0]
or rcx, rax
je 0x1400908a3
lea rax, [rbx + 0x290]
mov r10d, r12d
shr r10d, 7
shl r10, 4
mov r8d, 1
xor r9d, r9d
mov ecx, r12d
shld r9, r8, cl
shl r8, cl
xor ecx, ecx
test r12b, 0x40
cmovne r9, r8
cmovne r8, rcx
and r9, qword [rax + r10 + 8]
and r8, qword [rax + r10]
or r8, r9
je 0x1400908a3
mov r13d, 4
jmp 0x140091c76
test byte [rbx + 0x81], 1
mov r12d, r8d
mov r13d, 2
je 0x140091c76
cmp qword [r10 + 0x168], r12
jbe 0x14009084d
lea rax, [r12 + r12*2]
lea rax, [r9 + rax*2]
add rax, 0xc
cmp rax, qword [rsi + 0x40]
jb 0x14008fc70
jmp 0x14009242d
mov ebp, dword [rsp + 0x70]
mov r14, qword [rsp + 0x68]
cmp r15, r9
jb 0x14009048d
movzx r8d, byte [rbx + 0x28f]
shl r8d, 0x10
add r8d, 0x10001
mov ecx, r8d
shr ecx, 0x10
mov eax, r12d
and eax, 0x7ffffff
add rax, rcx
cmp qword [rsi + 0x28], rax
jbe 0x14009242d
mov rcx, qword [rsi + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x1400913bb
test edx, 0x8000000
je 0x140091f92
cmp qword [r10 + 0x168], 1
jne 0x140090826
mov r11d, 1
xor ebp, ebp
mov r14, r9
jmp 0x140091f92
cmp qword [r14 + 0x168], 1
jne 0x140090783
mov ecx, 1
xor eax, eax
mov r10, r15
jmp 0x140091dad
mov eax, dword [rdi + 4]
mov dword [rsp + 0x60], eax
mov al, 2
movzx r9d, al
mov rax, r9
test edx, edx
jne 0x1400908b7
jmp 0x1400908f8
test byte [rbx + 0x81], 1
mov r12d, dword [rsp + 0x58]
mov r13d, 2
je 0x140091c76
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x168], r12
jbe 0x140090ab2
lea rax, [r12 + r12*2]
lea rax, [r9 + rax*2]
add rax, 0xc
cmp rax, qword [rsi + 0x40]
jb 0x140090356
jmp 0x14009242d
test eax, 0x8000000
jne 0x14009079b
test eax, 0x40000000
jne 0x140090adb
test eax, 0x20000000
je 0x14009242d
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x14009242d
mov rcx, r13
sub rcx, rax
neg rcx
mov rdx, r13
sub rdx, rax
cmovb rdx, rcx
add qword [rsi + 0x158], rdx
cmp r13, r10
jb 0x140090a82
jmp 0x14009242d
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x14009242d
mov r12d, 1
shl r12, cl
or r12d, 0x40000000
jmp 0x14008fa5f
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
mov rsi, r15
jmp 0x140091d82
xor eax, eax
mov rcx, qword [rsp + 0x30]
cmp qword [rcx + 0x168], 1
je 0x1400907df
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
cmp rdx, qword [rsi + 0x58]
jae 0x14009242d
mov rax, qword [rsi + 0x50]
shl rdx, 4
mov rcx, qword [rax + rdx]
mov rdx, qword [rax + rdx + 8]
xor r8d, r8d
call fcn.1400781e0
mov rcx, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x14009242d
mov rdx, r13
sub rdx, rcx
neg rdx
mov r8, r13
sub r8, rcx
cmovb r8, rdx
add qword [rsi + 0x158], r8
mov rcx, qword [rsp + 0x38]
mov qword [rcx], 1
mov qword [rcx + 8], r13
mov dword [rcx + 0x10], eax
jmp 0x140091fd2
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
mov rax, qword [rsp + 0x30]
cmp rdx, qword [rax + 0x58]
mov rsi, r9
jb 0x140091f6e
jmp 0x14009242d
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x14009242d
mov r12d, 1
shl r12, cl
or r12d, 0x40000000
jmp 0x14008fc81
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
call fcn.140081d50
mov r13, rax
mov r12, rax
shr r12, 0x20
cmp r13d, 5
je 0x14008fa5f
jmp 0x140091c76
movzx eax, byte [rbx + r12 + 0x90]
movzx r9d, al
mov rax, r9
test edx, edx
je 0x1400908f8
cmp edx, 1
jne 0x1400908c2
lea rax, [r9 + 6]
jmp 0x1400908f8
test byte [rbx + 0x81], 1
mov r12d, dword [rsp + 0x60]
mov r13d, 2
je 0x140091c76
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0x168], r12
jbe 0x140090c9b
lea rax, [r12 + r12*2]
lea rax, [r9 + rax*2]
add rax, 0xc
cmp rax, qword [rsi + 0x40]
jae 0x14009242d
mov rcx, qword [rsi + 0x38]
mov r12d, dword [rcx + rax*4]
test r12d, r12d
js 0x140091c49
mov r13, qword [rdi + 8]
mov rsi, qword [rdi + 0x10]
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
mov rdx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x40]
dec rdx
and rdx, 0xfffffffffffffff0
add rdx, rax
add rdx, 0x10
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rbp
lea rcx, [rsp + 0x40]
mov qword [rsp + 0xa0], rdx
mov r8, r13
mov r9, rsi
mov qword [rsp + 0x90], r10
call r10
cmp qword [rsp + 0x40], 0
je 0x140090a29
mov rbp, qword [rsp + 0x48]
cmp dword [rsp + 0x68], 0
mov rdx, qword [rsp + 0x70]
je 0x1400914db
cmp rsi, r15
jb 0x14009242d
lea rax, [r15 + 1]
cmp rax, rbp
jb 0x14009242d
mov al, 2
test rbp, rbp
je 0x1400914a3
lea rcx, [rbp - 1]
cmp rsi, rcx
jbe 0x1400914a3
movzx r12d, byte [r13 + rcx]
mov rax, qword [rbx + 0x298]
or rax, qword [rbx + 0x2a8]
mov rcx, qword [rbx + 0x290]
or rcx, qword [rbx + 0x2a0]
or rcx, rax
je 0x14009149a
lea rax, [rbx + 0x290]
mov r10d, r12d
shr r10d, 7
shl r10, 4
mov r8d, 1
xor r9d, r9d
mov ecx, r12d
shld r9, r8, cl
shl r8, cl
xor ecx, ecx
test r12b, 0x40
cmovne r9, r8
cmovne r8, rcx
and r9, qword [rax + r10 + 8]
and r8, qword [rax + r10]
or r8, r9
je 0x14009149a
mov edi, 4
jmp 0x140091b1a
xor eax, eax
jmp 0x140091b8e
test eax, 0x40000000
mov edx, dword [rsp + 0x70]
jne 0x140090c56
test eax, 0x20000000
je 0x14009242d
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x14009242d
mov rcx, r13
sub rcx, rax
neg rcx
mov rdx, r13
sub rdx, rax
cmovb rdx, rcx
add qword [rsi + 0x158], rdx
cmp r13, r9
jae 0x14009242d
movzx ebx, byte [r14 + r13]
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 0
mov byte [rax + 1], bl
mov qword [rax + 8], r13
jmp 0x140091d0b
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x14009242d
mov r12d, 1
shl r12, cl
or r12d, 0x40000000
jmp 0x140090367
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x14009242d
mov rcx, r13
sub rcx, rax
neg rcx
sub r13, rax
cmovb r13, rcx
add qword [rsi + 0x158], r13
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
jmp 0x140091fd2
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov r14, r10
call fcn.140081d50
mov r10, r14
mov r13, rax
mov r12, rax
shr r12, 0x20
cmp r13d, 5
je 0x14008fc81
jmp 0x140091c76
mov r8d, esi
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.140080a50
test eax, eax
jne 0x140091393
jmp 0x14008fd30
mov rdi, rsi
mov rsi, r10
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.140080a50
test eax, eax
je 0x140091d49
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 1
mov r15, rsi
mov qword [rax + 8], rsi
jmp 0x140091d0b
movzx eax, byte [rbx + r12 + 0x90]
movzx r9d, al
mov rax, r9
test edx, edx
je 0x140090ce2
cmp edx, 1
jne 0x140090bec
lea rax, [r9 + 6]
jmp 0x140090ce2
test byte [rbx + 0x81], 1
mov r12d, dword [rsp + 0x58]
mov edi, 2
jne 0x140090cc4
lea ecx, [rdi - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
test eax, eax
je 0x140091b5d
cmp eax, 1
jne 0x140091b35
test rbp, rbp
je 0x14009242d
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
dec rbp
mov byte [rax], 0
mov byte [rax + 1], r12b
jmp 0x140091b7c
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x14009242d
mov rcx, r13
sub rcx, rax
neg rcx
sub r13, rax
cmovb r13, rcx
add qword [rsi + 0x158], r13
mov rax, qword [rsp + 0x38]
mov qword [rax], r11
mov rcx, qword [rsp + 0x68]
mov qword [rax + 8], rcx
mov dword [rax + 0x10], edx
jmp 0x140091fd2
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x14009242d
mov r12d, 1
shl r12, cl
or r12d, 0x40000000
jmp 0x140090913
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x168], r12
jbe 0x140091d20
lea rax, [r12 + r12*2]
lea rax, [r9 + rax*2]
add rax, 0xc
mov rcx, qword [rsp + 0x30]
cmp rax, qword [rcx + 0x40]
jae 0x14009242d
mov rcx, qword [rcx + 0x38]
mov r12d, dword [rcx + rax*4]
test r12d, r12d
js 0x14009202b
mov r8, qword [rsp + 0x30]
cmp qword [r8], 1
jne 0x140090d2c
mov rax, qword [r8 + 0x10]
mov rcx, qword [r8 + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [r8 + 0x158], rax
mov qword [r8], 1
mov qword [r8 + 8], rbp
mov qword [r8 + 0x10], rbp
cmp rbp, r15
jae 0x140091169
lea rax, [r15 + 1]
mov qword [rsp + 0xd0], rax
lea rax, [rbx + 0x290]
mov qword [rsp + 0xc8], rax
movzx eax, byte [rbx + 0x81]
mov byte [rsp + 0x88], al
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x78], rax
lea rax, [rax + rax*2]
lea rax, [rax*2 + 0xc]
mov qword [rsp + 0x80], rax
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
mov eax, 1
mov qword [rsp + 0xc0], rcx
shl rax, cl
or eax, 0x40000000
mov qword [rsp + 0xb8], rax
jmp 0x140090dc2
mov rbp, r14
inc rbp
cmp rbp, r15
jae 0x140091169
cmp r12d, 0x7ffffff
jbe 0x140090e3e
mov rdx, qword [rsp + 0x30]
cmp qword [rdx], 0
je 0x14009242d
mov qword [rdx + 0x10], rbp
cmp rbp, rsi
jae 0x14009242d
movzx r8d, byte [r13 + rbp]
movzx ecx, byte [rbx + r8 + 0x190]
mov eax, r12d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdx + 0x28]
jae 0x14009242d
mov rcx, qword [rdx + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x140091121
mov r14, rbp
mov r12d, edx
mov rbp, r14
cmp edx, 0x7ffffff
jbe 0x140090db6
mov eax, r12d
test eax, 0x10000000
jne 0x140090f35
jmp 0x140091296
cmp rbp, r15
jae 0x140090db6
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx + 0x20]
mov rcx, qword [rcx + 0x28]
nop word cs:[rax + rax]
movzx edx, byte [r13 + rbp]
movzx edx, byte [rbx + rdx + 0x190]
mov r8d, r12d
add r8, rdx
mov edx, dword [rax + r8*4]
cmp rdx, 0x7ffffff
ja 0x140090f15
lea r14, [rbp + 3]
cmp r14, r15
jae 0x140090efb
movzx r8d, byte [r13 + rbp + 1]
movzx r8d, byte [rbx + r8 + 0x190]
add r8, rdx
mov r12d, dword [rax + r8*4]
cmp r12, 0x7ffffff
ja 0x140090f03
movzx edx, byte [r13 + rbp + 2]
movzx edx, byte [rbx + rdx + 0x190]
add rdx, r12
mov edx, dword [rax + rdx*4]
cmp rdx, 0x7ffffff
ja 0x140090f11
movzx r8d, byte [r13 + rbp + 3]
movzx r8d, byte [rbx + r8 + 0x190]
add r8, rdx
mov r12d, dword [rax + r8*4]
cmp r12d, 0x7ffffff
ja 0x140090f09
add rbp, 4
cmp rbp, r15
jb 0x140090e60
jmp 0x140090db6
mov r12d, edx
jmp 0x140090db6
inc rbp
mov r14, rbp
mov r8d, r12d
mov r12d, edx
jmp 0x140090f1b
add rbp, 2
mov r14, rbp
mov r8d, edx
test r8d, r8d
js 0x140091029
mov r12d, r8d
mov eax, r12d
test eax, 0x10000000
je 0x140091296
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r14
lea rcx, [rsp + 0x40]
mov rdx, qword [rsp + 0xa0]
mov r8, r13
mov r9, rsi
call qword [rsp + 0x90]
cmp qword [rsp + 0x40], 0
je 0x140091325
mov rbp, qword [rsp + 0x48]
cmp rbp, r14
jbe 0x140090db3
cmp dword [rsp + 0x68], 0
mov rdx, qword [rsp + 0x70]
je 0x140090db9
cmp rsi, r15
jb 0x14009242d
cmp qword [rsp + 0xd0], rbp
jb 0x14009242d
lea r14, [rbp - 1]
mov al, 2
cmp rsi, r14
mov r10, qword [rsp + 0xc8]
jbe 0x14009100c
movzx ecx, byte [r13 + r14]
mov rax, qword [r10 + 8]
or rax, qword [r10 + 0x18]
mov r8, qword [r10]
or r8, qword [r10 + 0x10]
or r8, rax
je 0x140091004
xor eax, eax
mov r8d, 1
shld rax, r8, cl
mov r9d, ecx
shr r9d, 7
shl r8, cl
shl r9, 4
test cl, 0x40
cmovne rax, r8
mov r11d, 0
cmovne r8, r11
and rax, qword [r10 + r9 + 8]
and r8, qword [r10 + r9]
or r8, rax
jne 0x1400922c1
movzx eax, byte [rbx + rcx + 0x90]
movzx r9d, al
mov rax, r9
test edx, edx
je 0x1400910c2
cmp edx, 1
jne 0x140091092
lea rax, [r9 + 6]
jmp 0x1400910c2
mov rdx, qword [rsp + 0x30]
cmp qword [rdx], 0
je 0x14009242d
mov qword [rdx + 0x10], r14
movzx r8d, byte [r13 + r14]
movzx r9d, byte [rbx + r8 + 0x190]
mov edx, r12d
add rdx, r9
cmp rdx, rcx
jae 0x14009242d
mov edx, dword [rax + rdx*4]
test edx, edx
jns 0x140090e1d
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.140080a50
test eax, eax
je 0x140090e1d
jmp 0x140092157
test byte [rsp + 0x88], 1
je 0x1400922ba
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
cmp qword [rax + 0x168], rcx
jbe 0x14009114e
mov rax, qword [rsp + 0x80]
add rax, r9
mov rcx, qword [rsp + 0x30]
cmp rax, qword [rcx + 0x40]
jae 0x14009242d
mov rcx, qword [rcx + 0x38]
mov r12d, dword [rcx + rax*4]
test r12d, r12d
jns 0x140090db9
mov qword [rsp + 0xa8], rbx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xb0], rax
lea rcx, [rsp + 0xa8]
mov r8d, dword [rsp + 0x58]
call fcn.140081d50
mov rdi, rax
mov r12, rax
shr r12, 0x20
cmp edi, 5
je 0x140090db9
jmp 0x14009242f
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.140080a50
test eax, eax
je 0x140090e1a
jmp 0x140091cbf
mov r12, qword [rsp + 0xb8]
cmp dword [rsp + 0xc0], 0x1b
jb 0x140090db9
jmp 0x14009242d
cmp r15, rsi
jae 0x1400911c2
movzx esi, byte [r13 + r15]
movzx ecx, byte [rbx + rsi + 0x190]
mov eax, r12d
and eax, 0x7ffffff
add rax, rcx
mov rcx, qword [rsp + 0x30]
cmp rax, qword [rcx + 0x28]
jae 0x14009242d
mov rcx, qword [rcx + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x1400920a0
mov edx, edx
test edx, 0x8000000
jne 0x140091215
test edx, 0x20000000
jne 0x140091a52
xor ecx, ecx
jmp 0x140091458
movzx r8d, byte [rbx + 0x28f]
shl r8d, 0x10
add r8d, 0x10001
mov ecx, r8d
shr ecx, 0x10
mov eax, r12d
and eax, 0x7ffffff
add rax, rcx
mov rcx, qword [rsp + 0x30]
cmp qword [rcx + 0x28], rax
jbe 0x14009242d
mov rcx, qword [rcx + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x1400920d0
xor eax, eax
test edx, 0x8000000
jne 0x140091237
xor ecx, ecx
jmp 0x140091458
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x168], 1
jne 0x140091418
mov ecx, 1
xor eax, eax
mov rsi, r15
jmp 0x140091458
mov ecx, 1
mov r8, qword [rsp + 0x60]
cmp qword [r8 + 0x168], 1
je 0x140091458
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
jmp 0x14009142b
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov r8d, dword [rsp + 0x58]
call fcn.140081d50
mov r13, rax
mov r12, rax
shr r12, 0x20
cmp r13d, 5
je 0x140090367
jmp 0x140091c76
test eax, 0x8000000
jne 0x140091e8a
test eax, 0x40000000
jne 0x14009206a
test eax, 0x20000000
je 0x14009242d
mov r8, qword [rsp + 0x30]
mov rax, qword [r8 + 8]
cmp qword [r8], 0
mov qword [r8], 0
je 0x14009242d
mov rcx, r14
sub rcx, rax
neg rcx
mov rdx, r14
sub rdx, rax
cmovb rdx, rcx
add qword [r8 + 0x158], rdx
cmp r14, rsi
jae 0x14009242d
movzx ebx, byte [r13 + r14]
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 0
mov byte [rax + 1], bl
mov qword [rax + 8], r14
jmp 0x140091d0b
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 8]
cmp qword [rdx], 0
mov qword [rdx], 0
je 0x14009242d
mov rcx, r15
sub rcx, rax
neg rcx
sub r15, rax
cmovb r15, rcx
add qword [rdx + 0x158], r15
xor eax, eax
jmp 0x140091b8e
mov qword [rsp + 0x68], r14
mov r13, r11
mov r14, r10
mov r8d, esi
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.140080a50
test eax, eax
je 0x140091f1c
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 1
mov qword [rax + 8], r15
jmp 0x140091d0b
mov qword [rsp + 0x68], r14
mov r13, r9
mov r14, r11
mov rsi, r10
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.140080a50
test eax, eax
je 0x140091fe6
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 1
mov r15, r13
mov qword [rax + 8], r13
jmp 0x140091d0b
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
mov rsi, r15
mov rax, qword [rsp + 0x30]
cmp rdx, qword [rax + 0x58]
jae 0x14009242d
mov rax, qword [rax + 0x50]
shl rdx, 4
mov rcx, qword [rax + rdx]
mov rdx, qword [rax + rdx + 8]
xor r8d, r8d
call fcn.1400781e0
mov ecx, 1
mov r9, qword [rsp + 0x30]
mov rdx, qword [r9 + 8]
cmp qword [r9], 0
mov qword [r9], 0
je 0x14009242d
mov r8, r15
sub r8, rdx
neg r8
sub r15, rdx
cmovb r15, r8
add qword [r9 + 0x158], r15
mov rdx, qword [rsp + 0x38]
mov qword [rdx], rcx
mov qword [rdx + 8], rsi
jmp 0x140091de8
movzx eax, byte [rbx + r12 + 0x90]
movzx r9d, al
mov rax, r9
test edx, edx
je 0x1400914bb
cmp edx, 1
jne 0x140091b03
lea rax, [r9 + 6]
mov rcx, qword [rsp + 0x30]
cmp rax, qword [rcx + 0x40]
jae 0x14009242d
mov rcx, qword [rcx + 0x38]
mov r12d, dword [rcx + rax*4]
test r12d, r12d
js 0x14009217f
mov r8, qword [rsp + 0x30]
cmp qword [r8], 1
jne 0x140091505
mov rax, qword [r8 + 0x10]
mov rcx, qword [r8 + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [r8 + 0x158], rax
mov qword [r8], 1
mov qword [r8 + 8], rbp
mov qword [r8 + 0x10], rbp
cmp rbp, r15
jae 0x1400919dd
lea rax, [r15 + 1]
mov qword [rsp + 0xd0], rax
lea rax, [rbx + 0x290]
mov qword [rsp + 0xc8], rax
movzx eax, byte [rbx + 0x81]
mov byte [rsp + 0xc0], al
mov eax, dword [rsp + 0x60]
mov qword [rsp + 0x88], rax
lea rax, [rax + rax*2]
lea rax, [rax*2 + 0xc]
mov qword [rsp + 0xe0], rax
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
mov eax, 1
mov qword [rsp + 0xb8], rcx
shl rax, cl
or eax, 0x40000000
mov qword [rsp + 0xd8], rax
xor eax, eax
mov qword [rsp + 0x78], rax
mov r14, rbp
jmp 0x1400915b8
mov r12, qword [rsp + 0xd8]
cmp dword [rsp + 0xb8], 0x1b
jae 0x14009242d
cmp r14, r15
jae 0x1400919e4
cmp r12d, 0x7ffffff
jbe 0x140091636
mov rdx, qword [rsp + 0x30]
cmp qword [rdx], 0
je 0x14009242d
mov qword [rdx + 0x10], r14
cmp r14, rsi
jae 0x14009242d
movzx r8d, byte [r13 + r14]
movzx ecx, byte [rbx + r8 + 0x190]
mov eax, r12d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdx + 0x28]
jae 0x14009242d
mov rcx, qword [rdx + 0x20]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x14009190c
mov rbp, r14
mov r12d, eax
cmp r12d, 0x7ffffff
jbe 0x140091945
mov eax, r12d
test eax, 0x10000000
jne 0x140091721
jmp 0x140091956
cmp r14, r15
jae 0x140091942
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx + 0x20]
mov rcx, qword [rcx + 0x28]
nop dword [rax]
movzx edx, byte [r13 + r14]
movzx edx, byte [rbx + rdx + 0x190]
mov r8d, r12d
add r8, rdx
mov edx, dword [rax + r8*4]
cmp rdx, 0x7ffffff
ja 0x140091701
lea rbp, [r14 + 3]
cmp rbp, r15
jae 0x14009193f
movzx r8d, byte [r13 + r14 + 1]
movzx r8d, byte [rbx + r8 + 0x190]
add r8, rdx
mov r12d, dword [rax + r8*4]
cmp r12, 0x7ffffff
ja 0x1400916ef
movzx edx, byte [r13 + r14 + 2]
movzx edx, byte [rbx + rdx + 0x190]
add rdx, r12
mov edx, dword [rax + rdx*4]
cmp rdx, 0x7ffffff
ja 0x1400916fd
movzx r8d, byte [r13 + r14 + 3]
movzx r8d, byte [rbx + r8 + 0x190]
add r8, rdx
mov r12d, dword [rax + r8*4]
cmp r12d, 0x7ffffff
ja 0x1400916f5
add r14, 4
cmp r14, r15
jb 0x140091650
jmp 0x140091942
inc r14
mov rbp, r14
mov r8d, r12d
mov r12d, edx
jmp 0x140091707
add r14, 2
mov rbp, r14
mov r8d, edx
test r8d, r8d
js 0x1400918a0
mov r12d, r8d
mov eax, r12d
test eax, 0x10000000
je 0x140091956
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rbp
lea rcx, [rsp + 0x40]
mov rdx, qword [rsp + 0xa0]
mov r8, r13
mov r9, rsi
call qword [rsp + 0x90]
cmp qword [rsp + 0x40], 0
je 0x140091b9b
mov r14, qword [rsp + 0x48]
cmp r14, rbp
jbe 0x140091945
cmp dword [rsp + 0x68], 0
mov rdx, qword [rsp + 0x70]
je 0x1400915af
cmp rsi, r15
jb 0x14009242d
cmp qword [rsp + 0xd0], r14
jb 0x14009242d
lea rbp, [r14 - 1]
mov al, 2
cmp rsi, rbp
mov r10, qword [rsp + 0xc8]
jbe 0x1400917f8
movzx ecx, byte [r13 + rbp]
mov rax, qword [r10 + 8]
or rax, qword [r10 + 0x18]
mov r8, qword [r10]
or r8, qword [r10 + 0x10]
or r8, rax
je 0x1400917f0
xor eax, eax
mov r8d, 1
shld rax, r8, cl
mov r9d, ecx
shr r9d, 7
shl r8, cl
shl r9, 4
test cl, 0x40
cmovne rax, r8
mov r11d, 0
cmovne r8, r11
and rax, qword [r10 + r9 + 8]
and r8, qword [r10 + r9]
or r8, rax
jne 0x140092100
movzx eax, byte [rbx + rcx + 0x90]
movzx r9d, al
mov rax, r9
test edx, edx
je 0x140091841
cmp edx, 1
jne 0x14009180e
lea rax, [r9 + 6]
jmp 0x140091841
test byte [rsp + 0xc0], 1
je 0x1400920f9
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x88]
cmp qword [rax + 0x168], rcx
jbe 0x140091599
mov rax, qword [rsp + 0xe0]
add rax, r9
mov rcx, qword [rsp + 0x30]
cmp rax, qword [rcx + 0x40]
jae 0x14009242d
mov rcx, qword [rcx + 0x38]
mov r12d, dword [rcx + rax*4]
test r12d, r12d
jns 0x1400915af
mov qword [rsp + 0xa8], rbx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xb0], rax
lea rcx, [rsp + 0xa8]
mov r8d, dword [rsp + 0x60]
call fcn.140081d50
mov rdi, rax
mov r12, rax
shr r12, 0x20
cmp edi, 5
je 0x1400915af
jmp 0x1400923eb
mov rdx, qword [rsp + 0x30]
cmp qword [rdx], 0
je 0x14009242d
mov qword [rdx + 0x10], rbp
movzx r8d, byte [r13 + rbp]
movzx r9d, byte [rbx + r8 + 0x190]
mov edx, r12d
add rdx, r9
cmp rdx, rcx
jae 0x14009242d
mov eax, dword [rax + rdx*4]
test eax, eax
jns 0x140091613
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.140080a50
test eax, eax
jne 0x140091cbf
mov r12d, edx
jmp 0x140091616
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.140080a50
test eax, eax
jne 0x140092157
mov r12d, edx
mov rbp, r14
jmp 0x140091616
mov r12d, edx
mov rbp, r14
inc rbp
cmp rbp, r15
jb 0x140091594
jmp 0x1400919e4
test eax, 0x8000000
je 0x140092374
mov eax, 1
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x80], 0
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0x168], 1
je 0x1400919c7
mov eax, r12d
and eax, 0x7ffffff
mov rcx, qword [rsp + 0xb8]
shr rax, cl
mov rcx, qword [rsp + 0x30]
cmp rax, qword [rcx + 0x58]
jae 0x14009242d
mov rdx, qword [rcx + 0x50]
shl rax, 4
mov rcx, qword [rdx + rax]
mov rdx, qword [rdx + rax + 8]
xor r8d, r8d
call fcn.1400781e0
mov dword [rsp + 0x80], eax
mov qword [rsp + 0x98], rbp
inc rbp
cmp rbp, r15
jb 0x140091594
jmp 0x1400919e4
xor eax, eax
mov qword [rsp + 0x78], rax
cmp r15, rsi
jae 0x140091a81
movzx esi, byte [r13 + r15]
movzx ecx, byte [rbx + rsi + 0x190]
mov eax, r12d
and eax, 0x7ffffff
add rax, rcx
mov rcx, qword [rsp + 0x30]
cmp rax, qword [rcx + 0x28]
mov ebp, dword [rsp + 0x80]
jae 0x14009242d
mov rcx, qword [rcx + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x140092218
mov edx, edx
test edx, 0x8000000
jne 0x140091bf4
test edx, 0x20000000
mov r8, qword [rsp + 0x78]
mov r9, qword [rsp + 0x98]
je 0x140091e48
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 0
mov byte [rax + 1], sil
mov rsi, r15
mov qword [rax + 8], r15
jmp 0x140091d0b
movzx r8d, byte [rbx + 0x28f]
shl r8d, 0x10
add r8d, 0x10001
mov ecx, r8d
shr ecx, 0x10
mov eax, r12d
and eax, 0x7ffffff
add rax, rcx
mov rcx, qword [rsp + 0x30]
cmp qword [rcx + 0x28], rax
mov ebp, dword [rsp + 0x80]
jbe 0x14009242d
mov rcx, qword [rcx + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x14009226e
test edx, 0x8000000
mov r8, qword [rsp + 0x78]
mov r9, qword [rsp + 0x98]
je 0x140091e48
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0x168], 1
jne 0x140091df0
mov r8d, 1
xor ebp, ebp
jmp 0x140091e45
test byte [rbx + 0x81], 1
mov r12d, dword [rsp + 0x60]
mov edi, 2
jne 0x140091c17
lea ecx, [rdi - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
test eax, eax
je 0x140091b5d
cmp eax, 1
je 0x140090c22
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 3
mov dword [rax + 4], edi
mov dword [rax + 8], r12d
jmp 0x140091b80
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 1
mov qword [rax + 8], rbp
mov rcx, qword [rsp + 0x38]
mov qword [rcx + 8], rax
mov eax, 2
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
jmp 0x140091fd2
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 8]
cmp qword [rdx], 0
mov qword [rdx], 0
je 0x14009242d
mov rcx, r15
sub rcx, rax
neg rcx
sub r15, rax
cmovb r15, rcx
add qword [rdx + 0x158], r15
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x78]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x98]
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0x80]
mov dword [rax + 0x10], ecx
jmp 0x140091fd2
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0x168], 1
jne 0x140091e02
mov r8d, 1
xor ebp, ebp
mov r9, r15
jmp 0x140091e48
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0x168], r12
jbe 0x140092002
lea rax, [r12 + r12*2]
lea rax, [r9 + rax*2]
add rax, 0xc
mov rcx, qword [rsp + 0x30]
cmp rax, qword [rcx + 0x40]
jb 0x1400914ca
jmp 0x14009242d
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov r8d, dword [rsp + 0x60]
call fcn.140081d50
mov r13, rax
mov r12, rax
shr r12, 0x20
cmp r13d, 5
je 0x140090913
lea ecx, [r13 - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
test eax, eax
je 0x140091cbf
cmp eax, 1
jne 0x140091ce4
test rbp, rbp
je 0x14009242d
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
dec rbp
mov byte [rax], 0
mov byte [rax + 1], r12b
jmp 0x140091cde
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 1
mov qword [rax + 8], rbp
jmp 0x140091d0b
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 3
mov dword [rax + 4], r13d
mov dword [rax + 8], r12d
mov rcx, qword [rsp + 0x38]
mov qword [rcx + 8], rax
mov qword [rcx], 2
jmp 0x140091fd2
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x14009242d
mov r12d, 1
shl r12, cl
or r12d, 0x40000000
jmp 0x140090d02
mov r10, rsi
mov rsi, rdi
xor eax, eax
test edx, 0x8000000
je 0x140090024
mov ecx, 1
cmp qword [r14 + 0x168], 1
je 0x140091db0
mov rdi, rsi
mov rsi, r10
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
cmp rdx, qword [rdi + 0x58]
jae 0x14009242d
mov rax, qword [rdi + 0x50]
shl rdx, 4
mov rcx, qword [rax + rdx]
mov rdx, qword [rax + rdx + 8]
xor r8d, r8d
call fcn.1400781e0
mov ecx, 1
mov r10, rsi
mov rsi, rdi
mov rdx, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x14009242d
mov r8, r15
sub r8, rdx
neg r8
sub r15, rdx
cmovb r15, r8
add qword [rsi + 0x158], r15
mov rdx, qword [rsp + 0x38]
mov qword [rdx], rcx
mov qword [rdx + 8], r10
mov dword [rdx + 0x10], eax
jmp 0x140091fd2
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
jmp 0x140091e15
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
mov rsi, r15
mov rax, qword [rsp + 0x30]
cmp rdx, qword [rax + 0x58]
jae 0x14009242d
mov rax, qword [rax + 0x50]
shl rdx, 4
mov rcx, qword [rax + rdx]
mov rdx, qword [rax + rdx + 8]
xor r8d, r8d
call fcn.1400781e0
mov ebp, eax
mov r8d, 1
mov r9, rsi
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 8]
cmp qword [rdx], 0
mov qword [rdx], 0
je 0x14009242d
mov rcx, r15
sub rcx, rax
neg rcx
sub r15, rax
cmovb r15, rcx
add qword [rdx + 0x158], r15
mov rax, qword [rsp + 0x38]
mov qword [rax], r8
mov qword [rax + 8], r9
jmp 0x140091fcf
xor eax, eax
mov rcx, qword [rsp + 0x60]
cmp qword [rcx + 0x168], 1
mov rsi, qword [rsp + 0x30]
je 0x140091ed5
and r12d, 0x7ffffff
mov rcx, qword [rsp + 0xc0]
shr r12, cl
cmp r12, qword [rsi + 0x58]
jae 0x14009242d
mov rax, qword [rsi + 0x50]
shl r12, 4
mov rcx, qword [rax + r12]
mov rdx, qword [rax + r12 + 8]
xor r8d, r8d
call fcn.1400781e0
mov rcx, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x14009242d
mov rdx, r14
sub rdx, rcx
neg rdx
mov r8, r14
sub r8, rcx
cmovb r8, rdx
add qword [rsi + 0x158], r8
mov rcx, qword [rsp + 0x38]
mov qword [rcx], 1
mov qword [rcx + 8], r14
mov dword [rcx + 0x10], eax
jmp 0x140091fd2
mov r10, r14
mov r11, r13
mov r14, qword [rsp + 0x68]
mov edx, edx
test edx, 0x8000000
je 0x1400904d3
cmp qword [r10 + 0x168], 1
jne 0x140091f4c
mov r11d, 1
xor ebp, ebp
mov r14, r15
jmp 0x140091f92
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
mov rsi, r15
mov rax, qword [rsp + 0x30]
cmp rdx, qword [rax + 0x58]
jae 0x14009242d
mov rax, qword [rax + 0x50]
shl rdx, 4
mov rcx, qword [rax + rdx]
mov rdx, qword [rax + rdx + 8]
xor r8d, r8d
call fcn.1400781e0
mov ebp, eax
mov r11d, 1
mov r14, rsi
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 8]
cmp qword [rdx], 0
mov qword [rdx], 0
je 0x14009242d
mov rcx, r15
sub rcx, rax
neg rcx
sub r15, rax
cmovb r15, rcx
add qword [rdx + 0x158], r15
mov rax, qword [rsp + 0x38]
mov qword [rax], r11
mov qword [rax + 8], r14
mov dword [rax + 0x10], ebp
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r10, rsi
mov r11, r14
mov r9, r13
mov r14, qword [rsp + 0x68]
test edx, 0x8000000
jne 0x14009065f
jmp 0x140091f92
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x14009242d
mov r12d, 1
shl r12, cl
or r12d, 0x40000000
jmp 0x1400914db
mov qword [rsp + 0xa8], rbx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xb0], rax
lea rcx, [rsp + 0xa8]
mov r8d, dword [rsp + 0x58]
call fcn.140081d50
mov rdi, rax
mov r12, rax
shr r12, 0x20
cmp edi, 5
jne 0x140090c03
jmp 0x140090d02
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 8]
cmp qword [rdx], 0
mov qword [rdx], 0
je 0x14009242d
mov rcx, r14
sub rcx, rax
neg rcx
sub r14, rax
cmovb r14, rcx
add qword [rdx + 0x158], r14
jmp 0x140090b07
mov r8d, esi
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.140080a50
test eax, eax
jne 0x140092243
jmp 0x1400911a5
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.140080a50
test eax, eax
jne 0x140092292
jmp 0x140091204
mov edi, 2
jmp 0x14009210d
mov edi, 4
mov qword [rsp + 0x88], rcx
lea ecx, [rdi - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
test eax, eax
je 0x140092157
cmp eax, 1
jne 0x1400921be
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 0
mov rcx, qword [rsp + 0x88]
mov byte [rax + 1], cl
jmp 0x140091cde
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 1
mov qword [rax + 8], r14
jmp 0x140091d0b
mov qword [rsp + 0xa8], rbx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xb0], rax
lea rcx, [rsp + 0xa8]
mov r8d, dword [rsp + 0x60]
call fcn.140081d50
mov rdi, rax
mov r12, rax
shr r12, 0x20
cmp edi, 5
je 0x1400914db
jmp 0x140091b1a
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 3
mov dword [rax + 4], edi
mov rcx, qword [rsp + 0x88]
mov dword [rax + 8], ecx
jmp 0x140091d0b
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 1
mov qword [rax + 8], r13
jmp 0x140091d0b
mov r8d, esi
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.140080a50
test eax, eax
je 0x140091a2b
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 1
mov rsi, r15
mov qword [rax + 8], r15
jmp 0x140091d0b
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.140080a50
test eax, eax
je 0x140091aca
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 1
mov qword [rax + 8], rsi
jmp 0x140091d0b
mov edi, 2
jmp 0x1400922cb
mov edi, 4
mov qword [rsp + 0x78], rcx
lea ecx, [rdi - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
test eax, eax
je 0x14009230f
cmp eax, 1
jne 0x140092334
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 0
mov rcx, qword [rsp + 0x78]
mov byte [rax + 1], cl
mov qword [rax + 8], r14
jmp 0x14009235e
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 1
mov qword [rax + 8], rbp
jmp 0x14009235e
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 3
mov dword [rax + 4], edi
mov rcx, qword [rsp + 0x78]
mov dword [rax + 8], ecx
mov rcx, qword [rsp + 0x38]
mov qword [rcx + 8], rax
mov eax, 2
mov qword [rcx], rax
jmp 0x140091fd2
test eax, 0x40000000
jne 0x1400923f8
mov rdi, qword [rsp + 0x30]
test eax, 0x20000000
je 0x14009242d
mov rcx, rdi
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14009242d
mov rcx, rbp
sub rcx, rax
neg rcx
mov rdx, rbp
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
cmp rbp, rsi
jae 0x14009242d
movzx ebx, byte [r13 + rbp]
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x14009242d
mov byte [rax], 0
mov byte [rax + 1], bl
jmp 0x140091cde
mov qword [rsp + 0x88], r12
jmp 0x14009210d
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx + 8]
cmp qword [rcx], 0
mov qword [rcx], 0
je 0x14009242d
mov rdx, rcx
mov rcx, rbp
sub rcx, rax
neg rcx
sub rbp, rax
cmovb rbp, rcx
add qword [rdx + 0x158], rbp
jmp 0x140091bcc
ud2
mov qword [rsp + 0x78], r12
jmp 0x1400922cb