Function at 0x104112dd
Capabilities:
Encode data using xor

Disassembly:
push 0x34
mov eax, 0x1044f73a
call fcn.1044d171
mov edi, ecx
mov dword [ebp - 0x30], edi
and dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], edi
xor edx, edx
xor ebx, ebx
inc edx
mov dword [ebp - 4], edx
and dword [ebp - 0x34], ebx
push ecx
call fcn.104101ac
call fcn.10419ea2
push ecx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x3c], edx
call fcn.104101ac
call fcn.10419ea2
push ecx
lea ecx, [ebp - 0x28]
call fcn.104101ac
call fcn.10419ea2
lea eax, [ebp - 0x29]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 0x29], bl
call fcn.1041a14f
lea eax, [ebp - 0x29]
mov byte [ebp - 0x29], bl
push eax
lea ecx, [ebp + 8]
call fcn.1041a14f
lea eax, [ebp - 0x29]
mov byte [ebp - 0x29], bl
push eax
lea ecx, [ebp + 8]
call fcn.1041a14f
lea eax, [ebp - 0x29]
mov byte [ebp - 0x29], bl
push eax
lea ecx, [ebp + 8]
call fcn.1041a14f
lea eax, [ebp - 0x29]
mov byte [ebp - 0x29], bl
push eax
lea ecx, [ebp + 8]
call fcn.1041a14f
lea eax, [ebp - 0x29]
mov byte [ebp - 0x29], bl
push eax
lea ecx, [ebp + 8]
call fcn.1041a14f
lea eax, [ebp - 0x29]
mov byte [ebp - 0x29], bl
push eax
lea ecx, [ebp + 8]
call fcn.1041a14f
lea eax, [ebp - 0x29]
mov byte [ebp - 0x29], bl
push eax
lea ecx, [ebp + 8]
call fcn.1041a14f
lea eax, [ebp - 0x29]
mov byte [ebp - 0x29], bl
push eax
lea ecx, [ebp + 8]
call fcn.1041a14f
push ecx
lea ecx, [ebp + 8]
lea esi, [ebp - 0x1c]
call fcn.1041a092
push ecx
mov ecx, esp
push eax
call fcn.1041a6e6
mov ecx, esi
call fcn.10411005
pop ecx
mov ecx, esi
call fcn.10419fa5
test eax, eax
je 0x1041144b
lea eax, [ebp - 0x30]
mov ecx, esi
push eax
call fcn.10419ddf
mov esi, eax
lea eax, [ebp - 0x34]
push ecx
push eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x1c]
call fcn.10419ddf
mov ecx, eax
call fcn.1041a03a
push dword [esi]
lea ecx, [ebp - 0x28]
push dword [eax]
call fcn.1041eff7
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x28]
call fcn.10419ddf
mov edx, eax
lea ecx, [ebp - 0x28]
lea eax, [ebp - 0x30]
push eax
call fcn.10419df8
push dword [edx]
push dword [eax]
call fcn.1041f028
push ecx
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.1041a1cd
call fcn.10410146
add esp, 0xc
add eax, 4
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x1c]
xor esi, esi
call fcn.10419fa5
sub eax, dword [ebp - 0x34]
je 0x10411499
push esi
lea ecx, [ebp - 0x1c]
call fcn.1041a081
mov cl, byte [ebx + str.QCBFCXAOERKTIUBYUMHAHCTGUKKADZ]
xor cl, byte [eax]
movsx ax, cl
mov ecx, edi
movzx eax, ax
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
call fcn.10419eed
inc ebx
lea ecx, [ebp - 0x1c]
xor eax, eax
cmp ebx, 0x1e
cmovge ebx, eax
inc esi
call fcn.10419fa5
sub eax, dword [ebp - 0x34]
cmp esi, eax
jb 0x1041145a
lea eax, [ebp - 0x30]
xor ebx, ebx
push eax
mov ecx, edi
mov dword [ebp - 0x30], ebx
call fcn.10419eed
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
push eax
mov ecx, edi
call fcn.10419eed
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
push eax
mov ecx, edi
call fcn.10419eed
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
push eax
mov ecx, edi
call fcn.10419eed
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
push eax
mov ecx, edi
call fcn.10419eed
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
push eax
mov ecx, edi
call fcn.10419eed
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
push eax
mov ecx, edi
call fcn.10419eed
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
push eax
mov ecx, edi
call fcn.10419eed
lea ecx, [ebp - 0x28]
call fcn.1041a121
lea ecx, [ebp - 0x1c]
call fcn.1041a121
lea ecx, [ebp + 8]
call fcn.1041a121
mov eax, edi
call fcn.1044d11b
ret