Function at 0x1800044b0
Capabilities:
Encrypt data using tea

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
mov qword [rsp + 0xb8], r9
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0xb0], rcx
mov rax, qword [0x18001f028]
xor rax, rsp
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
movups xmm0, xmmword [r8]
movups xmmword [rax], xmm0
mov edi, 0x8fd29491
xor eax, eax
mov ecx, 0x4a709e8b
mov edx, 0xef156a97
mov ebp, 0xe321e9d1
nop word cs:[rax + rax]
nop dword [rax]
cmp edi, 0xef156a96
jle 0x180004580
cmp edi, 0x60301f1b
jle 0x1800045b0
cmp edi, 0x60301f1c
je 0x180004623
cmp edi, 0x75b3a4b9
jne 0x180004540
mov rax, qword [rsp + 0x48]
add rax, 1
mov edi, 0x8fd29491
jmp 0x180004540
cmp edi, 0x8fd29491
je 0x1800045da
cmp edi, 0x927e4c34
je 0x180004608
cmp edi, 0xe321e9d1
jne 0x180004540
mov rbx, qword [rsp + 0x60]
mov byte [rsp + rbx + 0xd0], 0
mov rbx, qword [rsp + 0x60]
jmp 0x1800045fa
cmp edi, 0xef156a97
je 0x1800045f5
cmp edi, 0x4a709e8b
jne 0x180004540
mov rdi, qword [rsp + 0x48]
cmp byte [rsp + rdi + 0xd0], 0
mov edi, 0x75b3a4b9
cmove edi, edx
jmp 0x180004540
mov qword [rsp + 0x48], rax
mov rdi, qword [rsp + 0x48]
cmp rdi, 0x10
mov edi, 0xef156a97
cmovb edi, ecx
jmp 0x180004540
mov rbx, qword [rsp + 0x48]
add rbx, 1
mov edi, 0x927e4c34
jmp 0x180004540
mov qword [rsp + 0x60], rbx
mov rdi, qword [rsp + 0x60]
cmp rdi, 0x10
mov edi, 0x60301f1c
cmovb edi, ebp
jmp 0x180004540
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
lea rax, [rsp + 0xc0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
cmp qword [rsp + 0x80], 0
mov eax, 0xf3558956
mov ecx, 0x7c051367
cmove ecx, eax
mov dword [rsp + 0x74], ecx
mov eax, 0xb0e1a3b9
mov r15d, 0xdb466c65
mov r9d, 0x1359dad2
mov r12d, 0x61c88647
mov r14d, 0x85f68518
jmp 0x1800046ae
cmp eax, 0xf3558956
jne 0x180004b12
mov eax, 0x30a4863e
xor ebp, ebp
cmp eax, 0xf3558955
jg 0x1800046d0
cmp eax, 0xd8b11546
jg 0x180004730
cmp eax, 0x980a657e
je 0x1800046a7
cmp eax, 0xb0e1a3b9
jne 0x1800046ae
mov eax, dword [rsp + 0x74]
jmp 0x1800046ae
cmp eax, 0x4a217a29
jle 0x18000469c
cmp eax, 0x4a217a2a
je 0x18000475b
cmp eax, 0x7c051367
jne 0x1800046ae
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x80]
xor r8d, r8d
lea r9, [rsp + 0xc8]
call fcn.180004b60
mov r9d, 0x1359dad2
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
mov eax, 0xd8b11547
mov ecx, 0x980a657e
cmove eax, ecx
jmp 0x1800046ae
cmp eax, 0xd8b11547
je 0x180004aa8
cmp eax, 0xeb6a8498
jne 0x1800046ae
mov rcx, qword [rsp + 0x50]
call fcn.18000a248
mov r9d, 0x1359dad2
jmp 0x1800046a7
mov r10, qword [rsp + 0xc8]
mov r13, qword [rsp + 0x50]
mov r8, qword [rsp + 0x68]
lea eax, [r10 - 1]
mov dword [rsp + 0x40], eax
mov eax, dword [r13]
mov dword [rsp + 0x78], eax
mov eax, 0x34
xor edx, edx
div r10d
imul eax, eax, 0x9e3779b9
add eax, 0xb54cda56
mov dword [rsp + 0x7c], eax
mov esi, 0x601693d8
jmp 0x1800047b0
mov esi, 0x6f6fbfbf
nop word cs:[rax + rax]
nop dword [rax]
cmp esi, 0xdb466c64
jle 0x1800047f0
cmp esi, 0x1359dad1
jle 0x180004830
cmp esi, 0x1359dad2
je 0x1800048a3
cmp esi, 0x601693d8
jne 0x180004970
cmp dword [rsp + 0x40], 0
mov esi, 0xbd384708
cmove esi, r14d
mov edx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x7c]
jmp 0x1800047b0
cmp esi, 0x9bdcb3c1
jg 0x180004870
cmp esi, 0x85f68518
je 0x180004900
cmp esi, 0x8fcb23f9
jne 0x1800047b0
mov ebp, dword [rsp + 0x2c]
shr ebp, 2
and ebp, 3
mov dword [rsp + 0x44], ebp
mov edi, dword [rsp + 0x40]
mov esi, 0x4257394
mov ecx, dword [rsp + 0x58]
jmp 0x1800047b0
cmp esi, 0xdb466c65
je 0x18000479d
cmp esi, 0x4257394
jne 0x1800047b0
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x38], ecx
cmp dword [rsp + 0x30], 0
mov esi, 0x9bdcb3c2
cmove esi, r9d
jmp 0x1800047b0
cmp esi, 0x9bdcb3c2
je 0x18000490a
cmp esi, 0xbd384708
jne 0x1800047b0
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x58], edx
cmp dword [rsp + 0x2c], 0
mov esi, 0x8fcb23f9
cmove esi, r15d
jmp 0x1800047b0
mov eax, dword [rsp + 0x40]
mov eax, dword [r13 + rax*4]
mov edx, eax
shr edx, 5
mov ebp, dword [rsp + 0x38]
shl ebp, 2
xor ebp, edx
mov ebx, dword [rsp + 0x38]
shr ebx, 3
mov edx, eax
shl edx, 4
xor edx, ebx
add edx, ebp
mov ebp, dword [rsp + 0x2c]
xor ebp, dword [rsp + 0x38]
mov ebx, dword [rsp + 0x30]
and ebx, 3
xor ebx, dword [rsp + 0x44]
xor eax, dword [r8 + rbx*4]
add eax, ebp
xor eax, edx
mov edx, dword [r13]
sub edx, eax
mov dword [r13], edx
mov eax, dword [rsp + 0x2c]
add eax, r12d
mov esi, 0xbd384708
jmp 0x1800047b0
mov esi, 0x6f6fbfbf
jmp 0x1800047b0
mov ebp, dword [rsp + 0x30]
add ebp, 0xffffffff
mov ebp, dword [r13 + rbp*4]
mov edi, ebp
shr edi, 5
mov esi, dword [rsp + 0x38]
shl esi, 2
xor esi, edi
mov ecx, dword [rsp + 0x38]
shr ecx, 3
mov edi, ebp
shl edi, 4
xor edi, ecx
mov ecx, dword [rsp + 0x2c]
xor ecx, dword [rsp + 0x38]
mov ebx, dword [rsp + 0x30]
and ebx, 3
xor ebx, dword [rsp + 0x44]
add edi, esi
xor ebp, dword [r8 + rbx*4]
add ebp, ecx
xor ebp, edi
mov ebx, dword [rsp + 0x30]
mov ecx, dword [r13 + rbx*4]
sub ecx, ebp
mov dword [r13 + rbx*4], ecx
mov edi, dword [rsp + 0x30]
add edi, 0xffffffff
mov esi, 0x4257394
jmp 0x1800047b0
cmp esi, 0x6f6fbfbf
jne 0x1800047b0
lea rax, [r10*4]
mov qword [rsp + 0x58], rax
mov eax, 0x6e51a7b4
mov esi, 0x3bbc165a
nop word cs:[rax + rax]
nop dword [rax]
cmp eax, 0x3f846aa
jle 0x180004a00
cmp eax, 0x3bbc1659
jg 0x180004a30
cmp eax, 0x3f846ab
je 0x180004a54
cmp eax, 0xd089414
jne 0x1800049a0
lea rcx, [r15 + 1]
mov rdi, r10
call fcn.18000a25c
mov rbp, rax
mov rcx, rax
mov rdx, r13
mov r8, r15
call fcn.1800086a0
mov r10, rdi
mov byte [rbp + r15], 0
mov rax, qword [rsp + 0xb8]
mov qword [rax], r15
mov eax, 0xd4292864
jmp 0x1800049a0
cmp eax, 0x937ccacc
je 0x180004a66
cmp eax, 0xd4292864
je 0x180004ae8
cmp eax, 0xe677fa19
jne 0x1800049a0
mov rax, qword [rsp + 0x30]
cmp rax, qword [rsp + 0x38]
mov eax, 0x3f846ab
cmova eax, esi
jmp 0x1800049a0
cmp eax, 0x3bbc165a
je 0x180004a9c
cmp eax, 0x6e51a7b4
jne 0x1800049a0
mov eax, 0x937ccacc
lea rcx, [rsp + 0x58]
mov r15, qword [rcx]
jmp 0x1800049a0
mov eax, 0xd089414
lea rcx, [rsp + 0x30]
mov r15, qword [rcx]
jmp 0x1800049a0
mov eax, dword [r13 + r10*4 - 4]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x58]
add rax, 0xfffffffffffffffc
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
add rax, 0xfffffffffffffffd
mov rcx, qword [rsp + 0x30]
cmp rcx, rax
mov eax, 0xe677fa19
cmovb eax, esi
jmp 0x1800049a0
mov eax, 0xd4292864
xor ebp, ebp
jmp 0x1800049a0
mov edx, 0x10
mov rcx, qword [rsp + 0xa8]
xor r8d, r8d
lea r9, [rsp + 0xc0]
call fcn.180004b60
mov r9d, 0x1359dad2
mov qword [rsp + 0x68], rax
cmp qword [rsp + 0x68], 0
mov eax, 0x4a217a2a
mov ecx, 0xeb6a8498
cmove eax, ecx
jmp 0x1800046ae
mov rcx, qword [rsp + 0x50]
call fcn.18000a248
mov rcx, qword [rsp + 0x68]
call fcn.18000a248
mov r9d, 0x1359dad2
mov eax, 0x30a4863e
mov r15d, 0xdb466c65
jmp 0x1800046ae
cmp eax, 0x30a4863e
jne 0x1800046ae
mov rax, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x98]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.180006a10
mov rax, rbp
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret