Function at 0x1000485c
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x30
mov edx, dword [0x100b504c]
push ebx
push ebp
push esi
mov esi, dword [0x100b5050]
mov ecx, edx
imul ecx, esi
push edi
mov edi, dword [0x100b505c]
xor eax, eax
mov ebp, edi
sub ebp, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov ecx, dword [0x100b5054]
sub ebp, ecx
imul ebp, esi
sub ebp, edx
sub ebp, edi
sub ebp, 4
imul ebp, ecx
mov eax, esi
imul eax, edi
mov dword [esp + 0x10], eax
mov ebx, edi
imul ebx, ebx, 3
add ebp, ebx
mov ebx, dword [esp + 0x44]
add eax, edx
sub ebp, esi
lea eax, [eax*4 - 4]
imul eax, edx
add eax, ebx
lea eax, [eax + ebp*4]
lea ebp, [esi + 2]
imul ebp, edx
imul ebp, edi
mov dword [esp + 0x24], eax
mov eax, dword [0x100b5058]
add ebp, eax
imul ebp, ebp, 3
add ebp, ebx
mov dword [esp + 0x28], ebp
mov ebp, esi
imul ebp, ecx
inc ebp
imul ebp, ecx
lea ebx, [ebx + ebp*2]
mov dword [esp + 0x2c], ebx
mov ebx, eax
imul ebx, ebx, 6
push 6
pop ebp
sub ebp, ebx
imul ebp, edi
mov edi, esi
imul edi, edi, 6
add ebp, edi
mov ebx, ecx
imul ebp, esi
imul ebx, ebx, 6
sub ebx, 6
imul ebx, eax
lea edi, [edx + ecx]
imul edi, edi, 6
sub ebp, edi
mov edi, dword [esp + 0x44]
add ebp, edi
add ebx, ebp
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x10]
sub ebx, eax
lea ebx, [edi + ebx*2]
mov dword [esp + 0x34], ebx
mov ebx, ecx
imul ebx, ebx, 3
add ebx, eax
lea ebx, [ebx + eax*2 + 3]
imul ebx, edx
mov ebp, esi
sub ebp, eax
sub ebp, ecx
imul ebp, ebp, 3
sub ebp, ebx
add ebp, edi
mov edi, eax
imul edi, eax
imul edi, edx
mov dword [esp + 0x38], ebp
mov ebp, dword [0x100b505c]
imul edi, ebp
imul edi, ecx
mov ebx, edx
imul edi, ecx
imul ebx, ebp
imul ebx, ecx
sub ebx, edi
sub ebx, ebp
sub ebx, ebp
add ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x44]
add ebx, eax
add ebx, eax
add ebx, edx
add ebx, ecx
add ebx, edi
mov dword [esp + 0x18], ebx
mov edi, ebp
imul edi, ecx
sub edi, esi
imul edi, ecx
lea ebx, [esi + 4]
imul ebx, eax
sub edi, ebx
mov ebx, ebp
sub ebx, ecx
imul ebx, edx
lea ebx, [ebx + ebx - 2]
imul ebx, esi
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x10]
imul ebx, ecx
sub ebx, eax
imul eax, edx
imul eax, edx
imul eax, edx
imul eax, esi
imul eax, esi
imul eax, esi
imul eax, ecx
add edi, edi
inc ebx
inc ebx
imul ebx, ebp
mov ebp, ecx
imul ebp, ecx
mov ecx, dword [esp + 0x1c]
lea eax, [eax*4 + 4]
imul eax, edx
add ebx, ebp
shl ebx, 2
sub ebx, eax
mov eax, dword [esp + 0x48]
add ebx, eax
mov esi, ecx
xor edx, edx
mov ebp, 0x79c8
lea eax, [ecx + 1]
mov ecx, ebp
div ecx
mov eax, dword [esp + 0x24]
mov ecx, edx
movzx eax, byte [eax + ecx]
add eax, esi
xor edx, edx
div ebp
mov eax, dword [esp + 0x28]
mov al, byte [eax + ecx]
mov ebp, dword [esp + 0x30]
mov esi, edx
mov edx, dword [esp + 0x2c]
mov dl, byte [edx + esi]
mov byte [ecx + ebp], dl
mov edx, dword [esp + 0x34]
mov byte [edx + esi], al
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + esi]
mov edx, dword [esp + 0x38]
movzx edx, byte [edx + ecx]
add eax, edx
xor edx, edx
mov ebp, 0x79c8
div ebp
mov eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
add edx, dword [esp + 0x3c]
add edx, edi
mov al, byte [edx + eax]
xor byte [ebx + ebp], al
inc ebp
cmp ebp, 0x23600
mov dword [esp + 0x14], ebp
jb 0x100049fd
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret