Function at 0x10012b7d
Capabilities:
Encode data using xor

Disassembly:
push 0x44
mov eax, 0x1002fa67
call fcn.1002a0b4
mov ecx, ebx
mov dword [ebp - 0x50], ebx
call fcn.1002418b
and dword [ebp - 4], 0
mov dword [ebp - 0x38], 0x5221
mov dword [ebp - 0x38], 0x5399
mov dword [ebp - 0x44], 0x4d75
mov dword [ebp - 0x40], 0x7283
mov dword [ebp - 0x4c], 0x6323
mov dword [ebp - 0x48], 0x6ad8
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
xor eax, ecx
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x38]
sub edx, ecx
or eax, edx
or eax, 0x2b67
mov dword [ebp - 0x38], eax
push 0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
call fcn.10015d47
mov byte [ebp - 4], 1
mov dword [ebp - 0x30], 0x532e
mov dword [ebp - 0x34], 0x526c
mov dword [ebp - 0x40], 0x6740
mov dword [ebp - 0x30], 0x4dc7
mov dword [ebp - 0x4c], 0x551c
mov dword [ebp - 0x48], 0x508d
mov dword [ebp - 0x44], 0x235c
mov dword [ebp - 0x38], 0x2f3b
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x4c]
and ecx, edx
xor eax, ecx
mov ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x34]
xor eax, ecx
mov ecx, dword [ebp - 0x30]
xor eax, ecx
or eax, 0x5ad7
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x2c]
push eax
push 0x1003bdc8
call fcn.10014be3
mov dword [ebp - 0x30], 0x9be
mov dword [ebp - 0x40], 0x5077
mov dword [ebp - 0x4c], 0x21a0
mov dword [ebp - 0x34], 0x7418
mov dword [ebp - 0x44], 0x4909
mov dword [ebp - 0x30], 0x4a98
mov dword [ebp - 0x38], 0x547a
mov dword [ebp - 0x48], 0x1c14
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
sub ecx, eax
add ecx, dword [ebp - 0x38]
add ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
and ecx, eax
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x40]
sub edx, eax
or ecx, edx
or ecx, 0x1db6
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], 0x5bd4
mov dword [ebp - 0x34], 0x4657
mov dword [ebp - 0x38], 0x3a87
mov dword [ebp - 0x30], 0x3cfe
mov dword [ebp - 0x48], 0x69f7
mov dword [ebp - 0x44], 0x119e
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
sub ecx, eax
add ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
imul eax, eax, 0x75fe
add eax, dword [ebp - 0x48]
mov edi, dword [ebp - 0x18]
xor ecx, eax
mov dword [ebp - 0x30], ecx
lea edi, [edi + str.5D91BE60_660A_46FF_B03E_17E336194A84Rp916BIAS_bK_P_0hCGK_D_R]
mov eax, dword [edi]
mov dword [ebx + 0x1c], eax
mov dword [ebp - 0x30], 0x561e
mov dword [ebp - 0x38], 0x6fe4
mov dword [ebp - 0x34], 0x2490
mov dword [ebp - 0x30], 0x7b08
mov dword [ebp - 0x44], 0x6adb
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
and eax, ecx
mov ecx, dword [ebp - 0x38]
and eax, ecx
mov ecx, dword [ebp - 0x44]
add ecx, 0x2c1a
xor eax, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0x406d
mov dword [ebp - 0x48], 0x7139
mov dword [ebp - 0x38], 0x555e
mov dword [ebp - 0x34], 0x297d
mov dword [ebp - 0x30], 0x3ee7
mov dword [ebp - 0x44], 0x4f08
mov dword [ebp - 0x40], 0x5c79
mov dword [ebp - 0x4c], 0x2ddb
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
imul eax, ecx
mov ecx, dword [ebp - 0x38]
sub eax, ecx
mov ecx, dword [ebp - 0x44]
sub eax, ecx
add eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x40]
add ecx, 0x7844
and ecx, edx
xor eax, ecx
mov dword [ebp - 0x30], eax
mov eax, 0x3490
sub eax, dword [ebp - 0x18]
push eax
call fcn.1001f2d2
and dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0x5af8
mov dword [ebp - 0x34], 0x4960
mov esi, eax
mov dword [ebp - 0x30], 0x3ec2
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
imul eax, eax, 0x1c60
or eax, ecx
mov dword [ebp - 0x30], eax
mov eax, 0x348f
add esp, 0xc
sub eax, dword [ebp - 0x18]
je 0x10012ed4
mov dword [ebp - 0x4c], edi
sub dword [ebp - 0x4c], esi
mov dword [ebp - 0x30], 0x6bf6
mov dword [ebp - 0x34], 0x5e3c
mov dword [ebp - 0x30], 0x34f9
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
xor edx, edx
and eax, 0x2587
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0x1488
mov dword [ebp - 0x34], 0x5af0
mov dword [ebp - 0x30], 0x6c2b
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
xor eax, 0x1f9
or eax, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x40]
div dword [ebp - 0x18]
lea eax, [ebp - 0x2c]
mov edi, edx
call fcn.1002161f
mov edi, eax
mov eax, dword [ebp - 0x40]
lea ecx, [eax + esi]
mov eax, dword [ebp - 0x4c]
mov al, byte [eax + ecx]
xor al, byte [edi]
mov byte [ecx], al
mov dword [ebp - 0x3c], 0x11c1
mov dword [ebp - 0x38], 0x268d
mov dword [ebp - 0x34], 0x153
mov dword [ebp - 0x30], 0x6a32
mov dword [ebp - 0x48], 0x35ea
mov dword [ebp - 0x44], 0x29f5
mov dword [ebp - 0x3c], 0x49af
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
xor eax, ecx
mov ecx, dword [ebp - 0x38]
xor eax, ecx
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x48]
or eax, ecx
mov ecx, dword [ebp - 0x3c]
imul ecx, ecx, 0x52b1
or eax, ecx
inc dword [ebp - 0x40]
mov dword [ebp - 0x3c], eax
mov eax, 0x348f
sub eax, dword [ebp - 0x18]
cmp dword [ebp - 0x40], eax
jb 0x10012e00
mov dword [ebp - 0x3c], 0x59f5
mov dword [ebp - 0x30], 0x5805
mov dword [ebp - 0x3c], 0x653e
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
xor eax, ecx
or eax, 0x46ea
mov dword [ebp - 0x3c], eax
mov eax, dword [esi]
mov dword [ebx + 0x1c], eax
mov dword [ebp - 0x3c], 0x49d1
mov dword [ebp - 0x38], 0x4b0d
mov dword [ebp - 0x30], 0x31a4
mov dword [ebp - 0x3c], 0x742c
mov dword [ebp - 0x34], 0x6a1c
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
sub ecx, 0x61e0
xor eax, ecx
mov ecx, dword [ebp - 0x38]
or eax, ecx
mov dword [ebp - 0x3c], eax
mov eax, esi
sub eax, dword [ebp - 0x18]
mov byte [eax + 0x348f], 0
mov dword [ebp - 0x3c], 0xc1b
mov dword [ebp - 0x30], 0xf4e
mov dword [ebp - 0x3c], 0x3e4e
mov dword [ebp - 0x34], 0x1173
mov dword [ebp - 0x38], 0x19cb
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
and eax, ecx
mov ecx, dword [ebp - 0x34]
xor eax, ecx
mov ecx, dword [ebp - 0x38]
xor ecx, 0x7443
or eax, ecx
mov dword [ebp - 0x3c], eax
lea eax, [esi + 4]
push eax
mov ecx, ebx
call fcn.10024750
mov dword [ebp - 0x3c], 0x1890
mov dword [ebp - 0x38], 0x1c73
mov dword [ebp - 0x30], 0x6569
mov dword [ebp - 0x3c], 0x3e54
mov dword [ebp - 0x34], 0x4319
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
imul eax, ecx
mov ecx, dword [ebp - 0x34]
and eax, ecx
mov ecx, dword [ebp - 0x38]
xor eax, 0x2d5e
or eax, ecx
push esi
mov dword [ebp - 0x3c], eax
call fcn.10005556
pop ecx
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.10007145
mov eax, ebx
call fcn.1002415b
ret