Function at 0x14000d7c0
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 [0x140127050]
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.140042c20
mov r12, rax
movsxd rcx, dword [r13 + 0x178]
mov edx, 0x14
xor r8d, r8d
call fcn.140042c20
mov cl, byte [r13 + 0xf2]
cmp cl, byte [r13 + 0x181]
setne r14b
cmp byte [r13 + 0xf8], 0
je 0x14000d88e
cmp byte [r13 + 0x180], 0
je 0x14000d86e
mov ecx, 0x40000000
cmp byte [r13 + 0xfb], 0
jne 0x14000d873
xor ecx, ecx
cmp byte [r13 + 0x116e], 0
sete cl
shl ecx, 0x1e
jmp 0x14000d873
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, 0x1741
xor r9d, r9d
call fcn.1400103e0
mov rbp, rax
mov esi, dword [r13 + 0xcc]
mov rcx, r13
mov rdx, rax
mov r8d, ebx
call fcn.1400141f0
test rax, rax
je 0x14000d8f0
movsxd rcx, esi
mov rdx, qword [r13 + 0x1130]
mov rdi, rbx
shl rdi, 5
mov rdx, qword [rdx + rdi + 0x10]
mov esi, dword [rdx + rcx*4]
jmp 0x14000d8f4
mov rax, qword [rbp + 0x18]
mov r8, rbx
test esi, esi
jle 0x14000d90f
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 0x14000d940
mov rcx, qword [rbp + 0x18]
call fcn.140042cc0
mov rcx, rbp
call fcn.140042cc0
mov r8, qword [rsp + 0xd8]
mov ecx, dword [r13 + 0x34]
test ecx, ecx
mov rsi, qword [rsp + 0x80]
mov ebx, 0
js 0x14000d9d3
mov eax, dword [r13 + 0x30]
mov rdx, qword [rsp + 0xe0]
cmp dword [r13 + 0x38], edx
jne 0x14000d975
cmp ecx, r8d
jne 0x14000d975
cmp eax, dword [rsp + 0xc0]
je 0x14000d9d3
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 0x14000d9a5
cmp dword [rbp], 0xdfff
jne 0x14000d9a5
or dword [rbp - 0x10], 0x3ffff
mov eax, dword [r13 + 0x30]
mov edi, dword [r13 + 0x178]
add edi, 0xffffffff
cmp eax, edi
jge 0x14000d9c3
cmp dword [rbp + 0x14], 0xdfff
jne 0x14000d9c3
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 0x14000ec17
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 0x14000da4b
mov rsi, qword [rsp + 0x80]
mov rdi, qword [rsp + 0xd0]
cmp byte [rdi + 0xc], 0
je 0x14000da37
mov rcx, qword [rdi + 0x18]
call fcn.140042cc0
mov rcx, rdi
call fcn.140042cc0
add r14, 1
movsxd rax, dword [r13 + 0x174]
cmp r14, rax
jge 0x14000ec17
mov edx, dword [r13 + 0x20]
add edx, r14d
mov rcx, r13
mov dword [rsp + 0x54], edx
mov r8d, 0x1777
xor r9d, r9d
call fcn.1400103e0
mov rsi, rax
mov rcx, r13
mov rdx, rax
mov r8d, r14d
call fcn.1400141f0
test rax, rax
mov qword [rsp + 0xd0], rsi
je 0x14000dab0
mov qword [rsp + 0x98], rax
mov rax, qword [r13 + 0x1130]
mov rcx, r14
shl rcx, 5
mov rax, qword [rax + rcx + 0x18]
jmp 0x14000dabe
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 0x14000e130
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 0x14000db84
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 0x14000dfa0
test rax, rax
je 0x14000db90
mov r8d, dword [rax + rbp*4]
jmp 0x14000db93
mov r8d, ebp
mov ecx, dword [rdi + rbx*4 - 0xc]
mov esi, ecx
and esi, 0xfffc0000
or esi, 0x20500
cmp byte [r13 + 0x1141], 0
cmovne esi, ecx
cmp byte [r13 + 0x11a7], 0
je 0x14000dc20
cmp byte [r13 + 0x11a8], 0
je 0x14000dc75
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 0x14000dcb1
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 + 0x11a8], 0
jne 0x14000dbc8
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 0x14000dd20
cmp edi, 0xd900
je 0x14000dd00
cmp edi, 0xd800
jne 0x14000dd3c
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x10d0]
movzx edx, r13b
lea rdi, [rcx + rdx*2]
add rdi, 0x20c
jmp 0x14000dd38
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x10d0]
movzx edx, r13b
lea rdi, [rcx + rdx*2]
add rdi, 0x60c
jmp 0x14000dd38
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x10d0]
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 0x14000dd70
mov eax, esi
or eax, 0x400000
mov rdi, qword [rsp + 0x98]
cmp dword [rdi + rbx*4 + 4], 0xdfff
cmove esi, eax
jmp 0x14000dd78
mov rdi, qword [rsp + 0x98]
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0xe74]
and eax, 0xfffffffe
cmp eax, 2
mov dword [rsp + 0xb0], r15d
jne 0x14000de50
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0xe78], 0
mov rax, qword [rax + 0xe80]
je 0x14000ddf4
cmp dword [rsp + 0x54], eax
jl 0x14000de50
shr rax, 0x20
cmp r8d, eax
jl 0x14000de50
mov rax, qword [rsp + 0x58]
mov rdi, qword [rax + 0xe88]
mov r15d, esi
xor r15d, r9d
xor eax, eax
cmp dword [rsp + 0x54], edi
jg 0x14000df84
shr rdi, 0x20
cmp r8d, edi
mov rdi, qword [rsp + 0x98]
jl 0x14000de47
jmp 0x14000de58
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 0x14000de50
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0xe88]
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 0x14000de58
mov eax, 0x100000
jmp 0x14000de58
mov r15d, esi
xor r15d, r9d
xor eax, eax
xor r15d, eax
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0xfd], 0
je 0x14000deb0
and esi, 0x200000
je 0x14000deb0
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x180], 0
mov rsi, qword [rsp + 0x80]
je 0x14000dea4
cmp byte [rax + 0xfc], 0
je 0x14000dea4
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x10d0]
movzx r13d, word [rax + 0x24c]
and r15d, 0xffdfffff
jmp 0x14000deb8
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 0x14000df00
mov eax, dword [rax + rbx*4 - 0xc]
mov ecx, eax
and ecx, 0xf7fffff
cmp r15d, ecx
jne 0x14000df00
and eax, 0x800000
or r15d, eax
jmp 0x14000df3e
test r15d, 0x400000
jne 0x14000df3e
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x10c0]
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 0x14000db00
mov rdx, qword [rsp + 0xc0]
cmp rdx, rbp
jne 0x14000db00
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 0x14000db05
mov rdi, qword [rsp + 0x98]
jmp 0x14000de58
test r10d, r10d
jle 0x14000e130
xor ecx, ecx
xor edi, edi
xor r8d, r8d
jmp 0x14000dff3
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 0x14000e130
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 0x14000e070
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 0x14000e058
test dl, dl
je 0x14000e07a
test dl, dl
jne 0x14000dfc9
jmp 0x14000dfe0
test r9b, 1
jne 0x14000e110
movsxd rax, r8d
mov r9b, 1
cmp rcx, rax
jle 0x14000dfc9
mov edx, ecx
sub edx, eax
lea rdi, [rax + 1]
test dl, 1
je 0x14000e0b1
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 0x14000dfc0
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 0x14000e0d0
jmp 0x14000dfc0
mov edx, edi
and dl, 1
mov r9d, edi
test dl, dl
jne 0x14000dfc9
jmp 0x14000dfe0
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 0x14000da10
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 0x14000e25f
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.14001c5d0
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.14001af10
add ebp, 1
cmp ebp, dword [r13 + 0x178]
jge 0x14000eb40
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 + 0x1098], eax
setne al
mov r8b, byte [rsi + r15 + 8]
mov cl, byte [rsp + 0x54]
and cl, 1
cmp r8b, cl
jne 0x14000e330
lea rbp, [rbx + rbx*4]
mov dl, byte [rsp + 0x53]
cmp byte [rsi + rbp*4 + 9], dl
jne 0x14000e330
mov dl, byte [rsp + 0x52]
cmp byte [rsi + rbp*4 + 0xa], dl
jne 0x14000e330
mov dl, byte [rsp + 0x51]
cmp byte [rsi + rbp*4 + 0xb], dl
jne 0x14000e330
mov dl, byte [rsp + 0x50]
and dl, 1
cmp byte [rsi + rbp*4 + 0xc], dl
jne 0x14000e330
mov dl, byte [rsp + 0x4f]
cmp byte [rsi + rbp*4 + 0xd], dl
jne 0x14000e330
mov dl, byte [rsp + 0x4e]
cmp byte [rsi + rbp*4 + 0xe], dl
jne 0x14000e330
mov dl, byte [rsp + 0x4d]
cmp byte [rsi + rbp*4 + 0xf], dl
je 0x14000e332
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 0x14000e36b
mov rdx, qword [rsp + 0xb0]
test edx, edx
jle 0x14000e36d
add edx, 0xffffffff
lea rdx, [rdx + rdx*4]
mov edx, dword [rsi + rdx*4]
mov ebp, 0xffffdc46
add edx, ebp
cmp edx, 3
ja 0x14000e36d
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 0x14000e6d0
mov bpl, 1
mov qword [rsp + 0x90], rdx
cmp dword [rdx], 0xdffe
mov rsi, qword [rsp + 0x80]
jne 0x14000e400
mov bpl, 1
jmp 0x14000e430
cmp dword [rsp + 0xb0], 2
jl 0x14000e430
mov rax, qword [rsp + 0x90]
cmp dword [rax - 0x14], 0xdfff
jne 0x14000e430
cmp dword [rax - 0x28], 0xdffe
je 0x14000e3f3
nop word cs:[rax + rax]
nop
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x10d0]
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 0x14000e550
mov rdx, qword [rsp + 0xa8]
mov rdi, rsi
mov rsi, qword [rsp + 0x70]
cmp dword [r9 + rsi*4], edx
mov rsi, rdi
jne 0x14000e530
and r10d, 0xfffffff
cmp r10d, dword [rsp + 0x6c]
jne 0x14000e530
mov rdx, qword [rsp + 0x70]
cmp byte [r9 + rdx*4 + 8], cl
jne 0x14000e530
mov al, byte [rsp + 0x53]
mov rcx, qword [rsp + 0x70]
cmp byte [r9 + rcx*4 + 9], al
mov eax, dword [rsp + 0x60]
jne 0x14000e530
mov al, byte [rsp + 0x52]
mov rcx, qword [rsp + 0x70]
cmp byte [r9 + rcx*4 + 0xa], al
mov eax, dword [rsp + 0x60]
jne 0x14000e530
mov al, byte [rsp + 0x51]
mov rcx, qword [rsp + 0x70]
cmp byte [r9 + rcx*4 + 0xb], al
mov eax, dword [rsp + 0x60]
jne 0x14000e530
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 0x14000e530
mov al, byte [rsp + 0x4f]
mov rcx, qword [rsp + 0x70]
cmp byte [r9 + rcx*4 + 0xd], al
mov eax, dword [rsp + 0x60]
jne 0x14000e530
mov al, byte [rsp + 0x4e]
mov rcx, qword [rsp + 0x70]
cmp byte [r9 + rcx*4 + 0xe], al
mov eax, dword [rsp + 0x60]
jne 0x14000e530
mov al, byte [rsp + 0x4d]
mov rcx, qword [rsp + 0x70]
cmp byte [r9 + rcx*4 + 0xf], al
mov eax, dword [rsp + 0x60]
je 0x14000e559
nop dword [rax]
test al, 1
jne 0x14000e550
cmp r14d, 1
jne 0x14000e550
mov dl, 1
test al, 1
je 0x14000e561
jmp 0x14000e57a
test bpl, bpl
je 0x14000e6f0
test al, 1
jne 0x14000eac0
xor edx, edx
test byte [rsp + 0xbc], 1
je 0x14000e64f
test r14d, r14d
jle 0x14000e64f
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.14001c410
mov edx, esi
mov r11d, ebx
mov rax, qword [rsp + 0x60]
mov r8b, byte [rax]
mov rsi, qword [rsp + 0x80]
mov rax, qword [rdi + 0x10d0]
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 0x14000e6f3
cmp dword [rsp + 0xb0], 0
jle 0x14000e3db
cmp dword [rdx - 4], 0
jne 0x14000e3d8
jmp 0x14000e3db
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 0x14000e7a0
mov al, byte [r9 + r15 + 9]
cmp al, byte [rcx + r15 + 9]
jne 0x14000e7a0
mov al, byte [r9 + r15 + 0xa]
cmp al, byte [rcx + r15 + 0xa]
jne 0x14000e7a0
mov al, byte [r9 + r15 + 0xb]
cmp al, byte [rcx + r15 + 0xb]
jne 0x14000e7a0
mov al, byte [r9 + r15 + 0xc]
cmp al, byte [rcx + r15 + 0xc]
jne 0x14000e7a0
mov al, byte [r9 + r15 + 0xd]
cmp al, byte [rcx + r15 + 0xd]
jne 0x14000e7a0
mov al, byte [r9 + r15 + 0xe]
cmp al, byte [rcx + r15 + 0xe]
jne 0x14000e7a0
mov al, byte [r9 + r15 + 0xf]
cmp al, byte [rcx + r15 + 0xf]
jne 0x14000e7a0
lea rax, [r9 + r15]
mov rcx, qword [rsp + 0xa8]
cmp dword [rax], ecx
jne 0x14000e7a0
mov rcx, qword [rsp + 0x70]
mov ecx, dword [r9 + rcx*4 + 4]
xor ecx, dword [rsp + 0x6c]
test ecx, 0xfffffff
je 0x14000ead0
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.140042cd0
mov r12, rax
mov rcx, qword [rsp + 0xa8]
lea eax, [rcx - 0x10001]
cmp eax, 0xffffe
ja 0x14000e810
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 0x14000e812
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 0x14000e980
mov dword [rsp + 0xec], ebx
mov rbx, qword [rsp + 0x90]
jmp 0x14000e86b
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 0x14000e950
cdqe
lea rsi, [rax + rax*4]
mov edi, dword [rbx + rsi*4]
mov eax, edi
and eax, 0xffffff00
cmp eax, 0xda00
je 0x14000e8d0
cmp eax, 0xd900
je 0x14000e8b0
cmp eax, 0xd800
jne 0x14000e8e6
mov rax, qword [r13 + 0x10d0]
movzx ecx, dil
lea rax, [rax + rcx*2]
add rax, 0x20c
jmp 0x14000e8e3
mov rax, qword [r13 + 0x10d0]
movzx ecx, dil
lea rax, [rax + rcx*2]
add rax, 0x60c
jmp 0x14000e8e3
mov rax, qword [r13 + 0x10d0]
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.140042cd0
mov r12, rax
lea eax, [rdi - 0x10001]
cmp eax, 0xffffe
ja 0x14000e850
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 0x14000e852
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 0x14000e990
jmp 0x14000ea5a
mov rbp, qword [rsp + 0xb0]
test bl, bl
jne 0x14000ea5a
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.14001af10
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 0x14000ea5a
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 0x14000e24f
add ebp, 1
cmp ebp, dword [r13 + 0x178]
jge 0x14000e24f
add qword [rsp + 0x90], 0x14
mov rbx, qword [rsp + 0x88]
cmp rbx, qword [rsp + 0xf0]
jne 0x14000e200
cmp ebp, edi
jne 0x14000e200
lea rcx, str.__i__our_curs_y__j__our_curs_x_
lea rdx, str._home_simon_mem_.build_workdirs_bob_jmc5owxa_putty_terminal_terminal.c
mov r8d, 0x189b
call fcn.1400c91bc
jmp 0x14000e200
mov dl, 1
test r14d, r14d
jg 0x14000e57a
jmp 0x14000e64f
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 0x14000eb24
test edx, edx
je 0x14000e7a0
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 0x14000eae0
jmp 0x14000e7a0
test edx, edx
movzx ecx, r11b
mov eax, 1
cmovne ecx, eax
mov dword [rsp + 0x60], ecx
jmp 0x14000e7a2
test byte [rsp + 0x60], 1
mov rdi, qword [rsp + 0xd0]
je 0x14000ec00
test r14d, r14d
jle 0x14000ec00
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.14001c410
cmp byte [rdi + 0xc], 0
jne 0x14000da26
jmp 0x14000da37
mov r14, qword [rsp + 0x88]
cmp byte [rdi + 0xc], 0
jne 0x14000da26
jmp 0x14000da37
mov rcx, rsi
call fcn.140042cc0
mov rcx, r12
call fcn.140042cc0
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1400b8300
nop
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret