Function at 0x4675c0
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.0040b580
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 0x4644d5
mov rcx, qword [rcx]
add rcx, 4
mov r13, rcx
mov r14, rcx
jo 0x464790
mov rcx, qword [rsp + 0x28]
test r13, r13
js 0x4647a3
mov rdx, r14
lea r13, [rsp + 0x28]
call fcn.0040d0c0
mov rcx, r13
mov rdx, rax
call fcn.00409c90
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x464990
mov rbx, qword [rax]
sub rbx, 4
mov r15, rbx
jo 0x464730
lea r14, [rbx + 0x10]
test rbx, rbx
js 0x464851
mov rdx, qword [rax]
cmp rbx, rdx
jge 0x464854
mov dword [rax + r14], 0
mov rcx, qword [rax]
add rcx, 2
mov r14, rcx
mov r15, rcx
jno 0x464540
call fcn.00409d20
test r14, r14
jns 0x464559
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r14
call fcn.0040d5c0
mov rcx, qword [rsp + 0x28]
mov rdx, r15
call fcn.0040d0c0
mov rcx, r13
mov rdx, rax
call fcn.00409c90
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x464970
mov rbx, qword [rax]
sub rbx, 2
mov r15, rbx
jo 0x464900
lea r14, [rbx + 0x10]
test rbx, rbx
js 0x464811
mov rdx, qword [rax]
cmp rbx, rdx
jge 0x464814
xor edx, edx
mov word [rax + r14], dx
mov rcx, qword [rax]
add rcx, 2
mov r14, rcx
mov r15, rcx
jno 0x4645c3
call fcn.00409d20
test r14, r14
jns 0x4645dc
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r14
call fcn.0040d5c0
mov rcx, qword [rsp + 0x28]
mov rdx, r15
call fcn.0040d0c0
mov rcx, r13
mov rdx, rax
call fcn.00409c90
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x464930
mov rbx, qword [rax]
sub rbx, 2
mov r15, rbx
jo 0x4648a0
lea r14, [rbx + 0x10]
test rbx, rbx
js 0x4647d1
mov rdx, qword [rax]
cmp rbx, rdx
jge 0x4647d4
xor ecx, ecx
mov word [rax + r14], cx
mov rcx, qword [rax]
add rcx, 4
mov r14, rcx
mov r15, rcx
jno 0x464646
call fcn.00409d20
test r14, r14
jns 0x46465f
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r14
call fcn.0040d5c0
mov rcx, qword [rsp + 0x28]
mov rdx, r15
call fcn.0040d0c0
mov rcx, r13
mov rdx, rax
call fcn.00409c90
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x464950
mov rbx, qword [rax]
sub rbx, 4
mov r14, rbx
jo 0x4648d0
lea r13, [rbx + 0x10]
test rbx, rbx
js 0x464869
mov rdx, qword [rax]
cmp rbx, rdx
jge 0x46486c
mov dword [rax + r13], 0x96
mov rcx, r12
call fcn.00462d10
mov rbx, rax
test rax, rax
je 0x4649c0
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x28]
call fcn.0040b580
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 0x4649b0
mov rdx, qword [rax]
mov ebx, edx
cmp rdx, 2
jle 0x464888
mov dword [rax + 0x12], ebx
add rsp, 0x30
pop rbx
pop r12
pop r13
pop r14
pop r15
ret
call fcn.00409d20
lea r14, [rbx + 0x10]
mov rax, qword [rsp + 0x28]
test rbx, rbx
js 0x464848
mov rdx, 0xffffffffffffffff
test rax, rax
jne 0x464518
nop word [rax + rax]
mov rcx, r15
mov r15d, 2
call fcn.0040d770
mov rax, qword [rsp + 0x28]
mov dword [rax + r14], 0
test rax, rax
jne 0x46452c
jmp 0x464559
call fcn.00409d20
mov rcx, qword [rsp + 0x28]
test r13, r13
jns 0x4644d5
movabs r8, 0x7fffffffffffffff
mov rcx, r13
xor edx, edx
call fcn.0040d5c0
mov rcx, qword [rsp + 0x28]
jmp 0x4644d5
test rax, rax
je 0x4649df
mov rdx, qword [rax]
sub rdx, 1
mov rcx, r15
mov r15d, 4
call fcn.0040d770
mov rax, qword [rsp + 0x28]
xor r8d, r8d
mov word [rax + r14], r8w
test rax, rax
jne 0x464632
jmp 0x46465f
test rax, rax
je 0x4649f1
mov rdx, qword [rax]
sub rdx, 1
mov rcx, r15
mov r15d, 2
call fcn.0040d770
mov rax, qword [rsp + 0x28]
xor r9d, r9d
mov word [rax + r14], r9w
test rax, rax
jne 0x4645af
jmp 0x4645dc
test rax, rax
je 0x4649d6
mov rdx, qword [rax]
sub rdx, 1
jmp 0x464760
test rax, rax
je 0x4649e8
mov rdx, qword [rax]
sub rdx, 1
mov rcx, r14
call fcn.0040d770
mov rax, qword [rsp + 0x28]
jmp 0x4646ae
sub rdx, 1
mov ecx, 2
call fcn.0040d770
mov rax, qword [rsp + 0x28]
jmp 0x46471b
call fcn.00409d20
lea r14, [rbx + 0x10]
mov rax, qword [rsp + 0x28]
test rbx, rbx
js 0x4647c8
mov rdx, 0xffffffffffffffff
test rax, rax
je 0x4647d8
jmp 0x46461f
call fcn.00409d20
lea r13, [rbx + 0x10]
mov rax, qword [rsp + 0x28]
test rbx, rbx
js 0x464860
mov rdx, 0xffffffffffffffff
test rax, rax
je 0x464870
jmp 0x4646a2
call fcn.00409d20
lea r14, [rbx + 0x10]
mov rax, qword [rsp + 0x28]
test rbx, rbx
js 0x464808
mov rdx, 0xffffffffffffffff
test rax, rax
je 0x464818
jmp 0x46459c
mov r14d, 0xe
mov r15, 0xfffffffffffffffe
mov rdx, 0xffffffffffffffff
jmp 0x4647d8
mov r14, 0xfffffffffffffffc
mov r13d, 0xc
mov rdx, 0xffffffffffffffff
jmp 0x464870
mov r15, 0xfffffffffffffffe
mov r14d, 0xe
mov rdx, 0xffffffffffffffff
jmp 0x464818
mov r15, 0xfffffffffffffffc
mov r14d, 0xc
mov rdx, 0xffffffffffffffff
jmp 0x464760
xor ebx, ebx
mov rdx, 0xffffffffffffffff
jmp 0x46488c
mov rcx, qword [rsp + 0x28]
xor edx, edx
call fcn.0040b580
mov qword [rsp + 0x28], rax
jmp 0x464703
or rdx, 0xffffffffffffffff
jmp 0x464760
or rdx, 0xffffffffffffffff
jmp 0x4647d8
or rdx, 0xffffffffffffffff
jmp 0x464870
or rdx, 0xffffffffffffffff
jmp 0x464818
push r12
push rsi
push rbx
sub rsp, 0x40
mov rdx, qword [rcx + 0x10]
mov rbx, rcx
test rdx, rdx
je 0x46682e
cmp qword [rdx], 0
jne 0x4668e5
mov rcx, qword [0x004a98f0]
mov edx, 0x30
call fcn.0040c390
lea rcx, [0x004a3160]
mov r12, rax
mov rax, qword [0x004a97b0]
mov rsi, qword [r12 + 0x18]
mov qword [r12], rax
lea rax, [0x004a2f80]
mov qword [r12 + 0x10], rax
call fcn.0040b370
mov qword [r12 + 0x18], rax
test rsi, rsi
je 0x46688e
mov rax, qword [rsi - 0x10]
lea rdx, [rsi - 0x10]
sub rax, 8
mov qword [rsi - 0x10], rax
cmp rax, 7
jbe 0x466960
mov rax, qword [r12 + 8]
test rax, rax
je 0x4668b2
mov rsi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rsi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
jbe 0x466940
mov qword [r12 + 8], 0
lea rdx, [0x004a2f80]
mov rcx, r12
lea r9, str.png.nim
mov qword [rsp + 0x20], 0x291
lea r8, str.encodePng
call fcn.0040d470
mov rdx, qword [rbx + 0x10]
mov r8, qword [0x004a99b0]
lea r12, [rsp + 0x38]
mov rcx, r12
call fcn.00411080
mov rcx, r12
call fcn.00462ae0
mov rdx, qword [rsp + 0x38]
xor eax, eax
test rdx, rdx
je 0x466914
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.00464e60
add rsp, 0x40
pop rbx
pop rsi
pop r12
ret
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
jmp 0x4668b2
mov rcx, qword [0x004a9e20]
add rcx, 0x18
call fcn.004079d0
jmp 0x46688e
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.0040b580
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.0040b580
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.004020f0
mov rbx, rax
test rax, rax
je 0x466c5d
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x28]
call fcn.0040b580
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.0040b580
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.004020f0
mov rbx, rax
test rax, rax
je 0x466c76
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x28]
call fcn.0040b580
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.0040b580
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.0040b580
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.0040b580
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 0x466c3c
xor edi, edi
lea rbx, [rsp + 0x28]
nop dword [rax]
mov rax, qword [rsi]
test rax, rax
jle 0x466c50
xor ebp, ebp
test rdi, rdi
jns 0x466bc5
jmp 0x466be0
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
mov dword [rsp + 0x24], edx
movsx edx, dl
shr r12d, 0x10
mov r13d, eax
movsx r12d, r12b
mov rcx, qword [rsp + 0x28]
add rbp, 1
call fcn.0040b680
mov rcx, rbx
mov rdx, rax
call fcn.00409c90
mov rcx, qword [rsp + 0x28]
mov edx, r13d
call fcn.0040b680
mov rcx, rbx
mov rdx, rax
call fcn.00409c90
mov rcx, qword [rsp + 0x28]
mov edx, r12d
call fcn.0040b680
mov rcx, rbx
mov rdx, rax
call fcn.00409c90
mov rax, qword [rsi]
cmp rax, rbp
jle 0x466c50
cmp rdi, qword [rsi + 8]
jl 0x466b48
xor edx, edx
xor r13d, r13d
xor r12d, r12d
jmp 0x466b70
mov rcx, qword [rsp + 0x28]
xor edx, edx
add rbp, 1
call fcn.0040b680
mov rcx, rbx
mov rdx, rax
call fcn.00409c90
mov rcx, qword [rsp + 0x28]
xor edx, edx
call fcn.0040b680
mov rcx, rbx
mov rdx, rax
call fcn.00409c90
mov rcx, qword [rsp + 0x28]
xor edx, edx
call fcn.0040b680
mov rcx, rbx
mov rdx, rax
call fcn.00409c90
cmp rbp, qword [rsi]
jl 0x466be0
add rdi, 1
cmp qword [rsi + 8], rdi
jg 0x466b28
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 0x466c32
call fcn.00409d20
jmp 0x466c32
mov rcx, qword [rsp + 0x28]
xor edx, edx
call fcn.0040b580
mov qword [rsp + 0x28], rax
mov rcx, rax
jmp 0x466a36
mov rcx, qword [rsp + 0x28]
xor edx, edx
call fcn.0040b580
mov qword [rsp + 0x28], rax
mov rcx, rax
jmp 0x466aa5
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x178
mov rax, qword [rcx]
imul rax, qword [rcx + 8]
mov qword [rsp + 0x68], 0
mov rbp, rcx
jo 0x46758c
mov edx, 0xffffffff
cmp rax, rdx
jg 0x467380
mov rax, qword [rbp + 0x20]
mov r13d, 0x16
test rax, rax
je 0x466d5a
imul r12, qword [rax], 3
jo 0x4675b2
add r12, 0x16
mov r13, r12
jo 0x467160
test r12, r12
js 0x467190
mov rcx, r13
mov r13d, 4
call fcn.0040c5d0
mov edx, 4
mov rcx, rax
mov qword [rsp + 0x68], rax
call fcn.0040b580
mov qword [rsp + 0x68], rax
mov rdx, qword [rax]
lea rdx, [rax + rdx + 0x10]
mov dword [rdx], 0x66696f71
mov byte [rdx + 4], 0
add qword [rax], 4
mov rcx, qword [rbp]
mov edx, ecx
mov ebx, ecx
shr ecx, 0x18
shr edx, 0x10
rol bx, 8
shl edx, 8
shl ebx, 0x10
or edx, ecx
mov rcx, qword [rsp + 0x68]
movzx eax, dx
or ebx, eax
test rcx, rcx
je 0x466ddf
mov rcx, qword [rcx]
add rcx, 4
mov r12, rcx
mov r13, rcx
jo 0x467148
mov rcx, qword [rsp + 0x68]
test r12, r12
js 0x467170
mov rdx, r13
lea r12, [rsp + 0x68]
call fcn.0040d0c0
mov rcx, r12
mov rdx, rax
call fcn.00409c90
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x467480
mov rsi, qword [r8]
sub rsi, 4
mov r13, rsi
jo 0x467108
lea rdi, [rsi + 0x10]
test rsi, rsi
js 0x467363
mov rdx, qword [r8]
cmp rsi, rdx
jge 0x467366
mov dword [r8 + rdi], ebx
mov rcx, qword [rbp + 8]
mov r14d, 4
mov edx, ecx
mov ebx, ecx
shr ecx, 0x18
shr edx, 0x10
rol bx, 8
shl edx, 8
shl ebx, 0x10
or edx, ecx
movzx eax, dx
or ebx, eax
test r8, r8
je 0x466e89
mov rcx, qword [r8]
add rcx, 4
mov r13, rcx
mov r14, rcx
jno 0x466e70
call fcn.00409d20
test r13, r13
jns 0x466e89
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r13
call fcn.0040d5c0
mov rcx, qword [rsp + 0x68]
mov rdx, r14
call fcn.0040d0c0
mov rcx, r12
mov rdx, rax
call fcn.00409c90
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x4674a8
mov rsi, qword [rcx]
sub rsi, 4
mov r13, rsi
jo 0x467450
lea rdi, [rsi + 0x10]
test rsi, rsi
js 0x467341
mov rdx, qword [rcx]
cmp rsi, rdx
jge 0x467344
mov dword [rcx + rdi], ebx
movsx edx, byte [rbp + 0x10]
call fcn.0040b680
mov rcx, r12
mov rdx, rax
call fcn.00409c90
movsx edx, byte [rbp + 0x18]
mov rcx, qword [rsp + 0x68]
call fcn.0040b680
mov rcx, r12
mov rdx, rax
call fcn.00409c90
lea rdx, [rsp + 0x70]
xor eax, eax
mov ecx, 0x20
mov rdi, rdx
rep stosq qword [rdi], rax
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x4672e0
mov rsi, qword [rax]
mov qword [rsp + 0x40], rsi
test rsi, rsi
jle 0x4672e0
mov byte [rsp + 0x4e], 0
xor esi, esi
xor ebx, ebx
mov r14d, r15d
mov byte [rsp + 0x3c], 0xff
mov byte [rsp + 0x48], 0
mov byte [rsp + 0x4f], 0
jmp 0x467046
test bl, bl
je 0x466f84
lea edx, [rbx - 1]
mov rcx, qword [rsp + 0x68]
mov ebx, edx
or ebx, 0xffffffc0
movsx edx, bl
call fcn.0040b680
mov rcx, r12
mov rdx, rax
call fcn.00409c90
movzx r8d, byte [rsp + 0x30]
movzx r10d, byte [rsp + 0x4d]
movzx r14d, r15b
lea rbx, [r8 + r8*2]
lea rax, [r10 + r10*4]
mov qword [rsp + 0x58], r8
add rax, rbx
lea rbx, [r14*8]
mov qword [rsp + 0x50], r10
sub rbx, r14
add rbx, rax
movzx eax, r13b
lea rdx, [rax + rax*4]
lea rax, [rax + rdx*2]
mov edx, edi
add rbx, rax
and ebx, 0x3f
mov ecx, dword [rsp + rbx*4 + 0x70]
call fcn.00412b70
mov edx, ebx
test al, al
je 0x4671e0
mov rcx, qword [rsp + 0x68]
call fcn.0040b680
mov rcx, r12
mov rdx, rax
call fcn.00409c90
movzx eax, byte [rsp + 0x4d]
mov byte [rsp + 0x3c], r13b
mov r14d, edi
xor ebx, ebx
mov byte [rsp + 0x4e], r15b
mov byte [rsp + 0x48], al
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x4f], al
mov rax, qword [rbp + 0x20]
add rsi, 1
test rax, rax
je 0x46702b
mov rdi, qword [rsp + 0x40]
cmp rdi, qword [rax]
je 0x467037
lea rcx, [0x004a3200]
call fcn.00401e70
cmp rsi, qword [rsp + 0x40]
jge 0x4672e0
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x4671c8
mov rdx, qword [rax]
cmp rsi, rdx
jge 0x4671b0
lea rax, [rax + rsi*4 + 0x10]
mov r14b, byte [rsp + 0x4f]
mov edx, dword [rsp + 0x3c]
movzx edi, byte [rax]
movzx r15d, byte [rax + 2]
movzx r13d, byte [rax + 3]
shl edx, 0x18
mov byte [rsp + 0x30], dil
movzx edi, byte [rax + 1]
mov byte [rsp + 0x4d], dil
mov edi, dword [rax]
mov eax, r14d
mov ah, byte [rsp + 0x48]
mov ecx, edi
mov r14d, eax
movzx eax, byte [rsp + 0x4e]
movzx r8d, r14w
shl eax, 0x10
or r8d, eax
or r8d, edx
mov edx, r8d
mov r14d, r8d
call fcn.00412b70
test al, al
je 0x466f60
lea ecx, [rbx + 1]
cmp bl, 0x3d
je 0x4670df
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x4671d8
mov rdi, qword [rax]
lea rdx, [rdi - 1]
cmp rsi, rdx
jne 0x4671d8
mov rcx, qword [rsp + 0x68]
or ebx, 0xffffffc0
movsx edx, bl
xor ebx, ebx
call fcn.0040b680
mov rcx, r12
mov rdx, rax
call fcn.00409c90
mov rax, qword [rbp + 0x20]
jmp 0x467018
call fcn.00409d20
lea rdi, [rsi + 0x10]
mov r8, qword [rsp + 0x68]
test rsi, rsi
js 0x46735a
mov rdx, 0xffffffffffffffff
test r8, r8
jne 0x466e22
mov rcx, r13
call fcn.0040d770
mov r8, qword [rsp + 0x68]
jmp 0x466e2e
call fcn.00409d20
mov rcx, qword [rsp + 0x68]
test r12, r12
jns 0x466ddf
jmp 0x467170
call fcn.00409d20
test r12, r12
jns 0x466d5a
jmp 0x467190
movabs r8, 0x7fffffffffffffff
mov rcx, r12
xor edx, edx
call fcn.0040d5c0
mov rcx, qword [rsp + 0x68]
jmp 0x466ddf
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r12
call fcn.0040d5c0
jmp 0x466d5a
sub rdx, 1
mov rcx, rsi
call fcn.0040d770
mov rax, qword [rbp + 0x20]
jmp 0x46705b
mov rdx, 0xffffffffffffffff
jmp 0x4671b4
mov ebx, ecx
jmp 0x467018
mov r10, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov dword [rsp + rbx*4 + 0x70], edi
mov rcx, qword [rsp + 0x68]
cmp byte [rsp + 0x3c], r13b
je 0x467268
mov edx, 0xffffffff
call fcn.0040b680
mov rcx, r12
mov rdx, rax
call fcn.00409c90
movsx edx, byte [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
call fcn.0040b680
mov rcx, r12
mov rdx, rax
call fcn.00409c90
movsx edx, byte [rsp + 0x4d]
mov rcx, qword [rsp + 0x68]
call fcn.0040b680
mov rcx, r12
mov rdx, rax
call fcn.00409c90
mov rcx, qword [rsp + 0x68]
movsx edx, r15b
call fcn.0040b680
mov rcx, r12
mov rdx, rax
call fcn.00409c90
movsx edx, r13b
jmp 0x466fde
movzx eax, byte [rsp + 0x4f]
mov r9, r14
sub r8, rax
movzx eax, byte [rsp + 0x48]
sub r10, rax
movzx eax, byte [rsp + 0x4e]
sub r9, rax
lea rax, [r8 + 2]
cmp rax, 3
ja 0x4674c0
lea r11, [r10 + 2]
cmp r11, 3
ja 0x4674c0
lea rbx, [r9 + 2]
cmp rbx, 3
ja 0x467580
shl rax, 4
mov rdx, rax
lea rax, [r11*4]
or edx, eax
or edx, ebx
or edx, 0x40
movzx edx, dl
call fcn.0040b680
mov rcx, r12
mov rdx, rax
call fcn.00409c90
jmp 0x466ff3
mov ebx, 7
nop dword [rax]
mov rcx, qword [rsp + 0x68]
xor edx, edx
call fcn.0040b680
mov rcx, r12
mov rdx, rax
call fcn.00409c90
sub rbx, 1
jne 0x4672e8
mov rcx, qword [rsp + 0x68]
mov edx, 1
call fcn.0040b680
mov rcx, r12
mov rdx, rax
call fcn.00409c90
mov rax, qword [rsp + 0x68]
add rsp, 0x178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test rcx, rcx
je 0x4675a9
mov rdx, qword [rcx]
sub rdx, 1
mov rcx, r13
call fcn.0040d770
mov rcx, qword [rsp + 0x68]
jmp 0x466ed8
test r8, r8
je 0x4675a0
mov rdx, qword [r8]
sub rdx, 1
mov rcx, r13
call fcn.0040d770
mov r8, qword [rsp + 0x68]
jmp 0x466e2e
mov rcx, qword [0x004a98f0]
mov edx, 0x30
call fcn.0040c390
lea rcx, [0x004a3280]
mov r12, rax
mov rax, qword [0x004a97b0]
mov rbx, qword [r12 + 0x18]
mov qword [r12], rax
lea rax, [0x004a31a0]
mov qword [r12 + 0x10], rax
call fcn.0040b370
mov qword [r12 + 0x18], rax
test rbx, rbx
je 0x4673e0
mov rax, qword [rbx - 0x10]
lea rdx, [rbx - 0x10]
sub rax, 8
mov qword [rbx - 0x10], rax
cmp rax, 7
jbe 0x467568
mov rax, qword [r12 + 8]
test rax, rax
je 0x467413
mov rsi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rsi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x467413
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
mov qword [r12 + 8], 0
lea r9, str.qoi.nim
mov rcx, r12
lea r8, str.encodeQoi
mov qword [rsp + 0x20], 0x98
lea rdx, [0x004a31a0]
call fcn.0040d470
jmp 0x466d2b
call fcn.00409d20
lea rdi, [rsi + 0x10]
mov rcx, qword [rsp + 0x68]
test rsi, rsi
js 0x467338
mov rdx, 0xffffffffffffffff
test rcx, rcx
je 0x467348
jmp 0x466ecc
mov r13, 0xfffffffffffffffc
mov rdx, 0xffffffffffffffff
mov edi, 0xc
mov rcx, r13
call fcn.0040d770
mov r8, qword [rsp + 0x68]
jmp 0x466e2e
mov r13, 0xfffffffffffffffc
mov edi, 0xc
mov rdx, 0xffffffffffffffff
jmp 0x467348
sub r8, r10
lea rbx, [r8 + 8]
cmp rbx, 0xf
ja 0x467510
lea rdx, [r10 + 0x20]
cmp rdx, 0x3f
ja 0x467510
sub r9, r10
lea r14, [r9 + 8]
cmp r14, 0xf
ja 0x467510
or edx, 0xffffff80
shl rbx, 4
movsx edx, dl
call fcn.0040b680
mov rcx, r12
mov rdx, rax
call fcn.00409c90
mov r9d, ebx
or r9d, r14d
movsx edx, r9b
jmp 0x466fde
mov edx, 0xfffffffe
call fcn.0040b680
mov rcx, r12
mov rdx, rax
call fcn.00409c90
movsx edx, byte [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
call fcn.0040b680
mov rcx, r12
mov rdx, rax
call fcn.00409c90
movsx edx, byte [rsp + 0x4d]
mov rcx, qword [rsp + 0x68]
call fcn.0040b680
mov rcx, r12
mov rdx, rax
call fcn.00409c90
movsx edx, r15b
jmp 0x466fde
mov rcx, qword [0x004a9e20]
add rcx, 0x18
call fcn.004079d0
jmp 0x4673e0
sub r8, r10
lea rbx, [r8 + 8]
jmp 0x4674cd
mov qword [rsp + 0x30], rax
call fcn.00409d20
mov rax, qword [rsp + 0x30]
jmp 0x466d1d
or rdx, 0xffffffffffffffff
jmp 0x46712f
or rdx, 0xffffffffffffffff
jmp 0x467348
call fcn.00409d20
jmp 0x466d44
push r13
push r12
push rsi
push rbx
sub rsp, 0x38
mov edx, 0x28
xor esi, esi
mov rbx, rcx
lea rcx, [0x004d0ce0]
call fcn.0040c390
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 0x467611
mov rsi, qword [rax]
test rsi, rsi
js 0x467798
mov rcx, qword [r12 + 0x20]
mov r8, rsi
lea r13, [r12 + 0x20]
lea rdx, [0x004d0da0]
call fcn.00411ee0
mov rsi, rax
test rax, rax
je 0x467750
add qword [rax - 0x10], 8
mov rax, qword [r12 + 0x20]
test rax, rax
je 0x46765f
mov rdx, qword [rax - 0x10]
lea r8, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
jbe 0x4676f0
mov qword [r12 + 0x20], rsi
mov rdx, qword [rsi]
test rdx, rdx
jle 0x467740
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x4676d0
mov rcx, qword [rdx]
lea rdx, [rcx - 1]
test rcx, rcx
jle 0x4676d7
imul rcx, rcx, 4
jo 0x4677c3
mov rsi, rcx
test rcx, rcx
js 0x467720
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.00462ba0
mov rcx, r12
add rsp, 0x38
pop rbx
pop rsi
pop r12
pop r13
jmp 0x466cf0
mov rdx, 0xffffffffffffffff
xor ecx, ecx
xor esi, esi
call fcn.0040d770
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x46769f
mov rcx, qword [rdx]
jmp 0x467685
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
mov qword [r12 + 0x20], rsi
mov rdx, qword [rsi]
test rdx, rdx
jg 0x467670
jmp 0x467740
movabs r8, 0x7fffffffffffffff
xor edx, edx
call fcn.0040d5c0
jmp 0x46769b
sub rdx, 1
xor ecx, ecx
call fcn.0040d770
jmp 0x467670
mov rax, qword [r12 + 0x20]
test rax, rax
je 0x46778c
mov rsi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rsi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x4677b8
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
mov qword [r12 + 0x20], 0
mov rdx, 0xffffffffffffffff
jmp 0x467744
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rsi
call fcn.0040d5c0
jmp 0x467611
mov qword [r12 + 0x20], 0
jmp 0x46778c
mov qword [rsp + 0x28], rcx
call fcn.00409d20
mov rcx, qword [rsp + 0x28]
jmp 0x46768f
push r12
push rbx
sub rsp, 0x38
cmp dl, 5
ja case.default.0x467aa1
lea r8, [0x004a3304]
movzx edx, dl
movsxd rax, dword [r8 + rdx*4]
add rax, r8
jmp rax
mov rcx, qword [0x004a98f0]
mov edx, 0x30
call fcn.0040c390
lea rcx, [0x004a3320]
mov r12, rax
mov rax, qword [0x004a97b0]
mov rbx, qword [r12 + 0x18]
mov qword [r12], rax
lea rax, str.PixieError
mov qword [r12 + 0x10], rax
call fcn.0040b370
mov qword [r12 + 0x18], rax
test rbx, rbx
je 0x467b14
mov rax, qword [rbx - 0x10]
lea rdx, [rbx - 0x10]
sub rax, 8
mov qword [rbx - 0x10], rax
cmp rax, 7
ja 0x467b14
mov rcx, qword [0x004a9e20]
add rcx, 0x18
call fcn.004079d0
mov rax, qword [r12 + 8]
test rax, rax
je 0x467b47
mov rbx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rbx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x467b47
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
mov qword [r12 + 8], 0
mov qword [rsp + 0x20], 0x52
lea r9, str.pixie.nim
lea r8, str.encodeImage
mov rcx, r12
lea rdx, str.PixieError
call fcn.0040d470
xor eax, eax
add rsp, 0x38
pop rbx
pop r12
ret
add rsp, 0x38
pop rbx
pop r12
jmp 0x4675c0
add rsp, 0x38
pop rbx
pop r12
jmp 0x466980
add rsp, 0x38
pop rbx
pop r12
jmp 0x466810
add rsp, 0x38
pop rbx
pop r12
jmp 0x464460
mov rcx, qword [0x004a98f0]
mov edx, 0x30
call fcn.0040c390
lea rcx, [0x004a3320]
mov r12, rax
mov rax, qword [0x004a97b0]
mov rbx, qword [r12 + 0x18]
mov qword [r12], rax
lea rax, str.PixieError
mov qword [r12 + 0x10], rax
call fcn.0040b370
mov qword [r12 + 0x18], rax
test rbx, rbx
je 0x467c2c
mov rax, qword [rbx - 0x10]
lea rdx, [rbx - 0x10]
sub rax, 8
mov qword [rbx - 0x10], rax
cmp rax, 7
ja 0x467c2c
mov rcx, qword [0x004a9e20]
add rcx, 0x18
call fcn.004079d0
mov rax, qword [r12 + 8]
test rax, rax
je 0x467c5f
mov rbx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rbx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x467c5f
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
mov qword [r12 + 8], 0
mov qword [rsp + 0x20], 0x58
jmp 0x467b59