Function at 0x14007b120
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rbp, rcx
mov r12, qword [r9 + 0x18]
mov r13, qword [r9 + 0x20]
cmp r12, r13
jbe 0x14007b14d
mov qword [rbp], 0
jmp 0x14007c4b5
cmp byte [r9 + 0x28], 0
je 0x14007b1e4
mov r14, qword [r9 + 0x10]
cmp r13, r14
jae 0x14007b275
mov rax, qword [r9 + 8]
movzx edi, byte [rax + r13]
mov eax, dword [r9]
mov r10d, dword [r9 + 4]
mov rcx, qword [rdx + 0x298]
or rcx, qword [rdx + 0x2a8]
mov r11, qword [rdx + 0x290]
or r11, qword [rdx + 0x2a0]
or r11, rcx
je 0x14007b28b
lea r11, [rdx + 0x290]
mov esi, edi
shr esi, 3
and esi, 0xfffffff0
mov ebx, 1
xor r15d, r15d
mov ecx, edi
shld r15, rbx, cl
shl rbx, cl
xor ecx, ecx
test dil, 0x40
cmovne r15, rbx
cmovne rbx, rcx
and r15, qword [r11 + rsi + 8]
and rbx, qword [r11 + rsi]
or rbx, r15
je 0x14007b28b
mov ebx, 4
jmp 0x14007bf72
mov qword [rsp + 0x28], rbp
mov rbp, qword [r9 + 0x10]
cmp r13, rbp
jae 0x14007b2c8
mov rax, qword [r9 + 8]
movzx edi, byte [rax + r13]
mov eax, dword [r9]
mov r10d, dword [r9 + 4]
mov rcx, qword [rdx + 0x298]
or rcx, qword [rdx + 0x2a8]
mov r11, qword [rdx + 0x290]
or r11, qword [rdx + 0x2a0]
or r11, rcx
je 0x14007b692
lea r11, [rdx + 0x290]
mov esi, edi
shr esi, 3
and esi, 0xfffffff0
mov ebx, 1
xor r14d, r14d
mov ecx, edi
shld r14, rbx, cl
shl rbx, cl
xor ecx, ecx
test dil, 0x40
cmovne r14, rbx
cmovne rbx, rcx
and r14, qword [r11 + rsi + 8]
and rbx, qword [r11 + rsi]
or rbx, r14
je 0x14007b692
mov ebx, 4
jmp 0x14007c140
mov eax, dword [r9]
mov r10d, dword [r9 + 4]
mov cl, 2
movzx r11d, cl
mov rcx, r11
test eax, eax
jne 0x14007b29e
jmp 0x14007b2e9
movzx ecx, byte [rdx + rdi + 0x90]
movzx r11d, cl
mov rcx, r11
test eax, eax
je 0x14007b2e9
cmp eax, 2
jne 0x14007b2e5
test byte [rdx + 0x81], 1
mov edi, r10d
jne 0x14007bc81
mov rbx, rdi
shl rbx, 0x20
or rbx, 2
cmp ebx, 5
je 0x14007b302
jmp 0x14007bf72
mov eax, dword [r9]
mov r10d, dword [r9 + 4]
mov cl, 2
movzx r11d, cl
mov rcx, r11
test eax, eax
jne 0x14007b6a5
jmp 0x14007b6b2
lea rcx, [r11 + 6]
cmp rcx, qword [r8 + 0x40]
jae 0x14007c4c6
mov rsi, qword [r8 + 0x38]
mov edi, dword [rsi + rcx*4]
test edi, edi
js 0x14007bf31
cmp r12, r13
jne 0x14007b373
test r12, r12
je 0x14007bc3d
lea rsi, [r12 - 1]
cmp rsi, r14
jae 0x14007c4c6
mov rax, qword [r9 + 8]
movzx ebx, byte [rax + rsi]
movzx ecx, byte [rdx + rbx + 0x190]
mov eax, edi
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [r8 + 0x28]
jae 0x14007c4c6
mov rcx, qword [r8 + 0x20]
mov r10d, dword [rcx + rax*4]
test r10d, r10d
js 0x14007c23c
mov eax, r10d
test eax, 0x8000000
jne 0x14007c2ce
test eax, 0x20000000
jne 0x14007beac
xor eax, eax
jmp 0x14007bc7c
dec r13
cmp qword [r8], 1
jne 0x14007b39b
mov rax, qword [r8 + 0x10]
mov rcx, qword [r8 + 8]
mov r10, rax
sub r10, rcx
neg r10
sub rax, rcx
cmovb rax, r10
add qword [r8 + 0x158], rax
mov qword [r8], 1
mov qword [r8 + 8], r13
mov qword [r8 + 0x10], r13
mov rsi, qword [r9 + 8]
mov rax, r12
add rax, 3
mov r15, 0xffffffffffffffff
cmovae r15, rax
jmp 0x14007b3e3
mov edi, r10d
lea rax, [r13 - 1]
cmp r13, r12
mov r13, rax
je 0x14007b5fa
cmp edi, 0x7ffffff
jbe 0x14007b450
cmp qword [r8], 0
je 0x14007c4c6
mov qword [r8 + 0x10], r13
cmp r13, r14
jae 0x14007c4c6
movzx r9d, byte [rsi + r13]
movzx ecx, byte [rdx + r9 + 0x190]
mov eax, edi
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [r8 + 0x28]
jae 0x14007c4c6
mov rcx, qword [r8 + 0x20]
mov r10d, dword [rcx + rax*4]
test r10d, r10d
js 0x14007b5b7
cmp r10d, 0x8000000
jb 0x14007b3d0
mov eax, r10d
mov ecx, eax
and ecx, 0x10000000
jne 0x14007b3d0
jmp 0x14007bbb4
cmp r13, r12
jb 0x14007b3d3
mov rax, qword [r8 + 0x20]
mov rcx, qword [r8 + 0x28]
dec r13
mov r9, r13
nop word [rax + rax]
lea r13, [r9 + 1]
movzx r10d, byte [rsi + r9 + 1]
movzx r10d, byte [rdx + r10 + 0x190]
mov r11d, edi
add r11, r10
mov r11d, dword [rax + r11*4]
cmp r13, r15
jbe 0x14007b516
cmp r11d, 0x8000000
jae 0x14007b516
movzx r10d, byte [rsi + r9]
movzx r10d, byte [rdx + r10 + 0x190]
add r10, r11
mov edi, dword [rax + r10*4]
cmp rdi, 0x7ffffff
ja 0x14007b53c
movzx r10d, byte [rsi + r9 - 1]
movzx r10d, byte [rdx + r10 + 0x190]
add r10, rdi
mov r11d, dword [rax + r10*4]
cmp r11, 0x7ffffff
ja 0x14007b524
movzx r10d, byte [rsi + r9 - 2]
movzx r10d, byte [rdx + r10 + 0x190]
add r10, r11
mov edi, dword [rax + r10*4]
cmp edi, 0x7ffffff
ja 0x14007b538
lea r13, [r9 - 4]
add r9, 0xfffffffffffffffd
cmp r9, r12
mov r9, r13
jae 0x14007b470
inc r13
jmp 0x14007b3d3
mov r10d, r11d
test r10d, r10d
jns 0x14007b435
jmp 0x14007b54e
dec r9
mov r10d, r11d
mov r13, r9
test r10d, r10d
jns 0x14007b435
jmp 0x14007b54e
add r9, 0xfffffffffffffffe
mov r10d, edi
mov r13, r9
mov edi, r11d
test r10d, r10d
jns 0x14007b435
cmp qword [r8], 0
je 0x14007c4c6
mov qword [r8 + 0x10], r13
movzx r9d, byte [rsi + r13]
movzx r11d, byte [rdx + r9 + 0x190]
mov r10d, edi
add r10, r11
cmp r10, rcx
jae 0x14007c4c6
mov r10d, dword [rax + r10*4]
test r10d, r10d
jns 0x14007b435
mov qword [rsp + 0x28], rbp
shl r9d, 8
mov rbp, rdx
mov qword [rsp + 0x30], rdx
mov rbx, r8
mov qword [rsp + 0x38], r8
lea rcx, [rsp + 0x30]
mov edx, edi
mov r8d, r9d
call fcn.1400b3080
test eax, eax
je 0x14007b5e7
jmp 0x14007c3f7
mov qword [rsp + 0x28], rbp
shl r9d, 8
mov rbp, rdx
mov qword [rsp + 0x30], rdx
mov rbx, r8
mov qword [rsp + 0x38], r8
lea rcx, [rsp + 0x30]
mov edx, edi
mov r8d, r9d
call fcn.1400b3080
test eax, eax
jne 0x14007c424
mov r10d, edx
mov r8, rbx
mov rdx, rbp
mov rbp, qword [rsp + 0x28]
jmp 0x14007b435
mov rax, qword [r8 + 8]
cmp qword [r8], 0
mov qword [r8], 0
je 0x14007c4c6
mov rcx, r12
sub rcx, rax
neg rcx
mov r9, r12
sub r9, rax
cmovb r9, rcx
add qword [r8 + 0x158], r9
test r12, r12
je 0x14007bd17
lea rbx, [r12 - 1]
cmp rbx, r14
jae 0x14007c4c6
movzx esi, byte [rsi + rbx]
movzx ecx, byte [rdx + rsi + 0x190]
mov eax, edi
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [r8 + 0x28]
jae 0x14007c4c6
mov rcx, qword [r8 + 0x20]
mov r9d, dword [rcx + rax*4]
test r9d, r9d
js 0x14007c397
mov eax, r9d
test eax, 0x8000000
jne 0x14007c215
test eax, 0x20000000
jne 0x14007c032
xor r12d, r12d
jmp 0x14007c06f
movzx ecx, byte [rdx + rdi + 0x90]
movzx r11d, cl
mov rcx, r11
test eax, eax
je 0x14007b6b2
cmp eax, 1
jne 0x14007bac4
lea rcx, [r11 + 6]
cmp rcx, qword [r8 + 0x40]
jae 0x14007c4c6
mov rsi, qword [r8 + 0x38]
mov edi, dword [rsi + rcx*4]
test edi, edi
js 0x14007c0ff
cmp r12, r13
jne 0x14007b742
test r12, r12
je 0x14007bcb0
lea rsi, [r12 - 1]
cmp rsi, rbp
jae 0x14007c4c6
mov rax, qword [r9 + 8]
movzx ebx, byte [rax + rsi]
movzx ecx, byte [rdx + rbx + 0x190]
mov eax, edi
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [r8 + 0x28]
mov r13, qword [rsp + 0x28]
jae 0x14007c4c6
mov rcx, qword [r8 + 0x20]
mov r9d, dword [rcx + rax*4]
test r9d, r9d
js 0x14007c34f
mov eax, r9d
test eax, 0x8000000
jne 0x14007c1e7
test eax, 0x20000000
jne 0x14007c008
xor r12d, r12d
jmp 0x14007bce3
dec r13
cmp qword [r8], 1
jne 0x14007b76a
mov rax, qword [r8 + 0x10]
mov rcx, qword [r8 + 8]
mov r10, rax
sub r10, rcx
neg r10
sub rax, rcx
cmovb rax, r10
add qword [r8 + 0x158], rax
mov qword [r8], 1
mov qword [r8 + 8], r13
mov qword [r8 + 0x10], r13
mov r14, qword [r9 + 8]
mov rax, r12
add rax, 3
mov rsi, 0xffffffffffffffff
cmovae rsi, rax
mov rax, qword [rdx + 0x2b0]
mov qword [rsp + 0x60], rax
mov rax, qword [rdx + 0x2b8]
and eax, 0x3f
mov qword [rsp + 0x58], rax
xor ebx, ebx
jmp 0x14007b7d0
mov r15d, dword [rax + 0x1d]
lea rax, [r13 + 1]
mov qword [rsp + 0x50], rax
mov ebx, 1
lea rax, [r13 - 1]
cmp r13, r12
mov r13, rax
je 0x14007baed
cmp edi, 0x7ffffff
jbe 0x14007b8c0
cmp qword [r8], 0
je 0x14007c4c6
mov qword [r8 + 0x10], r13
cmp r13, rbp
jae 0x14007c4c6
movzx eax, byte [r14 + r13]
movzx r9d, byte [rdx + rax + 0x190]
mov ecx, edi
and ecx, 0x7ffffff
add rcx, r9
cmp rcx, qword [r8 + 0x28]
jae 0x14007c4c6
mov r9, qword [r8 + 0x20]
mov ecx, dword [r9 + rcx*4]
test ecx, ecx
js 0x14007ba67
mov edi, ecx
cmp edi, 0x8000000
jb 0x14007b7c0
mov eax, edi
mov ecx, eax
and ecx, 0x10000000
jne 0x14007b7c0
test eax, 0x8000000
je 0x14007be1e
xor r15d, r15d
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x168], 1
je 0x14007b7b2
mov eax, edi
and eax, 0x7ffffff
mov rcx, qword [rsp + 0x58]
shr rax, cl
cmp rax, qword [r8 + 0x58]
jae 0x14007c4c6
mov r9, qword [r8 + 0x50]
shl eax, 4
mov rcx, qword [r9 + rax + 8]
test rcx, rcx
je 0x14007c4c6
mov rax, qword [r9 + rax]
test byte [rax + 0x10], 2
je 0x14007b7b2
cmp rcx, 0xc
jbe 0x14007c4c6
add rcx, 0xfffffffffffffff3
cmp rcx, 3
ja 0x14007b7ae
jmp 0x14007c4c6
cmp r13, r12
jb 0x14007b7c0
mov rcx, qword [r8 + 0x20]
mov r9, qword [r8 + 0x28]
dec r13
mov rax, r13
nop word [rax + rax]
lea r13, [rax + 1]
movzx r10d, byte [r14 + rax + 1]
movzx r10d, byte [rdx + r10 + 0x190]
mov r11d, edi
add r11, r10
mov r10d, dword [rcx + r11*4]
cmp r13, rsi
jbe 0x14007b996
cmp r10d, 0x8000000
jae 0x14007b996
movzx r11d, byte [r14 + rax]
movzx r11d, byte [rdx + r11 + 0x190]
add r11, r10
mov edi, dword [rcx + r11*4]
cmp rdi, 0x7ffffff
ja 0x14007ba41
movzx r10d, byte [r14 + rax - 1]
movzx r10d, byte [rdx + r10 + 0x190]
add r10, rdi
mov r10d, dword [rcx + r10*4]
cmp r10, 0x7ffffff
ja 0x14007ba2a
movzx r11d, byte [r14 + rax - 2]
movzx r11d, byte [rdx + r11 + 0x190]
add r11, r10
mov edi, dword [rcx + r11*4]
cmp edi, 0x7ffffff
ja 0x14007ba3d
lea r13, [rax - 4]
add rax, 0xfffffffffffffffd
cmp rax, r12
mov rax, r13
jae 0x14007b8e0
inc r13
jmp 0x14007b7c0
mov r11d, r10d
test r11d, r11d
jns 0x14007ba53
cmp qword [r8], 0
je 0x14007c4c6
mov qword [r8 + 0x10], r13
movzx eax, byte [r14 + r13]
movzx r11d, byte [rdx + rax + 0x190]
mov r10d, edi
add r10, r11
cmp r10, r9
jae 0x14007c4c6
mov ecx, dword [rcx + r10*4]
test ecx, ecx
jns 0x14007b826
mov qword [rsp + 0x40], rbx
shl eax, 8
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x30], rdx
mov rbx, r8
mov qword [rsp + 0x38], r8
lea rcx, [rsp + 0x30]
mov edx, edi
mov r8d, eax
call fcn.1400b3080
test eax, eax
jne 0x14007c3f7
mov edi, edx
mov r8, rbx
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
cmp edi, 0x8000000
jae 0x14007b830
jmp 0x14007b7c0
dec rax
mov r11d, r10d
mov r13, rax
test r11d, r11d
jns 0x14007ba53
jmp 0x14007b9a2
add rax, 0xfffffffffffffffe
mov r11d, edi
mov r13, rax
mov edi, r10d
test r11d, r11d
js 0x14007b9a2
mov edi, r11d
cmp edi, 0x8000000
jae 0x14007b830
jmp 0x14007b7c0
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbp
mov ebp, r15d
shl eax, 8
mov rbx, rdx
mov qword [rsp + 0x30], rdx
mov r15, r8
mov qword [rsp + 0x38], r8
lea rcx, [rsp + 0x30]
mov edx, edi
mov r8d, eax
call fcn.1400b3080
test eax, eax
jne 0x14007c3f7
mov edi, edx
mov r8, r15
mov rdx, rbx
mov r15d, ebp
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
cmp edi, 0x8000000
jae 0x14007b830
jmp 0x14007b7c0
test byte [rdx + 0x81], 1
mov edi, r10d
jne 0x14007bce8
mov rbx, rdi
shl rbx, 0x20
or rbx, 2
cmp ebx, 5
je 0x14007b6cb
jmp 0x14007c140
mov rax, qword [r8 + 8]
cmp qword [r8], 0
mov qword [r8], 0
je 0x14007c4c6
mov rcx, r12
sub rcx, rax
neg rcx
mov r9, r12
sub r9, rax
cmovb r9, rcx
add qword [r8 + 0x158], r9
test r12, r12
je 0x14007bdd6
lea rsi, [r12 - 1]
cmp rsi, rbp
jae 0x14007c4c6
movzx r14d, byte [r14 + rsi]
movzx ecx, byte [rdx + r14 + 0x190]
mov eax, edi
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [r8 + 0x28]
jae 0x14007c4c6
mov rcx, qword [r8 + 0x20]
mov r9d, dword [rcx + rax*4]
test r9d, r9d
mov r13, qword [rsp + 0x28]
js 0x14007c459
mov eax, r9d
test eax, 0x8000000
jne 0x14007c0d8
test eax, 0x20000000
mov r12, qword [rsp + 0x50]
je 0x14007c0ee
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007c4c6
mov byte [rax], 0
mov byte [rax + 1], r14b
mov r12, rsi
jmp 0x14007c4a5
test eax, 0x8000000
jne 0x14007bd5a
test eax, 0x40000000
jne 0x14007bef8
test eax, 0x20000000
je 0x14007c4c6
mov rax, qword [r8 + 8]
cmp qword [r8], 0
mov qword [r8], 0
je 0x14007c4c6
mov rcx, r13
sub rcx, rax
neg rcx
mov rdx, r13
sub rdx, rax
cmovb rdx, rcx
add qword [r8 + 0x158], rdx
cmp r13, r14
jae 0x14007c4c6
movzx ebx, byte [rsi + r13]
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007c4c6
mov byte [rax], 0
mov byte [rax + 1], bl
mov qword [rax + 8], r13
jmp 0x14007c3e6
movzx r9d, byte [rdx + 0x28f]
mov eax, edi
and eax, 0x7ffffff
add rax, r9
inc rax
cmp qword [r8 + 0x28], rax
jbe 0x14007c4c6
mov rcx, qword [r8 + 0x20]
mov r10d, dword [rcx + rax*4]
test r10d, r10d
js 0x14007c281
xor eax, eax
test r10d, 0x8000000
jne 0x14007c2cb
jmp 0x14007c33e
mov rcx, qword [rdx + 0x2b0]
cmp qword [rcx + 0x168], rdi
jbe 0x14007bdb4
lea rcx, [rdi + rdi*2]
lea rcx, [r11 + rcx*2]
add rcx, 0xc
cmp rcx, qword [r8 + 0x40]
jb 0x14007b2f3
jmp 0x14007c4c6
mov rsi, rdx
mov rcx, rdx
mov rbx, r8
mov rdx, r8
mov r8d, edi
call fcn.14007afe0
test eax, eax
jne 0x14007bdf2
mov r9d, edx
xor r12d, r12d
test edx, 0x8000000
mov r13, qword [rsp + 0x28]
jne 0x14007c1e1
jmp 0x14007c1fe
mov rcx, qword [rdx + 0x2b0]
cmp qword [rcx + 0x168], rdi
jbe 0x14007bed6
lea rcx, [rdi + rdi*2]
lea rcx, [r11 + rcx*2]
add rcx, 0xc
cmp rcx, qword [r8 + 0x40]
jb 0x14007b6bc
jmp 0x14007c4c6
mov rsi, rdx
mov rcx, rdx
mov rbx, r8
mov rdx, r8
mov r8d, edi
call fcn.14007afe0
test eax, eax
je 0x14007c05d
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007c4c6
mov byte [rax], 1
xor r12d, r12d
jmp 0x14007c3e2
mov rcx, rdx
mov rdx, r8
mov rsi, r8
mov r8d, r10d
call fcn.14007b0c0
mov rdx, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x14007c4c6
mov rcx, rsi
mov r8, r13
sub r8, rdx
neg r8
mov r9, r13
sub r9, rdx
cmovb r9, r8
add qword [rsi + 0x158], r9
inc r13
mov qword [rbp], 1
mov qword [rbp + 8], r13
mov dword [rbp + 0x10], eax
jmp 0x14007c4b5
mov rax, qword [rdx + 0x2b8]
and eax, 0x3f
cmp rax, 0x1b
jae 0x14007c4c6
mov edi, 0x40000000
bts rdi, rax
jmp 0x14007b302
mov rsi, rdx
mov rcx, rdx
mov r14, r8
mov rdx, r8
mov r8d, edi
call fcn.14007afe0
test eax, eax
je 0x14007c0ba
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
mov r13, qword [rsp + 0x28]
je 0x14007c4c6
mov byte [rax], 1
xor r12d, r12d
jmp 0x14007c4a5
test eax, 0x40000000
jne 0x14007c074
test eax, 0x20000000
je 0x14007c4c6
mov rax, qword [r8 + 8]
cmp qword [r8], 0
mov qword [r8], 0
je 0x14007c4c6
mov rcx, r13
sub rcx, rax
neg rcx
mov rdx, r13
sub rdx, rax
cmovb rdx, rcx
add qword [r8 + 0x158], rdx
cmp r13, rbp
jae 0x14007c4c6
movzx ebx, byte [r14 + r13]
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
mov rcx, qword [rsp + 0x28]
je 0x14007c4c6
mov byte [rax], 0
mov byte [rax + 1], bl
mov qword [rax + 8], r13
mov qword [rcx + 8], rax
mov qword [rcx], 2
jmp 0x14007c4b5
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007c4c6
mov byte [rax], 0
mov byte [rax + 1], bl
mov r12, rsi
jmp 0x14007c3e2
mov rax, qword [rdx + 0x2b8]
and eax, 0x3f
cmp rax, 0x1b
jae 0x14007c4c6
mov edi, 0x40000000
bts rdi, rax
jmp 0x14007b6cb
mov rax, qword [r8 + 8]
cmp qword [r8], 0
mov qword [r8], 0
je 0x14007c4c6
mov rcx, r13
sub rcx, rax
neg rcx
sub r13, rax
cmovb r13, rcx
add qword [r8 + 0x158], r13
mov qword [rbp], 0
jmp 0x14007c4b5
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], r8
lea rcx, [rsp + 0x30]
mov rsi, rdx
mov edx, eax
mov rdi, r8
mov r8d, r10d
mov rbx, r9
mov r9d, r11d
call fcn.1400b43b0
mov r9, rbx
mov rdx, rsi
mov r8, rdi
mov rbx, rax
mov rdi, rax
shr rdi, 0x20
cmp ebx, 5
je 0x14007b302
lea ecx, [rbx - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
cmp eax, 2
je 0x14007bfb6
cmp eax, 1
jne 0x14007bfe0
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007c4c6
mov byte [rax], 0
mov byte [rax + 1], dil
mov qword [rax + 8], r13
jmp 0x14007c3e6
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007c4c6
mov byte [rax], 3
mov dword [rax + 4], ebx
mov dword [rax + 8], edi
jmp 0x14007c3e6
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007c4c6
mov byte [rax], 1
mov qword [rax + 8], r13
jmp 0x14007c3e6
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007c4c6
mov byte [rax], 0
mov byte [rax + 1], bl
mov r12, rsi
jmp 0x14007c4a5
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007c4c6
mov byte [rax], 0
mov byte [rax + 1], sil
mov r12, rbx
jmp 0x14007c3e2
mov r9d, edx
xor r12d, r12d
test edx, 0x8000000
jne 0x14007c20f
jmp 0x14007c22c
mov rax, qword [r8 + 8]
cmp qword [r8], 0
mov qword [r8], 0
je 0x14007c4c6
mov rcx, r13
sub rcx, rax
neg rcx
sub r13, rax
cmovb r13, rcx
add qword [r8 + 0x158], r13
mov rax, qword [rsp + 0x28]
mov qword [rax], rbx
mov rcx, qword [rsp + 0x50]
mov qword [rax + 8], rcx
mov dword [rax + 0x10], r15d
jmp 0x14007c4b5
mov r9d, edx
test edx, 0x8000000
mov r13, qword [rsp + 0x28]
mov r12, qword [rsp + 0x50]
je 0x14007c0ee
xor r12d, r12d
mov r8, r14
mov rdx, rsi
mov rcx, rdx
mov rdx, r8
mov r8d, r9d
call fcn.14007b0c0
mov r15d, eax
mov ebx, 1
mov qword [r13], rbx
mov qword [r13 + 8], r12
mov dword [r13 + 0x10], r15d
jmp 0x14007c4b5
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], r8
lea rcx, [rsp + 0x30]
mov rsi, rdx
mov edx, eax
mov rdi, r8
mov r8d, r10d
mov rbx, r9
mov r9d, r11d
call fcn.1400b43b0
mov r9, rbx
mov rdx, rsi
mov r8, rdi
mov rbx, rax
mov rdi, rax
shr rdi, 0x20
cmp ebx, 5
je 0x14007b6cb
lea ecx, [rbx - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
cmp eax, 2
je 0x14007c182
cmp eax, 1
mov rsi, qword [rsp + 0x28]
jne 0x14007c1ae
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007c4c6
mov byte [rax], 0
mov byte [rax + 1], dil
jmp 0x14007c1cd
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
mov rsi, qword [rsp + 0x28]
je 0x14007c4c6
mov byte [rax], 3
mov dword [rax + 4], ebx
mov dword [rax + 8], edi
jmp 0x14007c1d1
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007c4c6
mov byte [rax], 1
mov qword [rax + 8], r13
mov qword [rsi + 8], rax
mov qword [rsi], 2
jmp 0x14007c4b5
mov r8, rbx
mov rdx, rsi
mov rsi, r12
mov rcx, rdx
mov rdx, r8
mov r8d, r9d
call fcn.14007b0c0
mov r12d, 1
mov qword [r13], r12
mov qword [r13 + 8], rsi
mov dword [r13 + 0x10], eax
jmp 0x14007c4b5
mov r8, rbx
mov rdx, rsi
mov rcx, rdx
mov rdx, r8
mov r8d, r9d
call fcn.14007b0c0
mov rcx, r12
mov r12d, 1
mov qword [rbp], r12
mov qword [rbp + 8], rcx
mov dword [rbp + 0x10], eax
jmp 0x14007c4b5
mov eax, ebx
shl eax, 8
mov r14, rdx
mov qword [rsp + 0x30], rdx
mov r15, r8
mov qword [rsp + 0x38], r8
lea rcx, [rsp + 0x30]
mov edx, edi
mov r8d, eax
call fcn.1400b3080
test eax, eax
jne 0x14007c3c3
mov r10d, edx
mov r8, r15
mov rdx, r14
mov eax, r10d
test eax, 0x8000000
je 0x14007b361
jmp 0x14007c2ce
inc r9
shl r9d, 0x10
or r9d, 1
mov rsi, rdx
mov qword [rsp + 0x30], rdx
mov rbx, r8
mov qword [rsp + 0x38], r8
lea rcx, [rsp + 0x30]
mov edx, edi
mov r8d, r9d
call fcn.1400b3080
test eax, eax
jne 0x14007bd33
mov r10d, edx
mov r8, rbx
mov rdx, rsi
xor eax, eax
test r10d, 0x8000000
je 0x14007bc7c
xor r12d, r12d
mov rcx, qword [rdx + 0x2b0]
mov eax, 1
xor r9d, r9d
cmp qword [rcx + 0x168], 1
je 0x14007c33e
and r10d, 0x7ffffff
movzx ecx, byte [rdx + 0x2b8]
shr r10, cl
cmp r10, qword [r8 + 0x58]
jae 0x14007c4c6
mov rdx, qword [r8 + 0x50]
shl r10d, 4
mov rcx, qword [rdx + r10 + 8]
test rcx, rcx
je 0x14007c4c6
mov rdx, qword [rdx + r10]
test byte [rdx + 0x10], 2
je 0x14007c33e
cmp rcx, 0xc
jbe 0x14007c4c6
add rcx, 0xfffffffffffffff3
cmp rcx, 3
jbe 0x14007c4c6
mov r9d, dword [rdx + 0x1d]
mov qword [rbp], rax
mov qword [rbp + 8], r12
mov dword [rbp + 0x10], r9d
jmp 0x14007c4b5
mov eax, ebx
shl eax, 8
mov r14, rdx
mov qword [rsp + 0x30], rdx
mov r15, r8
mov qword [rsp + 0x38], r8
lea rcx, [rsp + 0x30]
mov edx, edi
mov r8d, eax
call fcn.1400b3080
test eax, eax
jne 0x14007c48a
mov r9d, edx
mov r8, r15
mov rdx, r14
mov eax, r9d
test eax, 0x8000000
je 0x14007b72f
jmp 0x14007c1e7
mov eax, esi
shl eax, 8
mov r14, rdx
mov qword [rsp + 0x30], rdx
mov r15, r8
mov qword [rsp + 0x38], r8
lea rcx, [rsp + 0x30]
mov edx, edi
mov r8d, eax
call fcn.1400b3080
test eax, eax
je 0x14007c4c8
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007c4c6
mov byte [rax], 1
mov qword [rax + 8], r12
mov qword [rbp + 8], rax
mov qword [rbp], 2
jmp 0x14007c4b5
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007c4c6
mov byte [rax], 1
mov qword [rax + 8], r13
mov rcx, qword [rsp + 0x28]
jmp 0x14007be9c
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007c4c6
mov byte [rax], 1
mov qword [rax + 8], r13
mov r14, qword [rsp + 0x28]
mov qword [r14 + 8], rax
mov qword [r14], 2
jmp 0x14007c4b5
mov qword [rsp + 0x40], rbx
mov ebp, r15d
mov eax, r14d
shl eax, 8
mov rbx, rdx
mov qword [rsp + 0x30], rdx
mov r15, r8
mov qword [rsp + 0x38], r8
lea rcx, [rsp + 0x30]
mov edx, edi
mov r8d, eax
call fcn.1400b3080
test eax, eax
je 0x14007c4e4
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007c4c6
mov byte [rax], 1
mov qword [rax + 8], r12
mov qword [r13 + 8], rax
mov qword [r13], 2
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
mov r9d, edx
mov r8, r15
mov rdx, r14
mov eax, r9d
test eax, 0x8000000
je 0x14007b67f
jmp 0x14007c215
mov r9d, edx
mov r8, r15
mov rdx, rbx
mov r15d, ebp
mov rbx, qword [rsp + 0x40]
mov eax, r9d
test eax, 0x8000000
je 0x14007bb79
jmp 0x14007c0d8