Function at 0x1400a6330
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 r14, qword [r9 + 0x20]
cmp rbp, r14
jbe 0x1400a635c
mov qword [rcx], 0
jmp 0x1400a89a2
mov rdi, r8
mov rbx, rdx
mov qword [rsp + 0x30], rcx
mov edx, dword [r9]
lea eax, [rdx - 1]
cmp eax, 2
jb 0x1400a638f
lea rax, [rbx + 0x60]
cmp byte [rbx + 0x78], 3
lea rsi, [0x141a212d8]
cmovne rsi, rax
cmp byte [rsi + 0x18], 2
jne 0x1400a6524
cmp byte [r9 + 0x28], 0
je 0x1400a6487
mov r13, qword [rbx + 0x2b0]
test rbp, rbp
je 0x1400a6441
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
jae 0x1400a6441
mov rcx, qword [r9 + 8]
movzx r15d, byte [rcx + rax]
mov r8d, dword [r9 + 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 0x1400a6429
lea rax, [rbx + 0x290]
mov esi, r15d
shr esi, 3
and esi, 0xfffffff0
mov r10d, 1
xor r11d, r11d
mov ecx, r15d
shld r11, r10, cl
shl r10, cl
xor ecx, ecx
test r15b, 0x40
cmovne r11, r10
cmovne r10, rcx
and r11, qword [rax + rsi + 8]
and r10, qword [rax + rsi]
or r10, r11
jne 0x1400a651a
movzx eax, byte [rbx + r15 + 0x90]
movzx eax, al
mov rcx, rax
test edx, edx
jne 0x1400a6455
jmp 0x1400a6653
mov r8d, dword [r9 + 4]
mov al, 2
movzx eax, al
mov rcx, rax
test edx, edx
je 0x1400a6653
cmp edx, 2
jne 0x1400a664f
test byte [rbx + 0x81], 1
mov r15d, r8d
jne 0x1400a6b6f
mov rsi, r15
shl rsi, 0x20
or rsi, 2
cmp esi, 5
je 0x1400a666e
jmp 0x1400a7612
mov r12, qword [rbx + 0x2b0]
test rbp, rbp
je 0x1400a6636
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
jae 0x1400a6636
mov rcx, qword [r9 + 8]
movzx r15d, byte [rcx + rax]
mov r8d, dword [r9 + 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 0x1400a6bb6
lea rax, [rbx + 0x290]
mov esi, r15d
shr esi, 3
and esi, 0xfffffff0
mov r10d, 1
xor r11d, r11d
mov ecx, r15d
shld r11, r10, cl
shl r10, cl
xor ecx, ecx
test r15b, 0x40
cmovne r11, r10
cmovne r10, rcx
and r11, qword [rax + rsi + 8]
and r10, qword [rax + rsi]
or r10, r11
je 0x1400a6bb6
mov esi, 4
jmp 0x1400a7612
cmp byte [r9 + 0x28], 0
mov qword [rsp + 0x58], rdx
je 0x1400a69c2
mov r15, qword [rbx + 0x2b0]
mov eax, dword [r15 + 0x17c]
mov dword [rsp + 0x90], eax
test rbp, rbp
je 0x1400a699e
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
jae 0x1400a699e
mov rcx, qword [r9 + 8]
movzx r12d, byte [rcx + rax]
mov eax, dword [r9 + 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 0x1400a71a3
lea rax, [rbx + 0x290]
mov r11d, r12d
shr r11d, 3
and r11d, 0xfffffff0
mov r8d, 1
xor r10d, r10d
mov ecx, r12d
shld r10, r8, cl
shl r8, cl
xor ecx, ecx
test r12b, 0x40
cmovne r10, r8
cmovne r8, rcx
and r10, qword [rax + r11 + 8]
and r8, qword [rax + r11]
or r8, r10
je 0x1400a71a3
mov r15d, 4
lea ecx, [r15 - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
cmp eax, 2
je 0x1400a7c8b
cmp eax, 1
jne 0x1400a829d
test rbp, rbp
je 0x1400a8acd
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
dec rbp
mov byte [rax], 0
mov byte [rax + 1], r12b
jmp 0x1400a82bc
mov r8d, dword [r9 + 4]
mov al, 2
movzx eax, al
mov rcx, rax
test edx, edx
jne 0x1400a6bc9
jmp 0x1400a6bd6
lea rcx, [rax + 6]
cmp rcx, qword [rdi + 0x40]
jae 0x1400a8acd
mov r10, qword [rdi + 0x38]
mov r15d, dword [r10 + rcx*4]
test r15d, r15d
js 0x1400a73f7
cmp qword [rdi], 1
jne 0x1400a6693
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rdi + 0x158], rax
mov qword [rdi], 1
mov qword [rdi + 8], rbp
mov qword [rdi + 0x10], rbp
cmp rbp, r14
jae 0x1400a6902
mov rsi, qword [r9 + 8]
mov r11, qword [r9 + 0x10]
jmp 0x1400a66d2
mov rbp, r12
mov r15d, edx
inc rbp
cmp rbp, r14
jae 0x1400a6906
cmp r15d, 0x7ffffff
jbe 0x1400a6740
cmp qword [rdi], 0
je 0x1400a8acd
mov qword [rdi + 0x10], rbp
cmp rbp, r11
jae 0x1400a8acd
movzx r8d, byte [rsi + rbp]
movzx ecx, byte [rbx + r8 + 0x190]
mov eax, r15d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x28]
jae 0x1400a8acd
mov rcx, qword [rdi + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x1400a6871
mov r12, rbp
cmp edx, 0x8000000
jae 0x1400a685c
jmp 0x1400a66c0
cmp rbp, r14
jae 0x1400a66c6
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x28]
nop dword [rax]
movzx edx, byte [rsi + rbp]
movzx edx, byte [rbx + rdx + 0x190]
mov r8d, r15d
add r8, rdx
mov r8d, dword [rax + r8*4]
lea r12, [rbp + 3]
cmp r12, r14
jae 0x1400a67fb
cmp r8d, 0x8000000
jae 0x1400a67fb
movzx edx, byte [rsi + rbp + 1]
movzx edx, byte [rbx + rdx + 0x190]
add rdx, r8
mov r15d, dword [rax + rdx*4]
cmp r15, 0x7ffffff
ja 0x1400a67e5
movzx edx, byte [rsi + rbp + 2]
movzx edx, byte [rbx + rdx + 0x190]
add rdx, r15
mov r8d, dword [rax + rdx*4]
cmp r8, 0x7ffffff
ja 0x1400a67f7
movzx edx, byte [rsi + rbp + 3]
movzx edx, byte [rbx + rdx + 0x190]
add rdx, r8
mov r15d, dword [rax + rdx*4]
cmp r15d, 0x7ffffff
ja 0x1400a6807
add rbp, 4
cmp rbp, r14
jb 0x1400a6750
jmp 0x1400a66c6
inc rbp
mov edx, r15d
mov r15d, r8d
mov r12, rbp
test edx, edx
jns 0x1400a6850
jmp 0x1400a6811
add rbp, 2
mov edx, r8d
mov r12, rbp
test edx, edx
jns 0x1400a6850
jmp 0x1400a6811
mov edx, r15d
mov r15d, r8d
test edx, edx
jns 0x1400a6850
cmp qword [rdi], 0
je 0x1400a8acd
mov qword [rdi + 0x10], r12
movzx r8d, byte [rsi + r12]
movzx r10d, byte [rbx + r8 + 0x190]
mov edx, r15d
add rdx, r10
cmp rdx, rcx
jae 0x1400a8acd
mov edx, dword [rax + rdx*4]
test edx, edx
js 0x1400a68be
nop word cs:[rax + rax]
cmp edx, 0x8000000
jb 0x1400a66c0
mov eax, edx
mov ecx, eax
and ecx, 0x10000000
jne 0x1400a66c0
jmp 0x1400a6ac9
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x68], r13
mov r13, r9
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.1400a2c70
test eax, eax
jne 0x1400a829d
mov r12, rbp
mov r9, r13
mov r13, qword [rsp + 0x68]
mov r11, qword [rsp + 0x58]
cmp edx, 0x8000000
jae 0x1400a685c
jmp 0x1400a66c0
mov qword [rsp + 0x58], r11
mov rbp, r9
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.1400a2c70
test eax, eax
jne 0x1400a89e0
mov r9, rbp
mov r11, qword [rsp + 0x58]
cmp edx, 0x8000000
jae 0x1400a685c
jmp 0x1400a66c0
mov r11, qword [r9 + 0x10]
cmp r14, r11
jae 0x1400a695b
mov rax, qword [r9 + 8]
movzx esi, byte [rax + r14]
movzx ecx, byte [rbx + rsi + 0x190]
mov eax, r15d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x28]
jae 0x1400a8acd
mov rcx, qword [rdi + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x1400a7bcd
mov edx, edx
test edx, 0x8000000
jne 0x1400a6b52
test edx, 0x20000000
je 0x1400a6997
jmp 0x1400a700a
movzx r8d, byte [rbx + 0x28f]
mov eax, r15d
and eax, 0x7ffffff
add eax, r8d
inc eax
cmp qword [rdi + 0x28], rax
jbe 0x1400a8acd
mov rcx, qword [rdi + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x1400a7bf8
xor eax, eax
test edx, 0x8000000
jne 0x1400a8659
xor ecx, ecx
jmp 0x1400a86a5
mov eax, dword [r9 + 4]
mov dword [rsp + 0x60], eax
mov al, 2
mov qword [rsp + 0x88], r15
movzx eax, al
cmp rax, qword [rdi + 0x40]
jb 0x1400a71c1
jmp 0x1400a8acd
mov rax, qword [rbx + 0x2b0]
mov qword [rsp + 0x98], rax
mov eax, dword [rax + 0x17c]
mov dword [rsp + 0x68], eax
test rbp, rbp
je 0x1400a6b97
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
jae 0x1400a6b97
mov rcx, qword [r9 + 8]
movzx r13d, byte [rcx + rax]
mov eax, dword [r9 + 4]
mov dword [rsp + 0x80], 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 0x1400a742c
lea rax, [rbx + 0x290]
mov edx, r13d
shr edx, 3
and edx, 0xfffffff0
mov r8d, 1
xor r10d, r10d
mov ecx, r13d
shld r10, r8, cl
shl r8, cl
xor ecx, ecx
test r13b, 0x40
cmovne r10, r8
cmovne r8, rcx
and r10, qword [rax + rdx + 8]
and r8, qword [rax + rdx]
or r8, r10
je 0x1400a742c
mov r15d, 4
lea ecx, [r15 - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
cmp eax, 2
je 0x1400a8592
cmp eax, 1
jne 0x1400a829d
test rbp, rbp
je 0x1400a8acd
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
dec rbp
mov byte [rax], 0
mov byte [rax + 1], r13b
jmp 0x1400a82bc
test eax, 0x8000000
jne 0x1400a70e6
test eax, 0x40000000
jne 0x1400a73ba
test eax, 0x20000000
je 0x1400a8acd
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a8acd
mov rcx, r12
sub rcx, rax
neg rcx
mov rdx, r12
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
cmp r12, r11
jae 0x1400a8acd
movzx ebx, byte [rsi + r12]
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
mov byte [rax], 0
mov byte [rax + 1], bl
mov qword [rax + 8], r12
jmp 0x1400a82c0
cmp qword [r13 + 0x168], 1
jne 0x1400a7168
xor eax, eax
mov ecx, 1
mov r11, r14
jmp 0x1400a86a5
cmp qword [r13 + 0x168], r15
jbe 0x1400a7180
lea rcx, [r15 + r15*2]
lea rcx, [rax + rcx*2]
add rcx, 0xc
cmp rcx, qword [rdi + 0x40]
jb 0x1400a665d
jmp 0x1400a8acd
mov eax, dword [r9 + 4]
mov dword [rsp + 0x80], eax
mov al, 2
movzx eax, al
cmp rax, qword [rdi + 0x40]
jb 0x1400a7442
jmp 0x1400a8acd
movzx eax, byte [rbx + r15 + 0x90]
movzx eax, al
mov rcx, rax
test edx, edx
je 0x1400a6bd6
cmp edx, 1
jne 0x1400a7036
lea rcx, [rax + 6]
cmp rcx, qword [rdi + 0x40]
jae 0x1400a8acd
mov r10, qword [rdi + 0x38]
mov r15d, dword [r10 + rcx*4]
test r15d, r15d
js 0x1400a75e2
cmp qword [rdi], 1
jne 0x1400a6c16
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rdi + 0x158], rax
mov qword [rdi], 1
mov qword [rdi + 8], rbp
mov qword [rdi + 0x10], rbp
cmp rbp, r14
jae 0x1400a6fa6
mov rsi, qword [r9 + 8]
mov r10, qword [r9 + 0x10]
mov rax, qword [rbx + 0x2b8]
and eax, 0x3f
mov qword [rsp + 0xb0], rax
xor r11d, r11d
mov qword [rsp + 0x90], r10
jmp 0x1400a6c72
mov r13, rbp
inc r13
mov rbp, r13
cmp r13, r14
jae 0x1400a7052
cmp r15d, 0x7ffffff
jbe 0x1400a6ce0
cmp qword [rdi], 0
je 0x1400a8acd
mov qword [rdi + 0x10], rbp
cmp rbp, r10
jae 0x1400a8acd
movzx r8d, byte [rsi + rbp]
movzx ecx, byte [rbx + r8 + 0x190]
mov eax, r15d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x28]
jae 0x1400a8acd
mov rcx, qword [rdi + 0x20]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x1400a6e34
mov r15d, eax
mov r13, rbp
cmp r15d, 0x8000000
jae 0x1400a6ea0
jmp 0x1400a6c63
cmp rbp, r14
jae 0x1400a6c60
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x28]
nop word cs:[rax + rax]
movzx edx, byte [rsi + rbp]
movzx edx, byte [rbx + rdx + 0x190]
mov r8d, r15d
add r8, rdx
mov edx, dword [rax + r8*4]
lea r13, [rbp + 3]
cmp r13, r14
jae 0x1400a6e0b
cmp edx, 0x8000000
jae 0x1400a6e0b
movzx r8d, byte [rsi + rbp + 1]
movzx r8d, byte [rbx + r8 + 0x190]
add r8, rdx
mov r15d, dword [rax + r8*4]
cmp r15, 0x7ffffff
ja 0x1400a6da3
movzx edx, byte [rsi + rbp + 2]
movzx edx, byte [rbx + rdx + 0x190]
add rdx, r15
mov edx, dword [rax + rdx*4]
cmp rdx, 0x7ffffff
ja 0x1400a6e07
movzx r8d, byte [rsi + rbp + 3]
movzx r8d, byte [rbx + r8 + 0x190]
add r8, rdx
mov r15d, dword [rax + r8*4]
cmp r15d, 0x7ffffff
ja 0x1400a6e27
add rbp, 4
cmp rbp, r14
jb 0x1400a6d00
jmp 0x1400a6c60
inc rbp
mov r8d, r15d
mov r15d, edx
mov r13, rbp
test r8d, r8d
jns 0x1400a6e16
cmp qword [rdi], 0
je 0x1400a8acd
mov qword [rdi + 0x10], r13
movzx r8d, byte [rsi + r13]
movzx r10d, byte [rbx + r8 + 0x190]
mov edx, r15d
add rdx, r10
cmp rdx, rcx
jae 0x1400a8acd
mov eax, dword [rax + rdx*4]
test eax, eax
mov r10, qword [rsp + 0x90]
js 0x1400a6f56
mov r15d, eax
cmp r15d, 0x8000000
jae 0x1400a6ea0
jmp 0x1400a6c63
add rbp, 2
mov r8d, edx
mov r13, rbp
test r8d, r8d
js 0x1400a6db4
mov r15d, r8d
cmp r15d, 0x8000000
jae 0x1400a6ea0
jmp 0x1400a6c63
mov r8d, r15d
mov r15d, edx
test r8d, r8d
jns 0x1400a6e16
jmp 0x1400a6db4
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x88], r12
mov r12, r9
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.1400a2c70
test eax, eax
jne 0x1400a829d
mov r15d, edx
mov r13, rbp
mov r9, r12
mov r12, qword [rsp + 0x88]
mov r11, qword [rsp + 0x60]
mov r10, qword [rsp + 0x90]
cmp r15d, 0x8000000
jb 0x1400a6c63
nop word cs:[rax + rax]
mov eax, r15d
mov ecx, eax
and ecx, 0x10000000
jne 0x1400a6c63
test eax, 0x8000000
je 0x1400a72f3
mov r11d, 1
cmp qword [r12 + 0x168], 1
jne 0x1400a6edf
mov dword [rsp + 0x58], 0
mov qword [rsp + 0x68], r13
jmp 0x1400a6c63
mov eax, r15d
and eax, 0x7ffffff
mov rcx, qword [rsp + 0xb0]
shr rax, cl
cmp rax, qword [rdi + 0x58]
jae 0x1400a8acd
mov dword [rsp + 0x58], 0
mov rdx, qword [rdi + 0x50]
shl eax, 4
mov rcx, qword [rdx + rax + 8]
test rcx, rcx
je 0x1400a8acd
mov rax, qword [rdx + rax]
test byte [rax + 0x10], 2
jne 0x1400a6f2d
mov qword [rsp + 0x68], r13
jmp 0x1400a6c63
cmp rcx, 0xd
jb 0x1400a8acd
add rcx, 0xfffffffffffffff3
cmp rcx, 3
jbe 0x1400a8acd
mov eax, dword [rax + 0x1d]
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x68], r13
jmp 0x1400a6c63
mov qword [rsp + 0x60], r11
mov rbp, r9
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.1400a2c70
test eax, eax
jne 0x1400a8a08
mov r15d, edx
mov r9, rbp
mov r11, qword [rsp + 0x60]
mov r10, qword [rsp + 0x90]
cmp r15d, 0x8000000
jae 0x1400a6ea0
jmp 0x1400a6c63
mov r10, qword [r9 + 0x10]
xor r11d, r11d
cmp r14, r10
jae 0x1400a705f
mov rax, qword [r9 + 8]
movzx esi, byte [rax + r14]
movzx ecx, byte [rbx + rsi + 0x190]
mov eax, r15d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x28]
jae 0x1400a8acd
mov rcx, qword [rdi + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x1400a844e
mov edx, edx
test edx, 0x8000000
jne 0x1400a87d6
test edx, 0x20000000
mov r8, qword [rsp + 0x68]
je 0x1400a882e
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
mov byte [rax], 0
mov byte [rax + 1], sil
mov qword [rax + 8], r14
jmp 0x1400a82c0
test byte [rbx + 0x81], 1
mov r15d, r8d
jne 0x1400a70bd
mov rsi, r15
shl rsi, 0x20
or rsi, 2
jmp 0x1400a7609
mov ebp, dword [rsp + 0x58]
cmp r14, r10
jb 0x1400a6fb6
movzx r8d, byte [rbx + 0x28f]
mov eax, r15d
and eax, 0x7ffffff
add eax, r8d
inc eax
cmp qword [rdi + 0x28], rax
jbe 0x1400a8acd
mov rcx, qword [rdi + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x1400a849f
test edx, 0x8000000
mov r8, qword [rsp + 0x68]
je 0x1400a882e
cmp qword [r12 + 0x168], 1
jne 0x1400a7375
xor ebp, ebp
mov r11d, 1
mov r8, r10
jmp 0x1400a882e
cmp qword [r12 + 0x168], r15
jbe 0x1400a7397
lea rcx, [r15 + r15*2]
lea rcx, [rax + rcx*2]
add rcx, 0xc
cmp rcx, qword [rdi + 0x40]
jb 0x1400a6be0
jmp 0x1400a8acd
xor eax, eax
cmp qword [r13 + 0x168], 1
je 0x1400a7124
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
cmp rdx, qword [rdi + 0x58]
jae 0x1400a8acd
mov rax, qword [rdi + 0x50]
shl edx, 4
mov rcx, qword [rax + rdx]
mov rdx, qword [rax + rdx + 8]
xor r8d, r8d
call fcn.1400c5b80
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a8acd
mov rdx, r12
sub rdx, rcx
neg rdx
mov r8, r12
sub r8, rcx
cmovb r8, rdx
add qword [rdi + 0x158], r8
mov rcx, qword [rsp + 0x30]
mov qword [rcx], 1
mov qword [rcx + 8], r12
jmp 0x1400a899f
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
mov rsi, r14
jmp 0x1400a867b
mov rax, qword [rbx + 0x2b8]
and eax, 0x3f
cmp rax, 0x1b
jae 0x1400a8acd
mov r15d, 0x40000000
bts r15, rax
jmp 0x1400a666e
movzx eax, byte [rbx + r12 + 0x90]
mov qword [rsp + 0x88], r15
movzx eax, al
cmp rax, qword [rdi + 0x40]
jae 0x1400a8acd
mov rcx, qword [rdi + 0x38]
mov r12d, dword [rcx + rax*4]
test r12d, r12d
js 0x1400a7c50
mov r13, qword [r9 + 8]
mov r15, qword [r9 + 0x10]
mov rax, qword [rsi]
mov rcx, qword [rsi + 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], r14
mov qword [rsp + 0x20], rbp
lea rcx, [rsp + 0x40]
mov qword [rsp + 0xb0], rdx
mov r8, r13
mov r9, r15
mov qword [rsp + 0x68], r10
call r10
cmp qword [rsp + 0x40], 0
je 0x1400a7587
mov rbp, qword [rsp + 0x48]
cmp dword [rsp + 0x90], 0
je 0x1400a76b5
cmp r14, r15
ja 0x1400a8acd
lea rax, [r14 + 1]
cmp rax, rbp
jb 0x1400a8acd
test rbp, rbp
je 0x1400a72ec
lea rax, [rbp - 1]
cmp rax, r15
jae 0x1400a72ec
movzx r12d, byte [r13 + rax]
mov rax, qword [rbx + 0x298]
or rax, qword [rbx + 0x2a8]
mov rcx, qword [rbx + 0x290]
or rcx, qword [rbx + 0x2a0]
or rcx, rax
je 0x1400a768d
lea rax, [rbx + 0x290]
mov edx, r12d
shr edx, 3
and edx, 0xfffffff0
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 + rdx + 8]
and r8, qword [rax + rdx]
or r8, r9
je 0x1400a768d
mov ecx, 4
shl r12, 0x20
or r12, rcx
mov rcx, rbp
mov rdx, r12
jmp 0x1400a7567
mov al, 2
jmp 0x1400a7696
test eax, 0x40000000
mov edx, dword [rsp + 0x58]
jne 0x1400a759d
test eax, 0x20000000
je 0x1400a8acd
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a8acd
mov rcx, r13
sub rcx, rax
neg rcx
mov rdx, r13
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
cmp r13, r10
jae 0x1400a8acd
movzx ebx, byte [rsi + r13]
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
mov byte [rax], 0
mov byte [rax + 1], bl
mov qword [rax + 8], r13
jmp 0x1400a82c0
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
cmp rdx, qword [rdi + 0x58]
mov rsi, r10
jb 0x1400a880b
jmp 0x1400a8acd
mov rax, qword [rbx + 0x2b8]
and eax, 0x3f
cmp rax, 0x1b
jae 0x1400a8acd
mov r15d, 0x40000000
bts r15, rax
jmp 0x1400a6bf1
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a8acd
mov rcx, r12
sub rcx, rax
neg rcx
sub r12, rax
cmovb r12, rcx
add qword [rdi + 0x158], r12
mov rax, qword [rsp + 0x30]
mov qword [rax], 0
jmp 0x1400a89a2
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov rsi, r9
mov r9d, eax
call fcn.1400a3fa0
mov r9, rsi
mov rsi, rax
mov r15, rax
shr r15, 0x20
cmp esi, 5
je 0x1400a666e
jmp 0x1400a7612
movzx eax, byte [rbx + r13 + 0x90]
movzx eax, al
cmp rax, qword [rdi + 0x40]
jae 0x1400a8acd
mov rcx, qword [rdi + 0x38]
mov r13d, dword [rcx + rax*4]
test r13d, r13d
js 0x1400a854f
mov r12, qword [r9 + 8]
mov r15, qword [r9 + 0x10]
mov rax, qword [rsi]
mov rcx, qword [rsi + 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], r14
mov qword [rsp + 0x20], rbp
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x90], rdx
mov r8, r12
mov r9, r15
mov qword [rsp + 0xb0], r10
call r10
cmp qword [rsp + 0x40], 0
je 0x1400a7587
mov rsi, qword [rsp + 0x48]
cmp dword [rsp + 0x68], 0
je 0x1400a7da4
cmp r14, r15
ja 0x1400a8acd
lea rax, [r14 + 1]
cmp rax, rsi
jb 0x1400a8acd
test rsi, rsi
je 0x1400a7596
lea rax, [rsi - 1]
cmp rax, r15
jae 0x1400a7596
movzx r13d, byte [r12 + rax]
mov rax, qword [rbx + 0x298]
or rax, qword [rbx + 0x2a8]
mov rcx, qword [rbx + 0x290]
or rcx, qword [rbx + 0x2a0]
or rcx, rax
je 0x1400a7d7c
lea rax, [rbx + 0x290]
mov edx, r13d
shr edx, 3
and edx, 0xfffffff0
mov r8d, 1
xor r9d, r9d
mov ecx, r13d
shld r9, r8, cl
shl r8, cl
xor ecx, ecx
test r13b, 0x40
cmovne r9, r8
cmovne r8, rcx
and r9, qword [rax + rdx + 8]
and r8, qword [rax + rdx]
or r8, r9
je 0x1400a7d7c
mov ecx, 4
shl r13, 0x20
or r13, rcx
mov rcx, rsi
mov rdx, r13
call fcn.1400a8b40
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
mov eax, 2
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
jmp 0x1400a89a2
xor eax, eax
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
jmp 0x1400a89a2
mov al, 2
jmp 0x1400a7d85
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a8acd
mov rcx, r13
sub rcx, rax
neg rcx
sub r13, rax
cmovb r13, rcx
add qword [rdi + 0x158], r13
mov rax, qword [rsp + 0x30]
mov qword [rax], r11
mov rcx, qword [rsp + 0x68]
mov qword [rax + 8], rcx
mov dword [rax + 0x10], edx
jmp 0x1400a89a2
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov rsi, r9
mov r9d, eax
call fcn.1400a3fa0
mov r9, rsi
mov rsi, rax
mov r15, rax
shr r15, 0x20
cmp esi, 5
je 0x1400a6bf1
lea ecx, [rsi - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
cmp eax, 2
je 0x1400a7662
cmp eax, 1
jne 0x1400a829d
test rbp, rbp
je 0x1400a8acd
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
dec rbp
mov byte [rax], 0
mov byte [rax + 1], r15b
jmp 0x1400a82bc
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
mov byte [rax], 3
mov dword [rax + 4], esi
mov dword [rax + 8], r15d
jmp 0x1400a82c0
movzx eax, byte [rbx + r12 + 0x90]
movzx r9d, al
cmp r9, qword [rdi + 0x40]
jae 0x1400a8acd
mov rax, qword [rdi + 0x38]
mov r12d, dword [rax + r9*4]
test r12d, r12d
js 0x1400a8785
cmp qword [rdi], 1
jne 0x1400a76da
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rdi + 0x158], rax
mov qword [rdi], 1
mov qword [rdi + 8], rbp
mov qword [rdi + 0x10], rbp
cmp rbp, r14
jae 0x1400a7b5f
lea rax, [r14 + 1]
mov qword [rsp + 0x80], rax
lea rax, [rbx + 0x290]
mov qword [rsp + 0x98], rax
movzx eax, byte [rbx + 0x81]
mov byte [rsp + 0x3f], al
mov edx, dword [rsp + 0x60]
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
mov eax, 1
mov qword [rsp + 0x78], rcx
shl rax, cl
or eax, 0x40000000
mov qword [rsp + 0xc8], rax
lea rax, [rdx + rdx*2]
lea rax, [rax*2 + 0xc]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xa8], rdx
shl rdx, 0x20
or rdx, 2
mov qword [rsp + 0xd8], rdx
jmp 0x1400a777d
mov rbp, rsi
inc rbp
cmp rbp, r14
jae 0x1400a7b5f
cmp r12d, 0x7ffffff
jbe 0x1400a77e4
cmp qword [rdi], 0
je 0x1400a8acd
mov qword [rdi + 0x10], rbp
cmp rbp, r15
jae 0x1400a8acd
movzx r8d, byte [r13 + rbp]
movzx ecx, byte [rbx + r8 + 0x190]
mov eax, r12d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x28]
jae 0x1400a8acd
mov rcx, qword [rdi + 0x20]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x1400a7ad4
mov r12d, eax
mov rsi, rbp
cmp r12d, 0x7ffffff
jbe 0x1400a776e
jmp 0x1400a791f
cmp rbp, r14
jae 0x1400a7771
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 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]
lea rsi, [rbp + 3]
cmp rsi, r14
jae 0x1400a7904
cmp edx, 0x8000000
jae 0x1400a7904
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 0x1400a78a6
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 0x1400a7900
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 0x1400a7a62
add rbp, 4
cmp rbp, r14
jb 0x1400a7800
jmp 0x1400a7771
inc rbp
mov r8d, r12d
mov r12d, edx
mov rsi, rbp
test r8d, r8d
jns 0x1400a790f
cmp qword [rdi], 0
je 0x1400a8acd
mov qword [rdi + 0x10], rsi
movzx r8d, byte [r13 + rsi]
movzx r9d, byte [rbx + r8 + 0x190]
mov edx, r12d
add rdx, r9
cmp rdx, rcx
jae 0x1400a8acd
mov eax, dword [rax + rdx*4]
test eax, eax
js 0x1400a7b27
mov r12d, eax
cmp r12d, 0x7ffffff
jbe 0x1400a776e
jmp 0x1400a791f
add rbp, 2
mov r8d, edx
mov rsi, rbp
test r8d, r8d
js 0x1400a78b7
mov r12d, r8d
cmp r12d, 0x7ffffff
jbe 0x1400a776e
mov eax, r12d
test eax, 0x10000000
je 0x1400a7cb7
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x40]
mov rdx, qword [rsp + 0xb0]
mov r8, r13
mov r9, r15
call qword [rsp + 0x68]
cmp qword [rsp + 0x40], 0
je 0x1400a7d41
mov rbp, qword [rsp + 0x48]
cmp rbp, rsi
jbe 0x1400a776e
cmp dword [rsp + 0x90], 0
mov r9, qword [rsp + 0x98]
je 0x1400a7774
cmp r14, r15
ja 0x1400a8acd
cmp qword [rsp + 0x80], rbp
jb 0x1400a8acd
lea rax, [rbp - 1]
cmp rax, r15
jae 0x1400a7a06
movzx r12d, byte [r13 + rax]
mov rax, qword [r9 + 8]
or rax, qword [r9 + 0x18]
mov rcx, qword [r9]
or rcx, qword [r9 + 0x10]
or rcx, rax
je 0x1400a79fb
xor eax, eax
mov ecx, r12d
mov edx, 1
shld rax, rdx, cl
mov edx, r12d
shr edx, 3
mov r8d, 1
shl r8, cl
and edx, 0xfffffff0
test r12b, 0x40
cmovne rax, r8
mov ecx, 0
cmovne r8, rcx
and rax, qword [r9 + rdx + 8]
and r8, qword [r9 + rdx]
or r8, rax
jne 0x1400a89b6
movzx eax, byte [rbx + r12 + 0x90]
jmp 0x1400a7a08
mov al, 2
movzx r9d, al
mov rax, r9
cmp dword [rsp + 0x58], 0
je 0x1400a7a7a
cmp dword [rsp + 0x58], 2
jne 0x1400a7a76
mov r12, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xd8]
test byte [rsp + 0x3f], 1
je 0x1400a7ac3
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
cmp qword [rax + 0x168], rcx
jbe 0x1400a7b0f
mov rax, qword [rsp + 0xd0]
add rax, r9
jmp 0x1400a7a7a
mov r8d, r12d
mov r12d, edx
test r8d, r8d
jns 0x1400a790f
jmp 0x1400a78b7
lea rax, [r9 + 6]
cmp rax, qword [rdi + 0x40]
jae 0x1400a8acd
mov rcx, qword [rdi + 0x38]
mov r12d, dword [rcx + rax*4]
test r12d, r12d
jns 0x1400a7774
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rdi
lea rcx, [rsp + 0xb8]
mov rdx, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x60]
call fcn.1400a3fa0
mov r12, rax
shr r12, 0x20
mov eax, eax
cmp rax, 5
je 0x1400a7774
jmp 0x1400a89bb
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.1400a2c70
test eax, eax
jne 0x1400a829d
mov r12d, edx
mov rsi, rbp
cmp r12d, 0x7ffffff
jbe 0x1400a776e
jmp 0x1400a791f
mov r12, qword [rsp + 0xc8]
cmp dword [rsp + 0x78], 0x1b
jb 0x1400a7774
jmp 0x1400a8acd
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.1400a2c70
test eax, eax
jne 0x1400a8a7c
mov r12d, edx
cmp r12d, 0x7ffffff
jbe 0x1400a776e
jmp 0x1400a791f
cmp r14, r15
jae 0x1400a7ba2
movzx esi, byte [r13 + r14]
mov rcx, rbx
mov rdx, rdi
mov r8d, r12d
mov r9d, esi
call fcn.1400a8bf0
test eax, eax
jne 0x1400a82ff
mov eax, edx
test eax, 0x8000000
jne 0x1400a84fa
test eax, 0x20000000
jne 0x1400a83df
xor ecx, ecx
jmp 0x1400a8745
mov rcx, rbx
mov rdx, rdi
mov r8d, r12d
call fcn.1400a8ad0
test eax, eax
jne 0x1400a833d
xor eax, eax
test edx, 0x8000000
jne 0x1400a851f
xor ecx, ecx
jmp 0x1400a8745
mov r8d, esi
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.1400a2c70
test eax, eax
jne 0x1400a8477
jmp 0x1400a6940
mov rsi, r11
inc r8d
shl r8d, 0x10
or r8d, 1
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.1400a2c70
test eax, eax
je 0x1400a8648
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
mov byte [rax], 1
mov r14, rsi
mov qword [rax + 8], rsi
jmp 0x1400a82c0
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov r8d, dword [rsp + 0x60]
mov r15, r9
mov r9d, eax
call fcn.1400a3fa0
mov r9, r15
mov r15, rax
mov r12, rax
shr r12, 0x20
cmp r15d, 5
jne 0x1400a65e1
jmp 0x1400a71d2
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
mov byte [rax], 3
mov dword [rax + 4], r15d
mov dword [rax + 8], r12d
jmp 0x1400a82c0
test eax, 0x8000000
jne 0x1400a85be
test eax, 0x40000000
jne 0x1400a8887
test eax, 0x20000000
je 0x1400a8acd
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a8acd
mov rcx, rsi
sub rcx, rax
neg rcx
mov rdx, rsi
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
cmp rsi, r15
jae 0x1400a8acd
movzx ebx, byte [r13 + rsi]
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
mov byte [rax], 0
mov byte [rax + 1], bl
mov qword [rax + 8], rsi
jmp 0x1400a82c0
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a8acd
mov rcx, r14
sub rcx, rax
neg rcx
sub r14, rax
cmovb r14, rcx
add qword [rdi + 0x158], r14
xor eax, eax
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
jmp 0x1400a89a2
movzx eax, byte [rbx + r13 + 0x90]
movzx r9d, al
cmp r9, qword [rdi + 0x40]
jae 0x1400a8acd
mov rax, qword [rdi + 0x38]
mov r13d, dword [rax + r9*4]
test r13d, r13d
js 0x1400a88d4
cmp qword [rdi], 1
jne 0x1400a7dc9
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rdi + 0x158], rax
mov qword [rdi], 1
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], rsi
cmp rsi, r14
jae 0x1400a82d5
lea rax, [r14 + 1]
mov qword [rsp + 0x88], rax
lea rax, [rbx + 0x290]
mov qword [rsp + 0x60], rax
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
movzx eax, byte [rbx + 0x81]
mov byte [rsp + 0x3f], al
mov eax, 1
mov qword [rsp + 0xc8], rcx
shl rax, cl
mov ecx, dword [rsp + 0x80]
or eax, 0x40000000
mov qword [rsp + 0xd0], rax
lea rax, [rcx + rcx*2]
lea rax, [rax*2 + 0xc]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xa8], rcx
shl rcx, 0x20
or rcx, 2
mov qword [rsp + 0xd8], rcx
xor eax, eax
mov qword [rsp + 0x78], rax
jmp 0x1400a7e76
mov rsi, rbp
inc rsi
cmp rsi, r14
jae 0x1400a82dc
mov rbp, rsi
jmp 0x1400a7e90
mov eax, eax
cmp rax, 5
jne 0x1400a88bd
cmp rbp, r14
jae 0x1400a82dc
cmp r13d, 0x7ffffff
jbe 0x1400a7eed
cmp qword [rdi], 0
je 0x1400a8acd
mov qword [rdi + 0x10], rbp
cmp rbp, r15
jae 0x1400a8acd
movzx r8d, byte [r12 + rbp]
movzx ecx, byte [rbx + r8 + 0x190]
mov eax, r13d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x28]
jae 0x1400a8acd
mov rcx, qword [rdi + 0x20]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x1400a81cf
mov r13d, eax
mov rsi, rbp
jmp 0x1400a8003
cmp rbp, r14
jae 0x1400a7e67
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x28]
nop
movzx edx, byte [r12 + rbp]
movzx edx, byte [rbx + rdx + 0x190]
mov r8d, r13d
add r8, rdx
mov edx, dword [rax + r8*4]
lea rsi, [rbp + 3]
cmp rsi, r14
jae 0x1400a7ff5
cmp edx, 0x8000000
jae 0x1400a7ff5
movzx r8d, byte [r12 + rbp + 1]
movzx r8d, byte [rbx + r8 + 0x190]
add r8, rdx
mov r13d, dword [rax + r8*4]
cmp r13, 0x7ffffff
ja 0x1400a7fa5
movzx edx, byte [r12 + rbp + 2]
movzx edx, byte [rbx + rdx + 0x190]
add rdx, r13
mov edx, dword [rax + rdx*4]
cmp rdx, 0x7ffffff
ja 0x1400a7ff1
movzx r8d, byte [r12 + rbp + 3]
movzx r8d, byte [rbx + r8 + 0x190]
add r8, rdx
mov r13d, dword [rax + r8*4]
cmp r13d, 0x7ffffff
ja 0x1400a81a0
add rbp, 4
cmp rbp, r14
jb 0x1400a7f00
jmp 0x1400a7e67
inc rbp
mov r8d, r13d
mov r13d, edx
mov rsi, rbp
test r8d, r8d
jns 0x1400a8000
cmp qword [rdi], 0
je 0x1400a8acd
mov qword [rdi + 0x10], rsi
movzx r8d, byte [r12 + rsi]
movzx r9d, byte [rbx + r8 + 0x190]
mov edx, r13d
add rdx, r9
cmp rdx, rcx
jae 0x1400a8acd
mov eax, dword [rax + rdx*4]
test eax, eax
js 0x1400a81fd
mov r13d, eax
jmp 0x1400a8003
add rbp, 2
mov r8d, edx
mov rsi, rbp
test r8d, r8d
js 0x1400a7fb6
mov r13d, r8d
cmp r13d, 0x7ffffff
jbe 0x1400a7e6a
mov eax, r13d
test eax, 0x10000000
je 0x1400a8228
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x40]
mov rdx, qword [rsp + 0x90]
mov r8, r12
mov r9, r15
call qword [rsp + 0xb0]
cmp qword [rsp + 0x40], 0
je 0x1400a8365
mov rbp, qword [rsp + 0x48]
cmp rbp, rsi
jbe 0x1400a7e6a
cmp dword [rsp + 0x68], 0
mov r9, qword [rsp + 0x60]
je 0x1400a7e87
cmp r14, r15
ja 0x1400a8acd
cmp qword [rsp + 0x88], rbp
jb 0x1400a8acd
lea rax, [rbp - 1]
cmp rax, r15
jae 0x1400a80f3
movzx r13d, byte [r12 + rax]
mov rax, qword [r9 + 8]
or rax, qword [r9 + 0x18]
mov rcx, qword [r9]
or rcx, qword [r9 + 0x10]
or rcx, rax
je 0x1400a80e8
xor eax, eax
mov ecx, r13d
mov edx, 1
shld rax, rdx, cl
mov edx, r13d
shr edx, 3
mov r8d, 1
shl r8, cl
and edx, 0xfffffff0
test r13b, 0x40
cmovne rax, r8
mov ecx, 0
cmovne r8, rcx
and rax, qword [r9 + rdx + 8]
and r8, qword [r9 + rdx]
or r8, rax
jne 0x1400a88b8
movzx eax, byte [rbx + r13 + 0x90]
jmp 0x1400a80f5
mov al, 2
mov rcx, qword [rsp + 0x58]
movzx r9d, al
mov rax, r9
test ecx, ecx
je 0x1400a814f
cmp ecx, 2
jne 0x1400a814b
mov r13, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xd8]
test byte [rsp + 0x3f], 1
je 0x1400a7e7b
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa8]
cmp qword [rax + 0x168], rcx
jbe 0x1400a81b4
mov rax, qword [rsp + 0xe0]
add rax, r9
jmp 0x1400a814f
lea rax, [r9 + 6]
cmp rax, qword [rdi + 0x40]
jae 0x1400a8acd
mov rcx, qword [rdi + 0x38]
mov r13d, dword [rcx + rax*4]
test r13d, r13d
jns 0x1400a7e87
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rdi
lea rcx, [rsp + 0xb8]
mov rdx, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x80]
call fcn.1400a3fa0
mov r13, rax
shr r13, 0x20
jmp 0x1400a7e7b
mov r8d, r13d
mov r13d, edx
test r8d, r8d
jns 0x1400a8000
jmp 0x1400a7fb6
mov r13, qword [rsp + 0xd0]
cmp dword [rsp + 0xc8], 0x1b
jb 0x1400a7e87
jmp 0x1400a8acd
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r13d
call fcn.1400a2c70
test eax, eax
jne 0x1400a829d
mov r13d, edx
mov rsi, rbp
jmp 0x1400a8003
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r13d
call fcn.1400a2c70
test eax, eax
jne 0x1400a8a7c
mov r13d, edx
jmp 0x1400a8003
test eax, 0x8000000
je 0x1400a8a30
mov eax, 1
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x74], 0
mov rax, qword [rsp + 0x98]
cmp qword [rax + 0x168], 1
je 0x1400a8290
mov eax, r13d
and eax, 0x7ffffff
mov rcx, qword [rsp + 0xc8]
shr rax, cl
cmp rax, qword [rdi + 0x58]
jae 0x1400a8acd
mov rdx, qword [rdi + 0x50]
shl eax, 4
mov rcx, qword [rdx + rax]
mov rdx, qword [rdx + rax + 8]
xor r8d, r8d
call fcn.1400c5b80
mov dword [rsp + 0x74], eax
mov qword [rsp + 0xa0], rsi
jmp 0x1400a7e6a
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
mov byte [rax], 1
mov qword [rax + 8], rbp
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
mov qword [rcx], 2
jmp 0x1400a89a2
xor eax, eax
mov qword [rsp + 0x78], rax
cmp r14, r15
jae 0x1400a8327
movzx esi, byte [r12 + r14]
mov rcx, rbx
mov rdx, rdi
mov r8d, r13d
mov r9d, esi
call fcn.1400a8bf0
test eax, eax
je 0x1400a83b6
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
mov byte [rax], 1
mov r15, r14
mov qword [rax + 8], r14
jmp 0x1400a82c0
mov rcx, rbx
mov rdx, rdi
mov r8d, r13d
call fcn.1400a8ad0
test eax, eax
je 0x1400a840e
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
mov byte [rax], 1
mov qword [rax + 8], r15
jmp 0x1400a82c0
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a8acd
mov rcx, r14
sub rcx, rax
neg rcx
sub r14, rax
cmovb r14, rcx
add qword [rdi + 0x158], r14
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x78]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xa0]
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0x74]
mov dword [rax + 0x10], ecx
jmp 0x1400a89a2
mov eax, edx
test eax, 0x8000000
jne 0x1400a86e5
test eax, 0x20000000
mov r8, qword [rsp + 0x78]
mov eax, dword [rsp + 0x74]
mov r9, qword [rsp + 0xa0]
je 0x1400a8967
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
mov byte [rax], 0
mov byte [rax + 1], sil
mov r15, r14
mov qword [rax + 8], r14
jmp 0x1400a82c0
test edx, 0x8000000
mov r8, qword [rsp + 0x78]
mov eax, dword [rsp + 0x74]
mov r9, qword [rsp + 0xa0]
je 0x1400a8967
mov rax, qword [rsp + 0x98]
cmp qword [rax + 0x168], 1
jne 0x1400a8917
mov r8d, 1
xor eax, eax
jmp 0x1400a8964
mov r13, r11
mov r8d, esi
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.1400a2c70
test eax, eax
je 0x1400a87c5
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
mov byte [rax], 1
mov qword [rax + 8], r14
jmp 0x1400a82c0
mov r13, r10
mov rsi, r11
inc r8d
shl r8d, 0x10
or r8d, 1
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.1400a2c70
test eax, eax
je 0x1400a886e
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
mov byte [rax], 1
mov r14, r13
mov qword [rax + 8], r13
jmp 0x1400a82c0
mov rax, qword [rsp + 0x88]
cmp qword [rax + 0x168], 1
jne 0x1400a870b
mov ecx, 1
xor eax, eax
mov r15, r14
jmp 0x1400a8745
mov ecx, 1
mov r8, qword [rsp + 0x88]
cmp qword [r8 + 0x168], 1
je 0x1400a8745
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
jmp 0x1400a871e
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov rdx, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x80]
mov r15, r9
mov r9d, eax
call fcn.1400a3fa0
mov r9, r15
mov r15, rax
mov r13, rax
shr r13, 0x20
cmp r15d, 5
jne 0x1400a6a74
jmp 0x1400a7453
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
mov byte [rax], 3
mov dword [rax + 4], r15d
mov dword [rax + 8], r13d
jmp 0x1400a82c0
xor eax, eax
mov rcx, qword [rsp + 0x88]
cmp qword [rcx + 0x168], 1
je 0x1400a8604
and r12d, 0x7ffffff
mov rcx, qword [rsp + 0x78]
shr r12, cl
cmp r12, qword [rdi + 0x58]
jae 0x1400a8acd
mov rax, qword [rdi + 0x50]
shl r12d, 4
mov rcx, qword [rax + r12]
mov rdx, qword [rax + r12 + 8]
xor r8d, r8d
call fcn.1400c5b80
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a8acd
mov rdx, rsi
sub rdx, rcx
neg rdx
mov r8, rsi
sub r8, rcx
cmovb r8, rdx
add qword [rdi + 0x158], r8
mov rcx, qword [rsp + 0x30]
mov qword [rcx], 1
mov qword [rcx + 8], rsi
jmp 0x1400a899f
mov r11, rsi
xor eax, eax
test edx, 0x8000000
je 0x1400a6997
mov ecx, 1
cmp qword [r13 + 0x168], 1
je 0x1400a86a5
mov rsi, r11
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
cmp rdx, qword [rdi + 0x58]
jae 0x1400a8acd
mov rax, qword [rdi + 0x50]
shl edx, 4
mov rcx, qword [rax + rdx]
mov rdx, qword [rax + rdx + 8]
xor r8d, r8d
call fcn.1400c5b80
mov ecx, 1
mov r11, rsi
mov rdx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a8acd
mov r8, r14
sub r8, rdx
neg r8
sub r14, rdx
cmovb r14, r8
add qword [rdi + 0x158], r14
mov rdx, qword [rsp + 0x30]
mov qword [rdx], rcx
mov qword [rdx + 8], r11
mov dword [rdx + 0x10], eax
jmp 0x1400a89a2
mov rax, qword [rsp + 0x98]
cmp qword [rax + 0x168], 1
jne 0x1400a8929
mov r8d, 1
xor eax, eax
mov r9, r14
jmp 0x1400a8967
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
mov r15, r14
cmp rdx, qword [rdi + 0x58]
jae 0x1400a8acd
mov rax, qword [rdi + 0x50]
shl edx, 4
mov rcx, qword [rax + rdx]
mov rdx, qword [rax + rdx + 8]
xor r8d, r8d
call fcn.1400c5b80
mov ecx, 1
mov rdx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a8acd
mov r8, r14
sub r8, rdx
neg r8
sub r14, rdx
cmovb r14, r8
add qword [rdi + 0x158], r14
mov rdx, qword [rsp + 0x30]
mov qword [rdx], rcx
mov qword [rdx + 8], r15
mov dword [rdx + 0x10], eax
jmp 0x1400a89a2
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rdi
lea rcx, [rsp + 0xb8]
mov rdx, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x60]
call fcn.1400a3fa0
mov r12, rax
mov ecx, r12d
shr r12, 0x20
cmp rcx, 5
jne 0x1400a72da
jmp 0x1400a76b5
mov r11, r13
mov edx, edx
test edx, 0x8000000
je 0x1400a6ff9
cmp qword [r12 + 0x168], 1
jne 0x1400a87ee
xor ebp, ebp
mov r11d, 1
mov r8, r14
jmp 0x1400a882e
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
mov rsi, r14
cmp rdx, qword [rdi + 0x58]
jae 0x1400a8acd
mov rax, qword [rdi + 0x50]
shl edx, 4
mov rcx, qword [rax + rdx]
mov rdx, qword [rax + rdx + 8]
xor r8d, r8d
call fcn.1400c5b80
mov ebp, eax
mov r11d, 1
mov r8, rsi
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a8acd
mov rcx, r14
sub rcx, rax
neg rcx
sub r14, rax
cmovb r14, rcx
add qword [rdi + 0x158], r14
mov rax, qword [rsp + 0x30]
mov qword [rax], r11
mov qword [rax + 8], r8
mov dword [rax + 0x10], ebp
jmp 0x1400a89a2
mov r11, rsi
mov r10, r13
test edx, 0x8000000
mov r8, qword [rsp + 0x68]
jne 0x1400a709e
jmp 0x1400a882e
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a8acd
mov rcx, rsi
sub rcx, rax
neg rcx
sub rsi, rax
cmovb rsi, rcx
add qword [rdi + 0x158], rsi
jmp 0x1400a73e6
mov eax, 4
shl r13, 0x20
or r13, rax
mov rcx, rbp
mov rdx, r13
call fcn.1400a8b40
jmp 0x1400a82c0
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rdi
lea rcx, [rsp + 0xb8]
mov rdx, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x80]
call fcn.1400a3fa0
mov r13, rax
mov ecx, r13d
shr r13, 0x20
cmp rcx, 5
jne 0x1400a755a
jmp 0x1400a7da4
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
jmp 0x1400a893c
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
mov r15, r14
cmp rdx, qword [rdi + 0x58]
jae 0x1400a8acd
mov rax, qword [rdi + 0x50]
shl edx, 4
mov rcx, qword [rax + rdx]
mov rdx, qword [rax + rdx + 8]
xor r8d, r8d
call fcn.1400c5b80
mov r8d, 1
mov r9, r15
mov rdx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a8acd
mov rcx, r14
sub rcx, rdx
neg rcx
sub r14, rdx
cmovb r14, rcx
add qword [rdi + 0x158], r14
mov rcx, qword [rsp + 0x30]
mov qword [rcx], r8
mov qword [rcx + 8], r9
mov dword [rcx + 0x10], eax
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 4
shl r12, 0x20
or r12, rax
mov rcx, rbp
mov rdx, r12
call fcn.1400a8b40
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
mov eax, 2
mov qword [rcx], rax
jmp 0x1400a89a2
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
mov byte [rax], 1
mov qword [rax + 8], r12
jmp 0x1400a82c0
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
mov byte [rax], 1
mov qword [rax + 8], r13
jmp 0x1400a82c0
test eax, 0x40000000
jne 0x1400a8aa0
test eax, 0x20000000
je 0x1400a8acd
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a8acd
mov rcx, rsi
sub rcx, rax
neg rcx
mov rdx, rsi
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
cmp rsi, r15
jae 0x1400a8acd
movzx ebx, byte [r12 + rsi]
jmp 0x1400a7d16
movzx eax, byte [0x141af8129]
mov edx, 0x10
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1400a8acd
mov byte [rax], 1
mov qword [rax + 8], rsi
jmp 0x1400a82c0
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a8acd
mov rcx, rsi
sub rcx, rax
neg rcx
sub rsi, rax
cmovb rsi, rcx
add qword [rdi + 0x158], rsi
jmp 0x1400a8391
ud2