Function at 0x10004d29
Capabilities:
Encode data using xor

Disassembly:
push 0x54
mov eax, 0x10034d9e
call fcn.10034323
mov ebx, edx
mov dword [ebp - 0x10], ebx
mov esi, ecx
mov dword [ebp - 0x20], esi
mov edi, esi
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [esi + 0x14], 0xf
mov dword [ebp - 4], ecx
mov dword [esi + 0x10], ecx
mov byte [esi], cl
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x14], 0x989680
mov dword [ebp - 0x18], 0x3b9aca00
push 0xa
pop ecx
push 0x64
pop edi
test ebx, ebx
je 0x10004e56
mov eax, dword [ebx + 0x44]
xor edx, edx
div ecx
mov ecx, edx
xor edx, edx
div edi
mov eax, dword [ebx + 0x44]
mov ebx, 0x3e8
mov edi, edx
xor edx, edx
div ebx
xor edx, edx
mov ebx, 0x2710
div ebx
mov eax, dword [ebp - 0x10]
mov ebx, edx
xor edx, edx
push ecx
push edi
mov eax, dword [eax + 0x44]
div dword [ebp - 0x14]
xor edx, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0xc]
div dword [ebp - 0x18]
push ebx
push dword [ebp - 0x10]
xor ebx, ebx
dec eax
mov byte [ebp - 0x3c], bl
mov ecx, ebx
cmp eax, 2
jbe 0x10004df9
movaps xmm0, xmmword [0x1003e540]
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x40], 0xc001c56
movaps xmm0, xmmword [0x1003e0c0]
movups xmmword [ebp - 0x50], xmm0
mov al, byte [ebp - 0x60]
xor byte [ebp + ecx - 0x5f], al
inc ecx
cmp ecx, 0x23
jb 0x10004dea
jmp 0x10004e23
movaps xmm0, xmmword [0x1003e130]
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x40], 0x676b773d
movaps xmm0, xmmword [0x1003eb00]
movups xmmword [ebp - 0x50], xmm0
mov al, byte [ebp - 0x60]
xor byte [ebp + ecx - 0x5f], al
inc ecx
cmp ecx, 0x23
jb 0x10004e16
sub esp, 0x18
mov byte [ebp - 0x3c], bl
lea eax, [ebp - 0x5f]
mov ecx, esp
push eax
call fcn.10002607
lea eax, [ebp - 0x38]
push eax
call fcn.1000485f
add esp, 0x2c
mov ecx, esi
push eax
call fcn.10005394
lea ecx, [ebp - 0x38]
call fcn.10002413
push 0xa
pop ecx
push 0x64
pop edi
mov eax, dword [ebp + 8]
test eax, eax
je 0x10004f3c
mov ebx, dword [eax + 0x40]
mov dword [ebp + 8], ebx
test ebx, ebx
je 0x10004f3c
xor edx, edx
mov byte [ebp - 0x3c], 0
mov eax, ebx
div ecx
mov ecx, edx
xor edx, edx
div edi
mov eax, ebx
mov ebx, 0x3e8
mov edi, edx
xor edx, edx
div ebx
xor edx, edx
mov ebx, 0x2710
div ebx
mov eax, dword [ebp + 8]
mov ebx, edx
xor edx, edx
div dword [ebp - 0x14]
xor edx, edx
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
div dword [ebp - 0x18]
push ecx
push edi
dec eax
xor ecx, ecx
push ebx
push dword [ebp + 8]
cmp eax, 2
jbe 0x10004ee4
movaps xmm0, xmmword [str.9lpepMTpZVWf]
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x40], 0x4d415d17
movaps xmm0, xmmword [0x1003e750]
movups xmmword [ebp - 0x50], xmm0
mov al, byte [ebp - 0x60]
xor byte [ebp + ecx - 0x5f], al
inc ecx
cmp ecx, 0x23
jb 0x10004ed5
jmp 0x10004f0e
movaps xmm0, xmmword [0x1003e460]
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x40], 0x7b776b21
movaps xmm0, xmmword [0x1003e9d0]
movups xmmword [ebp - 0x50], xmm0
mov al, byte [ebp - 0x60]
xor byte [ebp + ecx - 0x5f], al
inc ecx
cmp ecx, 0x23
jb 0x10004f01
sub esp, 0x18
mov byte [ebp - 0x3c], 0
lea eax, [ebp - 0x5f]
mov ecx, esp
push eax
call fcn.10002607
lea eax, [ebp - 0x38]
push eax
call fcn.1000485f
add esp, 0x2c
mov ecx, esi
push eax
call fcn.10005394
lea ecx, [ebp - 0x38]
call fcn.10002413
mov eax, esi
call fcn.10034300
ret