Function at 0x10013650
Capabilities:
Encode data using xor

Disassembly:
push ebx
push ebp
push esi
mov esi, dword [esp + 0x14]
push edi
mov al, byte [esi]
inc esi
cmp al, 0x30
je 0x10013669
pop edi
pop esi
pop ebp
mov eax, 0xfffff250
pop ebx
ret
mov al, byte [esi]
cmp al, 0x80
jae 0x1001367c
and eax, 0xff
mov ecx, 1
inc esi
jmp 0x1001369f
and eax, 0xff
xor eax, 0x80
inc esi
mov ecx, eax
xor eax, eax
test ecx, ecx
jle 0x1001369e
mov edx, ecx
xor ebx, ebx
mov bl, byte [esi]
shl eax, 8
xor eax, ebx
inc esi
dec edx
jne 0x10013691
inc ecx
mov edx, dword [esp + 0x1c]
sub edx, ecx
dec edx
cmp edx, eax
je 0x100136b4
pop edi
pop esi
pop ebp
mov eax, 0xfffff250
pop ebx
ret
mov al, byte [esi]
inc esi
cmp al, 2
je 0x100136c5
pop edi
pop esi
pop ebp
mov eax, 0xfffff250
pop ebx
ret
mov cl, byte [esi]
inc esi
cmp cl, 1
je 0x100136d7
pop edi
pop esi
pop ebp
mov eax, 0xfffff250
pop ebx
ret
mov dl, byte [esi]
inc esi
test dl, dl
je 0x100136e8
pop edi
pop esi
pop ebp
mov eax, 0xfffff250
pop ebx
ret
mov al, byte [esi]
inc esi
cmp al, 2
je 0x100136f9
pop edi
pop esi
pop ebp
mov eax, 0xfffff250
pop ebx
ret
mov al, byte [esi]
cmp al, 0x80
jae 0x10013709
and eax, 0xff
inc esi
mov ebx, eax
jmp 0x10013727
and eax, 0xff
xor ebx, ebx
xor eax, 0x80
inc esi
test eax, eax
jle 0x10013727
xor ecx, ecx
mov cl, byte [esi]
shl ebx, 8
xor ebx, ecx
inc esi
dec eax
jne 0x1001371a
mov ebp, dword [esp + 0x14]
mov ecx, 0x103
xor eax, eax
mov edi, ebp
rep stosd dword es:[edi], eax
mov dl, byte [ebp]
mov byte [ebp], dl
push ebx
push esi
push ebp
mov dword [ebp + 0x408], 1
call fcn.10011390
add esp, 0xc
add esi, ebx
test eax, eax
jne 0x10013ac2
mov al, byte [esi]
inc esi
cmp al, 2
je 0x1001376c
pop edi
pop esi
pop ebp
mov eax, 0xfffff250
pop ebx
ret
mov al, byte [esi]
cmp al, 0x80
jae 0x1001377c
and eax, 0xff
inc esi
mov ebx, eax
jmp 0x1001379a
and eax, 0xff
xor ebx, ebx
xor eax, 0x80
inc esi
test eax, eax
jle 0x1001379a
xor ecx, ecx
mov cl, byte [esi]
shl ebx, 8
xor ebx, ecx
inc esi
dec eax
jne 0x1001378d
lea edx, [ebp + 0x40c]
mov ecx, 0x103
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov al, byte [edx]
mov byte [edx], al
push ebx
push esi
push edx
mov dword [ebp + 0x814], 1
call fcn.10011390
add esp, 0xc
add esi, ebx
test eax, eax
jne 0x10013ac2
mov cl, byte [esi]
inc esi
cmp cl, 2
je 0x100137e0
pop edi
pop esi
pop ebp
mov eax, 0xfffff250
pop ebx
ret
mov al, byte [esi]
cmp al, 0x80
jae 0x100137f0
and eax, 0xff
inc esi
mov ebx, eax
jmp 0x1001380e
and eax, 0xff
xor ebx, ebx
xor eax, 0x80
inc esi
test eax, eax
jle 0x1001380e
xor edx, edx
mov dl, byte [esi]
shl ebx, 8
xor ebx, edx
inc esi
dec eax
jne 0x10013801
lea edx, [ebp + 0x818]
mov ecx, 0x103
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov al, byte [edx]
mov byte [edx], al
push ebx
push esi
push edx
mov dword [ebp + 0xc20], 1
call fcn.10011390
add esp, 0xc
add esi, ebx
test eax, eax
jne 0x10013ac2
mov cl, byte [esi]
inc esi
cmp cl, 2
je 0x10013854
pop edi
pop esi
pop ebp
mov eax, 0xfffff250
pop ebx
ret
mov al, byte [esi]
cmp al, 0x80
jae 0x10013864
and eax, 0xff
inc esi
mov ebx, eax
jmp 0x10013882
and eax, 0xff
xor ebx, ebx
xor eax, 0x80
inc esi
test eax, eax
jle 0x10013882
xor edx, edx
mov dl, byte [esi]
shl ebx, 8
xor ebx, edx
inc esi
dec eax
jne 0x10013875
lea edx, [ebp + 0xc24]
mov ecx, 0x103
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov al, byte [edx]
mov byte [edx], al
push ebx
push esi
push edx
mov dword [ebp + 0x102c], 1
call fcn.10011390
add esp, 0xc
add esi, ebx
test eax, eax
jne 0x10013ac2
mov cl, byte [esi]
inc esi
cmp cl, 2
je 0x100138c8
pop edi
pop esi
pop ebp
mov eax, 0xfffff250
pop ebx
ret
mov al, byte [esi]
cmp al, 0x80
jae 0x100138d8
and eax, 0xff
inc esi
mov ebx, eax
jmp 0x100138f6
and eax, 0xff
xor ebx, ebx
xor eax, 0x80
inc esi
test eax, eax
jle 0x100138f6
xor edx, edx
mov dl, byte [esi]
shl ebx, 8
xor ebx, edx
inc esi
dec eax
jne 0x100138e9
lea edx, [ebp + 0x1030]
mov ecx, 0x103
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov al, byte [edx]
mov byte [edx], al
push ebx
push esi
push edx
mov dword [ebp + 0x1438], 1
call fcn.10011390
add esp, 0xc
add esi, ebx
test eax, eax
jne 0x10013ac2
mov cl, byte [esi]
cmp cl, 5
jne 0x10013944
mov cl, byte [esi + 1]
inc esi
inc esi
test cl, cl
je 0x100139b6
pop edi
pop esi
pop ebp
mov eax, 0xfffff250
pop ebx
ret
inc esi
cmp cl, 2
je 0x10013954
pop edi
pop esi
pop ebp
mov eax, 0xfffff250
pop ebx
ret
mov al, byte [esi]
cmp al, 0x80
jae 0x10013964
and eax, 0xff
inc esi
mov ebx, eax
jmp 0x10013982
and eax, 0xff
xor ebx, ebx
xor eax, 0x80
inc esi
test eax, eax
jle 0x10013982
xor edx, edx
mov dl, byte [esi]
shl ebx, 8
xor ebx, edx
inc esi
dec eax
jne 0x10013975
lea edx, [ebp + 0x143c]
mov ecx, 0x103
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov al, byte [edx]
mov byte [edx], al
push ebx
push esi
push edx
mov dword [ebp + 0x1844], 1
call fcn.10011390
add esp, 0xc
add esi, ebx
test eax, eax
jne 0x10013ac2
mov cl, byte [esi]
cmp cl, 5
jne 0x100139d0
mov cl, byte [esi + 1]
inc esi
inc esi
test cl, cl
je 0x10013a42
pop edi
pop esi
pop ebp
mov eax, 0xfffff250
pop ebx
ret
inc esi
cmp cl, 2
je 0x100139e0
pop edi
pop esi
pop ebp
mov eax, 0xfffff250
pop ebx
ret
mov al, byte [esi]
cmp al, 0x80
jae 0x100139f0
and eax, 0xff
inc esi
mov ebx, eax
jmp 0x10013a0e
and eax, 0xff
xor ebx, ebx
xor eax, 0x80
inc esi
test eax, eax
jle 0x10013a0e
xor edx, edx
mov dl, byte [esi]
shl ebx, 8
xor ebx, edx
inc esi
dec eax
jne 0x10013a01
lea edx, [ebp + 0x1848]
mov ecx, 0x103
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov al, byte [edx]
mov byte [edx], al
push ebx
push esi
push edx
mov dword [ebp + 0x1c50], 1
call fcn.10011390
add esp, 0xc
add esi, ebx
test eax, eax
jne 0x10013ac2
mov cl, byte [esi]
cmp cl, 5
jne 0x10013a5a
mov cl, byte [esi + 1]
test cl, cl
je 0x10013ac2
pop edi
pop esi
pop ebp
mov eax, 0xfffff250
pop ebx
ret
inc esi
cmp cl, 2
je 0x10013a6a
pop edi
pop esi
pop ebp
mov eax, 0xfffff250
pop ebx
ret
mov al, byte [esi]
cmp al, 0x80
jae 0x10013a7a
and eax, 0xff
inc esi
mov ebx, eax
jmp 0x10013a98
and eax, 0xff
xor ebx, ebx
xor eax, 0x80
inc esi
test eax, eax
jle 0x10013a98
xor ecx, ecx
mov cl, byte [esi]
shl ebx, 8
xor ebx, ecx
inc esi
dec eax
jne 0x10013a8b
lea edx, [ebp + 0x1c54]
mov ecx, 0x103
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov al, byte [edx]
mov byte [edx], al
push ebx
push esi
push edx
mov dword [ebp + 0x205c], 1
call fcn.10011390
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
ret