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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 0x10]
push ebx
lea edx, [eax + 0x92d]
push esi
mov ecx, eax
push edi
mov dword [ebp + 0x10], ecx
mov dword [ebp - 0x18], edx
cmp eax, edx
ja 0x100191f0
mov esi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
jmp 0x100190d0
cmp ecx, 0x6432
ja 0x10019196
je 0x100191eb
mov eax, ecx
sub eax, 0x63db
je 0x1001918f
sub eax, 0x1d
je 0x10019150
sub eax, 0x1d
jne 0x100191d2
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jle 0x10019144
mov ecx, dword [esi]
push eax
lea edx, [ebp - 4]
push edx
push 0x46ed
lea eax, [ebp - 8]
mov dword [ebp - 0xc], ecx
push eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x10]
push edx
mov dword [ebp - 4], edi
mov dword [ebp - 8], 0x1001
mov dword [ebp - 0x10], 0xffff
call fcn.10005520
add esp, 0x18
test eax, eax
js 0x100191f3
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 4], 0
jmp 0x100191d2
cmp dword [ebx], 0
jle 0x100191d2
mov eax, dword [esi]
push ebx
lea ecx, [ebp - 0x10]
push ecx
push 0x46ed
lea edx, [ebp - 0xc]
mov dword [ebp - 8], eax
push edx
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x14]
push ecx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0xc], 0x1002
mov dword [ebp - 0x14], 0xffff
call fcn.10005520
add esp, 0x18
test eax, eax
js 0x100191f3
jmp 0x100191cf
mov edi, 4
jmp 0x100191d2
mov eax, ecx
sub eax, 0x696a
je 0x100191a6
sub eax, 0x1d
je 0x100191f0
jmp 0x100191d2
mov edx, dword [ebp + 8]
mov eax, dword [edx]
lea ecx, [ebp - 0x14]
push ecx
push esi
lea edx, [ebp - 0x10]
push edx
push 0x61ed
push ebx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], eax
call fcn.10017140
add esp, 0x14
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x10]
add ecx, 0x1d
mov dword [ebp + 0x10], ecx
cmp ecx, dword [ebp - 0x18]
jbe 0x100190d0
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
popal
stc
inc ebp
jmp 0x10019236
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x6617
ja 0x100192e8
je 0x100192d6
cmp edx, 0x5802
ja 0x100192bb
je 0x100192a1
mov eax, edx
sub eax, 0x954
je 0x10019268
sub eax, 9
jne 0x10019407
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebx]
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 4], edx
lea edx, [ebp - 8]
push edx
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax]
push 0x63db
lea eax, [ebp - 4]
mov dword [ebp - 8], ecx
push eax
lea ecx, [ebp - 0xc]
push ecx
call fcn.100190a0
mov edx, dword [ebp + 0x10]
add esp, 0x10
mov dword [ebp - 8], eax
jmp 0x10019407
movzx ecx, byte [ebx + 1]
mov eax, dword [ebp + 0xc]
mov byte [eax], cl
movzx ecx, byte [ebx]
mov byte [eax + 1], cl
add eax, 2
mov dword [ebp + 0xc], eax
jmp 0x10019407
cmp edx, 0x580b
jne 0x10019407
call 0xec417d31
mov eax, dword [ebp + 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
dec ebp
je 0x10019343
push ss
inc ecx
mov eax, dword [ebp + 0x14]
mov esi, dword [eax]
mov edi, dword [eax + 4]
jmp 0x10019407
cmp edx, 0x6b7f
ja 0x100193ed
je 0x100193c1
mov eax, edx
sub eax, 0x6620
je 0x1001931e
sub eax, 9
jne 0x10019407
in al, 0xd1
inc esi
scasd eax, dword es:[edi]
mov eax, dword [ebp + 0x14]
mov dword [eax], esi
mov dword [eax + 4], edi
jmp 0x10019407
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov ecx, eax
imul ecx, ecx, 0x9e3779b9
test eax, eax
jle 0x10019407
jmp 0x10019340
mov dword [ebp - 4], 0x1820
and byte [eax], bl
add byte [eax], al
jmp 0x10019350
mov eax, dword [ebp - 4]
sub eax, 0x1820
je 0x1001937d
sub eax, 0x44
jne 0x100193a5
mov edx, edi
shr edx, 5
mov eax, edi
shl eax, 4
xor edx, eax
mov eax, ecx
and eax, 3
mov eax, dword [ebx + eax*4]
add edx, edi
add eax, ecx
xor edx, eax
sub esi, edx
jmp 0x100193a2
mov edx, esi
shr edx, 5
mov eax, esi
shl eax, 4
xor edx, eax
mov eax, ecx
shr eax, 0xb
and eax, 3
mov eax, dword [ebx + eax*4]
add edx, esi
add eax, ecx
xor edx, eax
sub edi, edx
add ecx, 0x61c88647
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 4]
add eax, 0x44
mov dword [ebp - 4], eax
cmp eax, 0x1864
jbe 0x10019350
mov eax, dword [ebp + 0xc]
dec dword [eax]
cmp dword [eax], 0
jg 0x10019340
jmp 0x10019407
mov eax, dword [ebx]
test eax, eax
js 0x10019407
mov edx, dword [ebp + 0xc]
mov dword [edx + 0xd0], eax
mov ecx, dword [ebx]
neg ecx
sbb ecx, ecx
and ecx, 0xffffff07
add ecx, 0xfa
mov dword [edx + 0xb4], ecx
mov edx, dword [ebp + 0x10]
jmp 0x10019407
cmp edx, 0x6b88
jne 0x10019407
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx]
test eax, eax
js 0x10019407
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0xc8], eax
add edx, 9
mov dword [ebp + 0x10], edx
cmp edx, dword [ebp - 0x10]
jbe 0x10019230
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret