Function at 0x180012bd0
Capabilities:
Encode data using xor

Disassembly:
test rcx, rcx
je 0x1800138bd
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbx
push r13
push r14
push r15
sub rsp, 0x78
mov eax, dword [rcx + 0x168]
mov r13, rdx
mov r15d, r9d
mov rbx, rcx
movsxd r14, r8d
test al, 0x40
je 0x180012c20
lea rdx, str.invalid_after_png_start_read_image_or_png_read_update_info
add rsp, 0x78
pop r15
pop r14
pop r13
pop rbx
jmp fcn.180005eb0
or dword [rcx + 0x16c], 0x40
bts eax, 0xe
mov qword [rsp + 0x70], rbp
mov ebp, dword [rsp + 0xc8]
mov dword [rcx + 0x168], eax
test ebp, ebp
jne 0x180012c6e
mov edx, r14d
call sym.vtkpng_9.2.dll_vtkpng_png_malloc
xor ecx, ecx
mov qword [rbx + 0x3a0], rax
test r14d, r14d
jle 0x180012c6e
xor edx, edx
nop dword [rax]
mov byte [rdx + rax], cl
lea rdx, [rdx + 1]
inc ecx
cmp ecx, r14d
jl 0x180012c60
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x58], r12
cmp r14d, r15d
jle 0x1800132df
mov rdi, qword [rsp + 0xc0]
mov rcx, rbx
mov r12d, r14d
mov qword [rsp + 0x40], r12
mov edx, r12d
test rdi, rdi
je 0x180012f3c
call sym.vtkpng_9.2.dll_vtkpng_png_malloc
mov r9, rax
mov qword [rbx + 0x420], rax
xor eax, eax
test r14d, r14d
jle 0x180012ccf
xor ecx, ecx
nop dword [rax]
mov byte [rcx + r9], al
lea rcx, [rcx + 1]
inc eax
cmp eax, r14d
jl 0x180012cc0
lea esi, [r14 - 1]
cmp esi, r15d
jl 0x180012d27
nop dword [rax + rax]
xor ecx, ecx
lea r11d, [rcx + 1]
test esi, esi
jle 0x180012d27
mov r10d, esi
nop dword [rax]
movzx r8d, byte [rcx + r9 + 1]
movzx edx, byte [rcx + r9]
movzx eax, word [rdi + r8*2]
cmp word [rdi + rdx*2], ax
jae 0x180012d12
mov byte [rcx + r9], r8b
xor r11d, r11d
mov byte [rcx + r9 + 1], dl
inc rcx
sub r10, 1
jne 0x180012cf0
test r11d, r11d
jne 0x180012d27
dec esi
cmp esi, r15d
jge 0x180012ce0
test ebp, ebp
je 0x180012d8c
test r15d, r15d
jle 0x180012f21
mov rdx, r14
xor r10d, r10d
mov r8, r13
mov r11, r15
movzx eax, byte [r10 + r9]
cmp eax, r15d
jl 0x180012d7a
nop word [rax + rax]
movzx eax, byte [rdx + r9 - 1]
dec rdx
cmp eax, r15d
jge 0x180012d50
lea rcx, [rdx*2]
add rcx, r13
movzx eax, word [rcx + rdx]
mov word [r8], ax
movzx eax, byte [rcx + rdx + 2]
mov byte [r8 + 2], al
inc r10
add r8, 3
sub r11, 1
jne 0x180012d40
jmp 0x180012f21
xor ebp, ebp
mov r10d, r14d
test r15d, r15d
jle 0x180012e07
xor esi, esi
mov rdi, r13
nop dword [rax + rax]
movzx eax, byte [rsi + r9]
cmp eax, r15d
jl 0x180012df9
nop word [rax + rax]
dec r10d
movsxd r11, r10d
movzx eax, byte [r11 + r9]
cmp eax, r15d
jge 0x180012db0
movzx eax, word [rdi]
lea rcx, [r11*2]
add rcx, r13
add rcx, r11
movzx edx, word [rcx]
movzx r8d, byte [rcx + 2]
mov word [rcx], ax
movzx eax, byte [rdi + 2]
mov byte [rcx + 2], al
mov rax, qword [rbx + 0x3a0]
mov word [rdi], dx
mov byte [rdi + 2], r8b
mov byte [r11 + rax], bpl
mov byte [rsi + rax], r10b
inc ebp
inc rsi
add rdi, 3
cmp ebp, r15d
jl 0x180012da0
test r14d, r14d
jle 0x180012f21
mov r14, qword [rbx + 0x3a0]
nop word [rax + rax]
movzx eax, byte [r14]
cmp eax, r15d
jl 0x180012f0f
mov ecx, eax
xor esi, esi
lea rax, [rax*2]
mov edi, 1
add rax, r13
movzx r15d, byte [rcx + rax + 1]
movzx ebp, byte [rcx + rax + 2]
movzx r12d, byte [rcx + rax]
mov eax, r15d
movzx ecx, byte [r13 + 1]
sub eax, ecx
movzx ecx, byte [r13 + 2]
cdq
mov r10d, eax
mov eax, ebp
sub eax, ecx
xor r10d, edx
movzx ecx, byte [r13]
sub r10d, edx
cdq
xor eax, edx
sub eax, edx
add r10d, eax
mov eax, r12d
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
add r10d, eax
cmp dword [rsp + 0xb8], edi
jle 0x180012eff
lea r11, [r13 + 4]
mov r13d, dword [rsp + 0xb8]
nop dword [rax]
movzx ecx, byte [r11 - 1]
lea r11, [r11 + 3]
mov eax, r12d
sub eax, ecx
movzx ecx, byte [r11 - 2]
cdq
mov r8d, eax
mov eax, ebp
sub eax, ecx
xor r8d, edx
movzx ecx, byte [r11 - 3]
sub r8d, edx
cdq
xor eax, edx
sub eax, edx
add r8d, eax
mov eax, r15d
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
lea ecx, [r8 + rax]
mov eax, edi
cmp ecx, r10d
cmovge eax, esi
inc edi
cmp ecx, r10d
mov esi, eax
cmovge ecx, r10d
mov r10d, ecx
cmp edi, r13d
jl 0x180012ea0
mov r13, qword [rsp + 0xa8]
mov r15d, dword [rsp + 0xb8]
mov r12, qword [rsp + 0x40]
mov byte [r14], sil
inc r14
sub r12, 1
mov qword [rsp + 0x40], r12
jne 0x180012e20
mov rdx, r9
mov rcx, rbx
call sym.vtkpng_9.2.dll_vtkpng_png_free
mov qword [rbx + 0x420], 0
jmp 0x1800132cd
xor esi, esi
mov qword [rsp + 0x38], rsi
call sym.vtkpng_9.2.dll_vtkpng_png_malloc
mov rdx, r12
mov qword [rbx + 0x428], rax
mov rcx, rbx
call sym.vtkpng_9.2.dll_vtkpng_png_malloc
xor ecx, ecx
mov qword [rbx + 0x430], rax
test r14d, r14d
jle 0x180012f92
mov r8, qword [rbx + 0x428]
xor edx, edx
nop dword [rax]
nop word [rax + rax]
mov byte [r8 + rdx], cl
mov byte [rax + rdx], cl
lea rdx, [rdx + 1]
inc ecx
cmp ecx, r14d
jl 0x180012f80
mov edx, 0x1808
mov rcx, rbx
call sym.vtkpng_9.2.dll_vtkpng_png_calloc
mov r9d, 0x60
mov qword [rsp + 0x28], rax
mov dword [rsp + 0xa0], r9d
mov r12, rax
mov edi, r14d
nop dword [rax + rax]
xor r15d, r15d
lea eax, [rdi - 1]
test eax, eax
jle 0x1800130c6
nop
lea r13d, [r15 + 1]
mov r14d, r13d
cmp r13d, edi
jge 0x1800130a4
mov rdx, qword [rsp + 0xa8]
movsxd rcx, r15d
lea r12, [rdx + rcx*2]
add r12, rcx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r12 + 2]
movsxd rcx, r14d
lea r8, [rdx + rcx*2]
add r8, rcx
movzx ecx, byte [r8 + 2]
sub eax, ecx
movzx ecx, byte [r8 + 1]
cdq
mov ebp, eax
movzx eax, byte [r12 + 1]
sub eax, ecx
xor ebp, edx
movzx ecx, byte [r8]
sub ebp, edx
cdq
xor eax, edx
sub eax, edx
add ebp, eax
movzx eax, byte [r12]
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
add ebp, eax
cmp ebp, r9d
jg 0x18001308d
mov edx, 0x10
mov rcx, rbx
call sym.vtkpng_9.2.dll_vtkpng_png_malloc_warn
mov qword [rsp + 0x38], rax
mov rsi, rax
test rax, rax
je 0x180013223
mov rax, qword [rsp + 0x28]
mov r9d, dword [rsp + 0xa0]
movsxd rcx, ebp
lea rdx, [rax + rcx*8]
mov rcx, qword [rax + rcx*8]
mov qword [rsi], rcx
mov byte [rsi + 8], r15b
mov byte [rsi + 9], r14b
mov qword [rdx], rsi
mov rdx, qword [rsp + 0xa8]
inc r14d
cmp r14d, edi
jl 0x180013000
lea eax, [rdi - 1]
test rsi, rsi
je 0x180013223
mov r15d, r13d
cmp r13d, eax
jl 0x180012fd0
mov r13, qword [rsp + 0xa8]
mov r12, qword [rsp + 0x28]
test rsi, rsi
je 0x180013228
mov dword [rsp + 0x20], 0
test r9d, r9d
js 0x180013228
mov esi, dword [rsp + 0x20]
nop dword [rax]
nop dword [rax + rax]
movsxd rax, esi
mov r11, qword [r12 + rax*8]
test r11, r11
je 0x180013213
mov r9, qword [rbx + 0x428]
nop word [rax + rax]
movzx r14d, byte [r11 + 8]
movzx eax, byte [r14 + r9]
cmp eax, edi
jge 0x1800131f1
movzx r10d, byte [r11 + 9]
movzx eax, byte [r10 + r9]
cmp eax, edi
jge 0x1800131f1
mov ebp, edi
mov ecx, r14d
and ebp, 1
cmove ecx, r10d
dec edi
movsxd r12, edi
mov r15d, ecx
movzx ecx, byte [rcx + r9]
lea rdx, [r12*2]
add rdx, r13
lea r8, [rcx*2]
add r8, r13
cmp dword [rsp + 0xc8], 0
movzx eax, word [r12 + rdx]
mov word [r8 + rcx], ax
movzx eax, byte [r12 + rdx + 2]
mov byte [r8 + rcx + 2], al
jne 0x1800131c7
cmp dword [rsp + 0xb0], 0
jle 0x1800131c7
mov rcx, qword [rbx + 0x3a0]
test ebp, ebp
mov rdx, qword [rsp + 0x40]
cmove r10d, r14d
nop
movzx eax, byte [rcx]
cmp al, byte [r15 + r9]
jne 0x1800131b0
movzx eax, byte [r10 + r9]
mov byte [rcx], al
movzx eax, al
cmp eax, edi
jne 0x1800131be
movzx eax, byte [r15 + r9]
mov byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1800131a0
movzx eax, byte [r15 + r9]
mov rdx, qword [rbx + 0x430]
movzx ecx, byte [r12 + rdx]
mov byte [rcx + r9], al
movzx ecx, byte [r15 + r9]
movzx eax, byte [r12 + rdx]
mov byte [rcx + rdx], al
mov byte [r15 + r9], dil
mov byte [r12 + rdx], r15b
cmp edi, dword [rsp + 0xb8]
jle 0x18001321e
mov r11, qword [r11]
test r11, r11
jne 0x180013110
mov r12, qword [rsp + 0x28]
mov r9d, dword [rsp + 0xa0]
inc esi
cmp esi, r9d
jle 0x1800130f0
mov rsi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x28]
mov r14, r12
mov ebp, 0x301
mov rdx, qword [r14]
test rdx, rdx
je 0x180013258
nop dword [rax + rax]
mov rsi, qword [rdx]
mov rcx, rbx
mov qword [rsp + 0x38], rsi
call sym.vtkpng_9.2.dll_vtkpng_png_free
mov rdx, rsi
test rsi, rsi
jne 0x180013240
mov qword [r14], 0
add r14, 8
sub rbp, 1
jne 0x180013230
mov r9d, dword [rsp + 0xa0]
mov r15d, dword [rsp + 0xb8]
add r9d, 0x60
mov r13, qword [rsp + 0xa8]
mov dword [rsp + 0xa0], r9d
cmp edi, r15d
jg 0x180012fc0
mov rdx, r12
mov rcx, rbx
call sym.vtkpng_9.2.dll_vtkpng_png_free
mov rdx, qword [rbx + 0x430]
mov rcx, rbx
call sym.vtkpng_9.2.dll_vtkpng_png_free
mov rdx, qword [rbx + 0x428]
mov rcx, rbx
call sym.vtkpng_9.2.dll_vtkpng_png_free
mov qword [rbx + 0x430], rbp
mov qword [rbx + 0x428], rbp
mov ebp, dword [rsp + 0xc8]
mov r14d, r15d
mov dword [rsp + 0xb0], r15d
cmp qword [rbx + 0x270], 0
jne 0x1800132f0
mov qword [rbx + 0x270], r13
mov word [rbx + 0x278], r14w
test ebp, ebp
je 0x18001389e
mov edx, 0x8000
mov rcx, rbx
call sym.vtkpng_9.2.dll_vtkpng_png_calloc
mov edx, 0x8000
mov qword [rbx + 0x398], rax
mov rcx, rbx
call sym.vtkpng_9.2.dll_vtkpng_png_malloc
mov edx, 0xff
mov r8d, 0x8000
mov rcx, rax
mov r14, rax
call sub.VCRUNTIME140.dll_memset
xor r11d, r11d
cmp dword [rsp + 0xb0], r11d
jle 0x180013893
lea rax, [r13 + 2]
mov qword [rsp + 0x48], rax
movzx r10d, byte [rax - 2]
xor r8d, r8d
movzx edx, byte [rax - 1]
mov r9d, 2
movzx esi, byte [rax]
shr r10d, 3
shr edx, 3
shr esi, 3
sub r9d, esi
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x30], r8d
nop word [rax + rax]
mov ecx, r8d
mov eax, r10d
sub eax, r8d
sub ecx, r10d
cmp r8d, r10d
cmovbe ecx, eax
shl r8d, 0xa
xor r13d, r13d
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0xa0], r13d
mov dword [rsp + 0x40], r8d
nop word [rax + rax]
mov r10d, r13d
mov r15d, r13d
sub r10d, edx
mov eax, edx
sub eax, r13d
cmp r13d, edx
lea r13d, [rsi - 2]
mov edi, r13d
cmovbe r10d, eax
mov eax, r9d
cmp ecx, r10d
lea ebp, [rcx + r10]
cmovg r10d, ecx
shl r15d, 5
or r15d, r8d
movsxd r12, r15d
nop dword [rax]
nop dword [rax + rax]
lea edx, [rax + r13]
mov r9d, edx
lea ecx, [rdi + 2]
or r9d, r15d
lea r8d, [rax - 2]
cmp edx, esi
cmovle r8d, ecx
cmp r10d, r8d
mov edx, r8d
cmovg edx, r10d
add edx, r8d
movsxd r8, r9d
add edx, ebp
movzx ecx, byte [r8 + r14]
cmp edx, ecx
jge 0x180013441
mov rcx, qword [rbx + 0x398]
mov byte [r8 + r14], dl
mov byte [r8 + rcx], r11b
lea ecx, [rdi + 1]
lea r8d, [rax - 1]
lea edx, [rsi - 1]
add edx, eax
mov r9d, edx
or r9d, r15d
cmp edx, esi
cmovle r8d, ecx
cmp r10d, r8d
mov edx, r8d
cmovg edx, r10d
add edx, ebp
add edx, r8d
movsxd r8, r9d
movzx ecx, byte [r8 + r14]
cmp edx, ecx
jge 0x180013483
mov rcx, qword [rbx + 0x398]
mov byte [r8 + r14], dl
mov byte [r8 + rcx], r11b
lea edx, [rax + rsi]
mov ecx, eax
cmp edx, esi
movsxd r9, edx
cmovle ecx, edi
cmp r10d, ecx
mov r8d, ecx
cmovg r8d, r10d
or r9, r12
add r8d, ecx
add r8d, ebp
movzx ecx, byte [r9 + r14]
cmp r8d, ecx
jge 0x1800134bc
mov rcx, qword [rbx + 0x398]
mov byte [r9 + r14], r8b
mov byte [r9 + rcx], r11b
lea ecx, [rdi - 1]
mov r9d, r15d
lea r8d, [rax + 1]
lea edx, [rsi + 1]
add edx, eax
or r9d, edx
cmp edx, esi
cmovle r8d, ecx
cmp r10d, r8d
mov edx, r8d
cmovg edx, r10d
add edx, ebp
add edx, r8d
movsxd r8, r9d
movzx ecx, byte [r8 + r14]
cmp edx, ecx
jge 0x1800134fe
mov rcx, qword [rbx + 0x398]
mov byte [r8 + r14], dl
mov byte [r8 + rcx], r11b
lea ecx, [rdi - 2]
mov r9d, r15d
lea r8d, [rax + 2]
lea edx, [rsi + 2]
add edx, eax
or r9d, edx
cmp edx, esi
cmovle r8d, ecx
cmp r10d, r8d
mov edx, r8d
cmovg edx, r10d
add edx, ebp
add edx, r8d
movsxd r8, r9d
movzx ecx, byte [r8 + r14]
cmp edx, ecx
jge 0x180013540
mov rcx, qword [rbx + 0x398]
mov byte [r8 + r14], dl
mov byte [r8 + rcx], r11b
lea ecx, [rdi - 3]
lea edx, [rax + 3]
lea r8d, [rsi + 3]
add r8d, eax
cmp r8d, esi
cmovle edx, ecx
cmp r10d, edx
mov r9d, edx
cmovg r9d, r10d
add r9d, ebp
add r9d, edx
movsxd rdx, r8d
or rdx, r12
movzx ecx, byte [rdx + r14]
cmp r9d, ecx
jge 0x180013582
mov rcx, qword [rbx + 0x398]
mov byte [rdx + r14], r9b
mov byte [rdx + rcx], r11b
lea ecx, [rdi - 4]
mov r9d, r15d
lea r8d, [rax + 4]
lea edx, [rsi + 4]
add edx, eax
or r9d, edx
cmp edx, esi
cmovle r8d, ecx
cmp r10d, r8d
mov edx, r8d
cmovg edx, r10d
add edx, ebp
add edx, r8d
movsxd r8, r9d
movzx ecx, byte [r8 + r14]
cmp edx, ecx
jge 0x1800135c4
mov rcx, qword [rbx + 0x398]
mov byte [r8 + r14], dl
mov byte [r8 + rcx], r11b
lea ecx, [rdi - 5]
mov r9d, r15d
lea r8d, [rax + 5]
lea edx, [rsi + 5]
add edx, eax
or r9d, edx
cmp edx, esi
cmovle r8d, ecx
cmp r10d, r8d
mov edx, r8d
cmovg edx, r10d
add edx, ebp
add edx, r8d
movsxd r8, r9d
movzx ecx, byte [r8 + r14]
cmp edx, ecx
jge 0x180013606
mov rcx, qword [rbx + 0x398]
mov byte [r8 + r14], dl
mov byte [r8 + rcx], r11b
lea ecx, [rdi - 6]
lea edx, [rax + 6]
lea r8d, [rsi + 6]
add r8d, eax
cmp r8d, esi
cmovle edx, ecx
cmp r10d, edx
mov r9d, edx
cmovg r9d, r10d
add r9d, edx
movsxd rdx, r8d
or rdx, r12
add r9d, ebp
movzx ecx, byte [rdx + r14]
cmp r9d, ecx
jge 0x180013648
mov rcx, qword [rbx + 0x398]
mov byte [rdx + r14], r9b
mov byte [rdx + rcx], r11b
lea ecx, [rdi - 7]
lea r8d, [rax + 7]
lea edx, [rsi + 7]
add edx, eax
mov r9d, edx
or r9d, r15d
cmp edx, esi
cmovle r8d, ecx
cmp r10d, r8d
mov edx, r8d
cmovg edx, r10d
add edx, ebp
add edx, r8d
movsxd r8, r9d
movzx ecx, byte [r8 + r14]
cmp edx, ecx
jge 0x18001368a
mov rcx, qword [rbx + 0x398]
mov byte [r8 + r14], dl
mov byte [r8 + rcx], r11b
lea ecx, [rdi - 8]
lea r8d, [rax + 8]
lea edx, [rsi + 8]
add edx, eax
mov r9d, edx
or r9d, r15d
cmp edx, esi
cmovle r8d, ecx
cmp r10d, r8d
mov edx, r8d
cmovg edx, r10d
add edx, ebp
add edx, r8d
movsxd r8, r9d
movzx ecx, byte [r8 + r14]
cmp edx, ecx
jge 0x1800136cc
mov rcx, qword [rbx + 0x398]
mov byte [r8 + r14], dl
mov byte [r8 + rcx], r11b
lea ecx, [rdi - 9]
lea edx, [rax + 9]
lea r8d, [rsi + 9]
add r8d, eax
cmp r8d, esi
cmovle edx, ecx
cmp r10d, edx
mov r9d, edx
cmovg r9d, r10d
add r9d, edx
movsxd rdx, r8d
or rdx, r12
add r9d, ebp
movzx ecx, byte [rdx + r14]
cmp r9d, ecx
jge 0x18001370e
mov rcx, qword [rbx + 0x398]
mov byte [rdx + r14], r9b
mov byte [rdx + rcx], r11b
lea ecx, [rdi - 0xa]
lea r8d, [rax + 0xa]
lea edx, [rsi + 0xa]
add edx, eax
mov r9d, edx
or r9d, r15d
cmp edx, esi
cmovle r8d, ecx
cmp r10d, r8d
mov edx, r8d
cmovg edx, r10d
add edx, r8d
movsxd r8, r9d
add edx, ebp
movzx ecx, byte [r8 + r14]
cmp edx, ecx
jge 0x180013750
mov rcx, qword [rbx + 0x398]
mov byte [r8 + r14], dl
mov byte [r8 + rcx], r11b
lea ecx, [rdi - 0xb]
lea r8d, [rax + 0xb]
lea edx, [rsi + 0xb]
add edx, eax
mov r9d, edx
or r9d, r15d
cmp edx, esi
cmovle r8d, ecx
cmp r10d, r8d
mov edx, r8d
cmovg edx, r10d
add edx, r8d
movsxd r8, r9d
add edx, ebp
movzx ecx, byte [r8 + r14]
cmp edx, ecx
jge 0x180013792
mov rcx, qword [rbx + 0x398]
mov byte [r8 + r14], dl
mov byte [r8 + rcx], r11b
lea ecx, [rdi - 0xc]
lea edx, [rax + 0xc]
lea r8d, [rsi + 0xc]
add r8d, eax
cmp r8d, esi
cmovle edx, ecx
cmp r10d, edx
mov r9d, edx
cmovg r9d, r10d
add r9d, edx
movsxd rdx, r8d
or rdx, r12
add r9d, ebp
movzx ecx, byte [rdx + r14]
cmp r9d, ecx
jge 0x1800137d4
mov rcx, qword [rbx + 0x398]
mov byte [rdx + r14], r9b
mov byte [rdx + rcx], r11b
lea ecx, [rdi - 0xd]
lea r8d, [rax + 0xd]
lea edx, [rsi + 0xd]
add edx, eax
mov r9d, edx
or r9d, r15d
cmp edx, esi
cmovle r8d, ecx
cmp r10d, r8d
mov edx, r8d
cmovg edx, r10d
add edx, r8d
movsxd r8, r9d
add edx, ebp
movzx ecx, byte [r8 + r14]
cmp edx, ecx
jge 0x180013816
mov rcx, qword [rbx + 0x398]
mov byte [r8 + r14], dl
mov byte [r8 + rcx], r11b
add eax, 0x10
sub edi, 0x10
lea ecx, [rax + r13]
cmp ecx, 0x20
jl 0x180013400
mov r13d, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x38]
inc r13d
mov edx, dword [rsp + 0x34]
mov r8d, dword [rsp + 0x40]
mov r9d, dword [rsp + 0x20]
mov dword [rsp + 0xa0], r13d
cmp r13d, 0x20
jl 0x1800133c0
mov r8d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x28]
inc r8d
mov dword [rsp + 0x30], r8d
cmp r8d, 0x20
jl 0x180013390
mov rax, qword [rsp + 0x48]
inc r11d
add rax, 3
mov qword [rsp + 0x48], rax
cmp r11d, dword [rsp + 0xb0]
jl 0x180013351
mov rdx, r14
mov rcx, rbx
call sym.vtkpng_9.2.dll_vtkpng_png_free
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov r12, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
pop r15
pop r14
pop r13
pop rbx
ret