Function at 0x10009caa
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x50
push ebx
push esi
mov esi, dword [0x100e060c]
mov dword [esp + 0x30], 0x1e
mov eax, dword [esp + 0x30]
xor al, 0x43
mov byte [esp + 0x34], al
mov eax, dword [esp + 0x30]
inc al
xor al, 0x72
mov byte [esp + 0x35], al
mov eax, dword [esp + 0x30]
add al, 2
xor al, 0x65
mov byte [esp + 0x36], al
mov eax, dword [esp + 0x30]
add al, 3
xor al, 0x61
mov byte [esp + 0x37], al
mov eax, dword [esp + 0x30]
add al, 4
xor al, 0x74
mov byte [esp + 0x38], al
mov eax, dword [esp + 0x30]
add al, 5
xor al, 0x65
mov byte [esp + 0x39], al
mov eax, dword [esp + 0x30]
add al, 6
xor al, 0x50
mov byte [esp + 0x3a], al
mov eax, dword [esp + 0x30]
add al, 7
xor al, 0x72
mov byte [esp + 0x3b], al
mov eax, dword [esp + 0x30]
add al, 8
xor al, 0x6f
mov byte [esp + 0x3c], al
mov eax, dword [esp + 0x30]
add al, 9
xor al, 0x63
mov byte [esp + 0x3d], al
mov eax, dword [esp + 0x30]
add al, 0xa
xor al, 0x65
mov byte [esp + 0x3e], al
mov eax, dword [esp + 0x30]
add al, 0xb
xor al, 0x73
mov byte [esp + 0x3f], al
mov eax, dword [esp + 0x30]
add al, 0xc
xor al, 0x73
mov byte [esp + 0x40], al
mov eax, dword [esp + 0x30]
add al, 0xd
xor al, 0x41
xor ebx, ebx
mov byte [esp + 0x41], al
mov edx, ebx
mov al, byte [esp + 0x34]
mov byte [esp + 0x42], bl
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, 0xe
jb 0x10009d75
mov byte [esp + 0x42], bl
mov edx, ebx
mov dword [esp + 0x10], 0x30
mov eax, dword [esp + 0x10]
xor al, 0x6b
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x10]
inc al
xor al, 0x65
mov byte [esp + 0x15], al
mov eax, dword [esp + 0x10]
add al, 2
xor al, 0x72
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x10]
add al, 3
xor al, 0x6e
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x10]
add al, 4
xor al, 0x65
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x10]
add al, 5
xor al, 0x6c
mov byte [esp + 0x19], al
mov eax, dword [esp + 0x10]
add al, 6
xor al, 0x33
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x10]
add al, 7
mov byte [esp + 0x1c], bl
xor al, 0x32
mov byte [esp + 0x1b], al
mov al, byte [esp + 0x14]
mov al, byte [esp + edx + 0x14]
mov ecx, dword [esp + 0x10]
add cl, dl
xor cl, al
mov byte [esp + edx + 0x14], cl
inc edx
cmp edx, 8
jb 0x10009dff
push ecx
push 0xa
push 0x10009a93
push ecx
lea eax, [esp + 0x44]
mov byte [esp + 0x2c], bl
push eax
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.10058210
pop ecx
push eax
mov ecx, esi
call fcn.10056490
mov dword [esp + 0x44], 0x74
mov edx, ebx
mov byte [esp + 0x48], 0x37
mov byte [esp + 0x49], 6
mov byte [esp + 0x4a], 0x11
mov byte [esp + 0x4b], 0x15
mov byte [esp + 0x4c], bl
mov byte [esp + 0x4d], 0x11
mov byte [esp + 0x4e], 0x24
mov byte [esp + 0x4f], 6
mov byte [esp + 0x50], 0x1b
mov byte [esp + 0x51], 0x17
mov byte [esp + 0x52], 0x11
mov byte [esp + 0x53], 7
mov byte [esp + 0x54], 7
mov byte [esp + 0x55], 0x23
mov al, byte [esp + 0x48]
mov byte [esp + 0x56], bl
mov al, byte [esp + edx + 0x48]
mov ecx, dword [esp + 0x44]
xor cl, al
mov byte [esp + edx + 0x48], cl
inc edx
cmp edx, 0xe
jb 0x10009e93
mov byte [esp + 0x56], bl
mov edx, ebx
mov dword [esp + 0x20], 0x76
mov byte [esp + 0x24], 0x1d
mov byte [esp + 0x25], 0x13
mov byte [esp + 0x26], 4
mov byte [esp + 0x27], 0x18
mov byte [esp + 0x28], 0x13
mov byte [esp + 0x29], 0x1a
mov byte [esp + 0x2a], 0x45
mov byte [esp + 0x2b], 0x44
mov al, byte [esp + 0x24]
mov byte [esp + 0x2c], bl
mov al, byte [esp + edx + 0x24]
mov ecx, dword [esp + 0x20]
xor cl, al
mov byte [esp + edx + 0x24], cl
inc edx
cmp edx, 8
jb 0x10009ee5
push ecx
push 0xa
push 0x10009b1c
push ecx
lea eax, [esp + 0x58]
mov byte [esp + 0x3c], bl
push eax
lea eax, [esp + 0x38]
mov ecx, esi
push eax
call fcn.10058210
pop ecx
push eax
mov ecx, esi
call fcn.10056490
pop esi
pop ebx
mov esp, ebp
pop ebp
ret