Function at 0x140065580
Capabilities:
Encode data using base64

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
mov edx, 2
mov qword [rsp + 0x28], 0
mov rsi, rcx
xor ecx, ecx
call fcn.14000ccf0
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 rdx, qword [rsp + 0x28]
xor eax, eax
test rdx, rdx
je 0x140062f30
mov rax, qword [rdx]
add rax, 4
mov rbx, rax
jo 0x140063421
test rbx, rbx
js 0x1400633a8
mov rcx, qword [rsp + 0x28]
mov rdx, rbx
lea rdi, [rsp + 0x28]
call fcn.14000c790
mov rcx, rdi
mov rdx, rax
call fcn.140009090
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x140063328
mov rbx, qword [rcx]
sub rbx, 4
mov rbp, rbx
jo 0x140063170
lea r12, [rbx + 0x10]
test rbx, rbx
js 0x14006319d
mov rdx, qword [rcx]
cmp rdx, rbx
jle 0x1400631a0
mov dword [rcx + r12], 0
mov rax, qword [rcx]
add rax, 2
mov rbx, rax
jo 0x14006340d
test rbx, rbx
js 0x140063348
mov rcx, qword [rsp + 0x28]
mov rdx, rbx
call fcn.14000c790
mov rcx, rdi
mov rdx, rax
call fcn.140009090
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x140063308
mov rbx, qword [rcx]
sub rbx, 2
mov rbp, rbx
jo 0x140063258
lea r12, [rbx + 0x10]
test rbx, rbx
js 0x140063278
mov rdx, qword [rcx]
cmp rdx, rbx
jle 0x14006327b
xor eax, eax
mov word [rcx + r12], ax
mov rax, qword [rcx]
add rax, 2
mov rbx, rax
jo 0x140063417
test rbx, rbx
js 0x140063388
mov rcx, qword [rsp + 0x28]
mov rdx, rbx
call fcn.14000c790
mov rcx, rdi
mov rdx, rax
call fcn.140009090
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x1400632e8
mov rbx, qword [rcx]
sub rbx, 2
mov rbp, rbx
jo 0x140063208
lea r12, [rbx + 0x10]
test rbx, rbx
js 0x140063228
mov rdx, qword [rcx]
cmp rdx, rbx
jle 0x14006322b
xor edx, edx
mov word [rcx + r12], dx
mov rax, qword [rcx]
add rax, 4
mov rbx, rax
jo 0x14006342b
test rbx, rbx
js 0x140063368
mov rcx, qword [rsp + 0x28]
mov rdx, rbx
call fcn.14000c790
mov rcx, rdi
mov rdx, rax
call fcn.140009090
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400632d0
mov rbx, qword [rax]
sub rbx, 4
mov rdi, rbx
jo 0x1400631d0
test rbx, rbx
js 0x1400631ec
mov rdx, qword [rax]
cmp rdx, rbx
jle 0x1400631ef
mov dword [rax + rdi + 0x10], 0x96
mov rcx, rsi
call fcn.140061800
mov rbx, rax
test rax, rax
je 0x1400632a8
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x28]
call fcn.14000ccf0
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 0x1400632c2
mov rdx, qword [rax]
mov ebx, edx
cmp rdx, 2
jg 0x14006315f
sub rdx, 1
mov ecx, 2
call fcn.14000d9c0
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.140009130
lea r12, [rbx + 0x10]
mov rcx, qword [rsp + 0x28]
test rbx, rbx
js 0x140063198
test rcx, rcx
jne 0x140062f8e
mov rdx, 0xffffffffffffffff
jmp 0x1400631a4
test rcx, rcx
je 0x14006318c
mov rdx, qword [rcx]
sub rdx, 1
mov rcx, rbp
call fcn.14000d9c0
mov rcx, qword [rsp + 0x28]
xor eax, eax
mov dword [rcx + r12], 0
test rcx, rcx
jne 0x140062fa2
jmp 0x140062fa5
call fcn.140009130
mov rax, qword [rsp + 0x28]
test rbx, rbx
jns 0x1400633c8
test rax, rax
je 0x1400633d1
mov rdx, qword [rax]
sub rdx, 1
mov rcx, rdi
call fcn.14000d9c0
mov rax, qword [rsp + 0x28]
jmp 0x1400630e4
call fcn.140009130
lea r12, [rbx + 0x10]
mov rcx, qword [rsp + 0x28]
test rbx, rbx
jns 0x1400633f8
test rcx, rcx
je 0x140063401
mov rdx, qword [rcx]
sub rdx, 1
mov rcx, rbp
call fcn.14000d9c0
mov rcx, qword [rsp + 0x28]
xor r8d, r8d
xor eax, eax
mov word [rcx + r12], r8w
test rcx, rcx
jne 0x140063080
jmp 0x140063083
call fcn.140009130
lea r12, [rbx + 0x10]
mov rcx, qword [rsp + 0x28]
test rbx, rbx
jns 0x1400633e0
test rcx, rcx
je 0x1400633e9
mov rdx, qword [rcx]
sub rdx, 1
mov rcx, rbp
call fcn.14000d9c0
mov rcx, qword [rsp + 0x28]
xor r9d, r9d
xor eax, eax
mov word [rcx + r12], r9w
test rcx, rcx
jne 0x140063011
jmp 0x140063014
mov rcx, qword [rsp + 0x28]
xor edx, edx
call fcn.14000ccf0
mov qword [rsp + 0x28], rax
test rax, rax
jne 0x140063141
xor ebx, ebx
mov rdx, 0xffffffffffffffff
jmp 0x140063150
mov rdi, 0xfffffffffffffffc
mov rdx, 0xffffffffffffffff
jmp 0x1400631f3
mov r12d, 0xe
mov rbp, 0xfffffffffffffffe
mov rdx, 0xffffffffffffffff
jmp 0x14006322f
mov r12d, 0xe
mov rbp, 0xfffffffffffffffe
mov rdx, 0xffffffffffffffff
jmp 0x14006327f
mov r12d, 0xc
mov rbp, 0xfffffffffffffffc
mov rdx, 0xffffffffffffffff
jmp 0x1400631a4
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call fcn.14000d820
jmp 0x140062fbb
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call fcn.14000d820
jmp 0x140063099
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call fcn.14000d820
jmp 0x14006302a
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call fcn.14000d820
jmp 0x140062f46
test rax, rax
jne 0x1400630d8
mov rdx, 0xffffffffffffffff
jmp 0x1400631f3
test rcx, rcx
jne 0x140062ffe
mov rdx, 0xffffffffffffffff
jmp 0x14006327f
test rcx, rcx
jne 0x14006306d
mov rdx, 0xffffffffffffffff
jmp 0x14006322f
call fcn.140009130
jmp 0x140062fb2
call fcn.140009130
jmp 0x140063021
call fcn.140009130
jmp 0x140062f3d
call fcn.140009130
jmp 0x140063090
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rdx, qword [rcx + 0x10]
mov rsi, rcx
test rdx, rdx
je 0x1400650de
cmp qword [rdx], 0
jne 0x14006518b
mov rcx, qword [0x14009c4c0]
mov edx, 0x30
lea rbp, [0x140098460]
call fcn.14000be20
lea rcx, [0x140098620]
mov rbx, rax
mov rax, qword [0x14009c380]
mov qword [rbx + 0x10], rbp
mov rdi, qword [rbx + 0x18]
mov qword [rbx], rax
call fcn.14000b4d0
mov qword [rbx + 0x18], rax
test rdi, rdi
je 0x14006513a
mov rax, qword [rdi - 0x10]
lea rdx, [rdi - 0x10]
sub rax, 8
mov qword [rdi - 0x10], rax
cmp rax, 7
jbe 0x140065200
mov rax, qword [rbx + 8]
test rax, rax
je 0x14006515d
mov rdi, qword [rax - 0x10]
lea rcx, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
jbe 0x1400651e8
mov qword [rbx + 8], 0
mov rdx, rbp
mov rcx, rbx
lea r9, str.png.nim
mov qword [rsp + 0x20], 0x28f
lea r8, str.encodePng
call fcn.14000d6d0
mov rdx, qword [rsi + 0x10]
mov r8, qword [str.__r_f_]
lea rbx, [rsp + 0x38]
mov rcx, rbx
call fcn.140010dd0
mov rcx, rbx
call fcn.1400615f0
mov rdx, qword [rsp + 0x38]
xor eax, eax
test rdx, rdx
je 0x1400651ba
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.140063800
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rax, qword [str.___v_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
jmp 0x14006515d
mov rax, qword [str.___v_]
lea rcx, [rax + 0x18]
call fcn.1400073d0
jmp 0x14006513a
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.14000ccf0
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.14000ccf0
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.140001f70
mov rbx, rax
test rax, rax
je 0x1400654da
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x28]
call fcn.14000ccf0
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.14000ccf0
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.140001f70
mov rbx, rax
test rax, rax
je 0x1400654c1
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x28]
call fcn.14000ccf0
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.14000ccf0
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.14000ccf0
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.14000ccf0
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 0x14006547a
mov rax, qword [r12]
xor esi, esi
lea rbx, [rsp + 0x28]
nop word [rax + rax]
test rax, rax
jle 0x140065490
xor edi, edi
jmp 0x140065454
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.14000ca30
mov rcx, rbx
mov rdx, rax
call fcn.140009090
mov rcx, qword [rsp + 0x28]
mov edx, r13d
call fcn.14000ca30
mov rcx, rbx
mov rdx, rax
call fcn.140009090
mov rcx, qword [rsp + 0x28]
mov edx, ebp
call fcn.14000ca30
mov rcx, rbx
mov rdx, rax
call fcn.140009090
mov rax, qword [r12]
cmp rdi, rax
jge 0x140065468
cmp rsi, qword [r12 + 8]
jl 0x1400653e0
xor edx, edx
xor r13d, r13d
xor ebp, ebp
jmp 0x140065403
mov rdx, qword [r12 + 8]
add rsi, 1
cmp rsi, rdx
jl 0x1400653d0
mov rax, qword [rsp + 0x28]
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
lea rax, [rsi + 1]
cmp rdx, rax
jle 0x14006547a
mov rcx, rdx
sub rcx, rax
and ecx, 1
je 0x1400654ad
lea rax, [rsi + 2]
cmp rdx, rax
jle 0x14006547a
add rax, 2
cmp rdx, rax
jle 0x14006547a
add rax, 2
cmp rdx, rax
jg 0x1400654ad
jmp 0x14006547a
mov rcx, qword [rsp + 0x28]
xor edx, edx
call fcn.14000ccf0
mov qword [rsp + 0x28], rax
mov rcx, rax
jmp 0x140065347
mov rcx, qword [rsp + 0x28]
xor edx, edx
call fcn.14000ccf0
mov qword [rsp + 0x28], rax
mov rcx, rax
jmp 0x1400652d7
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 0x140065eab
mov edx, 0xffffffff
cmp rax, rdx
jg 0x140065c58
mov rax, qword [rbp + 0x20]
xor ecx, ecx
test rax, rax
je 0x1400655c9
mov rcx, qword [rax]
imul rcx, rcx, 3
jo 0x140065e97
add rcx, 0x16
jo 0x140065ec9
test rcx, rcx
js 0x140065d68
call fcn.14000c060
mov edx, 4
mov rcx, rax
mov qword [rsp + 0x78], rax
call fcn.14000ccf0
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]
xor eax, eax
mov rdx, qword [rsp + 0x78]
bswap esi
test rdx, rdx
je 0x14006562d
mov rax, qword [rdx]
add rax, 4
mov rbx, rax
jo 0x140065ebf
test rbx, rbx
js 0x140065d48
mov rcx, qword [rsp + 0x78]
mov rdx, rbx
lea r15, [rsp + 0x78]
call fcn.14000c790
mov rcx, r15
mov rdx, rax
call fcn.140009090
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140065d30
mov rbx, qword [rcx]
sub rbx, 4
mov rdi, rbx
jo 0x1400659b8
test rbx, rbx
js 0x1400659e5
mov rdx, qword [rcx]
cmp rbx, rdx
jge 0x1400659e8
mov dword [rcx + rbx + 0x10], esi
mov rsi, qword [rbp + 8]
bswap esi
mov rax, qword [rcx]
add rax, 4
mov rbx, rax
jo 0x140065e8d
test rbx, rbx
js 0x140065d90
mov rcx, qword [rsp + 0x78]
mov rdx, rbx
call fcn.14000c790
mov rcx, r15
mov rdx, rax
call fcn.140009090
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140065d18
mov rbx, qword [rcx]
sub rbx, 4
mov rdi, rbx
jo 0x140065c20
test rbx, rbx
js 0x140065c3c
mov rdx, qword [rcx]
cmp rbx, rdx
jge 0x140065c3f
mov dword [rcx + rdi + 0x10], esi
movsx edx, byte [rbp + 0x10]
lea rdi, [rsp + 0x80]
call fcn.14000ca30
mov rcx, r15
mov rdx, rax
call fcn.140009090
movsx edx, byte [rbp + 0x18]
mov rcx, qword [rsp + 0x78]
call fcn.14000ca30
mov rcx, r15
mov rdx, rax
call fcn.140009090
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 0x140065ba5
mov r14, qword [rax]
test r14, r14
jle 0x140065ba5
mov qword [rsp + 0x38], r15
mov edi, dword [0x140098770]
xor esi, esi
xor ebx, ebx
jmp 0x14006592d
test bl, bl
je 0x1400657a6
lea edx, [rbx - 1]
mov rcx, qword [rsp + 0x78]
mov ebx, edx
or ebx, 0xffffffc0
movsx edx, bl
call fcn.14000ca30
mov rcx, qword [rsp + 0x38]
mov rdx, rax
call fcn.140009090
mov eax, r12d
mov ebx, r12d
movzx r10d, r12b
mov ecx, r12d
shr ebx, 0x10
movzx eax, ah
shr ecx, 0x18
mov r15d, r12d
mov dword [rsp + 0x48], eax
mov eax, r12d
movzx r11d, bl
movzx eax, ah
mov dword [rsp + 0x4c], ebx
lea rbx, [r10 + r10*2]
mov r9, rax
lea rax, [rax + rax*4]
mov dword [rsp + 0x44], ecx
add rbx, rax
lea rax, [r11*8]
sub rax, r11
add rbx, rax
movzx eax, cl
lea rdx, [rax + rax*4]
lea rax, [rax + rdx*2]
add rbx, rax
jo 0x140065e65
mov rax, rbx
mov qword [rsp + 0x60], r11
sar rax, 0x3f
mov qword [rsp + 0x58], r9
shr rax, 0x3a
mov qword [rsp + 0x50], r10
add rbx, rax
and ebx, 0x3f
sub rbx, rax
cmp rbx, 0x3f
ja 0x140065b40
mov ecx, dword [rsp + rbx*4 + 0x80]
mov edx, r13d
call fcn.140012d80
mov r10, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
test al, al
mov r11, qword [rsp + 0x60]
jne 0x140065b20
mov rax, qword [rsp + 0x68]
mov dword [rax + rbx*4], r12d
mov eax, edi
mov ebx, dword [rsp + 0x44]
shr eax, 0x18
mov rcx, qword [rsp + 0x78]
cmp bl, al
je 0x140065a40
mov edx, 0xffffffff
call fcn.14000ca30
mov rdi, qword [rsp + 0x38]
mov rdx, rax
mov rcx, rdi
call fcn.140009090
mov rcx, qword [rsp + 0x78]
movsx edx, r15b
call fcn.14000ca30
mov rcx, rdi
mov rdx, rax
call fcn.140009090
movsx edx, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x78]
call fcn.14000ca30
mov rcx, rdi
mov rdx, rax
call fcn.140009090
movsx edx, byte [rsp + 0x4c]
mov rcx, qword [rsp + 0x78]
call fcn.14000ca30
mov rcx, rdi
mov rdx, rax
call fcn.140009090
movsx edx, bl
mov rcx, qword [rsp + 0x78]
call fcn.14000ca30
mov rcx, rdi
mov rdx, rax
call fcn.140009090
mov rax, qword [rbp + 0x20]
mov edi, r12d
test rax, rax
je 0x1400659ab
mov rax, qword [rax]
xor ebx, ebx
cmp r14, rax
je 0x14006591c
lea rcx, [0x1400986c0]
call fcn.140001cb0
add rsi, 1
cmp rsi, r14
je 0x140065ba0
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x140065a30
mov rdx, qword [rax]
cmp rdx, rsi
jle 0x140065a18
mov r12d, dword [rax + rsi*4 + 0x10]
mov edx, edi
mov ecx, r12d
mov r13d, r12d
call fcn.140012d80
test al, al
je 0x140065780
lea edx, [rbx + 1]
cmp bl, 0x3d
je 0x140065981
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x140065c10
mov rax, qword [rax]
lea rcx, [rax - 1]
cmp rcx, rsi
jne 0x140065c00
mov rcx, qword [rsp + 0x78]
or ebx, 0xffffffc0
movsx edx, bl
call fcn.14000ca30
mov rcx, qword [rsp + 0x38]
mov rdx, rax
call fcn.140009090
mov rax, qword [rbp + 0x20]
test rax, rax
jne 0x140065906
xor ebx, ebx
jmp 0x140065910
call fcn.140009130
mov rcx, qword [rsp + 0x78]
test rbx, rbx
js 0x1400659e0
test rcx, rcx
jne 0x140065687
mov rdx, 0xffffffffffffffff
jmp 0x1400659ec
test rcx, rcx
je 0x1400659d0
mov rdx, qword [rcx]
sub rdx, 1
mov rcx, rdi
call fcn.14000d9c0
mov rcx, qword [rsp + 0x78]
xor eax, eax
mov dword [rcx + rdi + 0x10], esi
mov rsi, qword [rbp + 8]
bswap esi
test rcx, rcx
je 0x1400656a0
jmp 0x14006569d
sub rdx, 1
mov rcx, rsi
call fcn.14000d9c0
mov rax, qword [rbp + 0x20]
jmp 0x140065942
mov rdx, 0xffffffffffffffff
jmp 0x140065a1c
movzx eax, dil
sub r10, rax
mov eax, edi
shr edi, 0x10
movzx edi, dil
movzx eax, ah
sub r11, rdi
sub r9, rax
mov rax, r10
add r10, 2
mov rbx, r11
sub rax, r9
sub rbx, r9
cmp r10, 3
setbe dl
cmp r9, 0xfffffffffffffffe
setge dil
and edi, edx
cmp r9, 1
setle dl
and edx, edi
cmp r11, 0xfffffffffffffffe
setge dil
test dl, dil
je 0x140065a9a
cmp r11, 1
jle 0x140065db0
cmp r9, 0xffffffffffffffe0
lea rdi, [rax + 8]
setge dl
cmp r9, 0x1f
setle r10b
and edx, r10d
cmp rdi, 0xf
setbe al
test dl, al
je 0x140065ac9
add rbx, 8
cmp rbx, 0xf
jbe 0x140065e20
mov edx, 0xfffffffe
call fcn.14000ca30
mov rdi, qword [rsp + 0x38]
mov rdx, rax
mov rcx, rdi
call fcn.140009090
mov rcx, qword [rsp + 0x78]
movsx edx, r15b
call fcn.14000ca30
mov rcx, rdi
mov rdx, rax
call fcn.140009090
movsx edx, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x78]
call fcn.14000ca30
mov rcx, rdi
mov rdx, rax
call fcn.140009090
movsx edx, byte [rsp + 0x4c]
jmp 0x1400658e1
mov rcx, qword [rsp + 0x78]
mov edx, ebx
call fcn.14000ca30
mov rcx, qword [rsp + 0x38]
mov rdx, rax
call fcn.140009090
jmp 0x1400658f6
mov edx, 0x3f
mov rcx, rbx
call fcn.14000d9c0
mov ecx, dword [rsp + rbx*4 + 0x80]
mov edx, r13d
call fcn.140012d80
mov r10, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
test al, al
mov r11, qword [rsp + 0x60]
jne 0x140065b20
mov edx, 0x3f
mov rcx, rbx
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x50], r10
call fcn.14000d9c0
mov r11, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x50]
jmp 0x140065858
mov r15, qword [rsp + 0x38]
mov ebx, 7
nop word [rax + rax]
mov rcx, qword [rsp + 0x78]
xor edx, edx
call fcn.14000ca30
mov rcx, r15
mov rdx, rax
call fcn.140009090
sub rbx, 1
jne 0x140065bb0
mov rcx, qword [rsp + 0x78]
mov edx, 1
call fcn.14000ca30
mov rcx, r15
mov rdx, rax
call fcn.140009090
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 0x14006590b
mov ebx, edx
jmp 0x140065910
call fcn.140009130
mov rcx, qword [rsp + 0x78]
test rbx, rbx
jns 0x140065df0
test rcx, rcx
je 0x140065df9
mov rdx, qword [rcx]
sub rdx, 1
mov rcx, rdi
call fcn.14000d9c0
mov rcx, qword [rsp + 0x78]
jmp 0x140065701
mov rcx, qword [0x14009c4c0]
mov edx, 0x30
lea rdi, [0x140098660]
call fcn.14000be20
lea rcx, [0x140098740]
mov rbx, rax
mov rax, qword [0x14009c380]
mov qword [rbx + 0x10], rdi
mov rsi, qword [rbx + 0x18]
mov qword [rbx], rax
call fcn.14000b4d0
mov qword [rbx + 0x18], rax
test rsi, rsi
je 0x140065cb4
mov rax, qword [rsi - 0x10]
lea rdx, [rsi - 0x10]
sub rax, 8
mov qword [rsi - 0x10], rax
cmp rax, 7
jbe 0x140065e08
mov rax, qword [rbx + 8]
test rax, rax
je 0x140065ce6
mov rsi, qword [rax - 0x10]
lea rcx, [rax - 0x10]
lea rdx, [rsi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140065ce6
mov rax, qword [str.___v_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
mov qword [rbx + 8], 0
lea r9, str.qoi.nim
mov rdx, rdi
mov rcx, rbx
mov qword [rsp + 0x20], 0xa0
lea r8, str.encodeQoi
call fcn.14000d6d0
jmp 0x1400655bb
mov rdi, 0xfffffffffffffffc
mov rdx, 0xffffffffffffffff
jmp 0x140065c43
mov rdi, 0xfffffffffffffffc
mov rdx, 0xffffffffffffffff
jmp 0x1400659ec
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call fcn.14000d820
jmp 0x140065643
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov qword [rsp + 0x38], rcx
call fcn.14000d820
mov rcx, qword [rsp + 0x38]
jmp 0x1400655e6
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call fcn.14000d820
jmp 0x1400656b6
shl r10d, 4
lea r9d, [r9*4 + 8]
add r11, 2
mov edx, r10d
or edx, r9d
or edx, r11d
or edx, 0x40
movsx edx, dl
call fcn.14000ca30
mov rcx, qword [rsp + 0x38]
mov rdx, rax
call fcn.140009090
jmp 0x1400658f6
test rcx, rcx
jne 0x1400656f5
mov rdx, 0xffffffffffffffff
jmp 0x140065c43
mov rax, qword [str.___v_]
lea rcx, [rax + 0x18]
call fcn.1400073d0
jmp 0x140065cb4
add r9, 0x20
or r9d, 0xffffff80
movsx edx, r9b
call fcn.14000ca30
mov r15, qword [rsp + 0x38]
mov rdx, rax
mov rcx, r15
call fcn.140009090
mov eax, edi
mov rcx, qword [rsp + 0x78]
shl eax, 4
or eax, ebx
movsx edx, al
call fcn.14000ca30
mov rcx, r15
mov rdx, rax
call fcn.140009090
jmp 0x1400658f6
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x50], r10
call fcn.140009130
mov r11, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x50]
jmp 0x140065805
call fcn.140009130
jmp 0x1400656ad
mov qword [rsp + 0x38], rcx
call fcn.140009130
mov rcx, qword [rsp + 0x38]
jmp 0x1400655d3
mov qword [rsp + 0x38], rax
call fcn.140009130
mov rax, qword [rsp + 0x38]
jmp 0x1400655ad
call fcn.140009130
jmp 0x14006563a
mov qword [rsp + 0x38], rcx
call fcn.140009130
mov rcx, qword [rsp + 0x38]
jmp 0x1400655dd
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov edx, 0x28
xor esi, esi
mov rdi, rcx
lea rcx, [0x1400c0f60]
call fcn.14000be20
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 0x140065f2c
mov rsi, qword [rax]
test rsi, rsi
js 0x1400660a0
mov rcx, qword [rbx + 0x20]
mov r8, rsi
lea rdx, [0x1400c0fa0]
lea rbp, [rbx + 0x20]
call fcn.140011cb0
mov rsi, rax
test rax, rax
je 0x140066058
add qword [rax - 0x10], 8
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x140065f77
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
jbe 0x140066000
mov qword [rbx + 0x20], rsi
mov rdx, qword [rsi]
test rdx, rdx
jle 0x140066023
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140065fe0
mov r8, qword [rax]
lea rdx, [r8 - 1]
test r8, r8
jle 0x140065fe7
imul rsi, r8, 4
jo 0x1400660b9
test rsi, rsi
js 0x140066038
mov rax, qword [rbx + 0x20]
mov rdx, qword [rdi + 0x10]
mov r8, rsi
add rdx, 0x10
lea rcx, [rax + 0x10]
call sub.msvcrt.dll_memcpy
mov rcx, rbp
call fcn.1400616b0
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp 0x140065580
mov rdx, 0xffffffffffffffff
xor ecx, ecx
call fcn.14000d9c0
mov rax, qword [rdi + 0x10]
xor r8d, r8d
test rax, rax
je 0x140065f9c
mov r8, qword [rax]
jmp 0x140065f9c
mov rax, qword [str.___v_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
mov qword [rbx + 0x20], rsi
mov rdx, qword [rsi]
test rdx, rdx
jg 0x140065f87
sub rdx, 1
xor ecx, ecx
call fcn.14000d9c0
jmp 0x140065f87
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rsi
call fcn.14000d820
jmp 0x140065faf
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x140066092
mov rsi, qword [rax - 0x10]
lea rcx, [rax - 0x10]
lea rdx, [rsi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14006608a
mov rax, qword [str.___v_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
mov qword [rbx + 0x20], 0
mov rdx, 0xffffffffffffffff
jmp 0x140066027
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rsi
call fcn.14000d820
jmp 0x140065f2c
call fcn.140009130
jmp 0x140065fa6
push rdi
push rsi
push rbx
sub rsp, 0x30
cmp dl, 5
ja case.default.0x1400663b1
lea r8, [0x1400987e4]
movzx edx, dl
movsxd rax, dword [r8 + rdx*4]
add rax, r8
jmp rax
mov rcx, qword [0x14009c4c0]
mov edx, 0x30
lea rsi, str.PixieError
call fcn.14000be20
lea rcx, [0x140098800]
mov rbx, rax
mov rax, qword [0x14009c380]
mov qword [rbx + 0x10], rsi
mov rdi, qword [rbx + 0x18]
mov qword [rbx], rax
call fcn.14000b4d0
mov qword [rbx + 0x18], rax
test rdi, rdi
je 0x140066420
mov rax, qword [rdi - 0x10]
lea rdx, [rdi - 0x10]
sub rax, 8
mov qword [rdi - 0x10], rax
cmp rax, 7
ja 0x140066420
mov rax, qword [str.___v_]
lea rcx, [rax + 0x18]
call fcn.1400073d0
mov rax, qword [rbx + 8]
test rax, rax
je 0x140066452
mov rdi, qword [rax - 0x10]
lea rcx, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140066452
mov rax, qword [str.___v_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
mov qword [rbx + 8], 0
mov qword [rsp + 0x20], 0x5e
lea r9, str.pixie.nim
lea r8, str.encodeImage
mov rdx, rsi
mov rcx, rbx
call fcn.14000d6d0
xor eax, eax
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret
add rsp, 0x30
pop rbx
pop rsi
pop rdi
jmp 0x140065ee0
add rsp, 0x30
pop rbx
pop rsi
pop rdi
jmp 0x140065220
add rsp, 0x30
pop rbx
pop rsi
pop rdi
jmp 0x1400650c0
add rsp, 0x30
pop rbx
pop rsi
pop rdi
jmp 0x140062ee0
mov rcx, qword [0x14009c4c0]
mov edx, 0x30
lea rsi, str.PixieError
call fcn.14000be20
lea rcx, [0x140098800]
mov rbx, rax
mov rax, qword [0x14009c380]
mov qword [rbx + 0x10], rsi
mov rdi, qword [rbx + 0x18]
mov qword [rbx], rax
call fcn.14000b4d0
mov qword [rbx + 0x18], rax
test rdi, rdi
je 0x140066538
mov rax, qword [rdi - 0x10]
lea rdx, [rdi - 0x10]
sub rax, 8
mov qword [rdi - 0x10], rax
cmp rax, 7
ja 0x140066538
mov rax, qword [str.___v_]
lea rcx, [rax + 0x18]
call fcn.1400073d0
mov rax, qword [rbx + 8]
test rax, rax
je 0x14006656a
mov rdi, qword [rax - 0x10]
lea rcx, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14006656a
mov rax, qword [str.___v_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
mov qword [rbx + 8], 0
mov qword [rsp + 0x20], 0x64
jmp 0x140066463