Function at 0x140065b40
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbx
sub rsp, 0x30
mov edx, 2
mov r14d, 4
mov qword [rsp + 0x28], 0
mov r12, rcx
xor ecx, ecx
call fcn.14000c4a0
mov r10d, 0x4d42
mov qword [rsp + 0x28], rax
mov rdx, qword [rax]
lea rdx, [rax + rdx + 0x10]
mov word [rdx], r10w
mov byte [rdx + 2], 0
add qword [rax], 2
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x140062c05
mov rcx, qword [rcx]
add rcx, 4
mov r13, rcx
mov r14, rcx
jo 0x140062ec0
mov rcx, qword [rsp + 0x28]
test r13, r13
js 0x140062ed3
mov rdx, r14
lea r13, [rsp + 0x28]
call fcn.14000bac0
mov rcx, r13
mov rdx, rax
call fcn.140009130
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400630c0
mov rbx, qword [rax]
sub rbx, 4
mov r15, rbx
jo 0x140062e60
lea r14, [rbx + 0x10]
test rbx, rbx
js 0x140062f81
mov rdx, qword [rax]
cmp rbx, rdx
jge 0x140062f84
mov dword [rax + r14], 0
mov rcx, qword [rax]
add rcx, 2
mov r14, rcx
mov r15, rcx
jno 0x140062c70
call fcn.1400091f0
test r14, r14
jns 0x140062c89
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r14
call fcn.14000d6c0
mov rcx, qword [rsp + 0x28]
mov rdx, r15
call fcn.14000bac0
mov rcx, r13
mov rdx, rax
call fcn.140009130
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400630a0
mov rbx, qword [rax]
sub rbx, 2
mov r15, rbx
jo 0x140063030
lea r14, [rbx + 0x10]
test rbx, rbx
js 0x140062f41
mov rdx, qword [rax]
cmp rbx, rdx
jge 0x140062f44
xor edx, edx
mov word [rax + r14], dx
mov rcx, qword [rax]
add rcx, 2
mov r14, rcx
mov r15, rcx
jno 0x140062cf3
call fcn.1400091f0
test r14, r14
jns 0x140062d0c
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r14
call fcn.14000d6c0
mov rcx, qword [rsp + 0x28]
mov rdx, r15
call fcn.14000bac0
mov rcx, r13
mov rdx, rax
call fcn.140009130
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140063060
mov rbx, qword [rax]
sub rbx, 2
mov r15, rbx
jo 0x140062fd0
lea r14, [rbx + 0x10]
test rbx, rbx
js 0x140062f01
mov rdx, qword [rax]
cmp rbx, rdx
jge 0x140062f04
xor ecx, ecx
mov word [rax + r14], cx
mov rcx, qword [rax]
add rcx, 4
mov r14, rcx
mov r15, rcx
jno 0x140062d76
call fcn.1400091f0
test r14, r14
jns 0x140062d8f
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r14
call fcn.14000d6c0
mov rcx, qword [rsp + 0x28]
mov rdx, r15
call fcn.14000bac0
mov rcx, r13
mov rdx, rax
call fcn.140009130
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140063080
mov rbx, qword [rax]
sub rbx, 4
mov r14, rbx
jo 0x140063000
lea r13, [rbx + 0x10]
test rbx, rbx
js 0x140062f99
mov rdx, qword [rax]
cmp rbx, rdx
jge 0x140062f9c
mov dword [rax + r13], 0x96
mov rcx, r12
call fcn.140061470
mov rbx, rax
test rax, rax
je 0x1400630f0
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x28]
call fcn.14000c4a0
lea rdx, [rbx + 0x10]
mov qword [rsp + 0x28], rax
mov r12, rax
mov rax, qword [rax]
lea rcx, [r12 + rax + 0x10]
mov rax, qword [rbx]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbx]
add qword [r12], rax
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400630e0
mov rdx, qword [rax]
mov ebx, edx
cmp rdx, 2
jle 0x140062fb8
mov dword [rax + 0x12], ebx
add rsp, 0x30
pop rbx
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400091f0
lea r14, [rbx + 0x10]
mov rax, qword [rsp + 0x28]
test rbx, rbx
js 0x140062f78
mov rdx, 0xffffffffffffffff
test rax, rax
jne 0x140062c48
nop word [rax + rax]
mov rcx, r15
mov r15d, 2
call fcn.14000d860
mov rax, qword [rsp + 0x28]
mov dword [rax + r14], 0
test rax, rax
jne 0x140062c5c
jmp 0x140062c89
call fcn.1400091f0
mov rcx, qword [rsp + 0x28]
test r13, r13
jns 0x140062c05
movabs r8, 0x7fffffffffffffff
mov rcx, r13
xor edx, edx
call fcn.14000d6c0
mov rcx, qword [rsp + 0x28]
jmp 0x140062c05
test rax, rax
je 0x14006310f
mov rdx, qword [rax]
sub rdx, 1
mov rcx, r15
mov r15d, 4
call fcn.14000d860
mov rax, qword [rsp + 0x28]
xor r8d, r8d
mov word [rax + r14], r8w
test rax, rax
jne 0x140062d62
jmp 0x140062d8f
test rax, rax
je 0x140063121
mov rdx, qword [rax]
sub rdx, 1
mov rcx, r15
mov r15d, 2
call fcn.14000d860
mov rax, qword [rsp + 0x28]
xor r9d, r9d
mov word [rax + r14], r9w
test rax, rax
jne 0x140062cdf
jmp 0x140062d0c
test rax, rax
je 0x140063106
mov rdx, qword [rax]
sub rdx, 1
jmp 0x140062e90
test rax, rax
je 0x140063118
mov rdx, qword [rax]
sub rdx, 1
mov rcx, r14
call fcn.14000d860
mov rax, qword [rsp + 0x28]
jmp 0x140062dde
sub rdx, 1
mov ecx, 2
call fcn.14000d860
mov rax, qword [rsp + 0x28]
jmp 0x140062e4b
call fcn.1400091f0
lea r14, [rbx + 0x10]
mov rax, qword [rsp + 0x28]
test rbx, rbx
js 0x140062ef8
mov rdx, 0xffffffffffffffff
test rax, rax
je 0x140062f08
jmp 0x140062d4f
call fcn.1400091f0
lea r13, [rbx + 0x10]
mov rax, qword [rsp + 0x28]
test rbx, rbx
js 0x140062f90
mov rdx, 0xffffffffffffffff
test rax, rax
je 0x140062fa0
jmp 0x140062dd2
call fcn.1400091f0
lea r14, [rbx + 0x10]
mov rax, qword [rsp + 0x28]
test rbx, rbx
js 0x140062f38
mov rdx, 0xffffffffffffffff
test rax, rax
je 0x140062f48
jmp 0x140062ccc
mov r15, 0xfffffffffffffffe
mov r14d, 0xe
mov rdx, 0xffffffffffffffff
jmp 0x140062f08
mov r14, 0xfffffffffffffffc
mov r13d, 0xc
mov rdx, 0xffffffffffffffff
jmp 0x140062fa0
mov r15, 0xfffffffffffffffe
mov r14d, 0xe
mov rdx, 0xffffffffffffffff
jmp 0x140062f48
mov r14d, 0xc
mov r15, 0xfffffffffffffffc
mov rdx, 0xffffffffffffffff
jmp 0x140062e90
xor ebx, ebx
mov rdx, 0xffffffffffffffff
jmp 0x140062fbc
mov rcx, qword [rsp + 0x28]
xor edx, edx
call fcn.14000c4a0
mov qword [rsp + 0x28], rax
jmp 0x140062e33
or rdx, 0xffffffffffffffff
jmp 0x140062e90
or rdx, 0xffffffffffffffff
jmp 0x140062f08
or rdx, 0xffffffffffffffff
jmp 0x140062fa0
or rdx, 0xffffffffffffffff
jmp 0x140062f48
push r13
push r12
push rsi
push rbx
sub rsp, 0x48
mov rdx, qword [rcx + 0x10]
mov rbx, rcx
test rdx, rdx
je 0x140064e30
cmp qword [rdx], 0
jne 0x140064ee3
mov rcx, qword [0x1400a2410]
mov edx, 0x30
lea r13, [0x14009df20]
call fcn.14000b890
lea rcx, [0x14009e100]
mov r12, rax
mov rax, qword [0x1400a22e0]
mov qword [r12 + 0x10], r13
mov rsi, qword [r12 + 0x18]
mov qword [r12], rax
call fcn.14000acc0
mov qword [r12 + 0x18], rax
test rsi, rsi
je 0x140064e90
mov rax, qword [rsi - 0x10]
lea rdx, [rsi - 0x10]
sub rax, 8
mov qword [rsi - 0x10], rax
cmp rax, 7
jbe 0x140064f60
mov rax, qword [r12 + 8]
test rax, rax
je 0x140064eb4
mov rsi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rsi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
jbe 0x140064f40
mov qword [r12 + 8], 0
mov rdx, r13
mov rcx, r12
lea r9, str.png.nim
mov qword [rsp + 0x20], 0x291
lea r8, str.encodePng
call fcn.14000d580
mov rdx, qword [rbx + 0x10]
mov r8, qword [str._m_f_]
lea r12, [rsp + 0x38]
mov rcx, r12
call fcn.140010be0
mov rcx, r12
call fcn.140061260
mov rdx, qword [rsp + 0x38]
xor eax, eax
test rdx, rdx
je 0x140064f12
mov rax, qword [rdx]
shl rax, 2
mov r10, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rax
lea r9, [rdx + 0x10]
mov r8d, 4
mov rdx, r10
call fcn.140063500
add rsp, 0x48
pop rbx
pop rsi
pop r12
pop r13
ret
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
jmp 0x140064eb4
mov rax, qword [0x1400a28c0]
lea rcx, [rax + 0x18]
call fcn.140007510
jmp 0x140064e90
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov edx, 2
mov qword [rsp + 0x28], 0
mov rsi, rcx
xor ecx, ecx
call fcn.14000c4a0
mov r10d, 0x3650
mov qword [rsp + 0x28], rax
mov rdx, qword [rax]
lea rdx, [rax + rdx + 0x10]
mov word [rdx], r10w
mov byte [rdx + 2], 0
mov edx, 1
add qword [rax], 2
mov rcx, qword [rsp + 0x28]
call fcn.14000c4a0
mov r11d, 0xa
mov qword [rsp + 0x28], rax
mov rdx, qword [rax]
mov word [rax + rdx + 0x10], r11w
add qword [rax], 1
mov rcx, qword [rsi]
call fcn.140002120
mov rbx, rax
test rax, rax
je 0x140065257
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x28]
call fcn.14000c4a0
lea rdx, [rbx + 0x10]
mov qword [rsp + 0x28], rax
mov rdi, rax
mov rax, qword [rax]
lea rcx, [rdi + rax + 0x10]
mov rax, qword [rbx]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbx]
add qword [rdi], rax
mov rcx, qword [rsp + 0x28]
mov edx, 1
call fcn.14000c4a0
mov r9d, 0x20
mov qword [rsp + 0x28], rax
mov rdx, qword [rax]
mov word [rax + rdx + 0x10], r9w
add qword [rax], 1
mov rcx, qword [rsi + 8]
call fcn.140002120
mov rbx, rax
test rax, rax
je 0x140065270
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x28]
call fcn.14000c4a0
lea rdx, [rbx + 0x10]
mov qword [rsp + 0x28], rax
mov rdi, rax
mov rax, qword [rax]
lea rcx, [rdi + rax + 0x10]
mov rax, qword [rbx]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbx]
add qword [rdi], rax
mov rcx, qword [rsp + 0x28]
mov edx, 1
call fcn.14000c4a0
mov ecx, 0xa
mov qword [rsp + 0x28], rax
mov rdx, qword [rax]
mov word [rax + rdx + 0x10], cx
mov edx, 3
add qword [rax], 1
mov rcx, qword [rsp + 0x28]
call fcn.14000c4a0
mov qword [rsp + 0x28], rax
mov rdx, qword [rax]
mov dword [rax + rdx + 0x10], 0x353532
mov edx, 1
add qword [rax], 3
mov rcx, qword [rsp + 0x28]
call fcn.14000c4a0
mov r8d, 0xa
mov qword [rsp + 0x28], rax
mov rdx, qword [rax]
mov word [rax + rdx + 0x10], r8w
add qword [rax], 1
cmp qword [rsi + 8], 0
jle 0x14006522c
xor edi, edi
lea rbx, [rsp + 0x28]
nop dword [rax]
mov rax, qword [rsi]
test rax, rax
jle 0x140065240
xor ebp, ebp
test rdi, rdi
jns 0x1400651b9
jmp 0x1400651d0
imul rax, rdi
mov rdx, qword [rsi + 0x10]
lea rax, [rbp + rax + 4]
mov edx, dword [rdx + rax*4]
mov r12d, edx
movsx eax, dh
movsx edx, dl
shr r12d, 0x10
mov r13d, eax
movsx r12d, r12b
mov rcx, qword [rsp + 0x28]
add rbp, 1
call fcn.14000c200
mov rcx, rbx
mov rdx, rax
call fcn.140009130
mov rcx, qword [rsp + 0x28]
mov edx, r13d
call fcn.14000c200
mov rcx, rbx
mov rdx, rax
call fcn.140009130
mov rcx, qword [rsp + 0x28]
mov edx, r12d
call fcn.14000c200
mov rcx, rbx
mov rdx, rax
call fcn.140009130
mov rax, qword [rsi]
cmp rax, rbp
jle 0x140065240
cmp rdi, qword [rsi + 8]
jl 0x140065140
xor edx, edx
xor r13d, r13d
xor r12d, r12d
jmp 0x140065164
mov rcx, qword [rsp + 0x28]
xor edx, edx
add rbp, 1
call fcn.14000c200
mov rcx, rbx
mov rdx, rax
call fcn.140009130
mov rcx, qword [rsp + 0x28]
xor edx, edx
call fcn.14000c200
mov rcx, rbx
mov rdx, rax
call fcn.140009130
mov rcx, qword [rsp + 0x28]
xor edx, edx
call fcn.14000c200
mov rcx, rbx
mov rdx, rax
call fcn.140009130
cmp rbp, qword [rsi]
jl 0x1400651d0
add rdi, 1
cmp qword [rsi + 8], rdi
jg 0x140065128
mov rax, qword [rsp + 0x28]
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
add rdi, 1
jno 0x140065222
call fcn.1400091f0
cmp rdi, qword [rsi + 8]
jl 0x140065128
jmp 0x14006522c
mov rcx, qword [rsp + 0x28]
xor edx, edx
call fcn.14000c4a0
mov qword [rsp + 0x28], rax
mov rcx, rax
jmp 0x140065036
mov rcx, qword [rsp + 0x28]
xor edx, edx
call fcn.14000c4a0
mov qword [rsp + 0x28], rax
mov rcx, rax
jmp 0x1400650a5
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x188
mov rax, qword [rcx]
imul rax, qword [rcx + 8]
mov qword [rsp + 0x78], 0
mov r15, rcx
jo 0x140065b0c
mov edx, 0xffffffff
cmp rax, rdx
jg 0x140065920
mov rax, qword [r15 + 0x20]
mov r13d, 0x16
test rax, rax
je 0x14006535a
imul r12, qword [rax], 3
jo 0x140065b32
add r12, 0x16
mov r13, r12
jo 0x140065708
test r12, r12
js 0x140065740
mov rcx, r13
mov r13d, 4
call fcn.14000ba40
mov edx, 4
mov rcx, rax
mov qword [rsp + 0x78], rax
call fcn.14000c4a0
mov qword [rsp + 0x78], rax
mov rdx, qword [rax]
lea rdx, [rax + rdx + 0x10]
mov dword [rdx], 0x66696f71
mov byte [rdx + 4], 0
add qword [rax], 4
mov rsi, qword [r15]
mov rcx, qword [rsp + 0x78]
bswap esi
test rcx, rcx
je 0x1400653c5
mov rcx, qword [rcx]
add rcx, 4
mov r12, rcx
mov r13, rcx
jo 0x1400656f0
mov rcx, qword [rsp + 0x78]
test r12, r12
js 0x140065720
mov rdx, r13
lea r14, [rsp + 0x78]
call fcn.14000bac0
mov rcx, r14
mov rdx, rax
call fcn.140009130
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x140065a18
mov rbx, qword [rax]
sub rbx, 4
mov r12, rbx
jo 0x140065690
lea rdi, [rbx + 0x10]
test rbx, rbx
js 0x140065913
mov rdx, qword [rax]
cmp rbx, rdx
jge 0x140065916
mov dword [rax + rdi], esi
mov rsi, qword [r15 + 8]
bswap esi
mov rcx, qword [rax]
add rcx, 4
mov r12, rcx
mov r13, rcx
jno 0x140065431
call fcn.1400091f0
test r12, r12
jns 0x14006544a
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r12
call fcn.14000d6c0
mov rcx, qword [rsp + 0x78]
mov rdx, r13
call fcn.14000bac0
mov rcx, r14
mov rdx, rax
call fcn.140009130
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140065a30
mov rbx, qword [rcx]
sub rbx, 4
mov r12, rbx
jo 0x1400659e8
lea rdi, [rbx + 0x10]
test rbx, rbx
js 0x1400658f1
mov rdx, qword [rcx]
cmp rbx, rdx
jge 0x1400658f4
mov dword [rcx + rdi], esi
movsx edx, byte [r15 + 0x10]
lea rdi, [rsp + 0x80]
call fcn.14000c200
mov rcx, r14
mov rdx, rax
call fcn.140009130
movsx edx, byte [r15 + 0x18]
mov rcx, qword [rsp + 0x78]
call fcn.14000c200
mov rcx, r14
mov rdx, rax
call fcn.140009130
xor eax, eax
mov ecx, 0x20
mov qword [rsp + 0x68], rdi
rep stosq qword [rdi], rax
mov rax, qword [r15 + 0x20]
test rax, rax
je 0x140065890
mov rdi, qword [rax]
test rdi, rdi
jle 0x140065890
mov r13d, 0xff000000
xor r12d, r12d
xor ebx, ebx
jmp 0x1400655d6
test bl, bl
je 0x140065534
lea edx, [rbx - 1]
mov rcx, qword [rsp + 0x78]
mov ebx, edx
or ebx, 0xffffffc0
movsx edx, bl
call fcn.14000c200
mov rcx, r14
mov rdx, rax
call fcn.140009130
movzx r11d, byte [rsp + 0x38]
movzx r13d, byte [rsp + 0x44]
movzx r9d, bpl
lea rbx, [r9 + r9*2]
mov qword [rsp + 0x60], r9
lea rax, [r11 + r11*4]
mov qword [rsp + 0x58], r11
add rbx, rax
lea rax, [r13*8]
sub rax, r13
add rbx, rax
movzx eax, sil
lea rdx, [rax + rax*4]
lea rax, [rax + rdx*2]
mov edx, ebp
add rbx, rax
and ebx, 0x3f
mov ecx, dword [rsp + rbx*4 + 0x80]
call fcn.1400128c0
mov edx, ebx
test al, al
je 0x140065790
mov rcx, qword [rsp + 0x78]
call fcn.14000c200
mov rcx, r14
mov rdx, rax
call fcn.140009130
mov rax, qword [r15 + 0x20]
mov r13d, ebp
xor ebx, ebx
add r12, 1
test rax, rax
je 0x1400655bd
cmp rdi, qword [rax]
je 0x1400655c9
lea rcx, [0x14009e1a0]
call fcn.140001e30
cmp rdi, r12
jle 0x140065890
mov rax, qword [r15 + 0x20]
mov esi, r13d
mov ecx, r13d
mov byte [rsp + 0x53], r13b
shr esi, 0x18
mov dword [rsp + 0x48], esi
mov esi, r13d
shr esi, 0x10
mov dword [rsp + 0x54], esi
movzx esi, ch
mov dword [rsp + 0x4c], esi
test rax, rax
je 0x140065778
mov rdx, qword [rax]
cmp r12, rdx
jge 0x140065760
mov ebp, dword [rax + r12*4 + 0x10]
mov edx, r13d
mov eax, ebp
mov esi, ebp
mov ecx, ebp
shr eax, 0x10
shr esi, 0x18
mov dword [rsp + 0x44], eax
mov eax, ebp
movzx eax, ah
mov dword [rsp + 0x38], eax
call fcn.1400128c0
test al, al
je 0x140065510
lea ecx, [rbx + 1]
cmp bl, 0x3d
je 0x140065661
mov rax, qword [r15 + 0x20]
test rax, rax
je 0x140065788
mov rsi, qword [rax]
lea rdx, [rsi - 1]
cmp r12, rdx
jne 0x140065788
mov rcx, qword [rsp + 0x78]
or ebx, 0xffffffc0
movsx edx, bl
xor ebx, ebx
call fcn.14000c200
mov rcx, r14
mov rdx, rax
call fcn.140009130
mov rax, qword [r15 + 0x20]
jmp 0x1400655af
call fcn.1400091f0
lea rdi, [rbx + 0x10]
mov rax, qword [rsp + 0x78]
test rbx, rbx
js 0x14006590a
mov rdx, 0xffffffffffffffff
test rax, rax
jne 0x140065408
nop word [rax + rax]
mov rcx, r12
mov r13d, 4
call fcn.14000d860
mov rax, qword [rsp + 0x78]
mov dword [rax + rdi], esi
mov rsi, qword [r15 + 8]
bswap esi
test rax, rax
jne 0x14006541d
jmp 0x14006544a
call fcn.1400091f0
mov rcx, qword [rsp + 0x78]
test r12, r12
jns 0x1400653c5
jmp 0x140065720
call fcn.1400091f0
test r12, r12
jns 0x14006535a
jmp 0x140065740
movabs r8, 0x7fffffffffffffff
mov rcx, r12
xor edx, edx
call fcn.14000d6c0
mov rcx, qword [rsp + 0x78]
jmp 0x1400653c5
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r12
call fcn.14000d6c0
jmp 0x14006535a
sub rdx, 1
mov rcx, r12
call fcn.14000d860
mov rax, qword [r15 + 0x20]
jmp 0x14006560e
mov rdx, 0xffffffffffffffff
jmp 0x140065764
mov ebx, ecx
jmp 0x1400655af
mov rax, qword [rsp + 0x68]
mov r11, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
mov dword [rax + rbx*4], ebp
mov rcx, qword [rsp + 0x78]
cmp sil, byte [rsp + 0x48]
je 0x140065820
mov edx, 0xffffffff
call fcn.14000c200
mov rcx, r14
mov rdx, rax
call fcn.140009130
mov rcx, qword [rsp + 0x78]
movsx edx, bpl
call fcn.14000c200
mov rcx, r14
mov rdx, rax
call fcn.140009130
movsx edx, byte [rsp + 0x38]
mov rcx, qword [rsp + 0x78]
call fcn.14000c200
mov rcx, r14
mov rdx, rax
call fcn.140009130
movsx edx, byte [rsp + 0x44]
mov rcx, qword [rsp + 0x78]
call fcn.14000c200
mov rcx, r14
mov rdx, rax
call fcn.140009130
movsx edx, sil
jmp 0x140065591
movzx eax, byte [rsp + 0x53]
mov r10, r13
sub r9, rax
movzx eax, byte [rsp + 0x4c]
sub r11, rax
movzx eax, byte [rsp + 0x54]
sub r10, rax
lea rax, [r9 + 2]
cmp rax, 3
ja 0x140065a48
lea rsi, [r11 + 2]
cmp rsi, 3
ja 0x140065a48
lea rbx, [r10 + 2]
cmp rbx, 3
ja 0x140065b00
shl rax, 4
shl rsi, 2
mov rdx, rax
or edx, esi
or edx, ebx
or edx, 0x40
movzx edx, dl
call fcn.14000c200
mov rcx, r14
mov rdx, rax
call fcn.140009130
jmp 0x1400655a6
mov ebx, 7
nop dword [rax]
mov rcx, qword [rsp + 0x78]
xor edx, edx
call fcn.14000c200
mov rcx, r14
mov rdx, rax
call fcn.140009130
sub rbx, 1
jne 0x140065898
mov rcx, qword [rsp + 0x78]
mov edx, 1
call fcn.14000c200
mov rcx, r14
mov rdx, rax
call fcn.140009130
mov rax, qword [rsp + 0x78]
add rsp, 0x188
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test rcx, rcx
je 0x140065b29
mov rdx, qword [rcx]
sub rdx, 1
mov rcx, r12
call fcn.14000d860
mov rcx, qword [rsp + 0x78]
jmp 0x140065499
test rax, rax
je 0x140065b20
mov rdx, qword [rax]
sub rdx, 1
jmp 0x1400656c0
mov rcx, qword [0x1400a2410]
mov edx, 0x30
lea r13, [0x14009e140]
call fcn.14000b890
lea rcx, [0x14009e220]
mov r12, rax
mov rax, qword [0x1400a22e0]
mov qword [r12 + 0x10], r13
mov rbx, qword [r12 + 0x18]
mov qword [r12], rax
call fcn.14000acc0
mov qword [r12 + 0x18], rax
test rbx, rbx
je 0x140065980
mov rax, qword [rbx - 0x10]
lea rdx, [rbx - 0x10]
sub rax, 8
mov qword [rbx - 0x10], rax
cmp rax, 7
jbe 0x140065ae8
mov rax, qword [r12 + 8]
test rax, rax
je 0x1400659b3
mov rdi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x1400659b3
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov qword [r12 + 8], 0
lea r9, str.qoi.nim
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x20], 0x98
lea r8, str.encodeQoi
call fcn.14000d580
jmp 0x14006532b
call fcn.1400091f0
lea rdi, [rbx + 0x10]
mov rcx, qword [rsp + 0x78]
test rbx, rbx
js 0x1400658e8
mov rdx, 0xffffffffffffffff
test rcx, rcx
je 0x1400658f8
jmp 0x14006548d
mov edi, 0xc
mov r12, 0xfffffffffffffffc
mov rdx, 0xffffffffffffffff
jmp 0x1400656c0
mov r12, 0xfffffffffffffffc
mov edi, 0xc
mov rdx, 0xffffffffffffffff
jmp 0x1400658f8
sub r9, r11
lea rbx, [r9 + 8]
cmp rbx, 0xf
ja 0x140065a90
lea rdx, [r11 + 0x20]
cmp rdx, 0x3f
ja 0x140065a90
sub r10, r11
lea rsi, [r10 + 8]
cmp rsi, 0xf
ja 0x140065a90
or edx, 0xffffff80
shl rbx, 4
movsx edx, dl
or ebx, esi
call fcn.14000c200
mov rcx, r14
mov rdx, rax
call fcn.140009130
movsx edx, bl
jmp 0x140065591
mov edx, 0xfffffffe
call fcn.14000c200
mov rcx, r14
mov rdx, rax
call fcn.140009130
mov rcx, qword [rsp + 0x78]
movsx edx, bpl
call fcn.14000c200
mov rcx, r14
mov rdx, rax
call fcn.140009130
movsx edx, byte [rsp + 0x38]
mov rcx, qword [rsp + 0x78]
call fcn.14000c200
mov rcx, r14
mov rdx, rax
call fcn.140009130
movsx edx, byte [rsp + 0x44]
jmp 0x140065591
mov rax, qword [0x1400a28c0]
lea rcx, [rax + 0x18]
call fcn.140007510
jmp 0x140065980
sub r9, r11
lea rbx, [r9 + 8]
jmp 0x140065a55
mov qword [rsp + 0x38], rax
call fcn.1400091f0
mov rax, qword [rsp + 0x38]
jmp 0x14006531d
or rdx, 0xffffffffffffffff
jmp 0x1400656c0
or rdx, 0xffffffffffffffff
jmp 0x1400658f8
call fcn.1400091f0
jmp 0x140065344
push r13
push r12
push rsi
push rbx
sub rsp, 0x38
mov edx, 0x28
xor esi, esi
mov rbx, rcx
lea rcx, [0x1400c6f80]
call fcn.14000b890
mov r12, rax
mov rax, qword [rbx]
mov qword [r12], rax
mov rax, qword [rbx + 8]
mov qword [r12 + 0x10], 4
mov qword [r12 + 8], rax
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140065b91
mov rsi, qword [rax]
test rsi, rsi
js 0x140065d18
mov rcx, qword [r12 + 0x20]
mov r8, rsi
lea r13, [r12 + 0x20]
lea rdx, [0x1400c6fc0]
call fcn.1400122f0
mov rsi, rax
test rax, rax
je 0x140065cd0
add qword [rax - 0x10], 8
mov rax, qword [r12 + 0x20]
test rax, rax
je 0x140065bdf
mov rdx, qword [rax - 0x10]
lea r8, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
jbe 0x140065c70
mov qword [r12 + 0x20], rsi
mov rdx, qword [rsi]
test rdx, rdx
jle 0x140065cc0
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x140065c50
mov rcx, qword [rdx]
lea rdx, [rcx - 1]
test rcx, rcx
jle 0x140065c57
imul rcx, rcx, 4
jo 0x140065d43
mov rsi, rcx
test rcx, rcx
js 0x140065ca0
mov rdx, qword [rbx + 0x10]
mov rax, qword [r12 + 0x20]
add rdx, 0x10
mov r8, rsi
lea rcx, [rax + 0x10]
call sub.msvcrt.dll_memcpy
mov rcx, r13
call fcn.140061320
mov rcx, r12
add rsp, 0x38
pop rbx
pop rsi
pop r12
pop r13
jmp 0x1400652f0
mov rdx, 0xffffffffffffffff
xor ecx, ecx
xor esi, esi
call fcn.14000d860
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x140065c1f
mov rcx, qword [rdx]
jmp 0x140065c05
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov qword [r12 + 0x20], rsi
mov rdx, qword [rsi]
test rdx, rdx
jg 0x140065bf0
jmp 0x140065cc0
movabs r8, 0x7fffffffffffffff
xor edx, edx
call fcn.14000d6c0
jmp 0x140065c1b
sub rdx, 1
xor ecx, ecx
call fcn.14000d860
jmp 0x140065bf0
mov rax, qword [r12 + 0x20]
test rax, rax
je 0x140065d0c
mov rsi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rsi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140065d38
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov qword [r12 + 0x20], 0
mov rdx, 0xffffffffffffffff
jmp 0x140065cc4
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rsi
call fcn.14000d6c0
jmp 0x140065b91
mov qword [r12 + 0x20], 0
jmp 0x140065d0c
mov qword [rsp + 0x28], rcx
call fcn.1400091f0
mov rcx, qword [rsp + 0x28]
jmp 0x140065c0f
push r13
push r12
push rbx
sub rsp, 0x30
cmp dl, 5
ja case.default.0x140066043
lea r8, [0x14009e2a4]
movzx edx, dl
movsxd rax, dword [r8 + rdx*4]
add rax, r8
jmp rax
mov rcx, qword [0x1400a2410]
mov edx, 0x30
lea r13, str.PixieError
call fcn.14000b890
lea rcx, [0x14009e2c0]
mov r12, rax
mov rax, qword [0x1400a22e0]
mov qword [r12 + 0x10], r13
mov rbx, qword [r12 + 0x18]
mov qword [r12], rax
call fcn.14000acc0
mov qword [r12 + 0x18], rax
test rbx, rbx
je 0x1400660b4
mov rax, qword [rbx - 0x10]
lea rdx, [rbx - 0x10]
sub rax, 8
mov qword [rbx - 0x10], rax
cmp rax, 7
ja 0x1400660b4
mov rax, qword [0x1400a28c0]
lea rcx, [rax + 0x18]
call fcn.140007510
mov rax, qword [r12 + 8]
test rax, rax
je 0x1400660e7
mov rbx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rbx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x1400660e7
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov qword [r12 + 8], 0
mov qword [rsp + 0x20], 0x52
lea r9, str.pixie.nim
lea r8, str.encodeImage
mov rdx, r13
mov rcx, r12
call fcn.14000d580
xor eax, eax
add rsp, 0x30
pop rbx
pop r12
pop r13
ret
add rsp, 0x30
pop rbx
pop r12
pop r13
jmp 0x140065b40
add rsp, 0x30
pop rbx
pop r12
pop r13
jmp 0x140064f80
add rsp, 0x30
pop rbx
pop r12
pop r13
jmp 0x140064e10
add rsp, 0x30
pop rbx
pop r12
pop r13
jmp 0x140062b90
mov rcx, qword [0x1400a2410]
mov edx, 0x30
lea r13, str.PixieError
call fcn.14000b890
lea rcx, [0x14009e2c0]
mov r12, rax
mov rax, qword [0x1400a22e0]
mov qword [r12 + 0x10], r13
mov rbx, qword [r12 + 0x18]
mov qword [r12], rax
call fcn.14000acc0
mov qword [r12 + 0x18], rax
test rbx, rbx
je 0x1400661cc
mov rax, qword [rbx - 0x10]
lea rdx, [rbx - 0x10]
sub rax, 8
mov qword [rbx - 0x10], rax
cmp rax, 7
ja 0x1400661cc
mov rax, qword [0x1400a28c0]
lea rcx, [rax + 0x18]
call fcn.140007510
mov rax, qword [r12 + 8]
test rax, rax
je 0x1400661ff
mov rbx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rbx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x1400661ff
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov qword [r12 + 8], 0
mov qword [rsp + 0x20], 0x58
jmp 0x1400660f9