Function at 0x14001d020
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov r13, qword [r9 + 0x18]
mov rbx, qword [r9 + 0x20]
cmp r13, rbx
jbe 0x14001d04c
mov qword [rcx], 0
jmp 0x14001f722
mov r12, r9
mov rdi, r8
mov r14, rdx
mov qword [rsp + 0x30], rcx
mov r10d, dword [r9]
mov rax, r10
dec rax
cmp rax, 2
jb 0x14001d088
lea rax, [r14 + 0x58]
cmp byte [r14 + 0x68], 3
lea r15, [0x1401108f8]
cmovne r15, rax
cmp byte [r15 + 0x10], 2
jne 0x14001d237
cmp byte [r12 + 0x28], 0
je 0x14001d17d
mov rax, qword [r14 + 0x178]
mov qword [rsp + 0x70], rax
test r13, r13
je 0x14001d153
lea rax, [r13 - 1]
cmp qword [r12 + 0x10], rax
jbe 0x14001d153
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x14001d153
movzx eax, byte [rcx + rax]
movzx esi, al
mov r8d, dword [r12 + 4]
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rdi
mov rax, qword [r14 + 0x290]
or rax, qword [r14 + 0x2a0]
mov rcx, qword [r14 + 0x288]
or rcx, qword [r14 + 0x298]
or rcx, rax
je 0x14001d47a
lea rax, [r14 + 0x288]
mov edx, esi
shr edx, 7
shl rdx, 4
mov r11d, 1
xor r9d, r9d
mov ecx, esi
shld r9, r11, cl
shl r11, cl
xor ecx, ecx
test sil, 0x40
cmovne r9, r11
cmovne r11, rcx
and r9, qword [rax + rdx + 8]
and r11, qword [rax + rdx]
or r11, r9
je 0x14001d47a
mov ebp, 4
jmp 0x14001d4ba
mov r8d, dword [r12 + 4]
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rdi
mov r15b, 2
movzx ecx, r15b
test r10d, r10d
jne 0x14001d489
jmp 0x14001d497
mov r11, qword [r14 + 0x178]
test r13, r13
je 0x14001d316
lea rax, [r13 - 1]
cmp qword [r12 + 0x10], rax
jbe 0x14001d316
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x14001d316
movzx eax, byte [rcx + rax]
movzx esi, al
mov r8d, dword [r12 + 4]
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rdi
mov rax, qword [r14 + 0x290]
or rax, qword [r14 + 0x2a0]
mov rcx, qword [r14 + 0x288]
or rcx, qword [r14 + 0x298]
or rcx, rax
je 0x14001d88a
lea rax, [r14 + 0x288]
mov edx, esi
shr edx, 7
shl rdx, 4
mov r15d, 1
xor r9d, r9d
mov ecx, esi
shld r9, r15, cl
shl r15, cl
xor ecx, ecx
test sil, 0x40
cmovne r9, r15
cmovne r15, rcx
and r9, qword [rax + rdx + 8]
and r15, qword [rax + rdx]
or r15, r9
je 0x14001d88a
mov ebp, 4
jmp 0x14001d8d0
cmp byte [r12 + 0x28], 0
je 0x14001d36e
mov rax, qword [r14 + 0x178]
mov qword [rsp + 0xc0], rax
mov eax, dword [rax + 0x17c]
mov dword [rsp + 0x80], eax
test r13, r13
je 0x14001d340
lea rax, [r13 - 1]
cmp qword [r12 + 0x10], rax
jbe 0x14001d340
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x14001d340
movzx eax, byte [rcx + rax]
movzx ebp, al
mov eax, dword [r12 + 4]
mov dword [rsp + 0x78], eax
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rdi
mov rax, qword [r14 + 0x290]
or rax, qword [r14 + 0x2a0]
mov rcx, qword [r14 + 0x288]
or rcx, qword [r14 + 0x298]
or rcx, rax
je 0x14001decd
lea rax, [r14 + 0x288]
mov edx, ebp
shr edx, 7
shl rdx, 4
mov r8d, 1
xor r9d, r9d
mov ecx, ebp
shld r9, r8, cl
shl r8, cl
xor ecx, ecx
test bpl, 0x40
cmovne r9, r8
cmovne r8, rcx
and r9, qword [rax + rdx + 8]
and r8, qword [rax + rdx]
or r8, r9
je 0x14001decd
mov ecx, 4
jmp 0x14001df0d
mov r8d, dword [r12 + 4]
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rdi
mov r9b, 2
movzx ecx, r9b
test r10d, r10d
jne 0x14001d899
jmp 0x14001d8a7
mov eax, dword [r12 + 4]
mov dword [rsp + 0x78], eax
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rdi
mov sil, 2
movzx eax, sil
test r10d, r10d
jne 0x14001dedc
jmp 0x14001deea
mov rax, qword [r14 + 0x178]
mov qword [rsp + 0xb8], rax
mov eax, dword [rax + 0x17c]
mov dword [rsp + 0x80], eax
test r13, r13
je 0x14001d859
lea rax, [r13 - 1]
cmp qword [r12 + 0x10], rax
jbe 0x14001d859
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x14001d859
movzx eax, byte [rcx + rax]
movzx esi, al
mov eax, dword [r12 + 4]
mov dword [rsp + 0xa8], eax
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rdi
mov rax, qword [r14 + 0x290]
or rax, qword [r14 + 0x2a0]
mov rcx, qword [r14 + 0x288]
or rcx, qword [r14 + 0x298]
or rcx, rax
je 0x14001e1cb
lea rax, [r14 + 0x288]
mov edx, esi
shr edx, 7
shl rdx, 4
mov r8d, 1
xor r9d, r9d
mov ecx, esi
shld r9, r8, cl
shl r8, cl
xor ecx, ecx
test sil, 0x40
cmovne r9, r8
cmovne r8, rcx
and r9, qword [rax + rdx + 8]
and r8, qword [rax + rdx]
or r8, r9
je 0x14001e1cb
mov ecx, 4
cmp ecx, 5
je 0x14001e246
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
test eax, eax
je 0x14001f522
cmp eax, 1
jne 0x14001e3e3
test r13, r13
je 0x14001f9c2
dec r13
mov ecx, esi
jmp 0x14001e087
movzx r15d, byte [r14 + rsi + 0x78]
movzx ecx, r15b
test r10d, r10d
je 0x14001d497
cmp r10d, 1
jne 0x14001d75e
add rcx, 6
mov rdx, qword [rdi + 0x58]
cmp rcx, rdx
jae 0x14001dd2e
mov rax, qword [rdi + 0x48]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x14001dea4
mov esi, eax
mov ebp, 5
cmp ebp, 5
jne 0x14001dc41
cmp qword [rdi], 1
jne 0x14001d4e8
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], r13
mov qword [rdi + 0x10], r13
cmp r13, rbx
jae 0x14001d7a1
mov r15, qword [r12 + 8]
mov r10, qword [r12 + 0x10]
lea r11, [rsp + 0x40]
jmp 0x14001d52f
mov r13, rbp
inc r13
cmp r13, rbx
jae 0x14001d7a6
cmp esi, 0x7ffffff
jbe 0x14001d5b0
cmp qword [rdi], 0
je 0x14001f969
mov qword [rdi + 0x10], r13
cmp r13, r10
jae 0x14001f7e8
movzx r8d, byte [r15 + r13]
movzx eax, byte [r14 + r8 + 0x188]
mov ecx, esi
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x14001f739
mov rax, qword [rdi + 0x30]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x14001d711
mov rbp, r13
mov esi, eax
cmp esi, 0x8000000
jb 0x14001d520
mov eax, esi
mov ecx, eax
and ecx, 0x10000000
jne 0x14001d520
jmp 0x14001de1e
cmp r13, rbx
jae 0x14001d523
mov r9, qword [rdi + 0x30]
nop dword [rax]
movzx eax, byte [r15 + r13]
movzx eax, byte [r14 + rax + 0x188]
mov ecx, esi
add rcx, rax
mov eax, dword [r9 + rcx*4]
lea rbp, [r13 + 3]
cmp rbp, rbx
jae 0x14001d672
cmp eax, 0x8000000
jae 0x14001d672
movzx ecx, byte [r15 + r13 + 1]
movzx ecx, byte [r14 + rcx + 0x188]
add rcx, rax
mov esi, dword [r9 + rcx*4]
cmp rsi, 0x7ffffff
ja 0x14001d65c
movzx eax, byte [r15 + r13 + 2]
movzx eax, byte [r14 + rax + 0x188]
add rax, rsi
mov eax, dword [r9 + rax*4]
cmp rax, 0x7ffffff
ja 0x14001d66e
movzx ecx, byte [r15 + r13 + 3]
movzx ecx, byte [r14 + rcx + 0x188]
add rcx, rax
mov esi, dword [r9 + rcx*4]
cmp esi, 0x7ffffff
ja 0x14001d683
add r13, 4
cmp r13, rbx
jb 0x14001d5c0
jmp 0x14001d523
inc r13
mov edx, eax
mov rbp, r13
test esi, esi
jns 0x14001d588
jmp 0x14001d68d
add r13, 2
mov edx, esi
mov rbp, r13
mov esi, eax
test esi, esi
jns 0x14001d588
jmp 0x14001d68d
mov edx, eax
test esi, esi
jns 0x14001d588
cmp qword [rdi], 0
je 0x14001f969
mov qword [rdi + 0x10], rbp
cmp rbp, r10
jae 0x14001f901
movzx r8d, byte [r15 + rbp]
movzx eax, byte [r14 + r8 + 0x188]
mov ecx, edx
add rcx, rax
mov rax, qword [rdi + 0x40]
cmp rcx, rax
jae 0x14001f86e
mov esi, dword [r9 + rcx*4]
test esi, esi
jns 0x14001d588
mov qword [rsp + 0x80], r10
shl r8d, 8
mov qword [rsp + 0x40], r14
mov r13, rdi
mov qword [rsp + 0x48], rdi
mov rdi, r11
mov rcx, r11
call fcn.1401077e0
test eax, eax
jne 0x14001f7fc
mov esi, edx
mov r10, qword [rsp + 0x80]
mov r11, rdi
mov rdi, r13
jmp 0x14001d588
mov qword [rsp + 0x80], r10
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x48], rdi
mov rdi, r11
mov rcx, r11
mov edx, esi
call fcn.1401077e0
test eax, eax
jne 0x14001f522
mov esi, edx
mov rbp, r13
mov r10, qword [rsp + 0x80]
mov rax, qword [rsp + 0x78]
mov r11, rdi
mov rdi, rax
jmp 0x14001d588
test byte [r14 + 0x71], 1
mov esi, r8d
mov ebp, 2
je 0x14001d4ba
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x160], rsi
jbe 0x14001de83
lea rax, [rsi + rsi*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov rdx, qword [rdi + 0x58]
cmp rcx, rdx
jb 0x14001d4a4
jmp 0x14001dd2e
mov r10, qword [r12 + 0x10]
cmp rbx, r10
jae 0x14001d804
mov rax, qword [r12 + 8]
movzx r15d, byte [rax + rbx]
movzx eax, byte [r14 + r15 + 0x188]
mov ecx, esi
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x14001f739
mov rax, qword [rdi + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x14001eb9f
mov eax, edx
test eax, 0x8000000
jne 0x14001de47
test eax, 0x20000000
jne 0x14001dd9b
xor esi, esi
jmp 0x14001f58e
movzx r8d, byte [r14 + 0x287]
shl r8d, 0x10
add r8d, 0x10001
mov eax, r8d
shr eax, 0x10
mov ecx, esi
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rdx, rcx
jbe 0x14001f8f3
mov rax, qword [rdi + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x14001ebc5
xor eax, eax
test edx, 0x8000000
jne 0x14001f550
xor esi, esi
jmp 0x14001f58e
mov eax, dword [r12 + 4]
mov dword [rsp + 0xa8], eax
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rdi
mov bpl, 2
movzx eax, bpl
test r10d, r10d
jne 0x14001e1da
jmp 0x14001e21a
movzx r9d, byte [r14 + rsi + 0x78]
movzx ecx, r9b
test r10d, r10d
je 0x14001d8a7
cmp r10d, 1
jne 0x14001dceb
add rcx, 6
mov rdx, qword [rdi + 0x58]
cmp rcx, rdx
jae 0x14001dd2e
mov r15, r11
mov rax, qword [rdi + 0x48]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x14001e1a5
mov esi, eax
mov ebp, 5
mov r11, r15
cmp ebp, 5
jne 0x14001dc41
cmp qword [rdi], 1
jne 0x14001d8fe
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], r13
mov qword [rdi + 0x10], r13
cmp r13, rbx
jae 0x14001dd3c
mov r15, qword [r12 + 8]
mov r9, qword [r12 + 0x10]
mov rax, qword [r14 + 0x180]
and eax, 0x3f
mov qword [rsp + 0xc0], rax
xor r10d, r10d
mov qword [rsp + 0x80], r9
jmp 0x14001d952
mov rbp, r13
inc rbp
mov r13, rbp
cmp rbp, rbx
jae 0x14001dda6
cmp esi, 0x7ffffff
jbe 0x14001d9c0
cmp qword [rdi], 0
je 0x14001f969
mov qword [rdi + 0x10], r13
cmp r13, r9
jae 0x14001f851
movzx r8d, byte [r15 + r13]
movzx eax, byte [r14 + r8 + 0x188]
mov ecx, esi
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x14001f739
mov rax, qword [rdi + 0x30]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x14001dbaf
mov rbp, r13
mov esi, eax
cmp esi, 0x8000000
jae 0x14001daf8
jmp 0x14001d943
cmp r13, rbx
jae 0x14001d940
mov r9, qword [rdi + 0x30]
nop dword [rax]
movzx eax, byte [r15 + r13]
movzx eax, byte [r14 + rax + 0x188]
mov ecx, esi
add rcx, rax
mov eax, dword [r9 + rcx*4]
lea rbp, [r13 + 3]
cmp rbp, rbx
jae 0x14001da89
cmp eax, 0x8000000
jae 0x14001da89
movzx ecx, byte [r15 + r13 + 1]
movzx ecx, byte [r14 + rcx + 0x188]
add rcx, rax
mov esi, dword [r9 + rcx*4]
cmp rsi, 0x7ffffff
ja 0x14001da77
movzx eax, byte [r15 + r13 + 2]
movzx eax, byte [r14 + rax + 0x188]
add rax, rsi
mov eax, dword [r9 + rax*4]
cmp rax, 0x7ffffff
ja 0x14001da85
movzx ecx, byte [r15 + r13 + 3]
movzx ecx, byte [r14 + rcx + 0x188]
add rcx, rax
mov esi, dword [r9 + rcx*4]
cmp esi, 0x7ffffff
ja 0x14001da96
add r13, 4
cmp r13, rbx
jb 0x14001d9d0
mov rbp, r13
mov r9, qword [rsp + 0x80]
jmp 0x14001d943
inc r13
mov edx, eax
mov rbp, r13
test esi, esi
jns 0x14001dae4
jmp 0x14001da9c
add r13, 2
mov edx, esi
mov rbp, r13
mov esi, eax
test esi, esi
jns 0x14001dae4
jmp 0x14001da9c
mov edx, eax
test esi, esi
jns 0x14001dae4
cmp qword [rdi], 0
je 0x14001f969
mov qword [rdi + 0x10], rbp
cmp rbp, qword [rsp + 0x80]
jae 0x14001f91d
movzx r8d, byte [r15 + rbp]
movzx eax, byte [r14 + r8 + 0x188]
mov ecx, edx
add rcx, rax
mov rax, qword [rdi + 0x40]
cmp rcx, rax
jae 0x14001f86e
mov esi, dword [r9 + rcx*4]
test esi, esi
js 0x14001dc0f
mov r9, qword [rsp + 0x80]
cmp esi, 0x8000000
jb 0x14001d943
mov eax, esi
mov ecx, eax
and ecx, 0x10000000
jne 0x14001d943
test eax, 0x8000000
je 0x14001e3a4
mov r10d, 1
cmp qword [r11 + 0x160], 1
jne 0x14001db35
mov dword [rsp + 0x70], 0
mov qword [rsp + 0x78], rbp
jmp 0x14001d943
mov eax, esi
and eax, 0x7ffffff
mov rcx, qword [rsp + 0xc0]
shr rax, cl
mov rdx, qword [rdi + 0x70]
cmp rax, rdx
jae 0x14001f87f
mov dword [rsp + 0x70], 0
mov rcx, qword [rdi + 0x60]
shl rax, 4
mov rdx, qword [rcx + rax + 8]
test rdx, rdx
je 0x14001f890
mov rax, qword [rcx + rax]
test byte [rax + 0x10], 2
jne 0x14001db86
mov qword [rsp + 0x78], rbp
jmp 0x14001d943
cmp rdx, 0xd
jb 0x14001fa69
add rdx, 0xfffffffffffffff3
cmp rdx, 3
jbe 0x14001fa7c
mov eax, dword [rax + 0x1d]
mov dword [rsp + 0x70], eax
mov qword [rsp + 0x78], rbp
jmp 0x14001d943
mov qword [rsp + 0xa8], r10
mov qword [rsp + 0xb8], r11
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, esi
call fcn.1401077e0
test eax, eax
jne 0x14001f522
mov esi, edx
mov rbp, r13
mov r11, qword [rsp + 0xb8]
mov r10, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x80]
cmp esi, 0x8000000
jae 0x14001daf8
jmp 0x14001d943
mov qword [rsp + 0xa8], r10
mov r13, r11
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
call fcn.1401077e0
test eax, eax
jne 0x14001f7fc
mov esi, edx
mov r11, r13
jmp 0x14001dbee
lea ecx, [rbp - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
test eax, eax
je 0x14001dc93
cmp eax, 1
jne 0x14001dcbe
test r13, r13
je 0x14001f9c2
movzx eax, byte [0x1401b21c1]
mov ecx, 0x10
mov edx, 8
call fcn.140008480
test rax, rax
je 0x14001f997
dec r13
mov byte [rax], 0
mov byte [rax + 1], sil
mov qword [rax + 8], r13
jmp 0x14001f52a
movzx eax, byte [0x1401b21c1]
mov ecx, 0x10
mov edx, 8
call fcn.140008480
test rax, rax
je 0x14001f997
mov byte [rax], 1
mov qword [rax + 8], r13
jmp 0x14001f52a
movzx eax, byte [0x1401b21c1]
mov ecx, 0x10
mov edx, 8
call fcn.140008480
test rax, rax
je 0x14001f997
mov byte [rax], 3
mov dword [rax + 4], ebp
mov dword [rax + 8], esi
jmp 0x14001f52a
test byte [r14 + 0x71], 1
mov dword [rsp + 0x70], r8d
mov esi, r8d
mov ebp, 2
je 0x14001d8d0
cmp qword [r11 + 0x160], rsi
jbe 0x14001e17c
lea rax, [rsi + rsi*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov r8d, dword [rsp + 0x70]
mov rdx, qword [rdi + 0x58]
cmp rcx, rdx
jb 0x14001d8b4
lea r8, [0x1401108e0]
call fcn.14010ac00
ud2
mov r9, qword [r12 + 0x10]
xor r10d, r10d
cmp rbx, r9
jae 0x14001ddb4
mov rax, qword [r12 + 8]
movzx r15d, byte [rax + rbx]
movzx eax, byte [r14 + r15 + 0x188]
mov ecx, esi
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x14001f739
mov rax, qword [rdi + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x14001ebf5
mov eax, edx
test eax, 0x8000000
jne 0x14001f6ac
test eax, 0x20000000
je 0x14001f6e7
mov ecx, r15d
mov rdx, rbx
jmp 0x14001e3d9
mov ebp, dword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
cmp rbx, r9
jb 0x14001dd49
movzx r8d, byte [r14 + 0x287]
shl r8d, 0x10
add r8d, 0x10001
mov eax, r8d
shr eax, 0x10
mov ecx, esi
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rdx, rcx
jbe 0x14001f8f3
mov rax, qword [rdi + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x14001ec2d
test edx, 0x8000000
je 0x14001f6e7
mov r10d, 1
xor ebp, ebp
cmp qword [r11 + 0x160], 1
jne 0x14001e3ef
mov r13, r9
jmp 0x14001f6e7
test eax, 0x8000000
jne 0x14001e0e9
test eax, 0x40000000
jne 0x14001e438
test eax, 0x20000000
je 0x14001faa8
mov rsi, r10
jmp 0x14001e3bd
mov esi, 1
xor eax, eax
mov rcx, qword [rsp + 0x70]
cmp qword [rcx + 0x160], 1
je 0x14001de7b
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
call fcn.140071190
mov rcx, rax
xor edx, edx
call fcn.14004acf0
mov r10, rbx
jmp 0x14001f58e
lea rcx, [rsp + 0x88]
mov rsi, r10
mov ebp, r8d
call fcn.1400711e0
mov r8d, ebp
mov r10, rsi
test eax, eax
jns 0x14001d4b3
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r10d
mov r9d, r15d
call fcn.1401084c0
mov rbp, rax
mov rsi, rax
shr rsi, 0x20
jmp 0x14001d4ba
movzx esi, byte [r14 + rbp + 0x78]
movzx eax, sil
test r10d, r10d
je 0x14001deea
cmp r10d, 1
jne 0x14001e08f
add rax, 6
mov rdx, qword [rdi + 0x58]
cmp rax, rdx
jae 0x14001f376
mov rcx, qword [rdi + 0x48]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x14001e468
mov ebp, eax
mov ecx, 5
cmp ecx, 5
jne 0x14001e05e
mov qword [rsp + 0x70], r10
mov rsi, qword [r12 + 8]
mov rdx, qword [r12 + 0x10]
mov rax, qword [r15]
mov rcx, qword [r15 + 8]
mov r15, rdx
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], rbx
mov qword [rsp + 0x20], r13
lea rcx, [rsp + 0x118]
mov qword [rsp + 0xb8], rdx
mov r8, rsi
mov r9, r15
mov qword [rsp + 0xa8], r10
call r10
cmp qword [rsp + 0x118], 0
je 0x14001e395
mov r13, qword [rsp + 0x120]
cmp dword [rsp + 0x80], 0
mov r10, qword [rsp + 0x70]
je 0x14001e5a7
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0xf0], rbx
cmp r15, rbx
jb 0x14001f9dc
lea rax, [rbx + 1]
cmp rax, r13
jb 0x14001f9dc
test r13, r13
je 0x14001e161
lea rax, [r13 - 1]
cmp r15, rax
jbe 0x14001e161
movzx eax, byte [rsi + rax]
movzx ebp, al
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rdi
mov rax, qword [r14 + 0x290]
or rax, qword [r14 + 0x2a0]
mov rcx, qword [r14 + 0x288]
or rcx, qword [r14 + 0x298]
or rcx, rax
je 0x14001e522
lea rax, [r14 + 0x288]
mov edx, ebp
shr edx, 7
shl rdx, 4
mov r8d, 1
xor r9d, r9d
mov ecx, ebp
shld r9, r8, cl
shl r8, cl
xor ecx, ecx
test bpl, 0x40
cmovne r9, r8
cmovne r8, rcx
and r9, qword [rax + rdx + 8]
and r8, qword [rax + rdx]
or r8, r9
je 0x14001e522
mov ecx, 4
jmp 0x14001e59e
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
test eax, eax
je 0x14001f522
cmp eax, 1
jne 0x14001e0dd
test r13, r13
je 0x14001f9c2
dec r13
mov ecx, ebp
mov rdx, r13
jmp 0x14001e3d9
test byte [r14 + 0x71], 1
mov ebp, dword [rsp + 0x78]
mov ecx, 2
je 0x14001df0d
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x160], rbp
jbe 0x14001e44d
lea rcx, [rbp*2]
add rcx, rbp
lea rax, [rax + rcx*2]
add rax, 0xc
mov rdx, qword [rdi + 0x58]
cmp rax, rdx
jb 0x14001def7
jmp 0x14001f376
mov edx, ebp
call fcn.14001a3a0
jmp 0x14001f52a
xor eax, eax
mov rcx, qword [rsp + 0x70]
cmp qword [rcx + 0x160], 1
je 0x14001e11a
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, esi
call fcn.140071190
mov rcx, rax
xor edx, edx
call fcn.14004acf0
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14001f9a8
mov rdx, rbp
sub rdx, rcx
neg rdx
mov r8, rbp
sub r8, rcx
cmovb r8, rdx
add qword [rdi + 0x158], r8
mov rcx, qword [rsp + 0x30]
mov qword [rcx], 1
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], eax
jmp 0x14001f722
mov r12, r15
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rdi
mov r15b, 2
jmp 0x14001e52b
mov r15, r11
lea rcx, [rsp + 0x88]
mov rsi, r10
mov ebp, r9d
call fcn.1400711e0
mov r9d, ebp
mov r10, rsi
mov r8d, dword [rsp + 0x70]
test eax, eax
jns 0x14001d8c6
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r10d
call fcn.1401084c0
mov rbp, rax
mov rsi, rax
shr rsi, 0x20
jmp 0x14001d8cd
movzx ebp, byte [r14 + rsi + 0x78]
movzx eax, bpl
test r10d, r10d
je 0x14001e21a
cmp r10d, 1
jne 0x14001e1e6
add rax, 6
jmp 0x14001e21a
test byte [r14 + 0x71], 1
mov esi, dword [rsp + 0xa8]
mov ecx, 2
je 0x14001e23d
mov rcx, qword [rsp + 0xb8]
cmp qword [rcx + 0x160], rsi
jbe 0x14001e4c7
lea rcx, [rsi + rsi*2]
lea rax, [rax + rcx*2]
add rax, 0xc
mov rdx, qword [rdi + 0x58]
cmp rax, rdx
jae 0x14001f376
mov rcx, qword [rdi + 0x48]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x14001e4e2
mov esi, eax
mov ecx, 5
cmp ecx, 5
jne 0x14001d448
mov qword [rsp + 0x70], r10
mov rbp, qword [r12 + 8]
mov rdx, qword [r12 + 0x10]
mov rax, qword [r15]
mov rcx, qword [r15 + 8]
mov r15, rdx
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], rbx
mov qword [rsp + 0x20], r13
lea rcx, [rsp + 0x118]
mov qword [rsp + 0xc0], rdx
mov r8, rbp
mov r9, r15
mov qword [rsp + 0x78], r10
call r10
cmp qword [rsp + 0x118], 0
je 0x14001e395
mov r12, qword [rsp + 0x120]
cmp dword [rsp + 0x80], 0
mov r10, qword [rsp + 0x70]
mov qword [rsp + 0xd0], r15
je 0x14001ecc9
mov qword [rsp + 0xe8], r12
mov qword [rsp + 0xf0], rbx
cmp r15, rbx
jb 0x14001f9dc
lea rax, [rbx + 1]
cmp rax, r12
jb 0x14001f9dc
test r12, r12
je 0x14001e420
lea rax, [r12 - 1]
cmp r15, rax
jbe 0x14001e420
movzx eax, byte [rbp + rax]
movzx esi, al
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rdi
mov rax, qword [r14 + 0x290]
or rax, qword [r14 + 0x2a0]
mov rcx, qword [r14 + 0x288]
or rcx, qword [r14 + 0x298]
or rcx, rax
je 0x14001ec78
lea rax, [r14 + 0x288]
mov edx, esi
shr edx, 7
shl rdx, 4
mov r8d, 1
xor r9d, r9d
mov ecx, esi
shld r9, r8, cl
shl r8, cl
xor ecx, ecx
test sil, 0x40
cmovne r9, r8
cmovne r8, rcx
and r9, qword [rax + rdx + 8]
and r8, qword [rax + rdx]
or r8, r9
je 0x14001ec78
mov ecx, 4
jmp 0x14001ecc0
xor eax, eax
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
jmp 0x14001f722
test eax, 0x40000000
jne 0x14001e49c
test eax, 0x20000000
je 0x14001faa8
mov rsi, r9
mov rcx, rdi
mov rdx, rbp
call fcn.14001cfd0
cmp rbp, rsi
jae 0x14001f955
movzx ecx, byte [r15 + rbp]
mov rdx, rbp
call fcn.14001a300
jmp 0x14001f52a
mov edx, esi
call fcn.14001a3a0
jmp 0x14001f52a
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov rsi, r9
call fcn.140071190
mov rcx, rax
xor edx, edx
call fcn.14004acf0
mov r10d, 1
mov ebp, eax
mov r13, rsi
jmp 0x14001f6e7
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rdi
mov r15b, 2
jmp 0x14001ec7e
mov rcx, rdi
mov rdx, rbp
call fcn.14001cfd0
mov rcx, qword [rsp + 0x30]
jmp 0x14001d040
lea rcx, [rsp + 0x88]
mov rbp, r10
call fcn.1400711e0
mov r10, rbp
test eax, eax
jns 0x14001df06
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r10d
mov r8d, dword [rsp + 0x78]
mov r9d, esi
mov rsi, r10
call fcn.1401084c0
mov r10, rsi
mov rcx, rax
mov rbp, rax
shr rbp, 0x20
jmp 0x14001df0d
mov rcx, rdi
mov rdx, rbp
mov rsi, r10
call fcn.14001cfd0
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rsi
mov rax, qword [rsp + 0x78]
mov qword [rcx + 8], rax
mov eax, dword [rsp + 0x70]
mov dword [rcx + 0x10], eax
jmp 0x14001f722
lea rcx, [rsp + 0x88]
mov rsi, r10
call fcn.1400711e0
mov r10, rsi
test eax, eax
jns 0x14001e236
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r10d
mov r8d, dword [rsp + 0xa8]
mov r9d, ebp
mov rsi, r10
call fcn.1401084c0
mov r10, rsi
mov rcx, rax
mov rsi, rax
shr rsi, 0x20
cmp ecx, 5
je 0x14001e246
jmp 0x14001d448
mov r12, r15
movzx r15d, byte [r14 + rbp + 0x78]
movzx eax, r15b
test r10d, r10d
je 0x14001e578
cmp r10d, 1
jne 0x14001e540
add rax, 6
jmp 0x14001e578
test byte [r14 + 0x71], 1
mov ebp, dword [rsp + 0x78]
mov ecx, 2
je 0x14001e59b
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x160], rbp
jbe 0x14001f4b5
lea rcx, [rbp*2]
add rcx, rbp
lea rax, [rax + rcx*2]
add rax, 0xc
mov rdx, qword [rdi + 0x58]
cmp rax, rdx
jae 0x14001f376
mov rcx, qword [rdi + 0x48]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x14001f4cf
mov ebp, eax
mov ecx, 5
mov r15, r12
cmp ecx, 5
jne 0x14001ea66
cmp qword [rdi], 1
jne 0x14001e5cc
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], r13
mov qword [rdi + 0x10], r13
cmp r13, rbx
jae 0x14001ea0a
lea rax, [rbx + 1]
mov qword [rsp + 0xd0], rax
lea rax, [r14 + 0x288]
mov qword [rsp + 0xf8], rax
movzx eax, byte [r14 + 0x71]
mov byte [rsp + 0x108], al
mov eax, dword [rsp + 0x78]
mov qword [rsp + 0xc8], rax
lea rax, [rax + rax*2]
lea rax, [rax*2 + 0xc]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x110], r15
jmp 0x14001e644
mov r13, r12
inc r13
cmp r13, rbx
jae 0x14001ea0a
cmp ebp, 0x7ffffff
jbe 0x14001e6a2
cmp qword [rdi], 0
je 0x14001f969
mov qword [rdi + 0x10], r13
cmp r13, r15
jae 0x14001f8df
movzx r8d, byte [rsi + r13]
movzx eax, byte [r14 + r8 + 0x188]
mov ecx, ebp
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x14001f739
mov rax, qword [rdi + 0x30]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x14001e7cc
mov r12, r13
mov ebp, eax
jmp 0x14001e7f3
cmp r13, rbx
jae 0x14001e638
mov r9, qword [rdi + 0x30]
nop dword [rax + rax]
movzx eax, byte [rsi + r13]
movzx eax, byte [r14 + rax + 0x188]
mov ecx, ebp
add rcx, rax
mov eax, dword [r9 + rcx*4]
lea r12, [r13 + 3]
cmp r12, rbx
jae 0x14001e756
cmp eax, 0x8000000
jae 0x14001e756
movzx ecx, byte [rsi + r13 + 1]
movzx ecx, byte [r14 + rcx + 0x188]
add rcx, rax
mov ebp, dword [r9 + rcx*4]
cmp rbp, 0x7ffffff
ja 0x14001e748
movzx eax, byte [rsi + r13 + 2]
movzx eax, byte [r14 + rax + 0x188]
add rax, rbp
mov eax, dword [r9 + rax*4]
cmp rax, 0x7ffffff
ja 0x14001e752
movzx ecx, byte [rsi + r13 + 3]
movzx ecx, byte [r14 + rcx + 0x188]
add rcx, rax
mov ebp, dword [r9 + rcx*4]
cmp ebp, 0x7ffffff
ja 0x14001e75f
add r13, 4
cmp r13, rbx
jb 0x14001e6b0
jmp 0x14001e638
inc r13
mov edx, eax
mov r12, r13
jmp 0x14001e761
add r13, 2
mov edx, ebp
mov r12, r13
mov ebp, eax
jmp 0x14001e761
mov edx, eax
test ebp, ebp
jns 0x14001e7f3
cmp qword [rdi], 0
je 0x14001f969
mov qword [rdi + 0x10], r12
cmp r12, r15
jae 0x14001f941
movzx r8d, byte [rsi + r12]
movzx eax, byte [r14 + r8 + 0x188]
mov ecx, edx
add rcx, rax
mov rax, qword [rdi + 0x40]
cmp rcx, rax
jae 0x14001f86e
mov ebp, dword [r9 + rcx*4]
test ebp, ebp
jns 0x14001e7f3
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
call fcn.1401077e0
test eax, eax
jne 0x14001f915
mov ebp, edx
jmp 0x14001e7f3
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, ebp
call fcn.1401077e0
test eax, eax
jne 0x14001f522
mov ebp, edx
mov r12, r13
cmp ebp, 0x7ffffff
jbe 0x14001e635
mov eax, ebp
test eax, 0x10000000
je 0x14001f436
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0x118]
mov rdx, qword [rsp + 0xb8]
mov r8, rsi
mov r9, r15
call qword [rsp + 0xa8]
cmp qword [rsp + 0x118], 0
je 0x14001f478
mov r13, qword [rsp + 0x120]
cmp r13, r12
jbe 0x14001e635
cmp dword [rsp + 0x80], 0
mov r9, qword [rsp + 0x70]
je 0x14001e63b
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0xf0], rbx
cmp r15, rbx
jb 0x14001f9dc
cmp qword [rsp + 0xd0], r13
jb 0x14001f9dc
lea r12, [r13 - 1]
cmp r15, r12
jbe 0x14001e920
movzx eax, byte [rsi + r12]
movzx ebp, al
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rdi
mov rax, qword [r14 + 0x290]
or rax, qword [r14 + 0x2a0]
mov rcx, qword [r14 + 0x288]
or rcx, qword [r14 + 0x298]
or rcx, rax
je 0x14001e935
xor eax, eax
mov ecx, ebp
mov edx, 1
shld rax, rdx, cl
mov edx, ebp
shr edx, 7
mov r8d, 1
shl r8, cl
shl rdx, 4
test bpl, 0x40
cmovne rax, r8
mov ecx, 0
cmovne r8, rcx
mov rcx, qword [rsp + 0xf8]
and rax, qword [rcx + rdx + 8]
and r8, qword [rcx + rdx]
or r8, rax
je 0x14001e935
mov eax, 4
jmp 0x14001e96d
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rdi
mov r15b, 2
jmp 0x14001e93b
movzx r15d, byte [r14 + rbp + 0x78]
movzx ecx, r15b
test r9d, r9d
je 0x14001e94e
cmp r9d, 1
jne 0x14001e983
add rcx, 6
mov rdx, qword [rdi + 0x58]
cmp rcx, rdx
jae 0x14001dd2e
mov rax, qword [rdi + 0x48]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x14001e9df
mov ebp, eax
mov eax, 5
cmp eax, 5
mov r15, qword [rsp + 0x110]
je 0x14001e63b
jmp 0x14001f747
mov eax, 2
mov rbp, qword [rsp + 0xc8]
test byte [rsp + 0x108], 1
je 0x14001e96d
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xc8]
cmp qword [rax + 0x160], rdx
jbe 0x14001e9c9
add rcx, qword [rsp + 0x100]
mov rdx, qword [rdi + 0x58]
cmp rcx, rdx
jb 0x14001e95b
jmp 0x14001dd2e
lea rcx, [rsp + 0x88]
call fcn.1400711e0
mov r9, qword [rsp + 0x70]
test eax, eax
jns 0x14001e966
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, r9d
mov r8d, dword [rsp + 0x78]
mov r9d, r15d
call fcn.1401084c0
mov rbp, rax
shr rbp, 0x20
jmp 0x14001e96d
cmp rbx, r15
jae 0x14001eaa0
movzx esi, byte [rsi + rbx]
movzx eax, byte [r14 + rsi + 0x188]
mov ecx, ebp
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x14001f739
mov rax, qword [rdi + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x14001f794
mov eax, edx
test eax, 0x8000000
jne 0x14001eaee
test eax, 0x20000000
jne 0x14001f492
xor esi, esi
jmp 0x14001eb5f
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
test eax, eax
je 0x14001f76e
cmp eax, 1
jne 0x14001ebee
test r13, r13
je 0x14001f9c2
dec r13
mov ecx, ebp
mov rdx, r13
call fcn.14001a300
jmp 0x14001f776
movzx r8d, byte [r14 + 0x287]
shl r8d, 0x10
add r8d, 0x10001
mov eax, r8d
shr eax, 0x10
mov ecx, ebp
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rdx, rcx
jbe 0x14001f8f3
mov rax, qword [rdi + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x14001f7be
xor eax, eax
test edx, 0x8000000
jne 0x14001eb2a
xor esi, esi
jmp 0x14001eb5f
mov esi, 1
xor eax, eax
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x160], 1
je 0x14001eb25
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
call fcn.140071190
mov rcx, rax
xor edx, edx
call fcn.14004acf0
mov r15, rbx
jmp 0x14001eb5f
mov esi, 1
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x160], 1
je 0x14001eb5f
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
call fcn.140071190
mov rcx, rax
xor edx, edx
call fcn.14004acf0
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14001f9a8
mov rdx, rbx
sub rdx, rcx
neg rdx
sub rbx, rcx
cmovb rbx, rdx
add qword [rdi + 0x158], rbx
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rsi
mov qword [rcx + 8], r15
mov dword [rcx + 0x10], eax
jmp 0x14001f722
mov r8d, r15d
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, esi
call fcn.1401077e0
test eax, eax
jne 0x14001ec25
jmp 0x14001d7e5
mov r15, r10
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, esi
call fcn.1401077e0
test eax, eax
je 0x14001f53f
mov rcx, r15
jmp 0x14001f525
mov edx, ebp
jmp 0x14001f4ab
mov qword [rsp + 0x78], r13
mov r13, r10
mov r12, r11
mov r8d, r15d
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, esi
invalid