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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
or esp, 0
and esp, 0xffffffff
jno 0x52579d
jo 0x5257b0
pushf
test esp, 0x669d
popf
xchg esp, esp
xchg ebx, ebx
jno 0x5257b0
mov edx, 0x8b0c458b
or byte [ecx - 0x380807b3], cl
dec ebx
adc eax, dword [eax]
add byte [esi], bh
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [ebp - 8], ecx
test edi, 0x134b
jle 0x5257c0
jl 0x5257d0
pushf
cmp esi, dword [esp]
popf
jns 0x5257cb
jge 0x5257cd
jge 0x5257d0
lcall 0x442, 0x8b0c558b
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov dword [ebp - 0x10], eax
or esp, 0
test esp, 0xb56
xchg ebx, edx
xchg ebx, edx
ror edi, 0x1d
ror edi, 3
je 0x5257f7
jp 0x5257f0
jmp 0x5257f2
nop
jne 0x5257f7
sub eax, 0xf445c72e
add byte [eax], al
add byte [eax], al
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 0
jbe 0x525807
cmp edx, ecx
ror esp, 0
rol ecx, 0xf
rol ecx, 0x11
ja 0x52582f
pushf
xor ecx, dword [esp + 4]
xor ecx, dword [esp + 4]
jns 0x525820
ror esi, 0x1d
rol esi, 0x1d
popf
jnp 0x52582a
js 0x52582c
jbe 0x52582f
call fcn.0062d5b6
cmp dword [ebp + 0x10], 0
jle 0x525941
xchg edi, edx
xchg edi, edx
je 0x52583f
ja 0x525841
lea esi, [esi + 0x5764]
lea esi, [esi - 0x5764]
jge 0x525864
pushf
shr esp, 0
rol edi, 0
add edi, 0
shl ebx, 0
popf
jns 0x525861
jl 0x525864
mov edx, 0x69104d8b
leave
mov ecx, 0x899e3779
dec ebp
hlt
mov ecx, dword [ebp + 0x10]
imul ecx, ecx, 0x9e3779b9
mov dword [ebp - 0xc], ecx
sub esp, 0
lea ebx, [ebx]
jnp 0x52587f
jge 0x525879
jns 0x52587b
jp 0x52587f
mov ebp, 0xfc558bb0
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0xc]
je 0x52593c
add ecx, 0
stc
lea esi, [esi + 0x22df]
sub esi, 0x22df
add ebx, 0
jno 0x5258a5
jns 0x5258a2
jo 0x5258a5
call 0xc2429e34
loopne 0x5258af
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
jp 0x5258d1
jmp 0x8c138bb9
shl edi, 0
cmp esi, dword [esp + 0x10]
jp 0x5258da
jno 0x5258e8
jnp 0x5258de
lea ebx, [ebx]
jl 0x5258e2
jg 0x5258e4
jo 0x5258e8
add eax, 0xfc558beb
mov edx, dword [ebp - 4]
sub edx, 0x61c88647
mov dword [ebp - 4], edx
and edx, 0xffffffff
jae 0x5258f9
and eax, eax
push ebx
pop ebx
jae 0x52590a
jns 0x525901
jae 0x525903
nop
jb 0x525906
jb 0x52590a
mov eax, 0xf8458b79
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 0x52587f
jmp 0x525a56
or eax, 0
or esp, 0
xor esp, 0
std
cld
je 0x52595f
jg 0x525950
lea edi, [edi + 0x5df0]
lea edi, [edi - 0x5df0]
jne 0x52595f
mov ecx, 0xf710558b
fisubr dword [ecx - 0x2e]
mov ecx, 0x899e3779
push ebp
cld
mov edx, dword [ebp + 0x10]
neg edx
imul edx, edx, 0x9e3779b9
mov dword [ebp - 4], edx
ror ecx, 0
cmp eax, dword [esp + 8]
je 0x525976
jb 0x525993
lea eax, [eax + 0x4648]
lea eax, [eax - 0x4648]
lea edx, [edx + 0x5b1]
lea edx, [edx - 0x5b1]
jae 0x525993
mov ebx, 0xfc7d83
cmp dword [ebp - 4], 0
je 0x525a56
sub ebx, 0
lea edi, [edi + 0x19f6]
lea edi, [edi - 0x19f6]
xor ecx, 0
jl 0x5259c7
lea ecx, [ecx + 0x48c9]
lea ecx, [ecx - 0x48c9]
jg 0x5259bf
xchg esi, esi
lea eax, [eax]
jge 0x5259c7
add eax, 0xf8458b1b
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
rol ebx, 0xa
rol ebx, 0x16
lea esp, [esp]
xor esi, dword [esp + 8]
xor esi, dword [esp + 8]
je 0x525a0d
js 0x525a09
jne 0x525a0d
ljmp 0xc281:0xfc558bfc
mov edx, dword [ebp - 4]
add edx, 0x61c88647
mov dword [ebp - 4], edx
jns 0x525a1b
jg 0x525a27
xchg ebx, ecx
xchg ebx, ecx
ja 0x525a23
jle 0x525a27
mov eax, 0xf0458b61
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 0x525993
neg eax
neg eax
jno 0x525a5c
or esp, 0
jle 0x525a61
ja 0x525a6e
jno 0x525a65
ja 0x525a67
lea esi, [esi]
jbe 0x525a6e
mov ecx, 0x558b4ab7
or al, 0x8b
inc ebp
clc
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 8]
mov dword [edx], eax
inc ebx
dec ebx
or esp, 0
jno 0x525a92
jb 0x525a7f
lea esi, [esi + 0x47c4]
lea esi, [esi - 0x47c4]
xchg esp, esp
jbe 0x525a8f
jo 0x525a92
mov ebp, 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