Function at 0x14000f870
Capabilities:
Inspect section memory permissions

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0xf0
xor r8d, r8d
mov qword [rsp + 0xb0], 0x400
mov r13, rcx
mov ecx, 0x400
lea edx, [r8 + 2]
call fcn.1400a64d0
movsxd rcx, dword [r13 + 0x178]
xor r8d, r8d
mov qword [rsp + 0x80], rax
lea edx, [r8 + 0x14]
call fcn.1400a64d0
xor r15d, r15d
mov qword [rsp + 0x78], rax
cmp byte [r13 + 0x181], r15b
mov r14, rax
mov eax, r15d
mov ecx, r15d
sete al
cmp byte [r13 + 0xf2], r15b
sete cl
xor eax, ecx
shl eax, 0x14
mov dword [rsp + 0x98], eax
cmp byte [r13 + 0xf8], r15b
je 0x14000f939
cmp byte [r13 + 0x180], r15b
je 0x14000f922
cmp byte [r13 + 0xfb], r15b
jne 0x14000f91b
cmp byte [r13 + 0x1176], r15b
je 0x14000f91b
mov eax, r15d
jmp 0x14000f927
mov eax, 0x40000000
jmp 0x14000f927
mov eax, 0x20000000
mov ebp, eax
bts ebp, 0x1c
cmp byte [r13 + 0xe2], r15b
cmove ebp, eax
jmp 0x14000f93c
mov ebp, r15d
mov edx, dword [r13 + 0xc8]
xor r9d, r9d
mov esi, edx
mov dword [rsp + 0x88], ebp
sub esi, dword [r13 + 0x20]
mov r8d, 0x17c7
mov rcx, r13
call fcn.140011b10
movsxd rbx, dword [r13 + 0xcc]
mov r8d, esi
mov rdx, rax
mov rcx, r13
mov rdi, rax
call fcn.140014890
mov r9, rax
movsxd rax, esi
mov qword [rsp + 0xc0], rax
test r9, r9
je 0x14000f9a4
mov rcx, qword [r13 + 0x1138]
mov rdx, rax
shl rdx, 5
mov rdx, qword [rdx + rcx + 0x10]
mov ebx, dword [rdx + rbx*4]
jmp 0x14000f9a8
mov r9, qword [rdi + 0x18]
test ebx, ebx
jle 0x14000f9bf
movsxd rax, ebx
lea rcx, [rax + rax*4]
cmp dword [r9 + rcx*4], 0xdfff
jne 0x14000f9bf
dec ebx
cmp byte [rdi + 0xc], r15b
je 0x14000f9d6
mov rcx, qword [rdi + 0x18]
call fcn.1400a62e0
mov rcx, rdi
call fcn.1400a62e0
movsxd rax, dword [r13 + 0x34]
test eax, eax
js 0x14000fa4a
cmp dword [r13 + 0x38], ebp
jne 0x14000f9ee
cmp eax, esi
jne 0x14000f9ee
cmp dword [r13 + 0x30], ebx
je 0x14000fa4a
movsxd r8, dword [r13 + 0x30]
mov rcx, rax
mov rax, qword [r13 + 0x28]
mov rdx, qword [rax + rcx*8]
lea rcx, [r8 + r8*4]
mov rax, qword [rdx + 0x18]
lea rdx, [rax + rcx*4]
test r8d, r8d
jle 0x14000fa21
cmp dword [rdx], 0xdfff
jne 0x14000fa21
or dword [rdx - 0x10], 0x3ffff
mov r8d, dword [r13 + 0x30]
mov eax, dword [r13 + 0x178]
dec eax
cmp r8d, eax
jge 0x14000fa3f
cmp dword [rdx + 0x14], 0xdfff
jne 0x14000fa3f
or dword [rdx + 0x18], 0x3ffff
or dword [rdx + 4], 0x3ffff
mov dword [r13 + 0x38], r15d
mov edi, r15d
movsxd rax, ebx
mov qword [rsp + 0xc8], rax
mov qword [r13 + 0x30], 0xffffffffffffffff
mov dword [rsp + 0x4c], r15d
cmp dword [r13 + 0x174], r15d
jle 0x14001083b
mov qword [rsp + 0xe8], r12
mov r12, r15
mov qword [rsp + 0x58], r15
nop dword [rax]
nop word [rax + rax]
mov ebp, dword [r13 + 0x20]
xor r9d, r9d
add ebp, edi
mov dword [rsp + 0x48], r15d
mov edx, ebp
mov dword [rsp + 0x64], r15d
mov r8d, 0x17fd
mov dword [rsp + 0x60], r15d
mov rcx, r13
mov dword [rsp + 0x148], r15d
mov byte [rsp + 0x68], 0
call fcn.140011b10
mov r8d, edi
mov qword [rsp + 0xa0], rax
mov rdx, rax
mov rcx, r13
mov rbx, rax
call fcn.140014890
mov qword [rsp + 0xa8], rax
mov r8, rax
test rax, rax
je 0x14000fb03
mov rcx, qword [r13 + 0x1138]
mov rdx, r12
shl rdx, 5
mov r13, qword [rdx + rcx + 0x18]
jmp 0x14000fb12
mov r8, qword [rbx + 0x18]
mov r13, r15
mov qword [rsp + 0xa8], r8
mov r11, qword [rsp + 0x130]
xor r12d, r12d
mov eax, dword [r11 + 0x178]
test eax, eax
jle 0x14000fe00
mov r9, qword [rsp + 0x78]
lea r14, [r8 + 8]
sub r9, r8
mov r10, 0xfffffffffffffff8
sub r10, r8
mov qword [rsp + 0x138], r9
mov qword [rsp + 0x140], r10
test r13, r13
je 0x14000fb5e
mov r8d, dword [r13 + r12*4]
jmp 0x14000fb61
mov r8d, r15d
cmp byte [r11 + 0x1149], 0
mov esi, dword [r14 - 8]
mov edx, dword [r14 - 4]
jne 0x14000fb7f
and edx, 0xfffe0500
or edx, 0x20500
cmp byte [r11 + 0x11af], 0
jne 0x14000fbc4
mov eax, edx
and eax, 0x1ff
sub eax, 0x10
cmp eax, 0xef
ja 0x14000fba4
and edx, 0xffffff00
bts edx, 8
mov eax, edx
shr eax, 9
and eax, 0x1ff
sub eax, 0x10
cmp eax, 0xef
ja 0x14000fbc4
and edx, 0xfffe05ff
or edx, 0x20400
cmp byte [r11 + 0x11b0], 0
je 0x14000fbd8
mov rbx, qword [r14]
mov qword [rsp + 0x40], rbx
jmp 0x14000fbeb
mov eax, dword [0x1400b47d4]
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x40], eax
mov rbx, qword [rsp + 0x40]
mov eax, esi
and eax, 0xffffff00
cmp eax, 0xd800
je 0x14000fc2e
cmp eax, 0xd900
je 0x14000fc19
cmp eax, 0xda00
jne 0x14000fc41
mov rax, qword [r11 + 0x10d8]
movzx ecx, sil
movzx esi, word [rax + rcx*2 + 0xc]
jmp 0x14000fc41
mov rax, qword [r11 + 0x10d8]
movzx ecx, sil
movzx esi, word [rax + rcx*2 + 0x60c]
jmp 0x14000fc41
mov rax, qword [r11 + 0x10d8]
movzx ecx, sil
movzx esi, word [rax + rcx*2 + 0x20c]
mov eax, dword [r11 + 0x178]
dec eax
cmp r15d, eax
jge 0x14000fc5d
cmp dword [r14 + 0xc], 0xdfff
jne 0x14000fc5d
bts edx, 0x16
mov eax, dword [r11 + 0xe7c]
sub eax, 2
cmp eax, 1
ja 0x14000fcb5
cmp dword [r11 + 0xe80], 0
mov rax, qword [r11 + 0xe88]
jne 0x14000fd2b
cmp eax, ebp
je 0x14000fc8a
setl al
jmp 0x14000fc94
shr rax, 0x20
cmp eax, r8d
setle al
test al, al
je 0x14000fcb5
mov rax, qword [r11 + 0xe90]
cmp ebp, eax
jne 0x14000fcaa
shr rax, 0x20
cmp r8d, eax
setl al
test al, al
jne 0x14000fd58
xor edi, edi
shl edi, 0x14
xor edi, edx
xor edi, dword [rsp + 0x98]
cmp byte [r11 + 0xfd], 0
je 0x14000fcf9
bt edi, 0x15
jae 0x14000fcf9
cmp byte [r11 + 0x180], 0
je 0x14000fcf5
cmp byte [r11 + 0xfc], 0
je 0x14000fcf5
mov rax, qword [r11 + 0x10d8]
movzx esi, word [rax + 0x24c]
btr edi, 0x15
mov rax, qword [r11 + 0x28]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
add rax, r10
cmp esi, dword [rax + r14]
jne 0x14000fd62
mov ecx, dword [rax + r14 + 4]
mov eax, ecx
and eax, 0xf7fffff
cmp edi, eax
jne 0x14000fd62
bt ecx, 0x17
jae 0x14000fd98
jmp 0x14000fd94
cmp eax, ebp
jg 0x14000fcb5
shr rax, 0x20
cmp eax, r8d
jg 0x14000fcb5
mov rax, qword [r11 + 0xe90]
cmp ebp, eax
jg 0x14000fcb5
shr rax, 0x20
cmp r8d, eax
jge 0x14000fcb5
mov edi, 1
jmp 0x14000fcb7
bt edi, 0x16
jb 0x14000fd98
mov rcx, qword [r11 + 0x10c8]
mov edx, esi
mov rax, qword [rcx]
call qword [rax + 0x20]
mov r9, qword [rsp + 0x138]
mov r10, qword [rsp + 0x140]
mov r11, qword [rsp + 0x130]
cmp eax, 2
jne 0x14000fd98
bts edi, 0x17
mov rax, qword [rsp + 0xc0]
cmp qword [rsp + 0x58], rax
jne 0x14000fdca
cmp r12, qword [rsp + 0xc8]
jne 0x14000fdca
mov eax, dword [rsp + 0x88]
or edi, eax
mov dword [r11 + 0x38], eax
mov eax, dword [rsp + 0x4c]
mov dword [r11 + 0x34], eax
mov dword [r11 + 0x30], r15d
mov dword [r9 + r14 - 4], edi
inc r15d
mov dword [r9 + r14 - 8], esi
inc r12
mov qword [r9 + r14], rbx
mov dword [r9 + r14 + 8], 0
add r14, 0x14
mov eax, dword [r11 + 0x178]
cmp r15d, eax
jl 0x14000fb52
mov r14, qword [rsp + 0x78]
mov r13, qword [rsp + 0x130]
xor r15d, r15d
mov r12, qword [rsp + 0x58]
xor r10b, r10b
mov ebx, r15d
mov edi, r15d
mov r11d, r15d
test eax, eax
jle 0x14000feed
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [r13 + 0x28]
lea rax, [r11 + r11*4]
lea rsi, [rax*4]
mov ecx, r15d
mov rax, qword [r9 + r12*8]
mov rdx, qword [rax + 0x18]
mov rax, r11
mov r8d, dword [rdx + rsi + 4]
test r8d, r8d
cmovns rax, rbx
mov rbx, rax
movzx eax, r10b
cmovns ecx, eax
mov eax, dword [rsi + r14]
movzx r10d, cl
cmp dword [rdx + rsi], eax
jne 0x14000fe7f
and r8d, 0xfffffff
cmp r8d, dword [rsi + r14 + 4]
je 0x14000fec7
test cl, cl
jne 0x14000fecb
cmp rbx, r11
jge 0x14000fec2
lea rax, [rbx + rbx*4]
mov r8, r11
shl rax, 2
sub r8, rbx
nop word [rax + rax]
mov rcx, qword [r13 + 0x28]
lea rax, [rax + 0x14]
mov rdx, qword [rcx + r12*8]
mov rcx, qword [rdx + 0x18]
or dword [rcx + rax - 0x10], 0x3ffff
sub r8, 1
jne 0x14000fea0
mov r9, qword [r13 + 0x28]
mov r10b, 1
jmp 0x14000fecb
test cl, cl
je 0x14000fedb
mov rax, qword [r9 + r12*8]
mov rcx, qword [rax + 0x18]
or dword [rcx + rsi + 4], 0x3ffff
inc edi
inc r11
cmp edi, dword [r13 + 0x178]
jl 0x14000fe30
mov rax, qword [r13 + 0x28]
mov r11d, r15d
mov rsi, qword [rsp + 0xa0]
mov r14, r15
mov dword [rsp + 0x50], r15d
mov qword [rsp + 0x90], r15
mov rcx, qword [rax + r12*8]
movzx eax, word [rsi]
cmp ax, word [rcx]
mov word [rcx], ax
mov rbx, qword [r13 + 0x94]
setne dil
movzx edx, dil
mov qword [rsp + 0xb8], rbx
mov byte [rsp + 0x138], dl
mov qword [rsp + 0x40], rbx
cmp dword [r13 + 0x178], r15d
jle 0x1400107b8
nop dword [rax]
mov rcx, qword [rsp + 0x58]
lea rax, [r14 + r14*4]
mov r15, qword [rsp + 0xa8]
lea r14, [rax*4]
mov rax, qword [rsp + 0x78]
add r15, r14
movzx ebp, byte [rsp + 0x68]
movzx edi, dil
movzx esi, dl
mov r10d, dword [r14 + rax + 4]
mov r12d, dword [r14 + rax]
mov rax, qword [r13 + 0x28]
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0xd0], r15
mov dword [rsp + 0x6c], r10d
mov rcx, qword [rax + rcx*8]
mov dword [rsp + 0x9c], r12d
mov r8, qword [rcx + 0x18]
mov rcx, qword [rsp + 0x78]
add r8, r14
mov r9d, dword [r8 + 4]
mov eax, r9d
xor eax, r10d
bt eax, 0x16
mov eax, 1
cmovb edi, eax
mov eax, r10d
xor eax, dword [rsp + 0x48]
test dword [r13 + 0x10a0], eax
movzx eax, byte [rsp + 0x40]
setne dl
mov dword [rsp + 0x70], edi
cmp byte [r14 + rcx + 8], al
jne 0x140010042
movzx eax, byte [rsp + 0x41]
cmp byte [r14 + rcx + 9], al
jne 0x140010042
movzx eax, byte [rsp + 0x42]
cmp byte [r14 + rcx + 0xa], al
jne 0x140010042
movzx eax, byte [rsp + 0x43]
cmp byte [r14 + rcx + 0xb], al
jne 0x140010042
movzx eax, byte [rsp + 0x44]
cmp byte [r14 + rcx + 0xc], al
jne 0x140010042
movzx eax, byte [rsp + 0x45]
cmp byte [r14 + rcx + 0xd], al
jne 0x140010042
movzx eax, byte [rsp + 0x46]
cmp byte [r14 + rcx + 0xe], al
jne 0x140010042
movzx eax, byte [rsp + 0x47]
cmp byte [r14 + rcx + 0xf], al
je 0x140010044
mov dl, 1
lea eax, [r12 - 0x23ba]
cmp eax, 3
jbe 0x140010071
test r11d, r11d
jle 0x140010073
mov rax, qword [rsp + 0x90]
lea rax, [rax + rax*4]
mov ecx, dword [rcx + rax*4 - 0x14]
sub ecx, 0x23ba
cmp ecx, 3
ja 0x140010073
mov dl, 1
mov edi, r12d
and edi, 0xfffffc00
cmp edi, 0xd800
je 0x140010097
mov eax, r12d
and eax, 0xfffffe00
cmp eax, 0xdc00
je 0x140010097
xor eax, eax
jmp 0x14001009f
mov eax, r12d
and eax, 0xffffff00
cmp eax, dword [rsp + 0x64]
mov eax, 1
movzx ecx, dl
cmovne ecx, eax
cmp dword [r15 + 0x10], 0
jne 0x1400100c1
test r11d, r11d
jle 0x1400100c4
cmp dword [r15 - 4], 0
je 0x1400100c4
movzx ecx, al
cmp dword [r15], 0xdffe
je 0x1400100e7
cmp r11d, 2
jl 0x1400100ea
cmp dword [r15 - 0x14], 0xdfff
jne 0x1400100ea
cmp dword [r15 - 0x28], 0xdffe
jne 0x1400100ea
movzx ecx, al
mov rax, qword [r13 + 0x10d8]
cmp byte [rax], 0
jne 0x140010186
cmp byte [rsp + 0x70], 0
jne 0x140010186
cmp dword [r8], r12d
jne 0x14001016e
and r9d, 0xfffffff
cmp r9d, r10d
jne 0x14001016e
movzx eax, byte [rsp + 0x40]
cmp byte [r8 + 8], al
jne 0x14001016e
movzx eax, byte [rsp + 0x41]
cmp byte [r8 + 9], al
jne 0x14001016e
movzx eax, byte [rsp + 0x42]
cmp byte [r8 + 0xa], al
jne 0x14001016e
movzx eax, byte [rsp + 0x43]
cmp byte [r8 + 0xb], al
jne 0x14001016e
movzx eax, byte [rsp + 0x44]
cmp byte [r8 + 0xc], al
jne 0x14001016e
movzx eax, byte [rsp + 0x45]
cmp byte [r8 + 0xd], al
jne 0x14001016e
movzx eax, byte [rsp + 0x46]
cmp byte [r8 + 0xe], al
jne 0x14001016e
movzx eax, byte [rsp + 0x47]
cmp byte [r8 + 0xf], al
je 0x140010198
movzx eax, byte [rsp + 0x138]
test al, al
jne 0x14001018e
cmp dword [rsp + 0x148], 1
je 0x1400101a4
jmp 0x14001018e
movzx eax, byte [rsp + 0x138]
test cl, cl
je 0x140010269
jmp 0x1400101a0
movzx eax, byte [rsp + 0x138]
test al, al
jne 0x1400101ab
cmp byte [rsp + 0x68], 0
je 0x1400101f3
mov eax, dword [rsp + 0x148]
test eax, eax
jle 0x1400101f3
mov ecx, dword [rsp + 0x48]
mov r9d, dword [rsp + 0x4c]
mov r8d, dword [rsp + 0x60]
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], ecx
mov rcx, r13
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
call fcn.140010870
mov r10d, dword [rsp + 0x6c]
mov rbx, qword [rsp + 0x78]
xor ecx, ecx
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x148], ecx
mov rbx, qword [r14 + rbx + 8]
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x48], r10d
cmp edi, 0xd800
je 0x14001023d
mov eax, r12d
and eax, 0xfffffe00
cmp eax, 0xdc00
je 0x14001023d
mov dword [rsp + 0x64], ecx
jmp 0x14001024a
mov edx, r12d
and edx, 0xffffff00
mov dword [rsp + 0x64], edx
mov rcx, qword [r13 + 0x10d8]
mov edx, esi
movzx eax, byte [rsp + 0x70]
mov byte [rsp + 0x138], al
cmp byte [rcx], 0
cmove edx, ebp
mov dword [rsp + 0x68], edx
mov rax, qword [r13 + 0x28]
mov r9, r15
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rax + rcx*8]
movzx eax, byte [r15 + 8]
mov rdx, qword [rcx + 0x18]
add rdx, r14
cmp byte [rdx + 8], al
jne 0x14001031d
movzx eax, byte [r15 + 9]
cmp byte [rdx + 9], al
jne 0x14001031d
movzx eax, byte [r15 + 0xa]
cmp byte [rdx + 0xa], al
jne 0x14001031d
movzx eax, byte [r15 + 0xb]
cmp byte [rdx + 0xb], al
jne 0x14001031d
movzx eax, byte [r15 + 0xc]
cmp byte [rdx + 0xc], al
jne 0x14001031d
movzx eax, byte [r15 + 0xd]
cmp byte [rdx + 0xd], al
jne 0x14001031d
movzx eax, byte [r15 + 0xe]
cmp byte [rdx + 0xe], al
jne 0x14001031d
movzx eax, byte [r15 + 0xf]
cmp byte [rdx + 0xf], al
jne 0x14001031d
cmp dword [rdx], r12d
jne 0x14001031d
mov eax, r10d
xor eax, dword [rdx + 4]
test eax, 0xfffffff
jne 0x14001031d
nop word [rax + rax]
movsxd rax, dword [rdx + 0x10]
movsxd r8, dword [r9 + 0x10]
test eax, eax
je 0x1400103b6
test r8d, r8d
je 0x14001031d
lea rcx, [rax + rax*4]
lea rdx, [rdx + rcx*4]
lea rcx, [r8 + r8*4]
mov eax, dword [r9 + rcx*4]
lea r9, [r9 + rcx*4]
cmp dword [rdx], eax
je 0x1400102f0
mov byte [rsp + 0x138], 1
xor bpl, bpl
movsxd rsi, dword [rsp + 0x148]
lea rdx, [rsp + 0xb0]
mov rcx, qword [rsp + 0x80]
mov r9, rsi
mov byte [rsp + 0x28], 0
mov r8d, 2
mov byte [rsp + 0x140], bpl
mov qword [rsp + 0x20], 2
call fcn.1400a62f0
mov r10, rax
mov qword [rsp + 0x80], rax
lea eax, [r12 - 0x10001]
cmp eax, 0xffffe
ja 0x1400103c7
lea eax, [r12 - 0x10000]
mov ecx, 0x2800
shr eax, 0xa
sub ax, cx
movzx ecx, r12w
mov word [r10 + rsi*2], ax
mov eax, 0x3ff
and cx, ax
inc esi
mov eax, 0x2400
sub cx, ax
movsxd rax, esi
mov word [r10 + rax*2], cx
jmp 0x1400103cc
test r8d, r8d
jne 0x14001031d
mov bpl, 1
jmp 0x140010328
mov word [r10 + rsi*2], r12w
inc esi
cmp dword [r15 + 0x10], 0
mov dword [rsp + 0x148], esi
je 0x140010523
movsxd r12, dword [rsp + 0x148]
mov rsi, r15
mov ebx, 0x2800
mov ebp, 0x3ff
mov r15d, 0x2400
lea r14, [r12 + r12]
nop
movsxd rax, dword [rsi + 0x10]
lea rcx, [rax + rax*4]
mov edi, dword [rsi + rcx*4]
lea rsi, [rsi + rcx*4]
mov eax, edi
and eax, 0xffffff00
cmp eax, 0xd800
je 0x140010452
cmp eax, 0xd900
je 0x14001043d
cmp eax, 0xda00
jne 0x140010465
mov rax, qword [r13 + 0x10d8]
movzx ecx, dil
movzx edi, word [rax + rcx*2 + 0xc]
jmp 0x140010465
mov rax, qword [r13 + 0x10d8]
movzx ecx, dil
movzx edi, word [rax + rcx*2 + 0x60c]
jmp 0x140010465
mov rax, qword [r13 + 0x10d8]
movzx ecx, dil
movzx edi, word [rax + rcx*2 + 0x20c]
movsxd r9, r12d
lea rdx, [rsp + 0xb0]
mov byte [rsp + 0x28], 0
mov r8d, 2
mov rcx, r10
mov qword [rsp + 0x20], 2
call fcn.1400a62f0
mov r10, rax
lea eax, [rdi - 0x10001]
cmp eax, 0xffffe
ja 0x1400104c4
lea eax, [rdi - 0x10000]
and di, bp
shr eax, 0xa
sub ax, bx
mov word [r10 + r14], ax
sub di, r15w
mov eax, 4
mov word [r10 + r14 + 2], di
lea ecx, [rax - 2]
jmp 0x1400104d3
mov word [r10 + r14], di
mov eax, 2
mov ecx, 1
add r12d, ecx
add r14, rax
cmp dword [rsi + 0x10], 0
jne 0x140010400
or dword [rsp + 0x48], 0x80000000
mov rbx, qword [rsp + 0xb8]
movzx ebp, byte [rsp + 0x140]
mov r15, qword [rsp + 0xd0]
mov r14, qword [rsp + 0xd8]
mov dword [rsp + 0x148], r12d
mov r12d, dword [rsp + 0x9c]
mov qword [rsp + 0x80], r10
test bpl, bpl
mov ebp, dword [rsp + 0x50]
jne 0x1400105fc
mov rax, qword [r13 + 0x28]
mov edx, ebp
mov rcx, qword [rsp + 0x58]
mov rdi, r15
mov rsi, qword [rax + rcx*8]
mov rcx, rsi
call fcn.14000e910
mov rcx, qword [rsi + 0x18]
movups xmm0, xmmword [r15]
movups xmmword [rcx + r14], xmm0
mov eax, dword [r15 + 0x10]
mov dword [rcx + r14 + 0x10], eax
mov rax, qword [rsi + 0x18]
mov dword [r14 + rax + 0x10], 0
mov eax, dword [r15 + 0x10]
test eax, eax
je 0x14001059f
nop word [rax + rax]
cdqe
mov edx, ebp
lea rcx, [rax + rax*4]
mov r8d, dword [rdi + rcx*4]
lea rdi, [rdi + rcx*4]
mov rcx, rsi
call fcn.14000e630
mov eax, dword [rdi + 0x10]
test eax, eax
jne 0x140010580
mov rax, qword [r13 + 0x28]
mov rcx, qword [rsp + 0x58]
mov edx, dword [rsp + 0x6c]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov dword [r14 + rax], r12d
mov rax, qword [r13 + 0x28]
mov r12, qword [rsp + 0x58]
mov rcx, qword [rax + r12*8]
mov rax, qword [rcx + 0x18]
mov dword [rax + r14 + 4], edx
mov rax, qword [r13 + 0x28]
mov rcx, qword [rax + r12*8]
mov rax, qword [rcx + 0x18]
mov qword [rax + r14 + 8], rbx
cmp dword [rsp + 0x60], ebp
jne 0x140010605
mov rax, qword [r13 + 0x28]
mov rcx, qword [rax + r12*8]
mov rax, qword [rcx + 0x18]
or dword [rax + r14 + 4], 0x80000000
jmp 0x140010605
mov edx, dword [rsp + 0x6c]
mov r12, qword [rsp + 0x58]
mov r14, qword [rsp + 0x90]
bt edx, 0x16
jae 0x140010780
inc ebp
inc r14
cmp ebp, dword [r13 + 0x178]
jge 0x140010780
add r15, 0x14
cmp r12, qword [rsp + 0xc0]
jne 0x14001065b
cmp r14, qword [rsp + 0xc8]
jne 0x14001065b
mov r8d, 0x1921
lea rdx, str.C:Usersyangjun04Downloadsputty_src_terminal_terminal.c
lea rcx, str.__i__our_curs_y__j__our_curs_x_
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [r13 + 0x28]
mov r9, r15
mov rdi, qword [rax + r12*8]
lea rax, [r14 + r14*4]
lea rsi, [rax*4]
movzx eax, byte [r15 + 8]
mov rdx, qword [rdi + 0x18]
add rdx, rsi
cmp byte [rdx + 8], al
jne 0x140010720
movzx eax, byte [r15 + 9]
cmp byte [rdx + 9], al
jne 0x140010720
movzx eax, byte [r15 + 0xa]
cmp byte [rdx + 0xa], al
jne 0x140010720
movzx eax, byte [r15 + 0xb]
cmp byte [rdx + 0xb], al
jne 0x140010720
movzx eax, byte [r15 + 0xc]
cmp byte [rdx + 0xc], al
jne 0x140010720
movzx eax, byte [r15 + 0xd]
cmp byte [rdx + 0xd], al
jne 0x140010720
movzx eax, byte [r15 + 0xe]
cmp byte [rdx + 0xe], al
jne 0x140010720
movzx eax, byte [r15 + 0xf]
cmp byte [rdx + 0xf], al
jne 0x140010720
mov eax, dword [r15]
cmp dword [rdx], eax
jne 0x140010720
mov eax, dword [rdx + 4]
xor eax, dword [r15 + 4]
test eax, 0xfffffff
jne 0x140010720
nop word [rax + rax]
movsxd rax, dword [rdx + 0x10]
movsxd r8, dword [r9 + 0x10]
test eax, eax
je 0x14001071b
test r8d, r8d
je 0x140010720
lea rcx, [rax + rax*4]
lea rdx, [rdx + rcx*4]
lea rcx, [r8 + r8*4]
mov eax, dword [r9 + rcx*4]
lea r9, [r9 + rcx*4]
cmp dword [rdx], eax
je 0x1400106f0
jmp 0x140010720
test r8d, r8d
je 0x140010728
mov byte [rsp + 0x138], 1
mov edx, ebp
mov rcx, rdi
call fcn.14000e910
mov rcx, qword [rdi + 0x18]
movups xmm0, xmmword [r15]
movups xmmword [rcx + rsi], xmm0
mov eax, dword [r15 + 0x10]
mov dword [rcx + rsi + 0x10], eax
mov rax, qword [rdi + 0x18]
mov dword [rsi + rax + 0x10], 0
mov eax, dword [r15 + 0x10]
test eax, eax
je 0x140010780
nop word [rax + rax]
cdqe
mov edx, ebp
lea rcx, [rax + rax*4]
mov r8d, dword [r15 + rcx*4]
lea r15, [r15 + rcx*4]
mov rcx, rdi
call fcn.14000e630
mov eax, dword [r15 + 0x10]
test eax, eax
jne 0x140010760
movzx edx, byte [rsp + 0x138]
inc ebp
mov edi, dword [rsp + 0x70]
inc r14
mov r11d, ebp
mov dword [rsp + 0x50], ebp
mov qword [rsp + 0x90], r14
cmp ebp, dword [r13 + 0x178]
jl 0x14000ff50
mov rsi, qword [rsp + 0xa0]
xor r15d, r15d
mov edi, dword [rsp + 0x4c]
test dl, dl
je 0x1400107fc
mov eax, dword [rsp + 0x148]
test eax, eax
jle 0x1400107fc
mov ecx, dword [rsp + 0x48]
mov r9d, edi
mov r8d, dword [rsp + 0x60]
mov rdx, rsi
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], ecx
mov rcx, r13
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
call fcn.140010870
cmp byte [rsi + 0xc], 0
je 0x140010813
mov rcx, qword [rsi + 0x18]
call fcn.1400a62e0
mov rcx, rsi
call fcn.1400a62e0
mov r14, qword [rsp + 0x78]
inc edi
inc r12
mov dword [rsp + 0x4c], edi
mov qword [rsp + 0x58], r12
cmp edi, dword [r13 + 0x174]
jl 0x14000fa90
mov r12, qword [rsp + 0xe8]
mov rcx, r14
call fcn.1400a62e0
mov rcx, qword [rsp + 0x80]
call fcn.1400a62e0
add rsp, 0xf0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret