Function at 0x1400223f0
Capabilities:
Encrypt data using tea

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov qword [rsp + 0xb8], r8
mov rdi, rdx
mov rbx, rcx
lea rax, str.decrypt
mov qword [rsp + 0x80], rax
lea r9, str._home_neko_.nimble_pkgs2_xxtea_1.0.2_3da765c81268f6d18f7e845b25e123549526b383_xxtea.nim
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x88], 0
mov word [rsp + 0x98], 0
mov eax, dword [0x140682508]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rsi, [rax + 0x2ac8]
mov rcx, qword [rax + 0x2ac8]
lea rax, [rsp + 0x78]
test rcx, rcx
je 0x14002249f
movzx edx, word [rcx + 0x22]
add edx, 1
mov word [rsp + 0x9a], dx
mov qword [rsp + 0x78], rcx
mov qword [rsi], rax
movzx eax, dx
cmp eax, 0x7d0
jne 0x1400224b5
call fcn.1400153a0
lea r9, str._home_neko_.nimble_pkgs2_xxtea_1.0.2_3da765c81268f6d18f7e845b25e123549526b383_xxtea.nim
jmp 0x1400224b5
mov word [rsp + 0x9a], 0
mov qword [rsp + 0x78], 0
mov qword [rsi], rax
mov eax, dword [0x140682508]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov r13, qword [rdi]
cmp r13, 1
mov qword [rsp + 0x68], rbx
jg 0x1400225c6
mov qword [rsp + 0x88], 9
mov rdi, qword [rdi + 8]
mov rcx, rbx
mov rdx, r13
call fcn.1400162d0
mov rax, qword [rbx]
test rax, rax
jle 0x1400229a8
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx + 8]
xor edx, edx
cmp rax, 0xc
jb 0x14002255a
mov r8, rcx
sub r8, rdi
cmp r8, 0x20
jb 0x14002255a
mov rdx, rax
and rdx, 0xfffffffffffffff8
xor r8d, r8d
nop
movups xmm0, xmmword [rdi + r8*4 + 8]
movups xmm1, xmmword [rdi + r8*4 + 0x18]
movups xmmword [rcx + r8*4 + 8], xmm0
movups xmmword [rcx + r8*4 + 0x18], xmm1
add r8, 8
cmp rdx, r8
jne 0x140022530
cmp rax, rdx
je 0x1400229a8
mov r8, rdx
not r8
add r8, rax
mov r9, rax
and r9, 3
je 0x140022584
nop dword [rax]
mov r10d, dword [rdi + rdx*4 + 8]
mov dword [rcx + rdx*4 + 8], r10d
add rdx, 1
add r9, 0xffffffffffffffff
jne 0x140022570
cmp r8, 3
jb 0x1400229a8
nop
mov r8d, dword [rdi + rdx*4 + 8]
mov dword [rcx + rdx*4 + 8], r8d
mov r8d, dword [rdi + rdx*4 + 0xc]
mov dword [rcx + rdx*4 + 0xc], r8d
mov r8d, dword [rdi + rdx*4 + 0x10]
mov dword [rcx + rdx*4 + 0x10], r8d
mov r8d, dword [rdi + rdx*4 + 0x14]
mov dword [rcx + rdx*4 + 0x14], r8d
add rdx, 4
cmp rax, rdx
jne 0x140022590
jmp 0x1400229a8
mov qword [rsp + 0x88], 0x1f
cmp r13, 0x34
ja 0x1400225e4
mov eax, 0x34
xor edx, edx
div r13d
jmp 0x1400225e6
xor eax, eax
imul eax, eax, 0x9e3779b9
add eax, 0xb54cda56
mov dword [rsp + 0x2c], eax
je 0x14002296c
lea rax, [rcx + 0x2ad8]
mov qword [rsp + 0xb0], rax
lea rax, [r13 - 1]
mov qword [rsp + 0xc0], rax
mov rax, qword [rdi + 8]
mov r14d, dword [rax + 8]
mov rdx, r13
mov qword [rsp + 0xa8], r13
mov ecx, dword [rsp + 0x2c]
mov r10d, ecx
shr r10d, 2
and r10d, 3
mov qword [rsp + 0x70], r10
nop dword [rax]
lea rbp, [r13 - 1]
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x88], 0x27
cmp rbp, rdx
jg 0x140022998
mov ebx, dword [rax + r13*4]
mov qword [rsp + 0x88], 0x28
jge 0x14002298f
mov rax, qword [rsp + 0xb8]
mov r15, qword [rax]
mov rax, qword [rax + 8]
lea r12, [rax + 8]
test rax, rax
cmove r12, rax
lea rax, [0x140049090]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], 0
mov word [rsp + 0x50], 0
mov rax, qword [rsi]
test rax, rax
je 0x1400226f0
movzx ecx, word [rax + 0x22]
add ecx, 1
mov word [rsp + 0x52], cx
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x30]
mov qword [rsi], rax
movzx eax, cx
cmp eax, 0x7d0
jne 0x140022708
call fcn.1400153a0
mov r10, qword [rsp + 0x70]
lea r9, str._home_neko_.nimble_pkgs2_xxtea_1.0.2_3da765c81268f6d18f7e845b25e123549526b383_xxtea.nim
jmp 0x140022708
mov word [rsp + 0x52], 0
mov qword [rsp + 0x30], 0
lea rax, [rsp + 0x30]
mov qword [rsi], rax
mov qword [rsp + 0x40], 6
mov ecx, ebp
and ecx, 3
xor rcx, r10
cmp rcx, r15
jge 0x140022760
mov eax, ebx
shr eax, 5
lea edx, [r14*4]
xor edx, eax
mov eax, r14d
shr eax, 3
mov r8d, ebx
shl r8d, 4
xor r8d, eax
add r8d, edx
xor r14d, dword [rsp + 0x2c]
xor ebx, dword [r12 + rcx*4]
add ebx, r14d
xor ebx, r8d
jmp 0x140022778
add r15, 0xffffffffffffffff
mov rdx, r15
call fcn.140013bf0
mov r10, qword [rsp + 0x70]
lea r9, str._home_neko_.nimble_pkgs2_xxtea_1.0.2_3da765c81268f6d18f7e845b25e123549526b383_xxtea.nim
mov rax, qword [rsi]
mov rax, qword [rax]
mov qword [rsi], rax
mov rax, qword [rsp + 0xb0]
cmp byte [rax], 0
jne 0x1400229a8
mov rax, qword [rdi + 8]
mov r14d, dword [rax + r13*4 + 4]
sub r14d, ebx
mov dword [rax + r13*4 + 4], r14d
mov qword [rsp + 0x88], 0x29
mov rdx, qword [rdi]
cmp rbp, rdx
jge 0x14002298f
mov qword [rsp + 0x88], 0x24
lea rcx, str._home_neko_.choosenim_toolchains_nim_2.0.2_lib_system_iterators_1.nim
mov qword [rsp + 0x90], rcx
mov r13, rbp
cmp rbp, 1
ja 0x140022640
mov qword [rsp + 0x88], 0x2a
mov qword [rsp + 0x90], r9
mov rcx, qword [rsp + 0xa8]
cmp rcx, rdx
jg 0x1400229d2
mov ebx, dword [rax + rcx*4 + 4]
mov qword [rsp + 0x88], 0x2b
test rdx, rdx
jle 0x1400229ca
mov rax, qword [rsp + 0xb8]
mov r15, qword [rax]
mov rax, qword [rax + 8]
lea r12, [rax + 8]
test rax, rax
cmove r12, rax
lea rax, [0x140049090]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], 0
mov word [rsp + 0x50], 0
mov rax, qword [rsi]
test rax, rax
je 0x14002289a
movzx ecx, word [rax + 0x22]
add ecx, 1
mov word [rsp + 0x52], cx
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x30]
mov qword [rsi], rax
movzx eax, cx
cmp eax, 0x7d0
jne 0x1400228b2
call fcn.1400153a0
mov r10, qword [rsp + 0x70]
lea r9, str._home_neko_.nimble_pkgs2_xxtea_1.0.2_3da765c81268f6d18f7e845b25e123549526b383_xxtea.nim
jmp 0x1400228b2
mov word [rsp + 0x52], 0
mov qword [rsp + 0x30], 0
lea rax, [rsp + 0x30]
mov qword [rsi], rax
mov qword [rsp + 0x40], 6
cmp r15, r10
jle 0x1400228ee
mov eax, ebx
shr eax, 5
lea ecx, [r14*4]
xor ecx, eax
mov eax, r14d
shr eax, 3
mov edx, ebx
shl edx, 4
xor edx, eax
add edx, ecx
xor r14d, dword [rsp + 0x2c]
xor ebx, dword [r12 + r10*4]
add ebx, r14d
xor ebx, edx
jmp 0x140022904
add r15, 0xffffffffffffffff
mov rcx, r10
mov rdx, r15
call fcn.140013bf0
lea r9, str._home_neko_.nimble_pkgs2_xxtea_1.0.2_3da765c81268f6d18f7e845b25e123549526b383_xxtea.nim
mov rax, qword [rsi]
mov rax, qword [rax]
mov qword [rsi], rax
mov rax, qword [rsp + 0xb0]
cmp byte [rax], 0
jne 0x1400229a8
mov rax, qword [rdi + 8]
mov r14d, dword [rax + 8]
sub r14d, ebx
mov dword [rax + 8], r14d
mov qword [rsp + 0x88], 0x2c
mov rdx, qword [rdi]
test rdx, rdx
jle 0x1400229ca
mov qword [rsp + 0x88], 0x2d
add dword [rsp + 0x2c], 0x61c88647
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0xa8]
jne 0x140022629
mov qword [rsp + 0x88], 9
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1400218e0
jmp 0x1400229a8
add rdx, 0xffffffffffffffff
mov rcx, rbp
jmp 0x1400229a3
add rdx, 0xffffffffffffffff
add r13, 0xfffffffffffffffe
mov rcx, r13
call fcn.140013bf0
mov rax, qword [rsi]
mov rax, qword [rax]
mov qword [rsi], rax
mov rax, qword [rsp + 0x68]
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add rdx, 0xffffffffffffffff
xor ecx, ecx
jmp 0x1400229a3
add rdx, 0xffffffffffffffff
mov rcx, qword [rsp + 0xc0]
jmp 0x1400229a3