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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
dec ebx
inc ebx
push esi
pop esi
xor esp, 0
jns 0x61be4a
pushf
ror esi, 6
rol esi, 6
ror esp, 0
mov edi, edi
popf
jg 0x61be45
lea esi, [esi]
js 0x61be4a
mov esi, 0x8b0c458b
or byte [ecx - 0x3f3e07b3], cl
add cl, al
rol byte [eax], 0xf7
les esp, [edi + 0x75000068]
sbb esp, dword [esi - 0x64]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [ebp - 8], ecx
rol eax, 0
rol eax, 0
test esp, 0x68a7
jne 0x61be7b
pushf
xchg ebx, eax
xchg ebx, eax
js 0x61be66
cmp edx, ebx
popf
mov esp, esp
lea edi, [edi + 0x6726]
lea edi, [edi - 0x6726]
je 0x61be7b
xor eax, 0x8b0c558b
inc edx
add al, 0x89
inc ebp
invalid
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov dword [ebp - 0x10], eax
cmc
jp 0x61bea2
pushf
cmp ebx, dword [esp]
rol eax, 0xb
ror eax, 0xb
mov esp, esp
test dword [esp], eax
popf
je 0x61be9b
jge 0x61be9d
je 0x61be9f
jnp 0x61bea2
mov ebx, 0xf445c7
add byte [eax], al
add bh, al
inc ebp
cld
add byte [eax], al
add byte [eax], al
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 0
jno 0x61beb2
jnp 0x61bebc
xchg esp, esp
mov eax, eax
jp 0x61bebc
mov edx, 0x107d831b
add byte [edi], cl
invalid
cmp dword [ebp + 0x10], 0
jle 0x61c005
std
cld
je 0x61beca
rol edi, 0
and esp, 0xffffffff
jo 0x61bee7
jge 0x61bed4
lea edx, [edx + 0x12c3]
lea edx, [edx - 0x12c3]
jns 0x61bee2
jle 0x61bee4
jno 0x61bee7
lcall 0xb9c9, 0x69104d8b
jns 0x61bf26
mov ecx, dword [ebp + 0x10]
imul ecx, ecx, 0x9e3779b9
sahf
mov dword [ebp - 0xc], ecx
not edx
not edx
cmc
jb 0x61befa
clc
ja 0x61bf0f
pushf
clc
test esp, 0x40c1
popf
jbe 0x61bf0a
mov esi, esi
jbe 0x61bf0f
add eax, 0x3bfc558b
push ebp
hlt
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0xc]
je 0x61c000
ror esp, 0
call 0x61bf23
lea esp, [esp + 4]
je 0x61bf39
add al, 0x74
adc byte [esi - 0x64], ah
pushf
jns 0x61bf2d
shr edx, 0
popf
mov edx, edx
jle 0x61bf36
jne 0x61bf39
sub eax, 0xc1f0458b
loopne 0x61bf43
mov eax, dword [ebp - 0x10]
shl eax, 4
mov ecx, dword [ebp - 0x10]
shr ecx, 5
xor eax, ecx
mov edx, dword [ebp - 0x10]
xor edx, dword [ebp - 4]
add eax, edx
mov ecx, dword [ebp - 4]
and ecx, 3
mov edx, dword [ebp + 8]
add eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 8]
add ecx, eax
mov dword [ebp - 8], ecx
jns 0x61bf65
jmp 0x8c22f24d
or edi, 0
ror esi, 0x1c
ror esi, 4
clc
je 0x61bf95
pushf
xor eax, 0x6a1
xor eax, 0x6a1
ror esp, 0
rol eax, 0x12
ror eax, 0x12
xor ebx, dword [esp]
xor ebx, dword [esp]
popf
mov ebx, ebx
xchg ebx, eax
xchg ebx, eax
jne 0x61bf95
lcall 0x47ea, 0x81fc558b
xchg al, cl
popal
mov edx, dword [ebp - 4]
sub edx, 0x61c88647
mov dword [ebp - 4], edx
lea edi, [edi + 0x11e2]
lea edi, [edi - 0x11e2]
cmp esp, 0x484
push esi
add esi, 0x7dcf
ror esi, 0x15
pop esi
dec ecx
inc ecx
js 0x61bfce
jmp 0x61bfc4
xchg edi, esi
xchg edi, esi
jbe 0x61bfca
jns 0x61bfce
mov ecx, 0xf8458be3
mov eax, dword [ebp - 8]
shl eax, 4
mov ecx, dword [ebp - 8]
shr ecx, 5
xor eax, ecx
mov edx, dword [ebp - 8]
xor edx, dword [ebp - 4]
add eax, edx
mov ecx, dword [ebp - 4]
shr ecx, 0xb
and ecx, 3
mov edx, dword [ebp + 8]
add eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x10]
add ecx, eax
mov dword [ebp - 0x10], ecx
jmp 0x61bf0f
jmp 0x61c0ff
lea esp, [esp]
jle 0x61c015
jo 0x61c00c
xchg edi, edi
jb 0x61c010
jge 0x61c012
jg 0x61c015
jmp 0xf77215a4
mov edx, dword [ebp + 0x10]
neg edx
imul edx, edx, 0x9e3779b9
mov dword [ebp - 4], edx
xchg esp, esp
lea esi, [esi + 0x440b]
sub esi, 0x440b
nop
je 0x61c03d
je 0x61c036
js 0x61c038
jnp 0x61c03a
jne 0x61c03d
xor eax, 0xfc7d83
cmp dword [ebp - 4], 0
je 0x61c0ff
ror eax, 0
jmp 0x61c04c
jge 0x61c05f
pushf
xchg ecx, esi
xchg ecx, esi
popf
mov esi, esi
jp 0x61c05a
xchg ebx, eax
xchg ebx, eax
jl 0x61c05f
add eax, 0xc1f8458b
loopne 0x61c069
mov eax, dword [ebp - 8]
shl eax, 4
mov ecx, dword [ebp - 8]
shr ecx, 5
xor eax, ecx
mov edx, dword [ebp - 8]
xor edx, dword [ebp - 4]
add eax, edx
mov ecx, dword [ebp - 4]
shr ecx, 0xb
and ecx, 3
mov edx, dword [ebp + 8]
add eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
mov dword [ebp - 0x10], ecx
je 0x61c08e
jmp 0x8c22f373
push ebx
pop ebx
clc
neg eax
neg eax
je 0x61c0a0
jno 0x61c099
jae 0x61c09b
jne 0x61c0a0
jmp 0x55ed593d
mov edx, dword [ebp - 4]
add edx, 0x61c88647
mov dword [ebp - 4], edx
cmp esp, 0x2bac
je 0x61c0d0
pushf
rol edx, 0
xor eax, dword [esp + 0xc]
xor eax, dword [esp + 0xc]
xchg esp, esp
jl 0x61c0c5
popf
lea ecx, [ecx]
jnp 0x61c0cb
jmp 0x61c0cd
jne 0x61c0d0
mov edi, 0xc1f0458b
loopne 0x61c0da
mov eax, dword [ebp - 0x10]
shl eax, 4
mov ecx, dword [ebp - 0x10]
shr ecx, 5
xor eax, ecx
mov edx, dword [ebp - 0x10]
xor edx, dword [ebp - 4]
add eax, edx
mov ecx, dword [ebp - 4]
and ecx, 3
mov edx, dword [ebp + 8]
add eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 8]
sub ecx, eax
mov dword [ebp - 8], ecx
jmp 0x61c03d
jmp 0x8c22f3e4
shl ebx, 0
ror esp, 0
cmp esi, edx
jbe 0x61c11c
pushf
rol esp, 0
shl esp, 0
mov ecx, ecx
popf
js 0x61c117
lea eax, [eax]
ja 0x61c11c
or dword [ebx + 0x458b0c55], 0x750289f8
add byte [ebx], al
sbb al, 0x24
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 8]
mov dword [edx], eax
jne 0x61c126
add ebx, dword [esp]
sub ebx, dword [esp]
mov eax, eax
js 0x61c139
mov ecx, ecx
jno 0x61c134
jl 0x61c136
jns 0x61c139
mov edi, 0x8b0c4d8b
push ebp
invalid
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 4], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret