Function at 0x10052b8c
Capabilities:
Encode data using xor

Disassembly:
push 0x30
mov eax, 0x1008ccf6
call fcn.1005ede7
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.1005d73e
lea eax, [ebp - 0x1d]
mov byte [ebp - 0x1d], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.1005d73e
lea eax, [ebp - 0x1d]
mov byte [ebp - 0x1d], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.1005d73e
lea eax, [ebp - 0x1d]
mov byte [ebp - 0x1d], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.1005d73e
lea eax, [ebp - 0x1d]
mov byte [ebp - 0x1d], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.1005d73e
lea eax, [ebp - 0x1d]
mov byte [ebp - 0x1d], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.1005d73e
lea eax, [ebp - 0x1d]
mov byte [ebp - 0x1d], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.1005d73e
lea eax, [ebp - 0x1d]
mov byte [ebp - 0x1d], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.1005d73e
mov byte [ebp - 0x1d], bl
lea eax, [ebp - 0x1d]
push eax
lea ecx, [ebp + 0xc]
call fcn.1005d73e
lea eax, [ebp - 0x1c]
push eax
push ebx
lea ecx, [ebp + 0xc]
call fcn.1005c5aa
push ecx
mov ecx, esp
push eax
call fcn.10050174
call fcn.100531c2
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 0x10052cda
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.1004f6c3
push dword [ebp - 0x30]
push dword [ebp - 0x34]
call fcn.1005001e
push ecx
lea eax, [ebp - 0x34]
mov ecx, esp
push eax
call fcn.10050246
call fcn.100525f8
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 0x10052d12
mov al, byte [edx + edi]
mov ecx, esi
xor al, byte [ebx + str.WGWZACUWDTSDSJMFVKESSYEKWFYEKK]
cbw
movzx eax, ax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
call fcn.1005d837
mov edx, dword [ebp - 0x1c]
inc ebx
xor eax, eax
cmp ebx, 0x1e
cmovge ebx, eax
inc edi
cmp edi, dword [ebp - 0x28]
jb 0x10052ce4
lea eax, [ebp - 0x24]
xor ebx, ebx
push eax
mov ecx, esi
mov dword [ebp - 0x24], ebx
call fcn.1005d837
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
push eax
mov ecx, esi
call fcn.1005d837
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
push eax
mov ecx, esi
call fcn.1005d837
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
push eax
mov ecx, esi
call fcn.1005d837
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
push eax
mov ecx, esi
call fcn.1005d837
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
push eax
mov ecx, esi
call fcn.1005d837
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
push eax
mov ecx, esi
call fcn.1005d837
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
push eax
mov ecx, esi
call fcn.1005d837
lea ecx, [ebp - 0x34]
call fcn.1005c3f0
lea ecx, [ebp - 0x1c]
call fcn.1005c3f0
lea ecx, [ebp + 0xc]
call fcn.1005c3f0
mov eax, esi
call fcn.1005ed91
ret