Function at 0x100ba7f6
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
mov eax, dword [0x1026e004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
push 0x55
pop eax
mov word [ebp - 0x48], ax
push 0x48
pop eax
mov word [ebp - 0x46], ax
push 0x4e
pop eax
mov word [ebp - 0x44], ax
push 0x61
pop eax
mov word [ebp - 0x42], ax
xor eax, eax
xor esi, esi
mov word [ebp - 0x40], ax
mov ax, word [ebp - 0x48]
mov ecx, esi
push 4
pop ebx
mov ax, word [ebp + ecx*2 - 0x48]
movzx eax, ax
add eax, 0xfffffffb
mov word [ebp + ecx*2 - 0x48], ax
inc ecx
cmp ecx, ebx
jb 0x100ba839
push ebx
lea eax, [ebp - 0x48]
push eax
push edi
call fcn.100e8b4e
add esp, 0xc
test eax, eax
je 0x100baa9c
mov dword [ebp - 0x3c], 0x770
mov edx, esi
mov eax, dword [ebp - 0x3c]
xor eax, 0x49
mov word [ebp - 0x38], ax
mov eax, dword [ebp - 0x3c]
inc eax
push 0x44
pop ecx
xor eax, ecx
mov word [ebp - 0x36], ax
mov eax, dword [ebp - 0x3c]
add eax, 2
xor eax, 0x45
mov word [ebp - 0x34], ax
mov eax, dword [ebp - 0x3c]
add eax, 3
xor eax, 0x5c
mov word [ebp - 0x32], ax
xor eax, eax
mov word [ebp - 0x30], ax
mov ax, word [ebp - 0x38]
mov ax, word [ebp + edx*2 - 0x38]
mov ecx, dword [ebp - 0x3c]
add ecx, edx
movzx eax, ax
xor ecx, eax
mov word [ebp + edx*2 - 0x38], cx
inc edx
cmp edx, ebx
jb 0x100ba8a8
xor eax, eax
mov word [ebp - 0x30], ax
lea eax, [ebp - 0x38]
push ebx
push eax
push edi
call fcn.100e8b4e
add esp, 0xc
test eax, eax
je 0x100baa9c
push 7
push str.PCIIDE_
push edi
call fcn.100e8b4e
add esp, 0xc
test eax, eax
je 0x100baa9c
push 0x42
pop eax
mov word [ebp - 0x54], ax
mov ecx, esi
push 0x44
pop eax
mov word [ebp - 0x52], ax
push 0x51
pop eax
mov word [ebp - 0x50], ax
push 0x4a
pop eax
mov word [ebp - 0x4e], ax
push 0x5d
pop eax
mov word [ebp - 0x4c], ax
xor eax, eax
mov word [ebp - 0x4a], ax
mov ax, word [ebp - 0x54]
mov ax, word [ebp + ecx*2 - 0x54]
movzx eax, ax
dec eax
mov word [ebp + ecx*2 - 0x54], ax
inc ecx
cmp ecx, 5
jb 0x100ba924
push 5
lea eax, [ebp - 0x54]
push eax
push edi
call fcn.100e8b4e
add esp, 0xc
test eax, eax
je 0x100baa9c
mov dword [ebp - 0x14], 0x368c
mov edx, esi
mov eax, dword [ebp - 0x14]
xor eax, 0x53
mov word [ebp - 0x10], ax
mov eax, dword [ebp - 0x14]
inc eax
xor eax, 0x43
mov word [ebp - 0xe], ax
mov eax, dword [ebp - 0x14]
add eax, 2
xor eax, 0x53
mov word [ebp - 0xc], ax
mov eax, dword [ebp - 0x14]
add eax, 3
xor eax, 0x49
mov word [ebp - 0xa], ax
mov eax, dword [ebp - 0x14]
add eax, ebx
xor eax, 0x5c
mov word [ebp - 8], ax
xor eax, eax
mov word [ebp - 6], ax
mov ax, word [ebp - 0x10]
mov ax, word [ebp + edx*2 - 0x10]
mov ecx, dword [ebp - 0x14]
add ecx, edx
movzx eax, ax
xor ecx, eax
mov word [ebp + edx*2 - 0x10], cx
inc edx
cmp edx, 5
jb 0x100ba99d
xor eax, eax
mov word [ebp - 6], ax
lea eax, [ebp - 0x10]
push 5
push eax
push edi
call fcn.100e8b4e
add esp, 0xc
test eax, eax
je 0x100baa9c
mov dword [ebp - 0x2c], 0x8ff3
mov eax, dword [ebp - 0x2c]
xor eax, 0x41
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0x2c]
inc eax
xor eax, 0x43
mov word [ebp - 0x26], ax
mov eax, dword [ebp - 0x2c]
add eax, 2
xor eax, 0x50
mov word [ebp - 0x24], ax
mov eax, dword [ebp - 0x2c]
add eax, 3
xor eax, 0x49
mov word [ebp - 0x22], ax
mov eax, dword [ebp - 0x2c]
add eax, ebx
xor eax, 0x5f
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x2c]
add eax, 5
xor eax, 0x48
mov word [ebp - 0x1e], ax
mov eax, dword [ebp - 0x2c]
add eax, 6
xor eax, 0x41
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 0x2c]
add eax, 7
xor eax, 0x4c
mov word [ebp - 0x1a], ax
mov eax, dword [ebp - 0x2c]
add eax, 8
xor eax, 0x5c
mov word [ebp - 0x18], ax
xor eax, eax
mov word [ebp - 0x16], ax
mov ax, word [ebp - 0x28]
mov ax, word [ebp + esi*2 - 0x28]
mov ecx, dword [ebp - 0x2c]
add ecx, esi
movzx eax, ax
xor ecx, eax
mov word [ebp + esi*2 - 0x28], cx
inc esi
cmp esi, 9
jb 0x100baa54
xor eax, eax
mov word [ebp - 0x16], ax
lea eax, [ebp - 0x28]
push 9
push eax
push edi
call fcn.100e8b4e
add esp, 0xc
test eax, eax
je 0x100baa9c
push 0x5c
push edi
call fcn.100e2074
neg eax
pop ecx
sbb eax, eax
neg eax
pop ecx
add eax, 2
jmp 0x100baa9f
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100e04a9
leave
ret 4