Function at 0x10093029
Capabilities:
Encode data using xor

Disassembly:
push 0x30
mov eax, 0x100cd349
call fcn.1009f437
mov esi, dword [ebp + 8]
xor edx, edx
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], edx
mov edi, esi
mov dword [ebp - 0x24], edx
xor eax, eax
xor ecx, ecx
inc ecx
mov ebx, edx
mov dword [ebp - 4], ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [esi], edx
mov dword [esi + 4], edx
mov dword [esi + 8], edx
xor eax, eax
mov dword [ebp - 0x38], ecx
lea edi, [ebp - 0x1c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], edx
xor eax, eax
lea edi, [ebp - 0x34]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], edx
lea eax, [ebp - 0x1d]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 0x1d], dl
call fcn.1009de8f
lea eax, [ebp - 0x1d]
mov byte [ebp - 0x1d], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.1009de8f
lea eax, [ebp - 0x1d]
mov byte [ebp - 0x1d], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.1009de8f
lea eax, [ebp - 0x1d]
mov byte [ebp - 0x1d], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.1009de8f
lea eax, [ebp - 0x1d]
mov byte [ebp - 0x1d], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.1009de8f
lea eax, [ebp - 0x1d]
mov byte [ebp - 0x1d], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.1009de8f
lea eax, [ebp - 0x1d]
mov byte [ebp - 0x1d], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.1009de8f
lea eax, [ebp - 0x1d]
mov byte [ebp - 0x1d], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.1009de8f
mov byte [ebp - 0x1d], bl
lea eax, [ebp - 0x1d]
push eax
lea ecx, [ebp + 0xc]
call fcn.1009de8f
lea eax, [ebp - 0x1c]
push eax
push ebx
lea ecx, [ebp + 0xc]
call fcn.1009ccfb
push ecx
mov ecx, esp
push eax
call fcn.10090632
call fcn.1009365f
mov edx, dword [ebp - 0x1c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
mov eax, ecx
sub eax, edx
mov dword [ebp - 0x28], eax
je 0x10093177
and dword [ebp - 0x30], ebx
lea eax, [ecx - 4]
mov byte [ebp - 0x24], bl
push dword [ebp - 0x24]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.1008fb81
push dword [ebp - 0x30]
push dword [ebp - 0x34]
call fcn.100904dc
push ecx
lea eax, [ebp - 0x34]
mov ecx, esp
push eax
call fcn.10090704
call fcn.10092a95
mov edx, dword [ebp - 0x1c]
add esp, 0xc
add eax, 4
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
xor edi, edi
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
je 0x100931af
mov al, byte [edx + edi]
mov ecx, esi
xor al, byte [ebx + str.VPKCSOXRGKHFCNVIANMYNLTNDBNFBK]
cbw
movzx eax, ax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
call fcn.1009df88
mov edx, dword [ebp - 0x1c]
inc ebx
xor eax, eax
cmp ebx, 0x1e
cmovge ebx, eax
inc edi
cmp edi, dword [ebp - 0x28]
jb 0x10093181
lea eax, [ebp - 0x24]
xor ebx, ebx
push eax
mov ecx, esi
mov dword [ebp - 0x24], ebx
call fcn.1009df88
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
push eax
mov ecx, esi
call fcn.1009df88
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
push eax
mov ecx, esi
call fcn.1009df88
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
push eax
mov ecx, esi
call fcn.1009df88
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
push eax
mov ecx, esi
call fcn.1009df88
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
push eax
mov ecx, esi
call fcn.1009df88
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
push eax
mov ecx, esi
call fcn.1009df88
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
push eax
mov ecx, esi
call fcn.1009df88
lea ecx, [ebp - 0x34]
call fcn.1009cb41
lea ecx, [ebp - 0x1c]
call fcn.1009cb41
lea ecx, [ebp + 0xc]
call fcn.1009cb41
mov eax, esi
call fcn.1009f3e1
ret