Function at 0x10004311
Capabilities:
Encode data using xor

Disassembly:
push 0x5c
mov eax, 0x100303be
call fcn.1002fbe3
mov ebx, edx
mov dword [ebp - 0x10], ebx
mov esi, ecx
mov dword [ebp - 0x28], esi
mov edi, esi
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x18], 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 - 0x18], 1
mov dword [ebp - 0x20], 0x3e8
mov dword [ebp - 0x24], 0x2710
mov dword [ebp - 0x1c], 0x989680
mov dword [ebp - 0x14], 0x3b9aca00
push 0xa
pop ecx
push 0x64
pop edi
test ebx, ebx
je 0x10004446
mov eax, dword [ebx + 0x44]
xor edx, edx
div ecx
mov byte [ebp - 0x44], 0
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]
xor ecx, ecx
div dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0xc]
div dword [ebp - 0x14]
push ebx
push dword [ebp - 0x10]
dec eax
cmp eax, 2
jbe 0x100043ee
movaps xmm0, xmmword [0x10038130]
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x48], 0x626e7238
movaps xmm0, xmmword [0x10038810]
movups xmmword [ebp - 0x58], xmm0
mov al, byte [ebp - 0x68]
xor byte [ebp + ecx - 0x67], al
inc ecx
cmp ecx, 0x23
jb 0x100043df
jmp 0x10004418
movaps xmm0, xmmword [0x100380b0]
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x48], 0x6569753f
movaps xmm0, xmmword [0x100388b0]
movups xmmword [ebp - 0x58], xmm0
mov al, byte [ebp - 0x68]
xor byte [ebp + ecx - 0x67], al
inc ecx
cmp ecx, 0x23
jb 0x1000440b
sub esp, 0x18
mov byte [ebp - 0x44], 0
lea eax, [ebp - 0x67]
mov ecx, esp
push eax
call fcn.10003ec3
lea eax, [ebp - 0x40]
push eax
call fcn.10003d99
add esp, 0x2c
mov ecx, esi
push eax
call fcn.10004988
lea ecx, [ebp - 0x40]
call fcn.100026bd
mov eax, dword [ebp + 8]
test eax, eax
je 0x10004530
mov ecx, dword [eax + 0x40]
test ecx, ecx
je 0x10004530
xor edx, edx
mov eax, ecx
push 0xa
pop edi
div edi
push 0x64
mov edi, edx
xor edx, edx
pop ebx
div ebx
mov eax, ecx
mov ebx, edx
xor edx, edx
div dword [ebp - 0x20]
xor edx, edx
div dword [ebp - 0x24]
mov eax, ecx
mov ecx, 0x989680
mov dword [ebp + 8], edx
xor edx, edx
div ecx
xor edx, edx
mov ecx, eax
mov eax, dword [ebp + 0xc]
div dword [ebp - 0x14]
push edi
push ebx
push dword [ebp + 8]
dec eax
push ecx
xor ecx, ecx
cmp eax, 2
jbe 0x100044d4
movaps xmm0, xmmword [str._qmxmPAImGKJ]
push 0xa
movups xmmword [ebp - 0x68], xmm0
pop eax
movaps xmm0, xmmword [0x10038300]
movups xmmword [ebp - 0x58], xmm0
mov byte [ebp - 0x48], al
mov dword [ebp - 0x47], 0x505c40
mov al, byte [ebp - 0x68]
xor byte [ebp + ecx - 0x67], al
inc ecx
cmp ecx, 0x23
jb 0x100044c5
jmp 0x10004502
movaps xmm0, xmmword [0x10038290]
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x48], 0x7a766a20
movaps xmm0, xmmword [0x10038740]
movups xmmword [ebp - 0x58], xmm0
mov byte [ebp - 0x44], 0
mov al, byte [ebp - 0x68]
xor byte [ebp + ecx - 0x67], al
inc ecx
cmp ecx, 0x23
jb 0x100044f5
sub esp, 0x18
mov byte [ebp - 0x44], 0
lea eax, [ebp - 0x67]
mov ecx, esp
push eax
call fcn.10003ec3
lea eax, [ebp - 0x40]
push eax
call fcn.10003d99
add esp, 0x2c
mov ecx, esi
push eax
call fcn.10004988
lea ecx, [ebp - 0x40]
call fcn.100026bd
mov eax, esi
call fcn.1002fbc0
ret