Function at 0x100015b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x1001600c]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, ecx
push ebx
push esi
xor esi, esi
mov eax, dword [edx + 0xc]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x14], xmm0
mov al, byte [ebp + esi - 0x14]
mov ecx, edx
mov byte [ebp - 0x24], al
push 1
push dword [ebp - 0x24]
call fcn.100013b0
push 1
push eax
mov ecx, edx
mov dword [ebp - 0x2c], eax
call fcn.100013b0
mov bl, al
mov ecx, edx
push 1
push ebx
call fcn.100013b0
xor al, bl
mov ecx, edx
mov byte [ebp - 0x17], al
xor al, byte [ebp - 0x2c]
mov byte [ebp - 0x19], al
mov al, byte [ebp + esi - 0x10]
mov byte [ebp - 0x30], al
push 1
push dword [ebp - 0x30]
mov byte [ebp - 0x15], al
call fcn.100013b0
push 1
mov bl, al
mov ecx, edx
push 1
push ebx
call fcn.100013b0
movzx ecx, al
push ecx
mov ecx, edx
call fcn.100013b0
xor al, bl
mov ecx, edx
xor al, byte [ebp - 0x15]
mov byte [ebp - 0x18], al
mov al, byte [ebp + esi - 0xc]
push 1
mov byte [ebp - 0x20], al
push 1
push dword [ebp - 0x20]
call fcn.100013b0
movzx eax, al
mov ecx, edx
push eax
call fcn.100013b0
mov bl, al
mov ecx, edx
push 1
push ebx
call fcn.100013b0
mov bh, byte [ebp + esi - 8]
xor al, bl
push 1
push 1
push 1
mov byte [ebp - 0x28], bh
mov bl, al
push dword [ebp - 0x28]
xor bl, byte [ebp - 0x20]
mov ecx, edx
mov byte [ebp - 0x16], al
call fcn.100013b0
movzx eax, al
mov ecx, edx
push eax
call fcn.100013b0
movzx eax, al
mov ecx, edx
push eax
call fcn.100013b0
mov ecx, dword [edx + 0xc]
xor al, bh
xor al, bl
xor al, byte [ebp - 0x18]
xor al, byte [ebp - 0x19]
mov bl, byte [ebp - 0x24]
push 1
push 1
push 1
mov byte [ebp - 0x34], bl
push dword [ebp - 0x34]
mov byte [esi + ecx], al
mov ecx, edx
call fcn.100013b0
movzx eax, al
mov ecx, edx
push eax
call fcn.100013b0
movzx eax, al
mov ecx, edx
push eax
call fcn.100013b0
xor al, bl
mov ecx, edx
mov byte [ebp - 0x1a], al
mov al, byte [ebp - 0x15]
mov byte [ebp - 0x38], al
push 1
push dword [ebp - 0x38]
call fcn.100013b0
push 1
push eax
mov ecx, edx
mov dword [ebp - 0x2c], eax
call fcn.100013b0
mov bl, al
mov ecx, edx
push 1
push ebx
call fcn.100013b0
xor al, bl
mov ecx, edx
mov byte [ebp - 0x1b], al
xor al, byte [ebp - 0x2c]
mov byte [ebp - 0x18], al
mov al, byte [ebp - 0x20]
mov byte [ebp - 0x3c], al
push 1
push dword [ebp - 0x3c]
call fcn.100013b0
push 1
mov bl, al
mov ecx, edx
push 1
push ebx
call fcn.100013b0
movzx ecx, al
push ecx
mov ecx, edx
call fcn.100013b0
push 1
mov cl, bh
xor al, bl
xor al, byte [ebp - 0x20]
mov byte [ebp - 0x40], cl
mov ecx, edx
push 1
push dword [ebp - 0x40]
mov byte [ebp - 0x19], al
call fcn.100013b0
movzx eax, al
mov ecx, edx
push eax
call fcn.100013b0
mov bl, al
mov ecx, edx
push 1
push ebx
call fcn.100013b0
xor al, bl
mov bl, al
mov byte [ebp - 0x1c], al
xor bl, bh
xor bl, byte [ebp - 0x19]
xor bl, byte [ebp - 0x18]
xor bl, byte [ebp - 0x1a]
mov ecx, dword [edx + 0xc]
push 1
push 1
push 1
mov byte [ecx + esi + 4], bl
mov bl, byte [ebp - 0x15]
mov cl, byte [ebp - 0x24]
xor byte [ebp - 0x17], cl
mov ecx, edx
mov byte [ebp - 0x44], bl
push dword [ebp - 0x44]
call fcn.100013b0
movzx eax, al
mov ecx, edx
push eax
call fcn.100013b0
movzx eax, al
mov ecx, edx
push eax
call fcn.100013b0
xor al, bl
mov ecx, edx
mov byte [ebp - 0x1a], al
mov al, byte [ebp - 0x20]
mov byte [ebp - 0x48], al
push 1
push dword [ebp - 0x48]
call fcn.100013b0
xor al, byte [ebp - 0x16]
mov ecx, edx
push 1
mov byte [ebp - 0x4c], bh
push dword [ebp - 0x4c]
mov byte [ebp - 0x16], al
call fcn.100013b0
push 1
mov bl, al
mov ecx, edx
push 1
push ebx
call fcn.100013b0
movzx ecx, al
push ecx
mov ecx, edx
call fcn.100013b0
mov ecx, dword [edx + 0xc]
xor al, bl
xor al, bh
xor al, byte [ebp - 0x16]
xor al, byte [ebp - 0x1a]
xor al, byte [ebp - 0x17]
mov byte [ecx + esi + 8], al
mov ecx, edx
mov al, byte [ebp - 0x24]
mov byte [ebp - 0x50], al
push 1
push dword [ebp - 0x50]
call fcn.100013b0
push 1
mov bl, al
mov ecx, edx
push 1
push ebx
call fcn.100013b0
movzx ecx, al
push ecx
mov ecx, edx
call fcn.100013b0
xor al, byte [ebp - 0x24]
mov ecx, edx
mov bh, byte [ebp - 0x20]
xor al, bl
push 1
mov byte [ebp - 0x16], al
mov al, byte [ebp - 0x15]
xor al, byte [ebp - 0x1b]
push 1
mov byte [ebp - 0x54], bh
push 1
push dword [ebp - 0x54]
mov byte [ebp - 0x15], al
call fcn.100013b0
movzx eax, al
mov ecx, edx
push eax
call fcn.100013b0
movzx eax, al
mov ecx, edx
push eax
call fcn.100013b0
mov bl, al
mov ecx, edx
mov al, byte [ebp - 0x28]
xor bl, bh
mov byte [ebp - 0x58], al
push 1
push dword [ebp - 0x58]
call fcn.100013b0
xor al, byte [ebp - 0x1c]
mov ecx, dword [edx + 0xc]
xor al, bl
xor al, byte [ebp - 0x15]
xor al, byte [ebp - 0x16]
mov byte [ecx + esi + 0xc], al
inc esi
cmp esi, 4
jl 0x100015d0
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.10002993
mov esp, ebp
pop ebp
ret