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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
xor ebx, 0x3584
xor ebx, 0x3584
xor ebx, 0x4660
xor ebx, 0x4660
je 0x4359ab
pushf
jg 0x4359a0
lea edi, [edi]
popf
jno 0x4359a6
je 0x4359a8
jne 0x4359ab
mov eax, 0x8b0c458b
or byte [ecx - 0x1b7807b3], cl
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [ebp - 8], ecx
xchg esp, esp
cmp esi, dword [esp]
jb 0x4359da
pushf
add ecx, 0
ror edx, 2
rol edx, 2
rol edx, 9
rol edx, 0x17
jo 0x4359cd
popf
jne 0x4359d1
xchg edx, edi
xchg edx, edi
lea eax, [eax]
jae 0x4359da
mov edi, 0x8b0c558b
inc edx
add al, 0x89
inc ebp
invalid
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov dword [ebp - 0x10], eax
xchg esp, esp
jae 0x4359ee
jle 0x4359e9
xchg esp, esp
jb 0x4359ee
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
mov esp, esp
add ebx, 0
jns 0x435a03
jb 0x435a0c
jl 0x435a07
jnp 0x435a09
jae 0x435a0c
mov edi, 0x107d83
cmp dword [ebp + 0x10], 0
jle 0x435b3b
rol edx, 0x11
ror edx, 0x11
xor eax, 0x2f6e
xor eax, 0x2f6e
add eax, 0
add eax, 0x31ee
sub eax, 0x31ee
ja 0x435a3f
jb 0x435a37
lea esi, [esi]
js 0x435a3b
jbe 0x435a3f
jmp 0x1090e5a5
mov ecx, dword [ebp + 0x10]
imul ecx, ecx, 0x9e3779b9
mov dword [ebp - 0xc], ecx
jae 0x435a4d
test esp, 0x9a7
clc
test edx, esi
jnp 0x435a61
je 0x435a5a
lea eax, [eax]
nop
jp 0x435a61
sbb esp, 0x3bfc558b
push ebp
hlt
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0xc]
je 0x435b36
jae 0x435a6f
xor eax, 0x58cb
xor eax, 0x58cb
cmp edx, dword [esp + 0x10]
jo 0x435a7f
jg 0x435a8d
pushf
add esp, 0
popf
jl 0x435a8a
jle 0x435a8d
ljmp 0x4e0:0xc1f0458b
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 0x435ab9
rol esp, 0
je 0x435ad9
pushf
cmp edx, dword [esp + 0x10]
test edx, ecx
add edx, dword [esp]
sub edx, dword [esp]
jle 0x435ace
popf
xchg edx, ebx
xchg edx, ebx
jg 0x435ad6
jne 0x435ad9
lcall 0x47ea, 0x81fc558b
xchg al, cl
popal
mov edx, dword [ebp - 4]
sub edx, 0x61c88647
mov dword [ebp - 4], edx
add ecx, dword [esp]
sub ecx, dword [esp]
ror ebx, 0xc
ror ebx, 0x14
add esi, dword [esp]
sub esi, dword [esp]
rol ebx, 0x13
rol ebx, 0xd
jo 0x435b04
xchg esp, esp
jno 0x435b04
call 0xc23ba093
loopne 0x435b0e
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 0x435a61
jmp 0x8c048e18
jmp 0x435c50
shr ecx, 0
cmp ecx, dword [esp]
ja 0x435b58
pushf
cld
xchg edx, esi
xchg edx, esi
xor edx, 0
popf
jo 0x435b51
jae 0x435b53
jl 0x435b55
jbe 0x435b58
mov ebp, 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
nop
jge 0x435b69
sub esp, 0
lea esi, [esi]
jp 0x435b85
pushf
ror ecx, 5
ror ecx, 0x1b
jns 0x435b7a
popf
jg 0x435b7e
xchg ecx, eax
xchg ecx, eax
mov esp, esp
jnp 0x435b85
add dword [ebx + 0xf00fc7d], 0xc184
add byte [edi], bh
cmp dword [ebp - 4], 0
je 0x435c50
jg 0x435b91
ror esi, 2
ror esi, 0x1e
xor esp, 0
cmp ebx, 0x3f2e
jnp 0x435ba8
jg 0x435ba4
jp 0x435ba8
xor eax, 0xf8458bc6
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
inc edi
dec edi
ror ecx, 0x14
ror ecx, 0xc
jl 0x435bdf
jp 0x435beb
jae 0x435be3
jnp 0x435be5
jne 0x435be7
jnp 0x435beb
mov eax, 0xfc558b00
mov edx, dword [ebp - 4]
add edx, 0x61c88647
mov dword [ebp - 4], edx
clc
xor esi, dword [esp + 8]
xor esi, dword [esp + 8]
cmp esp, 0x2b44
jno 0x435c21
pushf
rol esi, 0x16
ror esi, 0x16
shr eax, 0
inc edx
dec edx
ror ecx, 0xb
rol ecx, 0xb
popf
nop
jo 0x435c21
add eax, 0xc1f0458b
loopne 0x435c2b
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 0x435b85
jmp 0x8c048f35
jns 0x435c52
je 0x435c65
pushf
rol esp, 0
popf
jl 0x435c5d
xchg esp, esp
lea esp, [esp]
jne 0x435c65
sub eax, 0x8b0c558b
inc ebp
clc
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 8]
mov dword [edx], eax
lea edi, [edi + 0x51df]
lea edi, [edi - 0x51df]
xor edi, ebx
xor edi, ebx
jge 0x435c90
pushf
xchg esi, esi
jnp 0x435c85
popf
jne 0x435c89
jo 0x435c8b
jns 0x435c8d
jl 0x435c90
add eax, 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