Function at 0x10009a8b
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
push ebx
push esi
mov esi, dword [0x100e22d4]
xor ebx, ebx
mov dword [esp + 0x50], 0x46
mov edx, ebx
mov byte [esp + 0x54], 0x11
mov byte [esp + 0x55], 0x15
mov byte [esp + 0x56], 7
mov byte [esp + 0x57], 5
mov byte [esp + 0x58], 0x29
mov byte [esp + 0x59], 0x28
mov byte [esp + 0x5a], 0x28
mov byte [esp + 0x5b], 0x23
mov byte [esp + 0x5c], 0x25
mov byte [esp + 0x5d], 0x32
mov al, byte [esp + 0x54]
push edi
mov byte [esp + 0x62], bl
mov al, byte [esp + edx + 0x58]
mov ecx, dword [esp + 0x54]
xor cl, al
mov byte [esp + edx + 0x58], cl
inc edx
cmp edx, 0xa
jb 0x10009ae3
mov byte [esp + 0x62], bl
mov edx, ebx
mov dword [esp + 0x48], 0x14
mov byte [esp + 0x4c], 0x43
mov byte [esp + 0x4d], 0x47
mov byte [esp + 0x4e], 0x26
mov byte [esp + 0x4f], 0x4b
mov byte [esp + 0x50], 0x27
push 6
mov byte [esp + 0x55], 0x26
mov al, byte [esp + 0x50]
mov byte [esp + 0x56], bl
pop edi
mov al, byte [esp + edx + 0x4c]
mov ecx, dword [esp + 0x48]
xor cl, al
mov byte [esp + edx + 0x4c], cl
inc edx
cmp edx, edi
jb 0x10009b2e
push 1
push 7
push 0x100099b4
push ecx
lea eax, [esp + 0x68]
mov byte [esp + 0x62], bl
push eax
lea eax, [esp + 0x60]
mov ecx, esi
push eax
call fcn.10058d20
pop ecx
push eax
mov ecx, esi
call fcn.10056f40
mov byte [esp + 0x10], 0x66
mov byte [esp + 0x11], 0x72
mov byte [esp + 0x12], 0x71
mov byte [esp + 0x13], 0x71
mov byte [esp + 0x14], 0x68
mov byte [esp + 0x15], 0x66
mov byte [esp + 0x16], 0x77
mov byte [esp + 0x17], bl
mov al, byte [esp + 0x10]
mov eax, ebx
sub byte [esp + eax + 0x10], 3
inc eax
cmp eax, 7
jb 0x10009b96
mov dword [esp + 0x18], 0x60
mov edx, ebx
mov eax, dword [esp + 0x18]
xor al, 0x57
mov byte [esp + 0x1c], al
mov eax, dword [esp + 0x18]
inc al
xor al, 0x53
mov byte [esp + 0x1d], al
mov eax, dword [esp + 0x18]
add al, 2
xor al, 0x32
mov byte [esp + 0x1e], al
mov eax, dword [esp + 0x18]
add al, 3
xor al, 0x5f
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x18]
add al, 4
xor al, 0x33
mov byte [esp + 0x20], al
mov eax, dword [esp + 0x18]
add al, 5
mov byte [esp + 0x22], bl
xor al, 0x32
mov byte [esp + 0x21], al
mov al, byte [esp + 0x1c]
mov al, byte [esp + edx + 0x1c]
mov ecx, dword [esp + 0x18]
add cl, dl
xor cl, al
mov byte [esp + edx + 0x1c], cl
inc edx
cmp edx, edi
jb 0x10009bf9
push 1
push 3
push 0x100099ee
push ecx
lea eax, [esp + 0x20]
mov byte [esp + 0x32], bl
push eax
lea eax, [esp + 0x30]
mov ecx, esi
push eax
call fcn.10058d20
pop ecx
push eax
mov ecx, esi
call fcn.10056f40
mov dword [esp + 0x24], 0x72
mov edx, ebx
mov eax, dword [esp + 0x24]
xor al, 0x73
mov byte [esp + 0x28], al
mov eax, dword [esp + 0x24]
inc al
xor al, 0x65
mov byte [esp + 0x29], al
mov eax, dword [esp + 0x24]
add al, 2
xor al, 0x6e
mov byte [esp + 0x2a], al
mov eax, dword [esp + 0x24]
add al, 3
xor al, 0x64
mov byte [esp + 0x2b], al
mov eax, dword [esp + 0x24]
add al, 4
xor al, 0x74
mov byte [esp + 0x2c], al
mov eax, dword [esp + 0x24]
add al, 5
mov byte [esp + 0x2e], bl
xor al, 0x6f
mov byte [esp + 0x2d], al
mov al, byte [esp + 0x28]
mov al, byte [esp + edx + 0x28]
mov ecx, dword [esp + 0x24]
add cl, dl
xor cl, al
mov byte [esp + edx + 0x28], cl
inc edx
cmp edx, edi
jb 0x10009c8e
mov byte [esp + 0x2e], bl
mov edx, ebx
mov dword [esp + 0x30], 0x41
mov eax, dword [esp + 0x30]
xor al, 0x57
mov byte [esp + 0x34], al
mov eax, dword [esp + 0x30]
inc al
xor al, 0x53
mov byte [esp + 0x35], al
mov eax, dword [esp + 0x30]
add al, 2
xor al, 0x32
mov byte [esp + 0x36], al
mov eax, dword [esp + 0x30]
add al, 3
xor al, 0x5f
mov byte [esp + 0x37], al
mov eax, dword [esp + 0x30]
add al, 4
xor al, 0x33
mov byte [esp + 0x38], al
mov eax, dword [esp + 0x30]
add al, 5
mov byte [esp + 0x3a], bl
xor al, 0x32
mov byte [esp + 0x39], al
mov al, byte [esp + 0x34]
mov al, byte [esp + edx + 0x34]
mov ecx, dword [esp + 0x30]
add cl, dl
xor cl, al
mov byte [esp + edx + 0x34], cl
inc edx
cmp edx, edi
jb 0x10009cff
push 1
push edi
push 0x10009a28
push ecx
lea eax, [esp + 0x38]
mov byte [esp + 0x4a], bl
push eax
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.10058d20
pop ecx
push eax
mov ecx, esi
call fcn.10056f40
mov dword [esp + 0x64], 0x68
mov edx, ebx
mov byte [esp + 0x68], 0x3f
mov byte [esp + 0x69], 1
mov byte [esp + 0x6a], 6
mov byte [esp + 0x6b], 0x20
mov byte [esp + 0x6c], 0x1c
mov byte [esp + 0x6d], 0x1c
mov byte [esp + 0x6e], 0x18
mov byte [esp + 0x6f], 0x2b
mov byte [esp + 0x70], 7
mov byte [esp + 0x71], 6
mov byte [esp + 0x72], 6
mov byte [esp + 0x73], 0xd
mov byte [esp + 0x74], 0xb
mov byte [esp + 0x75], 0x1c
mov al, byte [esp + 0x68]
mov byte [esp + 0x76], bl
mov al, byte [esp + edx + 0x68]
mov ecx, dword [esp + 0x64]
xor cl, al
mov byte [esp + edx + 0x68], cl
inc edx
cmp edx, 0xe
jb 0x10009d93
mov byte [esp + 0x76], bl
mov edx, ebx
mov dword [esp + 0x3c], 0x2e
mov byte [esp + 0x40], 0x59
mov byte [esp + 0x41], 0x47
mov byte [esp + 0x42], 0x40
mov byte [esp + 0x43], 0x46
mov byte [esp + 0x44], 0x5a
mov byte [esp + 0x45], 0x5a
mov byte [esp + 0x46], 0x5e
mov al, byte [esp + 0x40]
mov byte [esp + 0x47], bl
mov al, byte [esp + edx + 0x40]
mov ecx, dword [esp + 0x3c]
xor cl, al
mov byte [esp + edx + 0x40], cl
inc edx
cmp edx, 7
jb 0x10009de0
push 1
push 4
push 0x10009a44
push ecx
lea eax, [esp + 0x78]
mov byte [esp + 0x57], bl
push eax
lea eax, [esp + 0x54]
mov ecx, esi
push eax
call fcn.10058d20
pop ecx
push eax
mov ecx, esi
call fcn.10056f40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret