Function at 0x140066830
Capabilities:
Encode data using base64

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
mov edx, 2
mov edi, 4
mov qword [rsp + 0x28], 0
mov rsi, rcx
xor ecx, ecx
call fcn.14000c960
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 0x1400642ce
mov rbx, qword [rcx]
add rbx, 4
mov rdi, rbx
jo 0x140064578
test rbx, rbx
js 0x140064586
mov rcx, qword [rsp + 0x28]
mov rdx, rdi
lea rdi, [rsp + 0x28]
call fcn.14000c400
mov rcx, rdi
mov rdx, rax
call fcn.140008d20
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400646f0
mov rbx, qword [rax]
xor edx, edx
sub rbx, 4
seto dl
mov rbp, rbx
lea r12, [rbx + 0x10]
test rdx, rdx
jne 0x140064550
test rbx, rbx
js 0x1400645a5
mov rdx, qword [rax]
cmp rbx, rdx
jge 0x1400645a8
mov dword [rax + rbx + 0x10], 0
mov rcx, qword [rax]
add rcx, 2
mov rbx, rcx
mov rbp, rcx
jno 0x140064341
call fcn.140008dc0
test rbx, rbx
jns 0x14006435a
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call fcn.14000d320
mov rcx, qword [rsp + 0x28]
mov rdx, rbp
call fcn.14000c400
mov rcx, rdi
mov rdx, rax
call fcn.140008d20
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400646b0
mov rbx, qword [rax]
xor edx, edx
sub rbx, 2
seto dl
mov rbp, rbx
lea r12, [rbx + 0x10]
test rdx, rdx
jne 0x140064660
test rbx, rbx
js 0x14006467c
mov rdx, qword [rax]
cmp rbx, rdx
jge 0x14006467f
xor edx, edx
mov word [rax + rbx + 0x10], dx
mov rcx, qword [rax]
add rcx, 2
mov rbx, rcx
mov rbp, rcx
jno 0x1400643cc
call fcn.140008dc0
test rbx, rbx
jns 0x1400643e5
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call fcn.14000d320
mov rcx, qword [rsp + 0x28]
mov rdx, rbp
call fcn.14000c400
mov rcx, rdi
mov rdx, rax
call fcn.140008d20
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140064710
mov rbx, qword [rax]
xor edx, edx
sub rbx, 2
seto dl
mov rbp, rbx
lea r12, [rbx + 0x10]
test rdx, rdx
jne 0x140064610
test rbx, rbx
js 0x14006462c
mov rdx, qword [rax]
cmp rbx, rdx
jge 0x14006462f
xor ecx, ecx
mov word [rax + rbx + 0x10], cx
mov rcx, qword [rax]
add rcx, 4
mov rbx, rcx
mov rbp, rcx
jno 0x140064457
call fcn.140008dc0
test rbx, rbx
jns 0x140064470
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call fcn.14000d320
mov rcx, qword [rsp + 0x28]
mov rdx, rbp
call fcn.14000c400
mov rcx, rdi
mov rdx, rax
call fcn.140008d20
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400646d0
mov rbx, qword [rax]
xor edx, edx
sub rbx, 4
seto dl
mov rdi, rbx
lea rbp, [rbx + 0x10]
test rdx, rdx
jne 0x1400645d8
test rbx, rbx
js 0x1400645f4
mov rdx, qword [rax]
cmp rbx, rdx
jge 0x1400645f7
mov dword [rax + rbp], 0x96
mov rcx, rsi
call fcn.140062bf0
mov rbx, rax
test rax, rax
je 0x140064740
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x28]
call fcn.14000c960
lea rdx, [rbx + 0x10]
mov qword [rsp + 0x28], rax
mov rsi, rax
mov rax, qword [rax]
lea rcx, [rsi + rax + 0x10]
mov rax, qword [rbx]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbx]
add qword [rsi], rax
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140064730
mov rdx, qword [rax]
mov ebx, edx
cmp rdx, 2
jg 0x140064541
sub rdx, 1
mov ecx, 2
call fcn.14000d4c0
mov rax, qword [rsp + 0x28]
mov dword [rax + 0x12], ebx
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
call fcn.140008dc0
mov rax, qword [rsp + 0x28]
test rbx, rbx
js 0x1400645a0
test rax, rax
jne 0x140064319
mov rdx, 0xffffffffffffffff
jmp 0x1400645ac
call fcn.140008dc0
test rbx, rbx
jns 0x1400642c9
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call fcn.14000d320
jmp 0x1400642c9
test rax, rax
je 0x140064568
mov rdx, qword [rax]
sub rdx, 1
mov rcx, rbp
mov ebp, 2
call fcn.14000d4c0
mov rax, qword [rsp + 0x28]
mov dword [rax + r12], 0
test rax, rax
jne 0x14006432d
jmp 0x14006435a
call fcn.140008dc0
mov rax, qword [rsp + 0x28]
test rbx, rbx
jns 0x140064760
test rax, rax
je 0x140064769
mov rdx, qword [rax]
sub rdx, 1
mov rcx, rdi
call fcn.14000d4c0
mov rax, qword [rsp + 0x28]
jmp 0x1400644c7
call fcn.140008dc0
mov rax, qword [rsp + 0x28]
test rbx, rbx
jns 0x140064790
test rax, rax
je 0x140064799
mov rdx, qword [rax]
sub rdx, 1
mov rcx, rbp
mov ebp, 4
call fcn.14000d4c0
mov rax, qword [rsp + 0x28]
xor r8d, r8d
mov word [rax + r12], r8w
test rax, rax
jne 0x140064443
jmp 0x140064470
call fcn.140008dc0
mov rax, qword [rsp + 0x28]
test rbx, rbx
jns 0x140064778
test rax, rax
je 0x140064781
mov rdx, qword [rax]
sub rdx, 1
mov rcx, rbp
mov ebp, 2
call fcn.14000d4c0
mov rax, qword [rsp + 0x28]
xor r9d, r9d
mov word [rax + r12], r9w
test rax, rax
jne 0x1400643b8
jmp 0x1400643e5
mov rbp, 0xfffffffffffffffe
mov r12d, 0xe
mov rdx, 0xffffffffffffffff
jmp 0x140064683
mov ebp, 0xc
mov rdi, 0xfffffffffffffffc
mov rdx, 0xffffffffffffffff
jmp 0x1400645fb
mov rbp, 0xfffffffffffffffc
mov r12d, 0xc
mov rdx, 0xffffffffffffffff
jmp 0x1400645ac
mov r12d, 0xe
mov rbp, 0xfffffffffffffffe
mov rdx, 0xffffffffffffffff
jmp 0x140064633
xor ebx, ebx
mov rdx, 0xffffffffffffffff
jmp 0x140064532
mov rcx, qword [rsp + 0x28]
xor edx, edx
call fcn.14000c960
mov qword [rsp + 0x28], rax
jmp 0x14006451a
test rax, rax
jne 0x1400644bb
mov rdx, 0xffffffffffffffff
jmp 0x1400645fb
test rax, rax
jne 0x1400643a5
mov rdx, 0xffffffffffffffff
jmp 0x140064683
test rax, rax
jne 0x140064430
mov rdx, 0xffffffffffffffff
jmp 0x140064633
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rdx, qword [rcx + 0x10]
mov rsi, rcx
test rdx, rdx
je 0x1400663de
cmp qword [rdx], 0
jne 0x14006648b
mov rcx, qword [0x1400adcb0]
mov edx, 0x30
lea rbp, [0x1400a6f60]
call fcn.14000ba90
lea rcx, [0x1400a7140]
mov rbx, rax
mov rax, qword [0x1400adb70]
mov qword [rbx + 0x10], rbp
mov rdi, qword [rbx + 0x18]
mov qword [rbx], rax
call fcn.14000b140
mov qword [rbx + 0x18], rax
test rdi, rdi
je 0x14006643a
mov rax, qword [rdi - 0x10]
lea rdx, [rdi - 0x10]
sub rax, 8
mov qword [rdi - 0x10], rax
cmp rax, 7
jbe 0x140066500
mov rax, qword [rbx + 8]
test rax, rax
je 0x14006645d
mov rdi, qword [rax - 0x10]
lea rcx, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
jbe 0x1400664e8
mov qword [rbx + 8], 0
mov rdx, rbp
mov rcx, rbx
lea r9, str.png.nim
mov qword [rsp + 0x20], 0x291
lea r8, str.encodePng
call fcn.14000d1d0
mov rdx, qword [rsi + 0x10]
mov r8, qword [0x1400add70]
lea rbx, [rsp + 0x38]
mov rcx, rbx
call fcn.140010b20
mov rcx, rbx
call fcn.1400629e0
mov rdx, qword [rsp + 0x38]
xor eax, eax
test rdx, rdx
je 0x1400664ba
mov rax, qword [rdx]
shl rax, 2
mov r10, qword [rsi + 8]
mov rcx, qword [rsi]
lea r9, [rdx + 0x10]
mov qword [rsp + 0x20], rax
mov r8d, 4
mov rdx, r10
call fcn.140064b80
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rax, qword [str._L_f_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007060
jmp 0x14006645d
mov rax, qword [str._L_f_]
lea rcx, [rax + 0x18]
call fcn.140007060
jmp 0x14006643a
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov edx, 2
mov qword [rsp + 0x28], 0
mov r12, rcx
xor ecx, ecx
call fcn.14000c960
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.14000c960
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 [r12]
call fcn.140002030
mov rbx, rax
test rax, rax
je 0x14006679c
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x28]
call fcn.14000c960
lea rdx, [rbx + 0x10]
mov qword [rsp + 0x28], rax
mov rsi, rax
mov rax, qword [rax]
lea rcx, [rsi + rax + 0x10]
mov rax, qword [rbx]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbx]
add qword [rsi], rax
mov rcx, qword [rsp + 0x28]
mov edx, 1
call fcn.14000c960
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 [r12 + 8]
call fcn.140002030
mov rbx, rax
test rax, rax
je 0x1400667b5
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x28]
call fcn.14000c960
lea rdx, [rbx + 0x10]
mov qword [rsp + 0x28], rax
mov rsi, rax
mov rax, qword [rax]
lea rcx, [rsi + rax + 0x10]
mov rax, qword [rbx]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbx]
add qword [rsi], rax
mov rcx, qword [rsp + 0x28]
mov edx, 1
call fcn.14000c960
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.14000c960
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.14000c960
mov r8d, 0xa
mov qword [rsp + 0x28], rax
mov rdx, qword [rax]
mov word [rax + rdx + 0x10], r8w
add qword [rax], 1
mov rdx, qword [r12 + 8]
test rdx, rdx
jle 0x140066771
mov rax, qword [r12]
xor esi, esi
lea rbx, [rsp + 0x28]
nop word [rax + rax]
test rax, rax
jle 0x140066768
xor edi, edi
jmp 0x140066754
imul rax, rsi
mov rdx, qword [r12 + 0x10]
lea rax, [rdi + rax + 4]
mov edx, dword [rdx + rax*4]
mov ebp, edx
movsx eax, dh
movsx edx, dl
shr ebp, 0x10
mov r13d, eax
movsx ebp, bpl
mov rcx, qword [rsp + 0x28]
add rdi, 1
call fcn.14000c6a0
mov rcx, rbx
mov rdx, rax
call fcn.140008d20
mov rcx, qword [rsp + 0x28]
mov edx, r13d
call fcn.14000c6a0
mov rcx, rbx
mov rdx, rax
call fcn.140008d20
mov rcx, qword [rsp + 0x28]
mov edx, ebp
call fcn.14000c6a0
mov rcx, rbx
mov rdx, rax
call fcn.140008d20
mov rax, qword [r12]
cmp rdi, rax
jge 0x140066788
cmp rsi, qword [r12 + 8]
jl 0x1400666e0
xor edx, edx
xor r13d, r13d
xor ebp, ebp
jmp 0x140066703
add rsi, 1
cmp rdx, rsi
jg 0x140066768
mov rax, qword [rsp + 0x28]
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov rdx, qword [r12 + 8]
add rsi, 1
cmp rsi, rdx
jl 0x1400666d0
jmp 0x140066771
mov rcx, qword [rsp + 0x28]
xor edx, edx
call fcn.14000c960
mov qword [rsp + 0x28], rax
mov rcx, rax
jmp 0x1400665d7
mov rcx, qword [rsp + 0x28]
xor edx, edx
call fcn.14000c960
mov qword [rsp + 0x28], rax
mov rcx, rax
jmp 0x140066647
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 rbp, rcx
jo 0x140067077
mov edx, 0xffffffff
cmp rax, rdx
jg 0x140066ee8
mov rax, qword [rbp + 0x20]
mov ebx, 0x16
test rax, rax
je 0x140066896
imul rbx, qword [rax], 3
jo 0x140067095
add rbx, 0x16
jo 0x14006708b
test rbx, rbx
js 0x140066ce8
mov rcx, rbx
mov edi, 4
call fcn.14000bcd0
mov edx, 4
mov rcx, rax
mov qword [rsp + 0x78], rax
call fcn.14000c960
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 [rbp]
mov rcx, qword [rsp + 0x78]
bswap esi
test rcx, rcx
je 0x1400668fe
mov rbx, qword [rcx]
add rbx, 4
mov rdi, rbx
jo 0x140066c88
test rbx, rbx
js 0x140066c96
mov rcx, qword [rsp + 0x78]
mov rdx, rdi
lea r14, [rsp + 0x78]
call fcn.14000c400
mov rcx, r14
mov rdx, rax
call fcn.140008d20
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x140066fc0
mov rbx, qword [rax]
xor edx, edx
sub rbx, 4
seto dl
mov r12, rbx
lea rdi, [rbx + 0x10]
test rdx, rdx
jne 0x140066c60
test rbx, rbx
js 0x140066cb5
mov rdx, qword [rax]
cmp rbx, rdx
jge 0x140066cb8
mov dword [rax + rbx + 0x10], esi
mov rsi, qword [rbp + 8]
bswap esi
mov rbx, qword [rax]
add rbx, 4
mov rdi, rbx
jno 0x140066970
call fcn.140008dc0
test rbx, rbx
jns 0x140066989
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call fcn.14000d320
mov rcx, qword [rsp + 0x78]
mov rdx, rdi
call fcn.14000c400
mov rcx, r14
mov rdx, rax
call fcn.140008d20
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140066fa8
mov rbx, qword [rcx]
xor eax, eax
sub rbx, 4
seto al
mov r12, rbx
lea rdi, [rbx + 0x10]
test rax, rax
jne 0x140066eb0
test rbx, rbx
js 0x140066ecc
mov rdx, qword [rcx]
cmp rbx, rdx
jge 0x140066ecf
mov dword [rcx + rdi], esi
movsx edx, byte [rbp + 0x10]
lea rdi, [rsp + 0x80]
call fcn.14000c6a0
mov rcx, r14
mov rdx, rax
call fcn.140008d20
movsx edx, byte [rbp + 0x18]
mov rcx, qword [rsp + 0x78]
call fcn.14000c6a0
mov rcx, r14
mov rdx, rax
call fcn.140008d20
xor eax, eax
mov ecx, 0x20
mov qword [rsp + 0x68], rdi
rep stosq qword [rdi], rax
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x140066e30
mov r15, qword [rax]
test r15, r15
jle 0x140066e30
mov r13d, dword [0x1400a7290]
xor esi, esi
xor ebx, ebx
jmp 0x140066bda
test bl, bl
je 0x140066a74
lea edx, [rbx - 1]
mov rcx, qword [rsp + 0x78]
mov ebx, edx
or ebx, 0xffffffc0
movsx edx, bl
call fcn.14000c6a0
mov rcx, r14
mov rdx, rax
call fcn.140008d20
mov ebx, edi
mov edx, edi
movzx r10d, dil
mov ecx, edi
movzx eax, bh
shr edx, 0x10
lea r8, [r10 + r10*2]
mov qword [rsp + 0x50], r10
movzx r11d, al
movzx r9d, dl
mov byte [rsp + 0x63], al
shr ecx, 0x18
lea rax, [r11 + r11*4]
mov dword [rsp + 0x64], edx
add r8, rax
lea rax, [r9*8]
mov dword [rsp + 0x5c], ecx
sub rax, r9
mov qword [rsp + 0x48], r11
add r8, rax
movzx eax, cl
mov qword [rsp + 0x40], r9
lea rdx, [rax + rax*4]
lea rax, [rax + rdx*2]
mov edx, r12d
add r8, rax
and r8d, 0x3f
mov ecx, dword [rsp + r8*4 + 0x80]
mov qword [rsp + 0x38], r8
call fcn.140012700
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
test al, al
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
jne 0x140066e20
mov rax, qword [rsp + 0x68]
mov r12d, dword [rsp + 0x5c]
mov dword [rax + r8*4], edi
mov eax, r13d
mov rcx, qword [rsp + 0x78]
shr eax, 0x18
cmp r12b, al
je 0x140066d30
mov edx, 0xffffffff
call fcn.14000c6a0
mov rcx, r14
mov rdx, rax
call fcn.140008d20
mov rcx, qword [rsp + 0x78]
movsx edx, dil
call fcn.14000c6a0
mov rcx, r14
mov rdx, rax
call fcn.140008d20
movsx edx, byte [rsp + 0x63]
mov rcx, qword [rsp + 0x78]
call fcn.14000c6a0
mov rcx, r14
mov rdx, rax
call fcn.140008d20
movsx edx, byte [rsp + 0x64]
mov rcx, qword [rsp + 0x78]
call fcn.14000c6a0
mov rcx, r14
mov rdx, rax
call fcn.140008d20
movsx edx, r12b
mov rcx, qword [rsp + 0x78]
call fcn.14000c6a0
mov rcx, r14
mov rdx, rax
call fcn.140008d20
mov rax, qword [rbp + 0x20]
mov r13d, edi
test rax, rax
je 0x140066c55
mov rax, qword [rax]
xor ebx, ebx
cmp rax, r15
je 0x140066bc9
lea rcx, [0x1400a71e0]
call fcn.140001d60
add rsi, 1
cmp rsi, r15
je 0x140066e30
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x140066d20
mov rdx, qword [rax]
cmp rsi, rdx
jge 0x140066d08
mov edi, dword [rax + rsi*4 + 0x10]
mov edx, r13d
mov ecx, edi
mov r12d, edi
call fcn.140012700
test al, al
je 0x140066a50
lea edx, [rbx + 1]
cmp bl, 0x3d
je 0x140066c2d
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x140066ea0
mov rax, qword [rax]
lea rcx, [rax - 1]
cmp rsi, rcx
jne 0x140066e90
mov rcx, qword [rsp + 0x78]
or ebx, 0xffffffc0
movsx edx, bl
call fcn.14000c6a0
mov rcx, r14
mov rdx, rax
call fcn.140008d20
mov rax, qword [rbp + 0x20]
test rax, rax
jne 0x140066bb3
xor ebx, ebx
jmp 0x140066bbd
call fcn.140008dc0
mov rax, qword [rsp + 0x78]
test rbx, rbx
js 0x140066cb0
test rax, rax
jne 0x140066949
mov rdx, 0xffffffffffffffff
jmp 0x140066cbc
call fcn.140008dc0
test rbx, rbx
jns 0x1400668f9
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call fcn.14000d320
jmp 0x1400668f9
test rax, rax
je 0x140066c78
mov rdx, qword [rax]
sub rdx, 1
mov rcx, r12
call fcn.14000d4c0
mov rax, qword [rsp + 0x78]
mov dword [rax + rdi], esi
mov rsi, qword [rbp + 8]
mov edi, 4
bswap esi
test rax, rax
je 0x140066989
jmp 0x14006695f
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call fcn.14000d320
jmp 0x140066896
sub rdx, 1
mov rcx, rsi
call fcn.14000d4c0
mov rax, qword [rbp + 0x20]
jmp 0x140066bef
mov rdx, 0xffffffffffffffff
jmp 0x140066d0c
movzx eax, r13b
sub r10, rax
mov eax, r13d
shr r13d, 0x10
movzx eax, ah
movzx r13d, r13b
movzx eax, al
sub r11, rax
mov rax, r9
sub rax, r13
mov r13, r10
sub r13, r11
cmp r10, 0xfffffffffffffffe
jl 0x140066d90
cmp r10, 1
jg 0x140066d90
cmp r11, 0xfffffffffffffffe
jl 0x140066d90
cmp rax, 0xfffffffffffffffe
setge r8b
cmp r11, 1
setle dl
test r8b, dl
je 0x140066d90
cmp rax, 1
jle 0x140066fe0
nop word [rax + rax]
cmp r13, 0xfffffffffffffff8
jl 0x140066dc6
sub rax, r11
cmp r11, 0x1f
setle dl
cmp r11, 0xffffffffffffffe0
setge r8b
and edx, r8d
cmp r13, 7
setle r8b
test dl, r8b
je 0x140066dc6
lea r12, [rax + 8]
cmp r12, 0xf
jbe 0x140067048
mov edx, 0xfffffffe
call fcn.14000c6a0
mov rcx, r14
mov rdx, rax
call fcn.140008d20
mov rcx, qword [rsp + 0x78]
movsx edx, bl
call fcn.14000c6a0
mov rcx, r14
mov rdx, rax
call fcn.140008d20
movsx edx, byte [rsp + 0x63]
mov rcx, qword [rsp + 0x78]
call fcn.14000c6a0
mov rcx, r14
mov rdx, rax
call fcn.140008d20
movsx edx, byte [rsp + 0x64]
jmp 0x140066b8e
mov edx, r8d
jmp 0x140066b8e
mov ebx, 7
nop dword [rax]
mov rcx, qword [rsp + 0x78]
xor edx, edx
call fcn.14000c6a0
mov rcx, r14
mov rdx, rax
call fcn.140008d20
sub rbx, 1
jne 0x140066e38
mov rcx, qword [rsp + 0x78]
mov edx, 1
call fcn.14000c6a0
mov rcx, r14
mov rdx, rax
call fcn.140008d20
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
mov ebx, edx
jmp 0x140066bb8
mov ebx, edx
jmp 0x140066bbd
call fcn.140008dc0
mov rcx, qword [rsp + 0x78]
test rbx, rbx
jns 0x140067018
test rcx, rcx
je 0x140067021
mov rdx, qword [rcx]
sub rdx, 1
mov rcx, r12
call fcn.14000d4c0
mov rcx, qword [rsp + 0x78]
jmp 0x1400669e0
mov rcx, qword [0x1400adcb0]
mov edx, 0x30
lea rdi, [0x1400a7180]
call fcn.14000ba90
lea rcx, [0x1400a7260]
mov rbx, rax
mov rax, qword [0x1400adb70]
mov qword [rbx + 0x10], rdi
mov rsi, qword [rbx + 0x18]
mov qword [rbx], rax
call fcn.14000b140
mov qword [rbx + 0x18], rax
test rsi, rsi
je 0x140066f44
mov rax, qword [rsi - 0x10]
lea rdx, [rsi - 0x10]
sub rax, 8
mov qword [rsi - 0x10], rax
cmp rax, 7
jbe 0x140067030
mov rax, qword [rbx + 8]
test rax, rax
je 0x140066f76
mov rsi, qword [rax - 0x10]
lea rcx, [rax - 0x10]
lea rdx, [rsi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140066f76
mov rax, qword [str._L_f_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007060
mov qword [rbx + 8], 0
lea r9, str.qoi.nim
mov rdx, rdi
mov rcx, rbx
mov qword [rsp + 0x20], 0x98
lea r8, str.encodeQoi
call fcn.14000d1d0
jmp 0x14006686b
mov edi, 0xc
mov r12, 0xfffffffffffffffc
mov rdx, 0xffffffffffffffff
jmp 0x140066ed3
mov r12, 0xfffffffffffffffc
mov edi, 0xc
mov rdx, 0xffffffffffffffff
jmp 0x140066cbc
lea rdx, [r10 + 2]
lea r8, [r11*4 + 8]
add rax, 2
shl rdx, 4
or edx, r8d
or edx, eax
or edx, 0x40
movsx edx, dl
call fcn.14000c6a0
mov rcx, r14
mov rdx, rax
call fcn.140008d20
jmp 0x140066ba3
test rcx, rcx
jne 0x1400669d4
mov rdx, 0xffffffffffffffff
jmp 0x140066ed3
mov rax, qword [str._L_f_]
lea rcx, [rax + 0x18]
call fcn.140007060
jmp 0x140066f44
add r11, 0x20
or r11d, 0xffffff80
movsx edx, r11b
call fcn.14000c6a0
mov rcx, r14
mov rdx, rax
call fcn.140008d20
lea rdx, [r13 + 8]
shl rdx, 4
or edx, r12d
movsx edx, dl
jmp 0x140066b8e
mov qword [rsp + 0x38], rax
call fcn.140008dc0
mov rax, qword [rsp + 0x38]
jmp 0x14006685d
call fcn.140008dc0
jmp 0x14006688d
call fcn.140008dc0
jmp 0x140066883
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov edx, 0x28
xor esi, esi
mov rdi, rcx
lea rcx, [0x1400d2f60]
call fcn.14000ba90
mov rbx, rax
mov rax, qword [rdi]
mov qword [rbx], rax
mov rax, qword [rdi + 8]
mov qword [rbx + 0x10], 4
mov qword [rbx + 8], rax
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1400670ec
mov rsi, qword [rax]
test rsi, rsi
js 0x140067268
mov rcx, qword [rbx + 0x20]
mov r8, rsi
lea rdx, [0x1400d2fa0]
lea rbp, [rbx + 0x20]
call fcn.1400119c0
mov rsi, rax
test rax, rax
je 0x140067220
add qword [rax - 0x10], 8
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x140067137
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
jbe 0x1400671c0
mov qword [rbx + 0x20], rsi
mov rdx, qword [rsi]
test rdx, rdx
jle 0x140067210
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x1400671a0
mov r8, qword [rdx]
lea rdx, [r8 - 1]
test r8, r8
jle 0x1400671a7
imul rsi, r8, 4
jo 0x140067281
test rsi, rsi
js 0x1400671e8
mov rdx, qword [rdi + 0x10]
mov r8, rsi
mov rax, qword [rbx + 0x20]
add rdx, 0x10
lea rcx, [rax + 0x10]
call sub.msvcrt.dll_memcpy
mov rcx, rbp
call fcn.140062aa0
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp 0x140066830
mov rdx, 0xffffffffffffffff
xor ecx, ecx
call fcn.14000d4c0
mov rdx, qword [rdi + 0x10]
xor r8d, r8d
test rdx, rdx
je 0x140067172
mov r8, qword [rdx]
jmp 0x14006715c
mov rax, qword [str._L_f_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007060
mov qword [rbx + 0x20], rsi
mov rdx, qword [rsi]
test rdx, rdx
jg 0x140067147
jmp 0x140067210
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rsi
call fcn.14000d320
mov rdx, qword [rdi + 0x10]
mov r8, rsi
jmp 0x140067172
sub rdx, 1
xor ecx, ecx
call fcn.14000d4c0
jmp 0x140067147
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x14006725a
mov rsi, qword [rax - 0x10]
lea rcx, [rax - 0x10]
lea rdx, [rsi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140067252
mov rax, qword [str._L_f_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007060
mov qword [rbx + 0x20], 0
mov rdx, 0xffffffffffffffff
jmp 0x140067214
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rsi
call fcn.14000d320
jmp 0x1400670ec
call fcn.140008dc0
jmp 0x140067166
push rdi
push rsi
push rbx
sub rsp, 0x30
cmp dl, 5
ja case.default.0x140067571
lea r8, [0x1400a7324]
movzx edx, dl
movsxd rax, dword [r8 + rdx*4]
add rax, r8
jmp rax
mov rcx, qword [0x1400adcb0]
mov edx, 0x30
lea rsi, str.PixieError
call fcn.14000ba90
lea rcx, [0x1400a7340]
mov rbx, rax
mov rax, qword [0x1400adb70]
mov qword [rbx + 0x10], rsi
mov rdi, qword [rbx + 0x18]
mov qword [rbx], rax
call fcn.14000b140
mov qword [rbx + 0x18], rax
test rdi, rdi
je 0x1400675e0
mov rax, qword [rdi - 0x10]
lea rdx, [rdi - 0x10]
sub rax, 8
mov qword [rdi - 0x10], rax
cmp rax, 7
ja 0x1400675e0
mov rax, qword [str._L_f_]
lea rcx, [rax + 0x18]
call fcn.140007060
mov rax, qword [rbx + 8]
test rax, rax
je 0x140067612
mov rdi, qword [rax - 0x10]
lea rcx, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140067612
mov rax, qword [str._L_f_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007060
mov qword [rbx + 8], 0
mov qword [rsp + 0x20], 0x52
lea r9, str.pixie.nim
lea r8, str.encodeImage
mov rdx, rsi
mov rcx, rbx
call fcn.14000d1d0
xor eax, eax
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret
add rsp, 0x30
pop rbx
pop rsi
pop rdi
jmp 0x1400670a0
add rsp, 0x30
pop rbx
pop rsi
pop rdi
jmp 0x140066520
add rsp, 0x30
pop rbx
pop rsi
pop rdi
jmp 0x1400663c0
add rsp, 0x30
pop rbx
pop rsi
pop rdi
jmp 0x140064260
mov rcx, qword [0x1400adcb0]
mov edx, 0x30
lea rsi, str.PixieError
call fcn.14000ba90
lea rcx, [0x1400a7340]
mov rbx, rax
mov rax, qword [0x1400adb70]
mov qword [rbx + 0x10], rsi
mov rdi, qword [rbx + 0x18]
mov qword [rbx], rax
call fcn.14000b140
mov qword [rbx + 0x18], rax
test rdi, rdi
je 0x1400676f8
mov rax, qword [rdi - 0x10]
lea rdx, [rdi - 0x10]
sub rax, 8
mov qword [rdi - 0x10], rax
cmp rax, 7
ja 0x1400676f8
mov rax, qword [str._L_f_]
lea rcx, [rax + 0x18]
call fcn.140007060
mov rax, qword [rbx + 8]
test rax, rax
je 0x14006772a
mov rdi, qword [rax - 0x10]
lea rcx, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14006772a
mov rax, qword [str._L_f_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007060
mov qword [rbx + 8], 0
mov qword [rsp + 0x20], 0x58
jmp 0x140067623