Function at 0x1400a4720
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 r12, rcx
mov rbp, qword [r9 + 0x18]
mov r14, qword [r9 + 0x20]
cmp rbp, r14
jbe 0x1400a4750
mov qword [r12], 0
jmp 0x1400a6ae5
mov rdi, r8
mov rbx, rdx
mov edx, dword [r9]
lea eax, [rdx - 1]
cmp eax, 2
jb 0x1400a477e
lea rax, [rbx + 0x60]
cmp byte [rbx + 0x78], 3
lea rsi, [0x141a03b80]
cmovne rsi, rax
cmp byte [rsi + 0x18], 2
jne 0x1400a4961
cmp byte [r9 + 0x28], 0
je 0x1400a486f
test rbp, rbp
je 0x1400a4829
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
jae 0x1400a4829
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 0x1400a4811
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 0x1400a4908
movzx eax, byte [rbx + r15 + 0x90]
movzx eax, al
mov rcx, rax
test edx, edx
jne 0x1400a483d
jmp 0x1400a4a95
mov r8d, dword [r9 + 4]
mov al, 2
movzx eax, al
mov rcx, rax
test edx, edx
je 0x1400a4a95
cmp edx, 2
jne 0x1400a4a91
test byte [rbx + 0x81], 1
mov r15d, r8d
jne 0x1400a4f8f
mov rsi, r15
shl rsi, 0x20
or rsi, 2
cmp esi, 5
je 0x1400a4ab0
jmp 0x1400a490d
mov r11, qword [rbx + 0x2b0]
test rbp, rbp
je 0x1400a4a78
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
jae 0x1400a4a78
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 0x1400a5030
lea rax, [rbx + 0x290]
mov esi, r15d
shr esi, 3
and esi, 0xfffffff0
mov r10d, 1
mov r13, r11
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
mov r11, r13
je 0x1400a5030
mov esi, 4
lea ecx, [rsi - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
cmp eax, 2
je 0x1400a5005
cmp eax, 1
jne 0x1400a4fdd
test rbp, rbp
je 0x1400a6e25
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
dec rbp
mov byte [rax], 0
mov byte [rax + 1], r15b
jmp 0x1400a4ffc
cmp byte [r9 + 0x28], 0
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x30], r12
je 0x1400a4dfe
mov r13, qword [rbx + 0x2b0]
mov eax, dword [r13 + 0x17c]
mov dword [rsp + 0x98], eax
test rbp, rbp
je 0x1400a4de2
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
jae 0x1400a4de2
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 0x1400a5632
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 0x1400a5632
mov r15d, 4
lea ecx, [r15 - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
cmp eax, 2
je 0x1400a60a6
cmp eax, 1
jne 0x1400a60d2
test rbp, rbp
je 0x1400a6e25
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
dec rbp
mov byte [rax], 0
mov byte [rax + 1], r12b
jmp 0x1400a6810
mov r8d, dword [r9 + 4]
mov al, 2
movzx eax, al
mov rcx, rax
test edx, edx
jne 0x1400a5043
jmp 0x1400a5071
lea rcx, [rax + 6]
cmp rcx, qword [rdi + 0x40]
jae 0x1400a6e25
mov r10, qword [rdi + 0x38]
mov r15d, dword [r10 + rcx*4]
test r15d, r15d
js 0x1400a5857
cmp qword [rdi], 1
jne 0x1400a4ad5
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 0x1400a4d42
mov r13, qword [r9 + 8]
mov r11, qword [r9 + 0x10]
jmp 0x1400a4b12
mov rbp, rsi
mov r15d, edx
inc rbp
cmp rbp, r14
jae 0x1400a4d46
cmp r15d, 0x7ffffff
jbe 0x1400a4b80
cmp qword [rdi], 0
je 0x1400a6e25
mov qword [rdi + 0x10], rbp
cmp rbp, r11
jae 0x1400a6e25
movzx r8d, byte [r13 + rbp]
movzx ecx, byte [rbx + r8 + 0x190]
mov eax, r15d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x28]
jae 0x1400a6e25
mov rcx, qword [rdi + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x1400a4cb1
mov rsi, rbp
cmp edx, 0x8000000
jae 0x1400a4c9c
jmp 0x1400a4b00
cmp rbp, r14
jae 0x1400a4b06
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x28]
nop dword [rax]
movzx edx, byte [r13 + rbp]
movzx edx, byte [rbx + rdx + 0x190]
mov r8d, r15d
add r8, rdx
mov r8d, dword [rax + r8*4]
lea rsi, [rbp + 3]
cmp rsi, r14
jae 0x1400a4c44
cmp r8d, 0x8000000
jae 0x1400a4c44
movzx edx, byte [r13 + rbp + 1]
movzx edx, byte [rbx + rdx + 0x190]
add rdx, r8
mov r15d, dword [rax + rdx*4]
cmp r15, 0x7ffffff
ja 0x1400a4c2e
movzx edx, byte [r13 + rbp + 2]
movzx edx, byte [rbx + rdx + 0x190]
add rdx, r15
mov r8d, dword [rax + rdx*4]
cmp r8, 0x7ffffff
ja 0x1400a4c40
movzx edx, byte [r13 + rbp + 3]
movzx edx, byte [rbx + rdx + 0x190]
add rdx, r8
mov r15d, dword [rax + rdx*4]
cmp r15d, 0x7ffffff
ja 0x1400a4c50
add rbp, 4
cmp rbp, r14
jb 0x1400a4b90
jmp 0x1400a4b06
inc rbp
mov edx, r15d
mov r15d, r8d
mov rsi, rbp
test edx, edx
jns 0x1400a4c90
jmp 0x1400a4c5a
add rbp, 2
mov edx, r8d
mov rsi, rbp
test edx, edx
jns 0x1400a4c90
jmp 0x1400a4c5a
mov edx, r15d
mov r15d, r8d
test edx, edx
jns 0x1400a4c90
cmp qword [rdi], 0
je 0x1400a6e25
mov qword [rdi + 0x10], rsi
movzx r8d, byte [r13 + rsi]
movzx r10d, byte [rbx + r8 + 0x190]
mov edx, r15d
add rdx, r10
cmp rdx, rcx
jae 0x1400a6e25
mov edx, dword [rax + rdx*4]
test edx, edx
js 0x1400a4cfe
nop dword [rax]
cmp edx, 0x8000000
jb 0x1400a4b00
mov eax, edx
mov ecx, eax
and ecx, 0x10000000
jne 0x1400a4b00
jmp 0x1400a4f05
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x30], r12
mov r12, r9
shl r8d, 8
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r15d
call fcn.1400b0430
test eax, eax
jne 0x1400a67f1
mov rsi, rbp
mov r9, r12
mov r12, qword [rsp + 0x30]
mov r11, qword [rsp + 0x40]
cmp edx, 0x8000000
jae 0x1400a4c9c
jmp 0x1400a4b00
mov qword [rsp + 0x40], r11
mov rbp, r9
shl r8d, 8
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r15d
call fcn.1400b0430
test eax, eax
jne 0x1400a6ca5
mov r9, rbp
mov r11, qword [rsp + 0x40]
cmp edx, 0x8000000
jae 0x1400a4c9c
jmp 0x1400a4b00
mov r11, qword [r9 + 0x10]
cmp r14, r11
jae 0x1400a4d9f
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 0x1400a6e25
mov rcx, qword [rdi + 0x20]
mov r8d, dword [rcx + rax*4]
test r8d, r8d
js 0x1400a5fd4
mov eax, r8d
mov r11, r14
test eax, 0x8000000
jne 0x1400a6a95
test eax, 0x20000000
je 0x1400a4ddb
jmp 0x1400a54ca
movzx eax, byte [rbx + 0x28f]
mov ecx, r15d
and ecx, 0x7ffffff
add ecx, eax
inc ecx
cmp qword [rdi + 0x28], rcx
jbe 0x1400a6e25
mov rdx, qword [rdi + 0x20]
mov r8d, dword [rdx + rcx*4]
test r8d, r8d
js 0x1400a6013
test r8d, 0x8000000
jne 0x1400a6a95
xor ecx, ecx
jmp 0x1400a6aab
mov eax, dword [r9 + 4]
mov dword [rsp + 0x60], eax
mov al, 2
movzx eax, al
cmp rax, qword [rdi + 0x40]
jb 0x1400a5648
jmp 0x1400a6e25
mov rax, qword [rbx + 0x2b0]
mov qword [rsp + 0xc8], rax
mov eax, dword [rax + 0x17c]
mov dword [rsp + 0x78], eax
test rbp, rbp
je 0x1400a4fbe
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
jae 0x1400a4fbe
mov rcx, qword [r9 + 8]
movzx r13d, byte [rcx + rax]
mov eax, dword [r9 + 4]
mov dword [rsp + 0x88], 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 0x1400a588c
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 0x1400a588c
mov r15d, 4
lea ecx, [r15 - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
cmp eax, 2
je 0x1400a69f7
cmp eax, 1
jne 0x1400a4fdd
test rbp, rbp
je 0x1400a6e25
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
dec rbp
mov byte [rax], 0
mov byte [rax + 1], r13b
jmp 0x1400a4ffc
test eax, 0x8000000
jne 0x1400a55c0
test eax, 0x40000000
jne 0x1400a5826
test eax, 0x20000000
je 0x1400a6e25
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a6e25
mov rcx, rsi
sub rcx, rax
neg rcx
mov rdx, rsi
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
cmp rsi, r11
jae 0x1400a6e25
movzx ebx, byte [r13 + rsi]
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 0
mov byte [rax + 1], bl
mov qword [rax + 8], rsi
jmp 0x1400a6a1e
mov rcx, qword [rbx + 0x2b0]
cmp qword [rcx + 0x168], r15
jbe 0x1400a560f
lea rcx, [r15 + r15*2]
lea rcx, [rax + rcx*2]
add rcx, 0xc
cmp rcx, qword [rdi + 0x40]
jb 0x1400a4a9f
jmp 0x1400a6e25
mov eax, dword [r9 + 4]
mov dword [rsp + 0x88], eax
mov al, 2
movzx eax, al
cmp rax, qword [rdi + 0x40]
jb 0x1400a58a2
jmp 0x1400a6e25
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 1
mov qword [rax + 8], rbp
jmp 0x1400a6a1e
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 3
mov dword [rax + 4], esi
mov dword [rax + 8], r15d
jmp 0x1400a6a1e
movzx eax, byte [rbx + r15 + 0x90]
movzx eax, al
mov rcx, rax
test edx, edx
je 0x1400a5071
cmp edx, 2
jne 0x1400a506d
test byte [rbx + 0x81], 1
mov r15d, r8d
jne 0x1400a5598
mov rsi, r15
shl rsi, 0x20
or rsi, 2
cmp esi, 5
je 0x1400a508c
jmp 0x1400a490d
lea rcx, [rax + 6]
cmp rcx, qword [rdi + 0x40]
jae 0x1400a6e25
mov r10, qword [rdi + 0x38]
mov r15d, dword [r10 + rcx*4]
test r15d, r15d
js 0x1400a5a39
cmp qword [rdi], 1
jne 0x1400a50b1
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 0x1400a5467
mov rsi, qword [r9 + 8]
mov rdx, qword [r9 + 0x10]
mov rax, qword [rbx + 0x2b8]
and eax, 0x3f
mov qword [rsp + 0x98], rax
xor r10d, r10d
mov qword [rsp + 0x40], rdx
jmp 0x1400a5102
mov r13, rbp
inc r13
mov rbp, r13
cmp r13, r14
jae 0x1400a54f6
cmp r15d, 0x7ffffff
jbe 0x1400a5170
cmp qword [rdi], 0
je 0x1400a6e25
mov qword [rdi + 0x10], rbp
cmp rbp, rdx
jae 0x1400a6e25
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 0x1400a6e25
mov rcx, qword [rdi + 0x20]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x1400a53a3
mov r15d, eax
mov r13, rbp
cmp r15d, 0x8000000
jae 0x1400a52d0
jmp 0x1400a50f3
cmp rbp, r14
jae 0x1400a50f0
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 0x1400a52a2
cmp edx, 0x8000000
jae 0x1400a52a2
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 0x1400a523b
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 0x1400a529e
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 0x1400a538f
add rbp, 4
cmp rbp, r14
jb 0x1400a5190
mov r13, rbp
mov rdx, qword [rsp + 0x40]
jmp 0x1400a50f3
inc rbp
mov r8d, r15d
mov r15d, edx
mov r13, rbp
test r8d, r8d
jns 0x1400a52ad
cmp qword [rdi], 0
je 0x1400a6e25
mov rbp, r10
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 0x1400a6e25
mov eax, dword [rax + rdx*4]
test eax, eax
js 0x1400a540d
mov r10, rbp
mov r15d, eax
mov rdx, qword [rsp + 0x40]
cmp r15d, 0x8000000
jae 0x1400a52d0
jmp 0x1400a50f3
add rbp, 2
mov r8d, edx
mov r13, rbp
test r8d, r8d
js 0x1400a524c
mov r15d, r8d
mov rdx, qword [rsp + 0x40]
cmp r15d, 0x8000000
jb 0x1400a50f3
nop word cs:[rax + rax]
mov eax, r15d
mov ecx, eax
and ecx, 0x10000000
jne 0x1400a50f3
test eax, 0x8000000
je 0x1400a577f
mov r10d, 1
cmp qword [r11 + 0x168], 1
jne 0x1400a530e
mov dword [rsp + 0x78], 0
mov qword [rsp + 0x68], r13
jmp 0x1400a50f3
mov eax, r15d
and eax, 0x7ffffff
mov rcx, qword [rsp + 0x98]
shr rax, cl
cmp rax, qword [rdi + 0x58]
jae 0x1400a6e25
mov dword [rsp + 0x78], 0
mov rdx, qword [rdi + 0x50]
shl eax, 4
mov rcx, qword [rdx + rax + 8]
test rcx, rcx
je 0x1400a6e25
mov rax, qword [rdx + rax]
test byte [rax + 0x10], 2
jne 0x1400a5361
mov qword [rsp + 0x68], r13
mov rdx, qword [rsp + 0x40]
jmp 0x1400a50f3
cmp rcx, 0xc
mov rdx, qword [rsp + 0x40]
jbe 0x1400a6e25
add rcx, 0xfffffffffffffff3
cmp rcx, 3
jbe 0x1400a6e25
mov eax, dword [rax + 0x1d]
mov dword [rsp + 0x78], eax
mov qword [rsp + 0x68], r13
jmp 0x1400a50f3
mov r8d, r15d
mov r15d, edx
test r8d, r8d
jns 0x1400a52ad
jmp 0x1400a524c
mov qword [rsp + 0x90], r10
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x30], r12
mov r12, r9
shl r8d, 8
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r15d
call fcn.1400b0430
test eax, eax
jne 0x1400a67f1
mov r15d, edx
mov r13, rbp
mov r9, r12
mov r12, qword [rsp + 0x30]
mov r11, qword [rsp + 0x60]
mov r10, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x40]
cmp r15d, 0x8000000
jae 0x1400a52d0
jmp 0x1400a50f3
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x90], r9
shl r8d, 8
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r15d
call fcn.1400b0430
test eax, eax
jne 0x1400a6d36
mov r15d, edx
mov r9, qword [rsp + 0x90]
mov r11, qword [rsp + 0x60]
mov r10, rbp
mov rdx, qword [rsp + 0x40]
cmp r15d, 0x8000000
jae 0x1400a52d0
jmp 0x1400a50f3
mov rdx, qword [r9 + 0x10]
xor r10d, r10d
cmp r14, rdx
jae 0x1400a5508
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 0x1400a6e25
mov rcx, qword [rdi + 0x20]
mov r8d, dword [rcx + rax*4]
test r8d, r8d
js 0x1400a68b4
mov eax, r8d
mov r13, r14
test eax, 0x8000000
jne 0x1400a5543
test eax, 0x20000000
je 0x1400a5559
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 0
mov byte [rax + 1], sil
mov qword [rax + 8], r14
jmp 0x1400a6a1e
mov ebp, dword [rsp + 0x78]
mov r11, qword [rsp + 0x68]
cmp r14, rdx
jb 0x1400a5477
movzx eax, byte [rbx + 0x28f]
mov ecx, r15d
and ecx, 0x7ffffff
add ecx, eax
inc ecx
cmp qword [rdi + 0x28], rcx
jbe 0x1400a6e25
mov r13, rdx
mov rdx, qword [rdi + 0x20]
mov r8d, dword [rdx + rcx*4]
test r8d, r8d
js 0x1400a690a
test r8d, 0x8000000
je 0x1400a5559
mov rcx, rbx
mov rdx, rdi
call fcn.1400a6fc0
mov ebp, eax
mov r10d, 1
mov r11, r13
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a6e25
mov rcx, r14
sub rcx, rax
neg rcx
sub r14, rax
cmovb r14, rcx
add qword [rdi + 0x158], r14
mov qword [r12], r10
mov qword [r12 + 8], r11
mov dword [r12 + 0x10], ebp
jmp 0x1400a6ae5
cmp qword [r11 + 0x168], r15
jbe 0x1400a5803
lea rcx, [r15 + r15*2]
lea rcx, [rax + rcx*2]
add rcx, 0xc
cmp rcx, qword [rdi + 0x40]
jb 0x1400a507b
jmp 0x1400a6e25
mov rcx, rbx
mov r8d, edx
mov rdx, rdi
call fcn.1400a6fc0
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a6e25
mov rdx, rsi
sub rdx, rcx
neg rdx
mov r8, rsi
sub r8, rcx
cmovb r8, rdx
add qword [rdi + 0x158], r8
mov qword [r12], 1
mov qword [r12 + 8], rsi
jmp 0x1400a6ae0
mov rax, qword [rbx + 0x2b8]
and eax, 0x3f
cmp rax, 0x1b
jae 0x1400a6e25
mov r15d, 0x40000000
bts r15, rax
jmp 0x1400a4ab0
movzx eax, byte [rbx + r12 + 0x90]
movzx eax, al
cmp rax, qword [rdi + 0x40]
jae 0x1400a6e25
mov rcx, qword [rdi + 0x38]
mov r12d, dword [rcx + rax*4]
test r12d, r12d
js 0x1400a606b
mov qword [rsp + 0x88], r13
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 + 0x48]
mov qword [rsp + 0x68], rdx
mov r8, r13
mov r9, r15
mov qword [rsp + 0x78], r10
call r10
cmp qword [rsp + 0x48], 0
je 0x1400a59df
mov rbp, qword [rsp + 0x50]
cmp dword [rsp + 0x98], 0
je 0x1400a5a9c
cmp r15, r14
jb 0x1400a6e25
lea rax, [r14 + 1]
cmp rax, rbp
jb 0x1400a6e25
test rbp, rbp
je 0x1400a5778
lea rax, [rbp - 1]
cmp rax, r15
jae 0x1400a5778
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 0x1400a5a74
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 0x1400a5a74
mov ecx, 4
shl r12, 0x20
or r12, rcx
mov rcx, rbp
mov rdx, r12
jmp 0x1400a59c4
mov al, 2
jmp 0x1400a5a7d
test eax, 0x40000000
mov edx, dword [rsp + 0x78]
jne 0x1400a59f5
test eax, 0x20000000
je 0x1400a6e25
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a6e25
mov rcx, r13
sub rcx, rax
neg rcx
mov rdx, r13
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
cmp r13, qword [rsp + 0x40]
jae 0x1400a6e25
movzx ebx, byte [rsi + r13]
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 0
mov byte [rax + 1], bl
mov qword [rax + 8], r13
jmp 0x1400a6a1e
mov rax, qword [rbx + 0x2b8]
and eax, 0x3f
cmp rax, 0x1b
jae 0x1400a6e25
mov r15d, 0x40000000
bts r15, rax
jmp 0x1400a508c
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a6e25
mov rcx, rsi
sub rcx, rax
neg rcx
sub rsi, rax
cmovb rsi, rcx
add qword [rdi + 0x158], rsi
jmp 0x1400a4743
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov rsi, r9
mov r9d, eax
call fcn.1400b1700
mov r9, rsi
mov rsi, rax
mov r15, rax
shr r15, 0x20
cmp esi, 5
je 0x1400a4ab0
jmp 0x1400a490d
movzx eax, byte [rbx + r13 + 0x90]
movzx eax, al
cmp rax, qword [rdi + 0x40]
jae 0x1400a6e25
mov rcx, qword [rdi + 0x38]
mov r13d, dword [rcx + rax*4]
test r13d, r13d
js 0x1400a69b4
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 + 0x48]
mov qword [rsp + 0x98], rdx
mov r8, r12
mov r9, r15
mov qword [rsp + 0x68], r10
call r10
cmp qword [rsp + 0x48], 0
je 0x1400a59df
mov rsi, qword [rsp + 0x50]
cmp dword [rsp + 0x78], 0
je 0x1400a61fc
cmp r15, r14
jb 0x1400a6e25
lea rax, [r14 + 1]
cmp rax, rsi
jb 0x1400a6e25
test rsi, rsi
je 0x1400a59ee
lea rax, [rsi - 1]
cmp rax, r15
jae 0x1400a59ee
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 0x1400a61d4
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 0x1400a61d4
mov ecx, 4
shl r13, 0x20
or r13, rcx
mov rcx, rsi
mov rdx, r13
call fcn.1400a6e30
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
mov eax, 2
mov qword [rcx], rax
jmp 0x1400a6ae5
xor eax, eax
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
jmp 0x1400a6ae5
mov al, 2
jmp 0x1400a61dd
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a6e25
mov rcx, r13
sub rcx, rax
neg rcx
sub r13, rax
cmovb r13, rcx
add qword [rdi + 0x158], r13
mov qword [r12], r10
mov rax, qword [rsp + 0x68]
mov qword [r12 + 8], rax
mov dword [r12 + 0x10], edx
jmp 0x1400a6ae5
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov rsi, r9
mov r9d, eax
mov r15, r11
call fcn.1400b1700
mov r11, r15
mov r9, rsi
mov rsi, rax
mov r15, rax
shr r15, 0x20
cmp esi, 5
je 0x1400a508c
jmp 0x1400a490d
movzx eax, byte [rbx + r12 + 0x90]
movzx r9d, al
cmp r9, qword [rdi + 0x40]
jae 0x1400a6e25
mov rax, qword [rdi + 0x38]
mov r12d, dword [rax + r9*4]
test r12d, r12d
js 0x1400a6b41
cmp qword [rdi], 1
jne 0x1400a5ac1
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 0x1400a5f3c
lea rax, [r14 + 1]
mov qword [rsp + 0xc8], rax
lea rax, [rbx + 0x290]
mov qword [rsp + 0x90], 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 + 0x80], rcx
shl rax, cl
or eax, 0x40000000
mov qword [rsp + 0xc0], 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 0x1400a5b67
mov rbp, rsi
inc rbp
cmp rbp, r14
jae 0x1400a5f3c
cmp r12d, 0x7ffffff
jbe 0x1400a5bce
cmp qword [rdi], 0
je 0x1400a6e25
mov qword [rdi + 0x10], rbp
cmp rbp, r15
jae 0x1400a6e25
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 0x1400a6e25
mov rcx, qword [rdi + 0x20]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x1400a5eae
mov r12d, eax
mov rsi, rbp
cmp r12d, 0x7ffffff
jbe 0x1400a5b58
jmp 0x1400a5cff
cmp rbp, r14
jae 0x1400a5b5b
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x28]
nop dword [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 0x1400a5ce4
cmp edx, 0x8000000
jae 0x1400a5ce4
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 0x1400a5c86
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 0x1400a5ce0
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 0x1400a5e3f
add rbp, 4
cmp rbp, r14
jb 0x1400a5be0
jmp 0x1400a5b5b
inc rbp
mov r8d, r12d
mov r12d, edx
mov rsi, rbp
test r8d, r8d
jns 0x1400a5cef
cmp qword [rdi], 0
je 0x1400a6e25
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 0x1400a6e25
mov eax, dword [rax + rdx*4]
test eax, eax
js 0x1400a5f04
mov r12d, eax
cmp r12d, 0x7ffffff
jbe 0x1400a5b58
jmp 0x1400a5cff
add rbp, 2
mov r8d, edx
mov rsi, rbp
test r8d, r8d
js 0x1400a5c97
mov r12d, r8d
cmp r12d, 0x7ffffff
jbe 0x1400a5b58
mov eax, r12d
test eax, 0x10000000
je 0x1400a60ff
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x48]
mov rdx, qword [rsp + 0x68]
mov r8, r13
mov r9, r15
call qword [rsp + 0x78]
cmp qword [rsp + 0x48], 0
je 0x1400a6199
mov rbp, qword [rsp + 0x50]
cmp rbp, rsi
jbe 0x1400a5b58
cmp dword [rsp + 0x98], 0
mov r9, qword [rsp + 0x90]
je 0x1400a5b5e
cmp r15, r14
jb 0x1400a6e25
cmp qword [rsp + 0xc8], rbp
jb 0x1400a6e25
lea rsi, [rbp - 1]
cmp rsi, r15
jae 0x1400a5de3
movzx r12d, byte [r13 + rsi]
mov rax, qword [r9 + 8]
or rax, qword [r9 + 0x18]
mov rcx, qword [r9]
or rcx, qword [r9 + 0x10]
or rcx, rax
je 0x1400a5dd8
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 0x1400a6c5b
movzx eax, byte [rbx + r12 + 0x90]
jmp 0x1400a5de5
mov al, 2
movzx r9d, al
mov rax, r9
cmp dword [rsp + 0x40], 0
je 0x1400a5e57
cmp dword [rsp + 0x40], 2
jne 0x1400a5e53
mov r12, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xd8]
test byte [rsp + 0x3f], 1
je 0x1400a5ea0
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
cmp qword [rax + 0x168], rcx
jbe 0x1400a5ee9
mov rax, qword [rsp + 0xd0]
add rax, r9
jmp 0x1400a5e57
mov r8d, r12d
mov r12d, edx
test r8d, r8d
jns 0x1400a5cef
jmp 0x1400a5c97
lea rax, [r9 + 6]
cmp rax, qword [rdi + 0x40]
jae 0x1400a6e25
mov rcx, qword [rdi + 0x38]
mov r12d, dword [rcx + rax*4]
test r12d, r12d
jns 0x1400a5b5e
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], rdi
lea rcx, [rsp + 0xb0]
mov rdx, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x60]
call fcn.1400b1700
mov r12, rax
shr r12, 0x20
cmp eax, 5
je 0x1400a5b5e
jmp 0x1400a6c60
shl r8d, 8
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r12d
call fcn.1400b0430
test eax, eax
jne 0x1400a67f1
mov r12d, edx
mov rsi, rbp
cmp r12d, 0x7ffffff
jbe 0x1400a5b58
jmp 0x1400a5cff
mov r12, qword [rsp + 0xc0]
cmp dword [rsp + 0x80], 0x1b
jb 0x1400a5b5e
jmp 0x1400a6e25
shl r8d, 8
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r12d
call fcn.1400b0430
test eax, eax
jne 0x1400a6dd4
mov r12d, edx
cmp r12d, 0x7ffffff
jbe 0x1400a5b58
jmp 0x1400a5cff
cmp r14, r15
jae 0x1400a5f81
movzx esi, byte [r13 + r14]
mov rcx, rbx
mov rdx, rdi
mov r8d, r12d
mov r9d, esi
call fcn.1400a6f50
test eax, eax
jne 0x1400a672a
mov r8d, edx
mov eax, edx
test eax, 0x8000000
mov r12, qword [rsp + 0x30]
jne 0x1400a6967
test eax, 0x20000000
je 0x1400a5fcd
jmp 0x1400a685d
mov rcx, rbx
mov rdx, rdi
mov r8d, r12d
call fcn.1400a6ee0
test eax, eax
je 0x1400a5fb9
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
mov r12, qword [rsp + 0x30]
jne 0x1400a6791
jmp 0x1400a6e25
mov r8d, edx
test edx, 0x8000000
mov r12, qword [rsp + 0x30]
jne 0x1400a696a
xor ecx, ecx
jmp 0x1400a697a
mov r8d, esi
shl r8d, 8
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r15d
call fcn.1400b0430
test eax, eax
jne 0x1400a68e2
mov r8d, edx
mov eax, r8d
mov r11, r14
test eax, 0x8000000
je 0x1400a4d93
jmp 0x1400a6a95
mov rsi, r11
inc eax
shl eax, 0x10
or eax, 1
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r15d
mov r8d, eax
call fcn.1400b0430
test eax, eax
je 0x1400a6a82
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 1
mov r14, rsi
mov qword [rax + 8], rsi
jmp 0x1400a6a1e
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov r8d, dword [rsp + 0x60]
mov r15, r9
mov r9d, eax
call fcn.1400b1700
mov r9, r15
mov r15, rax
mov r12, rax
shr r12, 0x20
cmp r15d, 5
jne 0x1400a4a23
jmp 0x1400a5659
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 3
mov dword [rax + 4], r15d
mov dword [rax + 8], r12d
jmp 0x1400a6814
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
mov rcx, qword [rsp + 0x30]
je 0x1400a6e25
mov byte [rax], 1
mov qword [rax + 8], rbp
jmp 0x1400a6819
test eax, 0x8000000
jne 0x1400a6a30
test eax, 0x40000000
jne 0x1400a6bbf
test eax, 0x20000000
mov r14, qword [rsp + 0x30]
je 0x1400a6e25
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a6e25
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 0x1400a6e25
movzx ebx, byte [r13 + rsi]
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 0
mov byte [rax + 1], bl
mov qword [rax + 8], rsi
mov qword [r14 + 8], rax
mov qword [r14], 2
jmp 0x1400a6ae5
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a6e25
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 0x1400a6ae5
movzx eax, byte [rbx + r13 + 0x90]
movzx r9d, al
cmp r9, qword [rdi + 0x40]
jae 0x1400a6e25
mov rax, qword [rdi + 0x38]
mov r13d, dword [rax + r9*4]
test r13d, r13d
js 0x1400a6c18
cmp qword [rdi], 1
jne 0x1400a6221
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 0x1400a66fd
lea rax, [r14 + 1]
mov qword [rsp + 0x90], rax
lea rax, [rbx + 0x290]
mov qword [rsp + 0x60], rax
movzx eax, byte [rbx + 0x81]
mov byte [rsp + 0x3f], al
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
mov eax, 1
mov qword [rsp + 0xc0], rcx
shl rax, cl
mov ecx, dword [rsp + 0x88]
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 + 0x80], rax
jmp 0x1400a62d1
mov rsi, rbp
inc rsi
cmp rsi, r14
jae 0x1400a6707
mov rbp, rsi
jmp 0x1400a62eb
mov eax, eax
cmp rax, 5
jne 0x1400a6c01
cmp rbp, r14
jae 0x1400a6707
cmp r13d, 0x7ffffff
jbe 0x1400a6348
cmp qword [rdi], 0
je 0x1400a6e25
mov qword [rdi + 0x10], rbp
cmp rbp, r15
jae 0x1400a6e25
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 0x1400a6e25
mov rcx, qword [rdi + 0x20]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x1400a662c
mov r13d, eax
mov rsi, rbp
jmp 0x1400a6463
cmp rbp, r14
jae 0x1400a62c2
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x28]
nop dword [rax]
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 0x1400a6455
cmp edx, 0x8000000
jae 0x1400a6455
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 0x1400a6405
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 0x1400a6451
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 0x1400a65fd
add rbp, 4
cmp rbp, r14
jb 0x1400a6360
jmp 0x1400a62c2
inc rbp
mov r8d, r13d
mov r13d, edx
mov rsi, rbp
test r8d, r8d
jns 0x1400a6460
cmp qword [rdi], 0
je 0x1400a6e25
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 0x1400a6e25
mov eax, dword [rax + rdx*4]
test eax, eax
js 0x1400a665a
mov r13d, eax
jmp 0x1400a6463
add rbp, 2
mov r8d, edx
mov rsi, rbp
test r8d, r8d
js 0x1400a6416
mov r13d, r8d
cmp r13d, 0x7ffffff
jbe 0x1400a62c5
mov eax, r13d
test eax, 0x10000000
je 0x1400a6685
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x48]
mov rdx, qword [rsp + 0x98]
mov r8, r12
mov r9, r15
call qword [rsp + 0x68]
cmp qword [rsp + 0x48], 0
je 0x1400a679d
mov rbp, qword [rsp + 0x50]
cmp rbp, rsi
jbe 0x1400a62c5
cmp dword [rsp + 0x78], 0
mov r9, qword [rsp + 0x60]
je 0x1400a62e2
cmp r15, r14
jb 0x1400a6e25
cmp qword [rsp + 0x90], rbp
jb 0x1400a6e25
lea rax, [rbp - 1]
cmp rax, r15
jae 0x1400a6550
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 0x1400a6545
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 0x1400a6bfc
movzx eax, byte [rbx + r13 + 0x90]
jmp 0x1400a6552
mov al, 2
mov rcx, qword [rsp + 0x40]
movzx r9d, al
mov rax, r9
test ecx, ecx
je 0x1400a65ac
cmp ecx, 2
jne 0x1400a65a8
mov r13, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xd8]
test byte [rsp + 0x3f], 1
je 0x1400a62d6
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xa8]
cmp qword [rax + 0x168], rcx
jbe 0x1400a6611
mov rax, qword [rsp + 0xe0]
add rax, r9
jmp 0x1400a65ac
lea rax, [r9 + 6]
cmp rax, qword [rdi + 0x40]
jae 0x1400a6e25
mov rcx, qword [rdi + 0x38]
mov r13d, dword [rcx + rax*4]
test r13d, r13d
jns 0x1400a62e2
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], rdi
lea rcx, [rsp + 0xb0]
mov rdx, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x88]
call fcn.1400b1700
mov r13, rax
shr r13, 0x20
jmp 0x1400a62d6
mov r8d, r13d
mov r13d, edx
test r8d, r8d
jns 0x1400a6460
jmp 0x1400a6416
mov r13, qword [rsp + 0xd0]
cmp dword [rsp + 0xc0], 0x1b
jb 0x1400a62e2
jmp 0x1400a6e25
shl r8d, 8
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r13d
call fcn.1400b0430
test eax, eax
jne 0x1400a67f1
mov r13d, edx
mov rsi, rbp
jmp 0x1400a6463
shl r8d, 8
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r13d
call fcn.1400b0430
test eax, eax
jne 0x1400a6dd4
mov r13d, edx
jmp 0x1400a6463
test eax, 0x8000000
je 0x1400a6d5e
mov dword [rsp + 0x74], 0
mov eax, 1
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xc8]
cmp qword [rax + 0x168], 1
je 0x1400a66f0
mov eax, r13d
and eax, 0x7ffffff
mov rcx, qword [rsp + 0xc0]
shr rax, cl
cmp rax, qword [rdi + 0x58]
jae 0x1400a6e25
mov rdx, qword [rdi + 0x50]
shl eax, 4
mov rcx, qword [rdx + rax]
mov rdx, qword [rdx + rax + 8]
xor r8d, r8d
call fcn.1400993e0
mov dword [rsp + 0x74], eax
mov qword [rsp + 0xa0], rsi
jmp 0x1400a62c5
xor eax, eax
mov qword [rsp + 0x80], rax
cmp r14, r15
jae 0x1400a675a
movzx esi, byte [r12 + r14]
mov rcx, rbx
mov rdx, rdi
mov r8d, r13d
mov r9d, esi
call fcn.1400a6f50
test eax, eax
je 0x1400a6829
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
mov r12, qword [rsp + 0x30]
je 0x1400a6e25
mov byte [rax], 1
mov r15, r14
mov qword [rax + 8], r14
jmp 0x1400a6a1e
mov rcx, rbx
mov rdx, rdi
mov r8d, r13d
call fcn.1400a6ee0
test eax, eax
mov r12, qword [rsp + 0x30]
je 0x1400a688c
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 1
mov qword [rax + 8], r15
jmp 0x1400a6a1e
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a6e25
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 + 0x80]
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 0x1400a6ae5
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 1
mov qword [rax + 8], rbp
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
mov qword [rcx], 2
jmp 0x1400a6ae5
mov r8d, edx
mov eax, edx
test eax, 0x8000000
mov r12, qword [rsp + 0x30]
jne 0x1400a6af9
test eax, 0x20000000
mov rdx, qword [rsp + 0x80]
mov eax, dword [rsp + 0x74]
mov r9, qword [rsp + 0xa0]
je 0x1400a6b0f
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 0
mov byte [rax + 1], sil
mov r15, r14
mov qword [rax + 8], r14
jmp 0x1400a6a1e
mov r8d, edx
test edx, 0x8000000
mov rdx, qword [rsp + 0x80]
mov eax, dword [rsp + 0x74]
mov r9, qword [rsp + 0xa0]
jne 0x1400a6afc
jmp 0x1400a6b0f
mov qword [rsp + 0x68], r11
mov r13, r10
mov r8d, esi
shl r8d, 8
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r15d
call fcn.1400b0430
test eax, eax
je 0x1400a6b81
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 1
mov qword [rax + 8], r14
jmp 0x1400a6a1e
mov qword [rsp + 0x68], r11
mov rsi, r10
inc eax
shl eax, 0x10
or eax, 1
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r15d
mov r8d, eax
call fcn.1400b0430
test eax, eax
je 0x1400a6ba2
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 1
mov r14, r13
mov qword [rax + 8], r13
jmp 0x1400a6a1e
mov r15, r14
mov rcx, rbx
mov rdx, rdi
call fcn.1400a6fc0
mov ecx, 1
mov rdx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a6e25
mov r8, r14
sub r8, rdx
neg r8
sub r14, rdx
cmovb r14, r8
add qword [rdi + 0x158], r14
mov qword [r12], rcx
mov qword [r12 + 8], r15
jmp 0x1400a6ae0
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x88]
mov r15, r9
mov r9d, eax
call fcn.1400b1700
mov r9, r15
mov r15, rax
mov r13, rax
shr r13, 0x20
cmp r15d, 5
jne 0x1400a4eb0
jmp 0x1400a58b3
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 3
mov dword [rax + 4], r15d
mov dword [rax + 8], r13d
mov qword [r12 + 8], rax
mov qword [r12], 2
jmp 0x1400a6ae5
mov rcx, rbx
mov rdx, rdi
mov r8d, r12d
call fcn.1400a6fc0
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a6e25
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
mov dword [rcx + 0x10], eax
jmp 0x1400a6ae5
mov r8d, edx
mov r11, rsi
test r8d, 0x8000000
je 0x1400a4ddb
mov rcx, rbx
mov rdx, rdi
mov rsi, r11
call fcn.1400a6fc0
mov r9, rsi
mov ecx, 1
mov rdx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a6e25
mov r8, r14
sub r8, rdx
neg r8
sub r14, rdx
cmovb r14, r8
add qword [rdi + 0x158], r14
mov qword [r12], rcx
mov qword [r12 + 8], r9
mov dword [r12 + 0x10], eax
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r15, r14
mov rcx, rbx
mov rdx, rdi
call fcn.1400a6fc0
mov edx, 1
mov r9, r15
mov r8, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a6e25
mov rcx, r14
sub rcx, r8
neg rcx
sub r14, r8
cmovb r14, rcx
add qword [rdi + 0x158], r14
mov qword [r12], rdx
jmp 0x1400a6adb
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], rdi
lea rcx, [rsp + 0xb0]
mov rdx, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x60]
call fcn.1400b1700
mov r12, rax
mov ecx, r12d
shr r12, 0x20
cmp rcx, 5
jne 0x1400a5766
jmp 0x1400a5a9c
mov r8d, edx
mov r10, r13
mov r11, qword [rsp + 0x68]
mov eax, r8d
mov r13, r14
test eax, 0x8000000
je 0x1400a54bf
jmp 0x1400a5543
mov r8d, edx
mov r10, rsi
mov r11, qword [rsp + 0x68]
test r8d, 0x8000000
jne 0x1400a5543
jmp 0x1400a5559
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
mov rdx, qword [rsp + 0x30]
je 0x1400a6e25
mov rcx, rsi
sub rcx, rax
neg rcx
sub rsi, rax
cmovb rsi, rcx
add qword [rdi + 0x158], rsi
mov qword [rdx], 0
jmp 0x1400a6ae5
mov eax, 4
shl r13, 0x20
or r13, rax
mov rcx, rbp
mov rdx, r13
call fcn.1400a6e30
jmp 0x1400a6814
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], rdi
lea rcx, [rsp + 0xb0]
mov rdx, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x88]
call fcn.1400b1700
mov r13, rax
mov ecx, r13d
shr r13, 0x20
cmp rcx, 5
jne 0x1400a59b7
jmp 0x1400a61fc
mov eax, 4
lea edx, [rax - 3]
cmp edx, 2
mov ecx, 2
cmovb ecx, edx
cmp ecx, 2
je 0x1400a6ccd
cmp ecx, 1
jne 0x1400a6cfd
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 0
mov byte [rax + 1], r12b
mov qword [rax + 8], rsi
jmp 0x1400a6cf6
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 1
mov qword [rax + 8], rsi
jmp 0x1400a6a1e
mov rsi, rax
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 3
mov dword [rax + 4], esi
mov dword [rax + 8], r12d
mov rcx, qword [rsp + 0x30]
jmp 0x1400a6d25
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
mov rcx, qword [rsp + 0x30]
je 0x1400a6e25
mov byte [rax], 1
mov qword [rax + 8], rbp
mov qword [rcx + 8], rax
mov eax, 2
mov qword [rcx], rax
jmp 0x1400a6ae5
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 1
mov qword [rax + 8], r13
jmp 0x1400a6a1e
test eax, 0x40000000
jne 0x1400a6df8
test eax, 0x20000000
je 0x1400a6e25
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a6e25
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 0x1400a6e25
movzx ebx, byte [r12 + rsi]
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 0
mov byte [rax + 1], bl
mov qword [rax + 8], rsi
jmp 0x1400a6814
movzx eax, byte [0x141ada129]
mov edx, 0x10
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1400a6e25
mov byte [rax], 1
mov qword [rax + 8], rsi
jmp 0x1400a6814
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400a6e25
mov rcx, rsi
sub rcx, rax
neg rcx
sub rsi, rax
cmovb rsi, rcx
add qword [rdi + 0x158], rsi
jmp 0x1400a67c9
ud2