Function at 0x14000d810
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov r13, rcx
mov rax, qword [0x14012b050]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov qword [rsp + 0xf8], 0x400
xor eax, eax
mov qword [rsp + 0xe0], rax
mov ecx, 0x400
mov edx, 2
xor r8d, r8d
call fcn.1400434f0
mov r12, rax
movsxd rcx, dword [r13 + 0x178]
mov edx, 0x14
xor r8d, r8d
call fcn.1400434f0
mov cl, byte [r13 + 0xf2]
cmp cl, byte [r13 + 0x181]
setne r14b
cmp byte [r13 + 0xf8], 0
je 0x14000d8de
cmp byte [r13 + 0x180], 0
je 0x14000d8be
mov ecx, 0x40000000
cmp byte [r13 + 0xfb], 0
jne 0x14000d8c3
xor ecx, ecx
cmp byte [r13 + 0x1176], 0
sete cl
shl ecx, 0x1e
jmp 0x14000d8c3
mov ecx, 0x20000000
mov edx, ecx
or edx, 0x10000000
cmp byte [r13 + 0xe2], 0
cmove edx, ecx
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0x80], rax
movsxd rdx, dword [r13 + 0xc8]
movsxd rax, dword [r13 + 0x20]
mov rbx, rdx
sub rbx, rax
mov rcx, r13
mov r8d, 0x17c7
xor r9d, r9d
call fcn.1400104c0
mov rbp, rax
mov esi, dword [r13 + 0xcc]
mov rcx, r13
mov rdx, rax
mov r8d, ebx
call fcn.140014030
test rax, rax
je 0x14000d940
movsxd rcx, esi
mov rdx, qword [r13 + 0x1138]
mov rdi, rbx
shl rdi, 5
mov rdx, qword [rdx + rdi + 0x10]
mov esi, dword [rdx + rcx*4]
jmp 0x14000d944
mov rax, qword [rbp + 0x18]
mov r8, rbx
test esi, esi
jle 0x14000d95f
mov ecx, esi
lea rcx, [rcx + rcx*4]
xor edx, edx
cmp dword [rax + rcx*4], 0xdfff
sete dl
sub esi, edx
mov eax, esi
mov qword [rsp + 0xc0], rax
cmp byte [rbp + 0xc], 0
mov qword [rsp + 0xd8], r8
je 0x14000d990
mov rcx, qword [rbp + 0x18]
call fcn.140043590
mov rcx, rbp
call fcn.140043590
mov r8, qword [rsp + 0xd8]
mov ecx, dword [r13 + 0x34]
test ecx, ecx
mov rsi, qword [rsp + 0x80]
mov ebx, 0
js 0x14000da23
mov eax, dword [r13 + 0x30]
mov rdx, qword [rsp + 0xe0]
cmp dword [r13 + 0x38], edx
jne 0x14000d9c5
cmp ecx, r8d
jne 0x14000d9c5
cmp eax, dword [rsp + 0xc0]
je 0x14000da23
movsxd rdx, eax
mov rbp, qword [r13 + 0x28]
mov rcx, qword [rbp + rcx*8]
mov rcx, qword [rcx + 0x18]
lea rdx, [rdx + rdx*4]
lea rbp, [rcx + rdx*4]
test eax, eax
jle 0x14000d9f5
cmp dword [rbp], 0xdfff
jne 0x14000d9f5
or dword [rbp - 0x10], 0x3ffff
mov eax, dword [r13 + 0x30]
mov edi, dword [r13 + 0x178]
add edi, 0xffffffff
cmp eax, edi
jge 0x14000da13
cmp dword [rbp + 0x14], 0xdfff
jne 0x14000da13
or dword [rbp + 0x18], 0x3ffff
or dword [rcx + rdx*4 + 4], 0x3ffff
mov dword [r13 + 0x38], 0
mov qword [r13 + 0x30], 0xffffffffffffffff
cmp dword [r13 + 0x174], 0
jle 0x14000ec67
mov bl, r14b
shl ebx, 0x14
mov dword [rsp + 0xc8], ebx
mov eax, r8d
mov qword [rsp + 0xf0], rax
xor r14d, r14d
mov qword [rsp + 0x58], r13
jmp 0x14000da9b
mov rsi, qword [rsp + 0x80]
mov rdi, qword [rsp + 0xd0]
cmp byte [rdi + 0xc], 0
je 0x14000da87
mov rcx, qword [rdi + 0x18]
call fcn.140043590
mov rcx, rdi
call fcn.140043590
add r14, 1
movsxd rax, dword [r13 + 0x174]
cmp r14, rax
jge 0x14000ec67
mov edx, dword [r13 + 0x20]
add edx, r14d
mov rcx, r13
mov dword [rsp + 0x54], edx
mov r8d, 0x17fd
xor r9d, r9d
call fcn.1400104c0
mov rsi, rax
mov rcx, r13
mov rdx, rax
mov r8d, r14d
call fcn.140014030
test rax, rax
mov qword [rsp + 0xd0], rsi
je 0x14000db00
mov qword [rsp + 0x98], rax
mov rax, qword [r13 + 0x1138]
mov rcx, r14
shl rcx, 5
mov rax, qword [rax + rcx + 0x18]
jmp 0x14000db0e
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0x98], rax
xor eax, eax
mov r10d, dword [r13 + 0x178]
test r10d, r10d
mov qword [rsp + 0x88], r14
jle 0x14000e180
mov ebx, 4
xor ebp, ebp
mov r9d, dword [rsp + 0xc8]
mov r11, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0x98]
mov qword [rsp + 0x60], rax
jmp 0x14000dbd4
mov rax, qword [rsp + 0x58]
mov dword [rsi + rbx*4 - 0xc], r15d
mov dword [rsi + rbx*4 - 0x10], r13d
mov ecx, dword [rsp + 0x70]
mov byte [rsi + rbx*4 - 8], cl
mov ecx, dword [rsp + 0xa8]
mov byte [rsi + rbx*4 - 7], cl
mov ecx, dword [rsp + 0xb0]
mov byte [rsi + rbx*4 - 6], cl
mov byte [rsi + rbx*4 - 5], r14b
mov ecx, dword [rsp + 0x68]
mov byte [rsi + rbx*4 - 4], cl
mov ecx, dword [rsp + 0x90]
mov byte [rsi + rbx*4 - 3], cl
mov ecx, dword [rsp + 0x7c]
mov byte [rsi + rbx*4 - 2], cl
mov ecx, dword [rsp + 0x6c]
mov byte [rsi + rbx*4 - 1], cl
mov dword [rsi + rbx*4], 0
add rbp, 1
movsxd r10, dword [rax + 0x178]
add rbx, 5
cmp rbp, r10
mov r13, rax
mov r14, qword [rsp + 0x88]
mov rax, qword [rsp + 0x60]
jge 0x14000dff0
test rax, rax
je 0x14000dbe0
mov r8d, dword [rax + rbp*4]
jmp 0x14000dbe3
mov r8d, ebp
mov ecx, dword [rdi + rbx*4 - 0xc]
mov esi, ecx
and esi, 0xfffc0000
or esi, 0x20500
cmp byte [r13 + 0x1149], 0
cmovne esi, ecx
cmp byte [r13 + 0x11af], 0
je 0x14000dc70
cmp byte [r13 + 0x11b0], 0
je 0x14000dcc5
movzx eax, byte [rdi + rbx*4 - 8]
mov dword [rsp + 0x70], eax
movzx eax, byte [rdi + rbx*4 - 7]
mov dword [rsp + 0xa8], eax
movzx r15d, byte [rdi + rbx*4 - 6]
movzx r14d, byte [rdi + rbx*4 - 5]
movzx eax, byte [rdi + rbx*4 - 4]
mov dword [rsp + 0x68], eax
movzx eax, byte [rdi + rbx*4 - 3]
mov dword [rsp + 0x90], eax
movzx eax, byte [rdi + rbx*4 - 2]
mov dword [rsp + 0x7c], eax
movzx eax, byte [rdi + rbx*4 - 1]
mov dword [rsp + 0x6c], eax
jmp 0x14000dd01
mov ecx, esi
and ecx, 0x1ff
add ecx, 0xfffffff0
mov edx, esi
and edx, 0xfffffe00
or edx, 0x100
cmp ecx, 0xf0
cmovae edx, esi
mov ecx, edx
shr ecx, 9
and ecx, 0x1ff
add ecx, 0xfffffff0
mov esi, edx
and esi, 0xfffc01ff
or esi, 0x20400
cmp ecx, 0xf0
cmovae esi, edx
cmp byte [r13 + 0x11b0], 0
jne 0x14000dc18
xor r14d, r14d
xor r15d, r15d
mov dword [rsp + 0xa8], 0
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x6c], 0
mov dword [rsp + 0x7c], 0
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x68], 0
mov r13d, dword [rdi + rbx*4 - 0x10]
mov edi, r13d
and edi, 0xffffff00
cmp edi, 0xda00
je 0x14000dd70
cmp edi, 0xd900
je 0x14000dd50
cmp edi, 0xd800
jne 0x14000dd8c
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x10d8]
movzx edx, r13b
lea rdi, [rcx + rdx*2]
add rdi, 0x20c
jmp 0x14000dd88
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x10d8]
movzx edx, r13b
lea rdi, [rcx + rdx*2]
add rdi, 0x60c
jmp 0x14000dd88
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x10d8]
movzx edx, r13b
lea rdi, [rcx + rdx*2]
add rdi, 0xc
movzx r13d, word [rdi]
add r10d, 0xffffffff
movsxd rax, r10d
cmp rbp, rax
jge 0x14000ddc0
mov eax, esi
or eax, 0x400000
mov rdi, qword [rsp + 0x98]
cmp dword [rdi + rbx*4 + 4], 0xdfff
cmove esi, eax
jmp 0x14000ddc8
mov rdi, qword [rsp + 0x98]
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0xe7c]
and eax, 0xfffffffe
cmp eax, 2
mov dword [rsp + 0xb0], r15d
jne 0x14000dea0
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0xe80], 0
mov rax, qword [rax + 0xe88]
je 0x14000de44
cmp dword [rsp + 0x54], eax
jl 0x14000dea0
shr rax, 0x20
cmp r8d, eax
jl 0x14000dea0
mov rax, qword [rsp + 0x58]
mov rdi, qword [rax + 0xe90]
mov r15d, esi
xor r15d, r9d
xor eax, eax
cmp dword [rsp + 0x54], edi
jg 0x14000dfd4
shr rdi, 0x20
cmp r8d, edi
mov rdi, qword [rsp + 0x98]
jl 0x14000de97
jmp 0x14000dea8
mov rcx, rax
shr rcx, 0x20
xor edx, edx
cmp r8d, ecx
setge dl
xor ecx, ecx
cmp dword [rsp + 0x54], eax
setg cl
cmovne edx, ecx
cmp dl, 1
jne 0x14000dea0
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0xe90]
mov rcx, rax
shr rcx, 0x20
xor edx, edx
cmp r8d, ecx
setl dl
xor ecx, ecx
cmp dword [rsp + 0x54], eax
setl cl
cmovne edx, ecx
mov r15d, esi
xor r15d, r9d
xor eax, eax
test dl, dl
je 0x14000dea8
mov eax, 0x100000
jmp 0x14000dea8
mov r15d, esi
xor r15d, r9d
xor eax, eax
xor r15d, eax
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0xfd], 0
je 0x14000df00
and esi, 0x200000
je 0x14000df00
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x180], 0
mov rsi, qword [rsp + 0x80]
je 0x14000def4
cmp byte [rax + 0xfc], 0
je 0x14000def4
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x10d8]
movzx r13d, word [rax + 0x24c]
and r15d, 0xffdfffff
jmp 0x14000df08
mov rsi, qword [rsp + 0x80]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov rcx, qword [rsp + 0x88]
mov rax, qword [rax + rcx*8]
mov rax, qword [rax + 0x18]
cmp r13d, dword [rax + rbx*4 - 0x10]
jne 0x14000df50
mov eax, dword [rax + rbx*4 - 0xc]
mov ecx, eax
and ecx, 0xf7fffff
cmp r15d, ecx
jne 0x14000df50
and eax, 0x800000
or r15d, eax
jmp 0x14000df8e
test r15d, 0x400000
jne 0x14000df8e
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x10c8]
mov rax, qword [rcx]
mov edx, r13d
call qword [rax + 0x20]
mov r11, qword [rsp + 0xd8]
mov r9d, dword [rsp + 0xc8]
mov ecx, r15d
or ecx, 0x800000
cmp eax, 2
cmove r15d, ecx
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0xf0]
jne 0x14000db50
mov rdx, qword [rsp + 0xc0]
cmp rdx, rbp
jne 0x14000db50
mov rcx, qword [rsp + 0xe0]
or r15d, ecx
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x38], ecx
mov dword [rax + 0x30], edx
mov dword [rax + 0x34], r11d
jmp 0x14000db55
mov rdi, qword [rsp + 0x98]
jmp 0x14000dea8
test r10d, r10d
jle 0x14000e180
xor ecx, ecx
xor edi, edi
xor r8d, r8d
jmp 0x14000e043
lea rax, [rcx + rcx*4]
mov r11d, dword [rbx + rax*4 + 4]
lea rax, [rcx + rcx*4]
or r11d, 0x3ffff
mov dword [rbx + rax*4 + 4], r11d
mov r10d, dword [r13 + 0x178]
add rcx, 1
movsxd rax, r10d
mov edi, r9d
cmp rcx, rax
jge 0x14000e180
mov edx, r8d
mov rbp, qword [r13 + 0x28]
mov rbp, qword [rbp + r14*8]
mov rbx, qword [rbp + 0x18]
lea rbp, [rcx*4]
lea rbp, [rbp + rbp*4]
mov eax, dword [rbx + rbp]
mov r11d, dword [rbx + rbp + 4]
test r11d, r11d
mov r8d, ecx
cmovns r8d, edx
movzx r9d, dil
mov edx, 0
cmovs r9d, edx
mov rsi, qword [rsp + 0x80]
cmp eax, dword [rsi + rbp]
jne 0x14000e0c0
mov eax, r11d
and eax, 0xfffffff
lea rbp, [rcx + rcx*4]
mov edx, r9d
and dl, 1
cmp eax, dword [rsi + rbp*4 + 4]
je 0x14000e0a8
test dl, dl
je 0x14000e0ca
test dl, dl
jne 0x14000e019
jmp 0x14000e030
test r9b, 1
jne 0x14000e160
movsxd rax, r8d
mov r9b, 1
cmp rcx, rax
jle 0x14000e019
mov edx, ecx
sub edx, eax
lea rdi, [rax + 1]
test dl, 1
je 0x14000e101
lea rax, [rax + rax*4]
or dword [rbx + rax*4 + 4], 0x3ffff
mov rax, qword [r13 + 0x28]
mov rax, qword [rax + r14*8]
mov rbx, qword [rax + 0x18]
mov rax, rdi
cmp rcx, rdi
je 0x14000e010
lea rdx, [rax*4]
lea rdi, [rdx + rdx*4]
nop word cs:[rax + rax]
or dword [rbx + rdi + 4], 0x3ffff
mov rdx, qword [r13 + 0x28]
mov rdx, qword [rdx + r14*8]
mov rdx, qword [rdx + 0x18]
or dword [rdx + rdi + 0x18], 0x3ffff
add rax, 2
mov rdx, qword [r13 + 0x28]
mov rdx, qword [rdx + r14*8]
mov rbx, qword [rdx + 0x18]
add rdi, 0x28
cmp rcx, rax
jne 0x14000e120
jmp 0x14000e010
mov edx, edi
and dl, 1
mov r9d, edi
test dl, dl
jne 0x14000e019
jmp 0x14000e030
mov rax, qword [rsp + 0xd0]
movzx eax, word [rax]
mov rcx, qword [r13 + 0x28]
mov rcx, qword [rcx + r14*8]
cmp ax, word [rcx]
setne dl
mov word [rcx], ax
cmp dword [r13 + 0x178], 0
jle 0x14000da60
mov al, byte [r13 + 0x9b]
mov byte [rsp + 0x4d], al
mov al, byte [r13 + 0x9a]
mov byte [rsp + 0x4e], al
mov al, byte [r13 + 0x99]
mov byte [rsp + 0x4f], al
mov al, byte [r13 + 0x98]
mov byte [rsp + 0x50], al
mov al, byte [r13 + 0x97]
mov byte [rsp + 0x51], al
mov al, byte [r13 + 0x96]
mov byte [rsp + 0x52], al
mov al, byte [r13 + 0x94]
mov byte [rsp + 0x54], al
mov al, byte [r13 + 0x95]
mov byte [rsp + 0x53], al
xor ebp, ebp
mov dword [rsp + 0xbc], 0
xor r14d, r14d
mov dword [rsp + 0xa4], 0
mov dword [rsp + 0xcc], 0
mov dword [rsp + 0x68], 0
mov dword [rsp + 0x60], edx
mov eax, edx
mov dword [rsp + 0x7c], eax
mov rsi, qword [rsp + 0x80]
jmp 0x14000e2af
mov rax, qword [r13 + 0x28]
mov rdi, rbp
mov rbp, qword [rax + rbx*8]
movsxd rax, edi
lea rcx, [rax + rax*4]
shl rcx, 2
add rcx, qword [rbp + 0x18]
mov rbx, qword [rsp + 0x90]
mov rdx, rbx
call fcn.14001cc30
mov ecx, dword [rsp + 0x60]
movzx ecx, cl
test al, al
mov eax, 1
cmove ecx, eax
mov dword [rsp + 0x60], ecx
mov rcx, rbp
mov rbp, rdi
mov edx, ebp
mov r8, rbx
call fcn.14001b360
add ebp, 1
cmp ebp, dword [r13 + 0x178]
jge 0x14000eb90
mov qword [rsp + 0xb0], rbp
movsxd rbx, ebp
lea rax, [rbx*4]
lea r15, [rax + rax*4]
mov edx, dword [rsi + r15 + 4]
mov rax, qword [r13 + 0x28]
mov rcx, qword [rsp + 0x88]
mov rax, qword [rax + rcx*8]
mov r9, qword [rax + 0x18]
mov r10d, dword [r9 + r15 + 4]
mov eax, r10d
xor eax, edx
test eax, 0x400000
mov ecx, dword [rsp + 0x7c]
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [rsp + 0x7c], ecx
mov dword [rsp + 0x6c], edx
mov eax, edx
xor eax, dword [rsp + 0x68]
test dword [r13 + 0x10a0], eax
setne al
mov r8b, byte [rsi + r15 + 8]
mov cl, byte [rsp + 0x54]
and cl, 1
cmp r8b, cl
jne 0x14000e380
lea rbp, [rbx + rbx*4]
mov dl, byte [rsp + 0x53]
cmp byte [rsi + rbp*4 + 9], dl
jne 0x14000e380
mov dl, byte [rsp + 0x52]
cmp byte [rsi + rbp*4 + 0xa], dl
jne 0x14000e380
mov dl, byte [rsp + 0x51]
cmp byte [rsi + rbp*4 + 0xb], dl
jne 0x14000e380
mov dl, byte [rsp + 0x50]
and dl, 1
cmp byte [rsi + rbp*4 + 0xc], dl
jne 0x14000e380
mov dl, byte [rsp + 0x4f]
cmp byte [rsi + rbp*4 + 0xd], dl
jne 0x14000e380
mov dl, byte [rsp + 0x4e]
cmp byte [rsi + rbp*4 + 0xe], dl
jne 0x14000e380
mov dl, byte [rsp + 0x4d]
cmp byte [rsi + rbp*4 + 0xf], dl
je 0x14000e382
nop word cs:[rax + rax]
nop dword [rax]
mov al, 1
mov edx, dword [rsi + r15]
mov qword [rsp + 0xa8], rdx
add edx, 0xffffdc46
cmp edx, 4
jb 0x14000e3bb
mov rdx, qword [rsp + 0xb0]
test edx, edx
jle 0x14000e3bd
add edx, 0xffffffff
lea rdx, [rdx + rdx*4]
mov edx, dword [rsi + rdx*4]
mov ebp, 0xffffdc46
add edx, ebp
cmp edx, 3
ja 0x14000e3bd
mov al, 1
mov rsi, qword [rsp + 0xa8]
mov edx, esi
and edx, 0xfffffc00
mov ebp, esi
and ebp, 0xfffffe00
and esi, 0xffffff00
cmp ebp, 0xdc00
mov r13d, 0
cmove r13d, esi
cmp edx, 0xd800
cmove r13d, esi
cmp r13d, dword [rsp + 0xcc]
movzx ebp, al
mov eax, 1
cmovne ebp, eax
mov rax, qword [rsp + 0x98]
lea rdx, [rax + r15]
lea rbx, [rbx + rbx*4]
mov qword [rsp + 0x70], rbx
cmp dword [rax + rbx*4 + 0x10], 0
je 0x14000e720
mov bpl, 1
mov qword [rsp + 0x90], rdx
cmp dword [rdx], 0xdffe
mov rsi, qword [rsp + 0x80]
jne 0x14000e450
mov bpl, 1
jmp 0x14000e480
cmp dword [rsp + 0xb0], 2
jl 0x14000e480
mov rax, qword [rsp + 0x90]
cmp dword [rax - 0x14], 0xdfff
jne 0x14000e480
cmp dword [rax - 0x28], 0xdffe
je 0x14000e443
nop word cs:[rax + rax]
nop
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x10d8]
mov bl, byte [rax]
mov eax, dword [rsp + 0x7c]
mov r11d, eax
and r11b, 1
mov eax, ebx
or al, r11b
mov eax, dword [rsp + 0x60]
jne 0x14000e5a0
mov rdx, qword [rsp + 0xa8]
mov rdi, rsi
mov rsi, qword [rsp + 0x70]
cmp dword [r9 + rsi*4], edx
mov rsi, rdi
jne 0x14000e580
and r10d, 0xfffffff
cmp r10d, dword [rsp + 0x6c]
jne 0x14000e580
mov rdx, qword [rsp + 0x70]
cmp byte [r9 + rdx*4 + 8], cl
jne 0x14000e580
mov al, byte [rsp + 0x53]
mov rcx, qword [rsp + 0x70]
cmp byte [r9 + rcx*4 + 9], al
mov eax, dword [rsp + 0x60]
jne 0x14000e580
mov al, byte [rsp + 0x52]
mov rcx, qword [rsp + 0x70]
cmp byte [r9 + rcx*4 + 0xa], al
mov eax, dword [rsp + 0x60]
jne 0x14000e580
mov al, byte [rsp + 0x51]
mov rcx, qword [rsp + 0x70]
cmp byte [r9 + rcx*4 + 0xb], al
mov eax, dword [rsp + 0x60]
jne 0x14000e580
mov al, byte [rsp + 0x50]
and al, 1
mov rcx, qword [rsp + 0x70]
cmp byte [r9 + rcx*4 + 0xc], al
mov eax, dword [rsp + 0x60]
jne 0x14000e580
mov al, byte [rsp + 0x4f]
mov rcx, qword [rsp + 0x70]
cmp byte [r9 + rcx*4 + 0xd], al
mov eax, dword [rsp + 0x60]
jne 0x14000e580
mov al, byte [rsp + 0x4e]
mov rcx, qword [rsp + 0x70]
cmp byte [r9 + rcx*4 + 0xe], al
mov eax, dword [rsp + 0x60]
jne 0x14000e580
mov al, byte [rsp + 0x4d]
mov rcx, qword [rsp + 0x70]
cmp byte [r9 + rcx*4 + 0xf], al
mov eax, dword [rsp + 0x60]
je 0x14000e5a9
nop dword [rax]
test al, 1
jne 0x14000e5a0
cmp r14d, 1
jne 0x14000e5a0
mov dl, 1
test al, 1
je 0x14000e5b1
jmp 0x14000e5ca
test bpl, bpl
je 0x14000e740
test al, 1
jne 0x14000eb10
xor edx, edx
test byte [rsp + 0xbc], 1
je 0x14000e69f
test r14d, r14d
jle 0x14000e69f
mov rax, qword [rsp + 0x80]
add rax, r15
add rax, 8
mov qword [rsp + 0x60], rax
movzx eax, byte [rsp + 0x51]
shl rax, 0x18
movzx ecx, byte [rsp + 0x52]
shl rcx, 0x10
or rcx, rax
movzx eax, byte [rsp + 0x53]
shl rax, 8
or rax, rcx
movzx ecx, byte [rsp + 0x54]
or rcx, rax
movzx eax, byte [rsp + 0x4d]
shl eax, 0x18
mov esi, edx
movzx edx, byte [rsp + 0x4e]
shl edx, 0x10
or edx, eax
movzx eax, byte [rsp + 0x4f]
shl eax, 8
or eax, edx
movzx edx, byte [rsp + 0x50]
or edx, eax
shl rdx, 0x20
or rdx, rcx
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x38], rdx
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
mov rdx, qword [rsp + 0xd0]
mov r8d, dword [rsp + 0xa4]
mov rbp, qword [rsp + 0x88]
mov r9d, ebp
mov ebx, r11d
call fcn.14001ca70
mov edx, esi
mov r11d, ebx
mov rax, qword [rsp + 0x60]
mov r8b, byte [rax]
mov rsi, qword [rsp + 0x80]
mov rax, qword [rdi + 0x10d8]
mov bl, byte [rax]
mov rax, qword [rdi + 0x28]
mov rax, qword [rax + rbp*8]
mov r9, qword [rax + 0x18]
mov rcx, qword [rsp + 0x70]
mov al, byte [rsi + rcx*4 + 9]
mov byte [rsp + 0x53], al
mov al, byte [rsi + rcx*4 + 0xa]
mov byte [rsp + 0x52], al
mov al, byte [rsi + rcx*4 + 0xb]
mov byte [rsp + 0x51], al
mov al, byte [rsi + rcx*4 + 0xc]
mov byte [rsp + 0x50], al
mov al, byte [rsi + rcx*4 + 0xd]
mov byte [rsp + 0x4f], al
mov al, byte [rsi + rcx*4 + 0xe]
mov byte [rsp + 0x4e], al
mov al, byte [rsi + rcx*4 + 0xf]
mov byte [rsp + 0x4d], al
test bl, bl
movzx eax, byte [rsp + 0xbc]
movzx ecx, dl
cmove ecx, eax
mov dword [rsp + 0xbc], ecx
xor r14d, r14d
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0xb0]
mov dword [rsp + 0xa4], eax
mov byte [rsp + 0x54], r8b
mov dword [rsp + 0xcc], r13d
jmp 0x14000e743
cmp dword [rsp + 0xb0], 0
jle 0x14000e42b
cmp dword [rdx - 4], 0
jne 0x14000e428
jmp 0x14000e42b
mov r11d, eax
mov al, byte [r9 + r15 + 8]
mov cl, 1
mov dword [rsp + 0x60], ecx
mov rcx, qword [rsp + 0x98]
cmp al, byte [rcx + r15 + 8]
mov r13, qword [rsp + 0x58]
mov rdi, qword [rsp + 0xc0]
jne 0x14000e7f0
mov al, byte [r9 + r15 + 9]
cmp al, byte [rcx + r15 + 9]
jne 0x14000e7f0
mov al, byte [r9 + r15 + 0xa]
cmp al, byte [rcx + r15 + 0xa]
jne 0x14000e7f0
mov al, byte [r9 + r15 + 0xb]
cmp al, byte [rcx + r15 + 0xb]
jne 0x14000e7f0
mov al, byte [r9 + r15 + 0xc]
cmp al, byte [rcx + r15 + 0xc]
jne 0x14000e7f0
mov al, byte [r9 + r15 + 0xd]
cmp al, byte [rcx + r15 + 0xd]
jne 0x14000e7f0
mov al, byte [r9 + r15 + 0xe]
cmp al, byte [rcx + r15 + 0xe]
jne 0x14000e7f0
mov al, byte [r9 + r15 + 0xf]
cmp al, byte [rcx + r15 + 0xf]
jne 0x14000e7f0
lea rax, [r9 + r15]
mov rcx, qword [rsp + 0xa8]
cmp dword [rax], ecx
jne 0x14000e7f0
mov rcx, qword [rsp + 0x70]
mov ecx, dword [r9 + rcx*4 + 4]
xor ecx, dword [rsp + 0x6c]
test ecx, 0xfffffff
je 0x14000eb20
nop dword [rax]
xor ebx, ebx
movsxd rbp, r14d
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 2
mov r8d, 2
mov rcx, r12
lea rdx, [rsp + 0xf8]
mov r9, rbp
call fcn.1400435a0
mov r12, rax
mov rcx, qword [rsp + 0xa8]
lea eax, [rcx - 0x10001]
cmp eax, 0xffffe
ja 0x14000e860
lea eax, [rcx + 0x3ff0000]
shr eax, 0xa
add eax, 0xffffd800
lea r14d, [rbp + 1]
and ecx, 0x3ff
or ecx, 0xdc00
mov word [r12 + rbp*2 + 2], cx
jmp 0x14000e862
mov eax, ecx
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x70]
lea rcx, [rcx + rdx*4]
add rcx, 0x10
mov word [r12 + rbp*2], ax
add r14d, 1
mov eax, dword [rcx]
test eax, eax
je 0x14000e9d0
mov dword [rsp + 0xec], ebx
mov rbx, qword [rsp + 0x90]
jmp 0x14000e8bb
mov eax, edi
mov word [r12 + rbp*2], ax
mov eax, dword [rbx + rsi*4 + 0x10]
lea rbx, [rbx + rsi*4]
add r14d, 1
test eax, eax
je 0x14000e9a0
cdqe
lea rsi, [rax + rax*4]
mov edi, dword [rbx + rsi*4]
mov eax, edi
and eax, 0xffffff00
cmp eax, 0xda00
je 0x14000e920
cmp eax, 0xd900
je 0x14000e900
cmp eax, 0xd800
jne 0x14000e936
mov rax, qword [r13 + 0x10d8]
movzx ecx, dil
lea rax, [rax + rcx*2]
add rax, 0x20c
jmp 0x14000e933
mov rax, qword [r13 + 0x10d8]
movzx ecx, dil
lea rax, [rax + rcx*2]
add rax, 0x60c
jmp 0x14000e933
mov rax, qword [r13 + 0x10d8]
movzx ecx, dil
lea rax, [rax + rcx*2]
add rax, 0xc
movzx edi, word [rax]
movsxd rbp, r14d
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 2
mov r8d, 2
mov rcx, r12
lea rdx, [rsp + 0xf8]
mov r9, rbp
call fcn.1400435a0
mov r12, rax
lea eax, [rdi - 0x10001]
cmp eax, 0xffffe
ja 0x14000e8a0
lea eax, [rdi + 0x3ff0000]
shr eax, 0xa
add eax, 0xffffd800
lea r14d, [rbp + 1]
and edi, 0x3ff
or edi, 0xdc00
mov word [r12 + rbp*2 + 2], di
jmp 0x14000e8a2
or dword [rsp + 0x68], 0x80000000
mov rsi, qword [rsp + 0x80]
mov rdi, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xb0]
mov ebx, dword [rsp + 0xec]
test bl, bl
je 0x14000e9e0
jmp 0x14000eaaa
mov rbp, qword [rsp + 0xb0]
test bl, bl
jne 0x14000eaaa
mov rax, qword [r13 + 0x28]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rax + rbx*8]
mov edx, ebp
mov r8, qword [rsp + 0x90]
call fcn.14001b360
mov rax, qword [r13 + 0x28]
mov rax, qword [rax + rbx*8]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0xa8]
mov dword [rax + r15], ecx
mov rax, qword [r13 + 0x28]
mov rax, qword [rax + rbx*8]
mov rax, qword [rax + 0x18]
mov ecx, dword [rsp + 0x6c]
mov dword [rax + r15 + 4], ecx
mov rax, qword [r13 + 0x28]
mov rax, qword [rax + rbx*8]
mov rax, qword [rax + 0x18]
mov cl, byte [rsp + 0x54]
mov byte [rax + r15 + 8], cl
mov cl, byte [rsp + 0x53]
mov byte [rax + r15 + 9], cl
mov cl, byte [rsp + 0x52]
mov byte [rax + r15 + 0xa], cl
mov cl, byte [rsp + 0x51]
mov byte [rax + r15 + 0xb], cl
mov cl, byte [rsp + 0x50]
mov byte [rax + r15 + 0xc], cl
mov cl, byte [rsp + 0x4f]
mov byte [rax + r15 + 0xd], cl
mov cl, byte [rsp + 0x4e]
mov byte [rax + r15 + 0xe], cl
mov cl, byte [rsp + 0x4d]
mov byte [rax + r15 + 0xf], cl
cmp dword [rsp + 0xa4], ebp
jne 0x14000eaaa
mov rax, qword [r13 + 0x28]
mov rcx, qword [rsp + 0x88]
mov rax, qword [rax + rcx*8]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x70]
or dword [rax + rcx*4 + 4], 0x80000000
test dword [rsp + 0x6c], 0x400000
je 0x14000e29f
add ebp, 1
cmp ebp, dword [r13 + 0x178]
jge 0x14000e29f
add qword [rsp + 0x90], 0x14
mov rbx, qword [rsp + 0x88]
cmp rbx, qword [rsp + 0xf0]
jne 0x14000e250
cmp ebp, edi
jne 0x14000e250
lea rcx, str.__i__our_curs_y__j__our_curs_x_
lea rdx, str._home_simon_mem_.build_workdirs_bob_0_vdcidh_putty_terminal_terminal.c
mov r8d, 0x1921
call fcn.1400cb8ac
jmp 0x14000e250
mov dl, 1
test r14d, r14d
jg 0x14000e5ca
jmp 0x14000e69f
mov rcx, qword [rsp + 0x90]
nop dword [rax + rax]
movsxd rbp, dword [rax + 0x10]
movsxd rdx, dword [rcx + 0x10]
test rdx, rdx
sete bl
test rbp, rbp
je 0x14000eb74
test edx, edx
je 0x14000e7f0
lea rbp, [rbp + rbp*4]
mov ebx, dword [rax + rbp*4]
lea rax, [rax + rbp*4]
lea rdx, [rdx + rdx*4]
lea rbp, [rcx + rdx*4]
cmp ebx, dword [rcx + rdx*4]
mov rdi, qword [rsp + 0xc0]
mov rcx, rbp
je 0x14000eb30
jmp 0x14000e7f0
test edx, edx
movzx ecx, r11b
mov eax, 1
cmovne ecx, eax
mov dword [rsp + 0x60], ecx
jmp 0x14000e7f2
test byte [rsp + 0x60], 1
mov rdi, qword [rsp + 0xd0]
je 0x14000ec50
test r14d, r14d
jle 0x14000ec50
movzx eax, byte [rsp + 0x51]
shl rax, 0x18
movzx ecx, byte [rsp + 0x52]
shl rcx, 0x10
or rcx, rax
movzx eax, byte [rsp + 0x53]
shl rax, 8
or rax, rcx
movzx ecx, byte [rsp + 0x54]
or rcx, rax
movzx eax, byte [rsp + 0x4d]
shl eax, 0x18
movzx edx, byte [rsp + 0x4e]
shl edx, 0x10
or edx, eax
movzx eax, byte [rsp + 0x4f]
shl eax, 8
or eax, edx
movzx edx, byte [rsp + 0x50]
or edx, eax
shl rdx, 0x20
or rdx, rcx
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x38], rdx
mov rcx, r13
mov rdx, rdi
mov r8d, dword [rsp + 0xa4]
mov r14, qword [rsp + 0x88]
mov r9d, r14d
call fcn.14001ca70
cmp byte [rdi + 0xc], 0
jne 0x14000da76
jmp 0x14000da87
mov r14, qword [rsp + 0x88]
cmp byte [rdi + 0xc], 0
jne 0x14000da76
jmp 0x14000da87
mov rcx, rsi
call fcn.140043590
mov rcx, r12
call fcn.140043590
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1400ba9f0
nop
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret