Function at 0x2004dc9b
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, edx
xor ebx, edx
js 0x2004dcaa
xor ecx, dword [esp + 0xc]
xor ecx, dword [esp + 0xc]
mov ebx, ebx
jnp 0x2004dcc7
pushf
lea ecx, [ecx]
xchg ebx, edi
xchg ebx, edi
popf
jno 0x2004dcc2
jo 0x2004dcc4
jp 0x2004dcc7
mov edx, 0x8b0c458b
or byte [ecx - 0x2d7807b3], cl
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [ebp - 8], ecx
xchg edx, edx
jl 0x2004dcd3
jb 0x2004dcd5
jle 0x2004dcd7
jbe 0x2004dce1
jle 0x2004dcdb
mov edx, edx
ja 0x2004dce1
xor eax, 0xc558bce
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov dword [ebp - 0x10], eax
jge 0x2004dcec
lea esi, [esi + 0x7e73]
lea esi, [esi - 0x7e73]
jp 0x2004dcfa
jle 0x2004dd0e
pushf
jl 0x2004dd00
nop
xor esi, 0
cmp eax, dword [esp]
popf
jno 0x2004dd0b
jg 0x2004dd0e
mov ecx, 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
test dword [esp], ebx
jmp 0x2004dd21
ja 0x2004dd29
lea esp, [esp]
jbe 0x2004dd29
mov esi, 0x107d83
cmp dword [ebp + 0x10], 0
jle 0x2004de0d
jp 0x2004dd35
js 0x2004dd3f
xchg edx, edx
jl 0x2004dd3b
jns 0x2004dd3f
ljmp 0xc969:0x104d8bfb
mov ecx, dword [ebp + 0x10]
imul ecx, ecx, 0x9e3779b9
mov dword [ebp - 0xc], ecx
and edi, edi
jnp 0x2004dd55
jl 0x2004dd51
jp 0x2004dd55
mov edx, 0xfc558b97
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0xc]
je 0x2004de08
lea eax, [eax]
cmp ebx, dword [esp]
je 0x2004dd7b
pushf
call 0x2004dd6f
add esp, 4
push eax
pop eax
popf
js 0x2004dd78
jne 0x2004dd7b
or dword [ebx - 0x1f3e0fbb], 0xf04d8b04
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
jb 0x2004dda7
jge 0x2004ddb9
pushf
and esp, 0xffffffff
inc esi
dec esi
popf
mov eax, eax
xchg esp, esp
jl 0x2004ddb9
mov eax, 0x81fc558b
ljmp 0x5589
mov edx, dword [ebp - 4]
sub edx, 0x61c88647
mov dword [ebp - 4], edx
xor esp, 0
jp 0x2004ddd6
jg 0x2004ddcc
xchg esi, edi
xchg esi, edi
lea ebx, [ebx]
jnp 0x2004ddd6
mov eax, 0xf8458bd0
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 0x2004dd55
jmp 0x2004df32
sub eax, 0
cld
jns 0x2004de13
jns 0x2004de34
pushf
or ebx, ebx
lea ebx, [ebx + 0x6b38]
sub ebx, 0x6b38
xor eax, dword [esp + 8]
xor eax, dword [esp + 8]
popf
jbe 0x2004de31
js 0x2004de34
call 0x171533c3
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
add eax, 0x7522
sub eax, 0x7522
xor edi, 0
shl esp, 0
shr ebx, 0
jb 0x2004de74
pushf
cmp esp, 0x49c4
rol esp, 0
test esp, 0x538d
sub esp, 0
popf
jno 0x2004de6f
jo 0x2004de71
jae 0x2004de74
mov ebx, 0xfc7d83
cmp dword [ebp - 4], 0
je 0x2004df32
and edx, 0xffffffff
jge 0x2004de8b
jo 0x2004de85
jb 0x2004de87
jl 0x2004de8b
mov ebp, 0xf8458b7d
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
ror ebx, 9
rol ebx, 9
xchg edx, edi
xchg edx, edi
jle 0x2004ded5
pushf
cmp esp, 0x59b
popf
jle 0x2004ded0
jmp 0x2004ded2
jg 0x2004ded5
mov edi, 0x81fc558b
ret 0x8647
mov edx, dword [ebp - 4]
add edx, 0x61c88647
mov dword [ebp - 4], edx
and edi, 0xffffffff
add eax, dword [esp]
sub eax, dword [esp]
jo 0x2004deec
jle 0x2004df03
pushf
test dword [esp], eax
clc
ror edx, 0x1b
rol edx, 0x1b
popf
jbe 0x2004defe
xchg esp, esp
jg 0x2004df03
mov ebx, 0xc1f0458b
loopne 0x2004df0d
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 0x2004de74
jmp 0xabc61217
jnp 0x2004df34
xchg edi, ebx
xchg edi, ebx
jbe 0x2004df3a
jo 0x2004df47
pushf
mov esp, esp
popf
jl 0x2004df44
jno 0x2004df47
jmp 0xab1134d6
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 8]
mov dword [edx], eax
jg 0x2004df51
jb 0x2004df53
cld
cmc
jne 0x2004df61
jb 0x2004df59
nop
jg 0x2004df5c
je 0x2004df61
call 0x6d9026bc
or al, 0x8b
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