Function at 0x4a8990
Capabilities:
Encrypt data using tea
Encrypt data using xtea

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
jbe 0x4a899b
jb 0x4a899d
add ecx, dword [esp]
sub ecx, dword [esp]
jb 0x4a89ba
pushf
xchg ebx, ebx
popf
lea ecx, [ecx + 0x56db]
lea ecx, [ecx - 0x56db]
jae 0x4a89ba
call 0x8b56cf49
or byte [ecx - 0x2d780bb3], cl
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [ebp - 0xc], ecx
xchg edx, edx
jle 0x4a89d2
jb 0x4a89c8
jo 0x4a89ca
xchg esp, esp
mov edx, edx
jg 0x4a89d2
mov ebp, 0x4408b86
mov eax, dword [eax + 4]
mov dword [ebp - 8], eax
jno 0x4a89da
push esi
pop esi
std
cld
xor edi, dword [esp]
xor edi, dword [esp]
jae 0x4a89f1
pushf
lea edi, [edi]
popf
ja 0x4a89ee
jb 0x4a89f1
add edi, 0xfc45
add byte [eax], al
mov dword [ebp - 4], 0
push edx
pop edx
ror esp, 0
jns 0x4a8a14
pushf
call 0x4a8a06
add esp, 4
popf
jge 0x4a8a0d
mov ebx, ebx
lea edx, [edx]
js 0x4a8a14
xor eax, 0x85104d8b
leave
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jle 0x4a8b14
inc ebx
dec ebx
jne 0x4a8a30
pushf
shl esp, 0
nop
popf
jg 0x4a8a2d
je 0x4a8a30
mov ecx, 0x79b9c969
aaa
sahf
imul ecx, ecx, 0x9e3779b9
mov edx, ecx
mov dword [ebp + 0x10], edx
xchg ebx, edi
xchg ebx, edi
jb 0x4a8a49
jge 0x4a8a43
xchg ecx, ecx
jae 0x4a8a49
mov edi, 0xfd28534
test cl, al
add dword [eax], eax
add bl, ch
add ecx, dword [ebx - 0x193e07bb]
add cl, al
les eax, [eax]
test edx, edx
je 0x4a8c12
jmp 0x4a8a56
mov eax, dword [ebp - 8]
shl esi, 0
rol esp, 0
rol edx, 4
ror edx, 4
and esp, 0xffffffff
jle 0x4a8a80
pushf
test dword [esp + 8], esi
add ecx, 0x393
sub ecx, 0x393
popf
jne 0x4a8a7d
jg 0x4a8a80
call 0xc8d65b0f
mov edx, eax
mov ecx, eax
mov edi, dword [ebp + 8]
shr edx, 5
shl ecx, 4
xor edx, ecx
mov ecx, dword [ebp - 4]
mov esi, ecx
xor ecx, eax
and esi, 3
mov ebx, dword [edi + esi*4]
add edx, ebx
mov ebx, dword [ebp - 0xc]
add ecx, ebx
add edx, ecx
mov dword [ebp - 0xc], edx
xor ebx, eax
xor ebx, eax
sub esi, 0
jle 0x4a8ab1
xchg esi, eax
xchg esi, eax
jb 0x4a8abf
jg 0x4a8ab7
mov edi, edi
js 0x4a8abb
jae 0x4a8abf
mov ebp, 0xfc458b27
mov eax, dword [ebp - 4]
sub eax, 0x61c88647
mov dword [ebp - 4], eax
jmp 0x4a8acc
xor esp, 0
jns 0x4a8ada
jnp 0x4a8ad3
jp 0x4a8ad5
lea ecx, [ecx]
js 0x4a8ada
mov edx, 0xf28bca8b
mov ecx, edx
mov esi, edx
mov edi, dword [ebp + 8]
shr ecx, 5
shl esi, 4
xor ecx, esi
mov esi, eax
shr esi, 0xb
and esi, 3
mov ebx, dword [edi + esi*4]
mov esi, eax
xor esi, edx
mov edx, dword [ebp - 8]
add ecx, ebx
add esi, edx
add esi, ecx
mov ecx, dword [ebp + 0x10]
cmp eax, ecx
mov dword [ebp - 8], esi
jne 0x4a8a53
jmp 0x4a8c12
xchg edx, ebx
xchg edx, ebx
jne 0x4a8b1a
lea esi, [esi]
jne 0x4a8b2e
pushf
push ebx
pop ebx
rol esi, 0
popf
jle 0x4a8b29
jnp 0x4a8b2b
je 0x4a8b2e
mov edi, 0x8647c969
enter 0xffffffffffff8961, 0x4d
cld
imul ecx, ecx, 0x61c88647
mov dword [ebp - 4], ecx
cmp esi, dword [esp + 4]
or eax, 0
xor esi, edx
xor esi, edx
jnp 0x4a8b5b
pushf
test ebx, edi
cmp edi, dword [esp]
xchg ebx, esi
xchg ebx, esi
sub esp, 0
popf
xchg esp, esp
xchg esp, esp
jp 0x4a8b5b
jmp 0x845a54e4
test ecx, ecx
je 0x4a8c12
jnp 0x4a8b65
jl 0x4a8b86
pushf
jbe 0x4a8b6b
xor ecx, dword [esp + 4]
xor ecx, dword [esp + 4]
mov esp, esp
ror esi, 0x1c
rol esi, 0x1c
popf
mov eax, eax
xchg edx, edi
xchg edx, edi
jge 0x4a8b86
mov edx, 0x8bf45d8b
dec ebp
cld
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
mov edx, ebx
mov eax, ebx
mov esi, dword [ebp + 8]
shr edx, 5
shl eax, 4
xor edx, eax
mov eax, ecx
shr eax, 0xb
and eax, 3
mov edi, dword [esi + eax*4]
mov esi, dword [ebp - 8]
mov eax, ecx
add edx, edi
xor eax, ebx
add edx, eax
sub esi, edx
mov dword [ebp - 8], esi
test ebx, 0x16ec
std
cld
je 0x4a8bd1
pushf
xchg edi, eax
xchg edi, eax
je 0x4a8bc6
xchg esp, esp
popf
jne 0x4a8bcc
jne 0x4a8bce
jne 0x4a8bd1
call 0x86924d56
enter 0xffffffffffff8961, 0x4d
cld
add ecx, 0x61c88647
mov dword [ebp - 4], ecx
lea edx, [edx]
jae 0x4a8be8
jb 0x4a8be0
xchg esp, esp
jae 0x4a8be4
jb 0x4a8be8
mov esp, 0x87d8bfa
mov edi, dword [ebp + 8]
mov edx, esi
mov eax, esi
shr edx, 5
shl eax, 4
xor edx, eax
mov eax, ecx
and eax, 3
add edx, dword [edi + eax*4]
mov eax, ecx
xor eax, esi
add edx, eax
sub ebx, edx
test ecx, ecx
mov dword [ebp - 0xc], ebx
jne 0x4a8b63
add ecx, dword [esp]
sub ecx, dword [esp]
xchg ecx, ebx
xchg ecx, ebx
shl ecx, 0
jl 0x4a8c2f
pushf
inc edi
dec edi
jae 0x4a8c27
popf
nop
jl 0x4a8c2c
jge 0x4a8c2f
xor eax, 0x8b0c458b
dec ebp
hlt
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0xc]
mov dword [eax], ecx
lea ecx, [ecx + 0x4849]
lea ecx, [ecx - 0x4849]
add ebx, dword [esp]
sub ebx, dword [esp]
cmc
je 0x4a8c63
pushf
call 0x4a8c53
lea esp, [esp + 4]
cmp ecx, dword [esp]
je 0x4a8c5c
popf
jbe 0x4a8c60
jne 0x4a8c63
xor eax, 0x5ff8558b
mov edx, dword [ebp - 8]
pop edi
pop esi
mov dword [eax + 4], edx
pop ebx
mov esp, ebp
pop ebp
ret