Function at 0x14001faf0
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov r14, qword [r9 + 0x18]
mov r15, qword [r9 + 0x20]
cmp r14, r15
jbe 0x14001fb1c
mov qword [rcx], 0
jmp 0x140020cf0
mov rbp, r9
mov rdi, r8
mov rbx, rdx
cmp byte [r9 + 0x28], 0
mov qword [rsp + 0x30], rcx
je 0x14001fbcf
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x38], rax
cmp r15, rax
jae 0x14001fc73
mov rax, qword [rbp + 8]
movzx eax, byte [rax + r15]
movzx r13d, al
mov edx, dword [rbp]
mov r8d, dword [rbp + 4]
mov rax, qword [rbx + 0x290]
or rax, qword [rbx + 0x2a0]
mov rcx, qword [rbx + 0x288]
or rcx, qword [rbx + 0x298]
or rcx, rax
je 0x14001fc87
lea rax, [rbx + 0x288]
mov r9d, r13d
shr r9d, 7
shl r9, 4
mov r10d, 1
xor r11d, r11d
mov ecx, r13d
shld r11, r10, cl
shl r10, cl
xor ecx, ecx
test r13b, 0x40
cmovne r11, r10
cmovne r10, rcx
and r11, qword [rax + r9 + 8]
and r10, qword [rax + r9]
or r10, r11
je 0x14001fc87
mov esi, 4
jmp 0x14001ffb5
mov r10, qword [rbp + 0x10]
cmp r15, r10
jae 0x14001ff76
mov rax, qword [rbp + 8]
movzx eax, byte [rax + r15]
movzx r13d, al
mov r11d, dword [rbp]
mov r8d, dword [rbp + 4]
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rdi
mov rax, qword [rbx + 0x290]
or rax, qword [rbx + 0x2a0]
mov rcx, qword [rbx + 0x288]
or rcx, qword [rbx + 0x298]
or rcx, rax
je 0x1400200a8
lea rax, [rbx + 0x288]
mov edx, r13d
shr edx, 7
shl rdx, 4
mov esi, 1
xor r9d, r9d
mov ecx, r13d
shld r9, rsi, cl
shl rsi, cl
xor ecx, ecx
test r13b, 0x40
cmovne r9, rsi
cmovne rsi, rcx
and r9, qword [rax + rdx + 8]
and rsi, qword [rax + rdx]
or rsi, r9
je 0x1400200a8
mov esi, 4
jmp 0x1400200e9
mov edx, dword [rbp]
mov r8d, dword [rbp + 4]
mov r9b, 2
movzx ecx, r9b
test edx, edx
jne 0x14001fc95
jmp 0x14001fca2
movzx r9d, byte [rbx + r13 + 0x78]
movzx ecx, r9b
test edx, edx
je 0x14001fca2
cmp edx, 1
jne 0x14001ffa3
add rcx, 6
mov rax, qword [rdi + 0x58]
cmp rcx, rax
jae 0x14002065b
mov rax, qword [rdi + 0x48]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x14002089c
mov r13d, eax
cmp r14, r15
jne 0x14001fce3
test r14, r14
je 0x1400206da
lea rsi, [r14 - 1]
cmp rsi, qword [rsp + 0x38]
jb 0x14002010d
jmp 0x140020de2
dec r15
cmp qword [rdi], 1
jne 0x14001fd0b
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], r15
mov qword [rdi + 0x10], r15
mov rbp, qword [rbp + 8]
mov rax, r14
add rax, 3
mov rsi, 0xffffffffffffffff
cmovae rsi, rax
mov r10, qword [rbx + 0x178]
lea r11, [rsp + 0x48]
jmp 0x14001fd53
mov r13d, edx
lea rax, [r15 - 1]
cmp r15, r14
mov r15, rax
je 0x140020003
cmp r13d, 0x7ffffff
jbe 0x14001fdd0
cmp qword [rdi], 0
je 0x140020e7d
mov qword [rdi + 0x10], r15
cmp r15, qword [rsp + 0x38]
jae 0x140020d07
movzx r8d, byte [rbp + r15]
movzx eax, byte [rbx + r8 + 0x188]
mov ecx, r13d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x140020ca9
mov rax, qword [rdi + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x14001ff40
cmp edx, 0x8000000
jb 0x14001fd40
mov eax, edx
mov ecx, eax
and ecx, 0x10000000
jne 0x14001fd40
jmp 0x14002066c
cmp r15, r14
jb 0x14001fd43
mov r9, qword [rdi + 0x30]
dec r15
mov rax, r15
nop word cs:[rax + rax]
lea r15, [rax + 1]
movzx ecx, byte [rbp + rax + 1]
movzx ecx, byte [rbx + rcx + 0x188]
mov edx, r13d
add rdx, rcx
mov edx, dword [r9 + rdx*4]
cmp r15, rsi
jbe 0x14001fe8b
cmp edx, 0x8000000
jae 0x14001fe8b
movzx ecx, byte [rbp + rax]
movzx ecx, byte [rbx + rcx + 0x188]
add rcx, rdx
mov ecx, dword [r9 + rcx*4]
cmp rcx, 0x7ffffff
ja 0x14001fe98
movzx edx, byte [rbp + rax - 1]
movzx edx, byte [rbx + rdx + 0x188]
add rdx, rcx
mov edx, dword [r9 + rdx*4]
cmp rdx, 0x7ffffff
ja 0x14001fea9
movzx ecx, byte [rbp + rax - 2]
movzx ecx, byte [rbx + rcx + 0x188]
add rcx, rdx
mov r13d, dword [r9 + rcx*4]
cmp r13d, 0x7ffffff
ja 0x14001febb
lea r15, [rax - 4]
add rax, 0xfffffffffffffffd
cmp rax, r14
mov rax, r15
jae 0x14001fdf0
inc r15
jmp 0x14001fd43
mov eax, r13d
test edx, edx
jns 0x14001fdac
jmp 0x14001fecf
mov r15, rax
mov eax, edx
mov edx, ecx
test edx, edx
jns 0x14001fdac
jmp 0x14001fecf
dec rax
mov r15, rax
mov eax, ecx
test edx, edx
jns 0x14001fdac
jmp 0x14001fecf
add rax, 0xfffffffffffffffe
mov r15, rax
mov eax, edx
mov edx, r13d
test edx, edx
jns 0x14001fdac
cmp qword [rdi], 0
je 0x140020e7d
mov qword [rdi + 0x10], r15
cmp r15, qword [rsp + 0x38]
jae 0x140020dcc
movzx r8d, byte [rbp + r15]
movzx edx, byte [rbx + r8 + 0x188]
mov ecx, eax
add rcx, rdx
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x140020ca9
mov edx, dword [r9 + rcx*4]
test edx, edx
jns 0x14001fdac
mov r13, r10
shl r8d, 8
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
mov r12, r11
mov rcx, r11
mov edx, eax
call fcn.1401077e0
test eax, eax
jne 0x140020b8f
mov r10, r13
jmp 0x14001ff6e
mov qword [rsp + 0x78], r10
shl r8d, 8
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
mov r12, r11
mov rcx, r11
mov edx, r13d
call fcn.1401077e0
test eax, eax
jne 0x140020b8f
mov r10, qword [rsp + 0x78]
mov r11, r12
jmp 0x14001fdac
mov r11d, dword [rbp]
mov r8d, dword [rbp + 4]
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rdi
mov r12b, 2
movzx ecx, r12b
test r11d, r11d
jne 0x1400200b7
jmp 0x1400200c5
test byte [rbx + 0x71], 1
mov r13d, r8d
mov esi, 2
jne 0x140020627
lea ecx, [rsi - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
test eax, eax
je 0x1400201af
cmp eax, 1
jne 0x140020181
movzx eax, byte [0x1401b21c1]
mov ecx, 0x10
mov edx, 8
call fcn.140008480
test rax, rax
je 0x140020e97
mov byte [rax], 0
mov byte [rax + 1], r13b
mov qword [rax + 8], r15
jmp 0x140020ce0
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x140020ea8
mov rcx, r14
sub rcx, rax
neg rcx
mov rdx, r14
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
test r14, r14
je 0x1400207eb
lea rsi, [r14 - 1]
cmp rsi, qword [rsp + 0x38]
jae 0x140020de2
movzx r15d, byte [rbp + rsi]
movzx eax, byte [rbx + r15 + 0x188]
mov ecx, r13d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x140020ca9
mov rax, qword [rdi + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140020be9
mov eax, edx
test eax, 0x8000000
je 0x140020154
mov esi, 1
xor eax, eax
cmp qword [r10 + 0x160], 1
jne 0x14002060e
jmp 0x1400209a8
movzx r12d, byte [rbx + r13 + 0x78]
movzx ecx, r12b
test r11d, r11d
je 0x1400200c5
cmp r11d, 1
jne 0x1400201da
add rcx, 6
mov rdx, qword [rdi + 0x58]
cmp rcx, rdx
jae 0x14002022a
mov rax, qword [rdi + 0x48]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x1400209e2
mov r13d, eax
mov esi, 5
cmp esi, 5
jne 0x140020166
cmp r14, r15
jne 0x140020238
test r14, r14
je 0x14002093c
lea rsi, [r14 - 1]
cmp rsi, r10
jae 0x140020e2b
mov rax, qword [rbp + 8]
movzx r15d, byte [rax + rsi]
movzx eax, byte [rbx + r15 + 0x188]
mov ecx, r13d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x140020ca9
mov rax, qword [rdi + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140020b64
mov eax, edx
test eax, 0x8000000
jne 0x1400205f2
test eax, 0x20000000
jne 0x1400207db
xor esi, esi
jmp 0x1400209a8
lea ecx, [rsi - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
test eax, eax
je 0x1400201af
cmp eax, 1
je 0x14001ffd4
movzx eax, byte [0x1401b21c1]
mov ecx, 0x10
mov edx, 8
call fcn.140008480
test rax, rax
je 0x140020e97
mov byte [rax], 3
mov dword [rax + 4], esi
mov dword [rax + 8], r13d
jmp 0x140020ce0
movzx eax, byte [0x1401b21c1]
mov ecx, 0x10
mov edx, 8
call fcn.140008480
test rax, rax
je 0x140020e97
mov byte [rax], 1
mov qword [rax + 8], r15
jmp 0x140020ce0
test byte [rbx + 0x71], 1
mov dword [rsp + 0x38], r8d
mov r13d, r8d
mov esi, 2
je 0x1400200e9
mov rax, qword [rbx + 0x178]
cmp qword [rax + 0x160], r13
jbe 0x1400209bc
lea rax, [r13*2]
add rax, r13
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov r8d, dword [rsp + 0x38]
mov rdx, qword [rdi + 0x58]
cmp rcx, rdx
jb 0x1400200d2
lea r8, [0x1401108e0]
call fcn.14010ac00
ud2
dec r15
cmp qword [rdi], 1
jne 0x140020260
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], r15
mov qword [rdi + 0x10], r15
mov rsi, qword [rbp + 8]
mov rax, r14
add rax, 3
mov r12, 0xffffffffffffffff
cmovae r12, rax
mov rax, qword [rbx + 0x178]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x180]
and eax, 0x3f
mov qword [rsp + 0xa0], rax
xor ebp, ebp
jmp 0x1400202c9
mov r11d, dword [rax + 0x1d]
lea rax, [r15 + 1]
mov qword [rsp + 0x78], rax
mov ebp, 1
lea rax, [r15 - 1]
cmp r15, r14
mov r15, rax
je 0x14002072e
cmp r13d, 0x7ffffff
jbe 0x140020340
cmp qword [rdi], 0
je 0x140020e7d
mov qword [rdi + 0x10], r15
cmp r15, r10
jae 0x140020d95
movzx r8d, byte [rsi + r15]
movzx eax, byte [rbx + r8 + 0x188]
mov ecx, r13d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x140020ca9
mov rax, qword [rdi + 0x30]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x14002053f
mov r13d, eax
cmp r13d, 0x8000000
jae 0x14002047d
jmp 0x1400202b9
cmp r15, r14
jb 0x1400202b9
mov r9, qword [rdi + 0x30]
dec r15
mov rax, r15
nop word cs:[rax + rax]
lea r15, [rax + 1]
movzx ecx, byte [rsi + rax + 1]
movzx ecx, byte [rbx + rcx + 0x188]
mov edx, r13d
add rdx, rcx
mov ecx, dword [r9 + rdx*4]
cmp r15, r12
jbe 0x140020406
cmp ecx, 0x8000000
jae 0x140020406
movzx edx, byte [rsi + rax]
movzx edx, byte [rbx + rdx + 0x188]
add rdx, rcx
mov r8d, dword [r9 + rdx*4]
cmp r8, 0x7ffffff
ja 0x14002041e
movzx ecx, byte [rsi + rax - 1]
movzx ecx, byte [rbx + rcx + 0x188]
add rcx, r8
mov ecx, dword [r9 + rcx*4]
cmp rcx, 0x7ffffff
ja 0x140020510
movzx edx, byte [rsi + rax - 2]
movzx edx, byte [rbx + rdx + 0x188]
add rdx, rcx
mov r13d, dword [r9 + rdx*4]
cmp r13d, 0x7ffffff
ja 0x140020526
lea r15, [rax - 4]
add rax, 0xfffffffffffffffd
cmp rax, r14
mov rax, r15
jae 0x140020360
inc r15
jmp 0x1400202b9
mov edx, r13d
test ecx, ecx
js 0x14002042a
mov r13d, ecx
cmp r13d, 0x8000000
jae 0x14002047d
jmp 0x1400202b9
mov r15, rax
mov edx, ecx
mov ecx, r8d
test ecx, ecx
jns 0x14002040d
cmp qword [rdi], 0
je 0x140020e7d
mov qword [rdi + 0x10], r15
cmp r15, r10
jae 0x140020e06
movzx r8d, byte [rsi + r15]
movzx eax, byte [rbx + r8 + 0x188]
mov ecx, edx
add rcx, rax
mov rax, qword [rdi + 0x40]
cmp rcx, rax
jae 0x140020e1a
mov r13d, dword [r9 + rcx*4]
test r13d, r13d
js 0x14002059d
nop
cmp r13d, 0x8000000
jb 0x1400202b9
mov eax, r13d
mov ecx, eax
and ecx, 0x10000000
jne 0x1400202b9
test eax, 0x8000000
je 0x140020a88
xor r11d, r11d
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x160], 1
je 0x1400202ab
mov eax, r13d
and eax, 0x7ffffff
mov rcx, qword [rsp + 0xa0]
shr rax, cl
mov rdx, qword [rdi + 0x70]
cmp rax, rdx
jae 0x140020da9
mov rcx, qword [rdi + 0x60]
shl rax, 4
mov rdx, qword [rcx + rax + 8]
test rdx, rdx
je 0x140020dba
mov rax, qword [rcx + rax]
test byte [rax + 0x10], 2
je 0x1400202ab
cmp rdx, 0xd
jb 0x140020ec2
add rdx, 0xfffffffffffffff3
cmp rdx, 3
ja 0x1400202a7
jmp 0x140020ed5
dec rax
mov r15, rax
mov edx, r8d
test ecx, ecx
jns 0x14002040d
jmp 0x14002042a
add rax, 0xfffffffffffffffe
mov r15, rax
mov edx, ecx
mov ecx, r13d
test ecx, ecx
jns 0x14002040d
jmp 0x14002042a
mov qword [rsp + 0x88], r11
mov qword [rsp + 0x80], rbp
mov rbp, r10
shl r8d, 8
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r13d
call fcn.1401077e0
test eax, eax
jne 0x140020b8f
mov r13d, edx
mov r10, rbp
mov rbp, qword [rsp + 0x80]
mov r11, qword [rsp + 0x88]
cmp r13d, 0x8000000
jae 0x14002047d
jmp 0x1400202b9
mov qword [rsp + 0x88], r11
mov qword [rsp + 0x80], r10
shl r8d, 8
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.1401077e0
test eax, eax
jne 0x140020b8f
mov r13d, edx
mov r10, qword [rsp + 0x80]
mov r11, qword [rsp + 0x88]
cmp r13d, 0x8000000
jae 0x14002047d
jmp 0x1400202b9
mov rcx, qword [rbx + 0x178]
mov esi, 1
xor eax, eax
cmp qword [rcx + 0x160], 1
je 0x1400209a8
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.140071190
jmp 0x140020864
mov rax, qword [rbx + 0x178]
cmp qword [rax + 0x160], r13
jbe 0x140020873
lea rax, [r13*2]
add rax, r13
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov rax, qword [rdi + 0x58]
cmp rcx, rax
jb 0x14001fcaf
lea r8, [0x1401108e0]
mov rdx, rax
call fcn.14010ac00
ud2
test eax, 0x8000000
jne 0x1400208c8
test eax, 0x40000000
jne 0x140020ae8
test eax, 0x20000000
je 0x140020f18
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x140020ea8
mov rcx, r15
sub rcx, rax
neg rcx
mov rdx, r15
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
cmp r15, qword [rsp + 0x38]
jae 0x140020e53
movzx ecx, byte [rbp + r15]
mov rdx, r15
call fcn.14001a300
jmp 0x140020ce0
movzx r8d, byte [rbx + 0x287]
shl r8d, 0x10
add r8d, 0x10001
mov eax, r8d
shr eax, 0x10
mov ecx, r13d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rdx, rcx
jbe 0x140020df8
mov rax, qword [rdi + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140020bc5
xor eax, eax
test edx, 0x8000000
je 0x140020987
jmp 0x14002098b
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x140020ea8
mov rcx, r14
sub rcx, rax
neg rcx
mov rdx, r14
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
test r14, r14
je 0x140020a11
lea r15, [r14 - 1]
cmp r15, r10
jae 0x140020e3f
movzx r12d, byte [rsi + r15]
movzx eax, byte [rbx + r12 + 0x188]
mov ecx, r13d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x140020ca9
mov rax, qword [rdi + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140020c5b
mov eax, edx
test eax, 0x8000000
jne 0x140020d2d
test eax, 0x20000000
mov rcx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x78]
je 0x140020d6a
mov ecx, r12d
mov rdx, r15
call fcn.14001a300
jmp 0x140020ce0
mov ecx, r15d
mov rdx, rsi
call fcn.14001a300
jmp 0x140020ce0
movzx r8d, byte [rbx + 0x287]
shl r8d, 0x10
add r8d, 0x10001
mov eax, r8d
shr eax, 0x10
mov ecx, r13d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rdx, rcx
jbe 0x140020df8
mov rax, qword [rdi + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140020c23
xor eax, eax
test edx, 0x8000000
je 0x140020987
mov esi, 1
cmp qword [r10 + 0x160], 1
je 0x1400209a5
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.140071190
xor r14d, r14d
mov rcx, rax
xor edx, edx
call fcn.14004acf0
jmp 0x1400209a8
mov rcx, qword [rbx + 0x180]
and ecx, 0x3f
mov eax, 1
shl rax, cl
cmp rcx, 0x1b
jae 0x140020ee8
or eax, 0x40000000
test eax, eax
jns 0x14001fcbe
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.1401084c0
mov rsi, rax
mov r13, rax
shr r13, 0x20
cmp esi, 5
je 0x14001fcc1
jmp 0x14001ffb5
xor eax, eax
cmp qword [r10 + 0x160], 1
je 0x1400208f2
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
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 0x140020ea8
mov rdx, r15
sub rdx, rcx
neg rdx
mov r8, r15
sub r8, rcx
cmovb r8, rdx
add qword [rdi + 0x158], r8
inc r15
mov rcx, qword [rsp + 0x30]
mov qword [rcx], 1
mov qword [rcx + 8], r15
mov dword [rcx + 0x10], eax
jmp 0x140020cf0
movzx r8d, byte [rbx + 0x287]
shl r8d, 0x10
add r8d, 0x10001
mov eax, r8d
shr eax, 0x10
mov ecx, r13d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rdx, rcx
jbe 0x140020df8
mov rax, qword [rdi + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140020c89
xor eax, eax
test edx, 0x8000000
jne 0x14002098b
xor esi, esi
jmp 0x1400209a8
mov rcx, qword [rbx + 0x178]
mov esi, 1
cmp qword [rcx + 0x160], 1
jne 0x14002084d
xor r14d, r14d
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rsi
mov qword [rcx + 8], r14
mov dword [rcx + 0x10], eax
jmp 0x140020cf0
lea rcx, [rsp + 0x90]
mov rsi, r10
mov r13d, r11d
call fcn.1400711e0
mov r11d, r13d
mov r10, rsi
mov r8d, dword [rsp + 0x38]
test eax, eax
jns 0x1400200e1
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r11d
mov r9d, r12d
mov rsi, r10
call fcn.1401084c0
mov r10, rsi
mov rsi, rax
mov r13, rax
shr r13, 0x20
jmp 0x1400200e9
movzx r8d, byte [rbx + 0x287]
shl r8d, 0x10
add r8d, 0x10001
mov eax, r8d
shr eax, 0x10
mov ecx, r13d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x40]
cmp rdx, rcx
jbe 0x140020df8
mov rax, qword [rdi + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140020cb7
test edx, 0x8000000
mov rcx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x78]
je 0x140020d6a
mov ebp, 1
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x160], 1
jne 0x140020b97
xor r11d, r11d
jmp 0x140020bbd
test eax, 0x40000000
jne 0x140020b1e
test eax, 0x20000000
je 0x140020f18
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x140020ea8
mov rcx, r15
sub rcx, rax
neg rcx
mov rdx, r15
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
cmp r15, r10
jae 0x140020e69
movzx ecx, byte [rsi + r15]
mov rdx, r15
call fcn.14001a300
jmp 0x140020ce0
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x140020ea8
mov rcx, r15
sub rcx, rax
neg rcx
sub r15, rax
cmovb r15, rcx
add qword [rdi + 0x158], r15
mov rcx, qword [rsp + 0x30]
jmp 0x14001fb10
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x140020ea8
mov rcx, r15
sub rcx, rax
neg rcx
sub r15, rax
cmovb r15, rcx
add qword [rdi + 0x158], r15
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rbp
mov rax, qword [rsp + 0x78]
mov qword [rcx + 8], rax
mov dword [rcx + 0x10], r11d
jmp 0x140020cf0
mov r8d, r15d
shl r8d, 8
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r13d
call fcn.1401077e0
test eax, eax
jne 0x140020c84
jmp 0x140020147
mov rcx, r15
jmp 0x140020cdb
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.140071190
mov rcx, rax
xor edx, edx
call fcn.14004acf0
mov rcx, qword [rsp + 0x30]
invalid
invalid