Function at 0x4093b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, 4
imul ecx, eax, 0x1db0
mov edx, dword [ecx + 0x4952f8]
or edx, 0x33796918
mov eax, 4
imul ecx, eax, 0x1db0
mov dword [ecx + 0x4952f8], edx
mov edx, 4
imul eax, edx, 0x19d
mov ecx, dword [eax + 0x4952f8]
or ecx, 0x7c166f46
mov edx, 4
imul eax, edx, 0x19d
mov dword [eax + 0x4952f8], ecx
mov ecx, 4
imul edx, ecx, 0x166b
mov eax, 4
imul ecx, eax, 0x1a15
mov eax, dword [ecx + 0x4952f8]
xor eax, 0xb1876488
mov ecx, dword [edx + 0x4952f8]
sub ecx, eax
mov edx, 4
imul eax, edx, 0x166b
mov dword [eax + 0x4952f8], ecx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00465e30
add esp, 4
mov dword [ebp - 4], eax
mov edx, 4
imul eax, edx, 0xece
mov ecx, dword [eax + 0x4952f8]
sub ecx, 0x67384ad7
mov edx, 4
imul eax, edx, 0xece
mov dword [eax + 0x4952f8], ecx
mov ecx, dword [ebp - 4]
sub ecx, 1
mov dword [ebp - 4], ecx
mov edx, 4
imul eax, edx, 0x146
mov ecx, 4
imul edx, ecx, 0x1227
mov ecx, dword [edx + 0x4952f8]
shl ecx, 4
imul edx, ecx, 0xcb7f6cd3
sub edx, 0x313b0988
mov eax, dword [eax + 0x4952f8]
imul eax, edx
mov ecx, 4
imul edx, ecx, 0x146
mov dword [edx + 0x4952f8], eax
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movsx ecx, byte [eax]
cmp ecx, 0x22
jne 0x409797
mov edx, 4
imul eax, edx, 0x15f3
mov ecx, dword [eax + 0x4952f8]
add ecx, 1
mov dword [ebp - 8], ecx
mov edx, 4
imul eax, edx, 0x15f3
mov ecx, dword [ebp - 8]
mov dword [eax + 0x4952f8], ecx
mov edx, 4
imul eax, edx, 0x1e48
mov ecx, dword [eax + 0x4952f8]
add ecx, 0x749ff744
mov dword [ebp - 0x14], ecx
mov edx, 4
imul eax, edx, 0x920
mov ecx, dword [ebp - 8]
sub ecx, 0x2e5505ae
sub ecx, dword [eax + 0x4952f8]
mov dword [ebp - 0x18], ecx
mov edx, 4
imul eax, edx, 0x920
mov ecx, dword [eax + 0x4952f8]
sub ecx, 1
mov edx, 4
imul eax, edx, 0x920
mov dword [eax + 0x4952f8], ecx
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x18]
jg 0x40958e
mov edx, 4
imul eax, edx, 0x1810
mov ecx, dword [eax + 0x4952f8]
sub ecx, 0x6233a60f
mov edx, 4
imul eax, edx, 0x1810
mov dword [eax + 0x4952f8], ecx
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp + 8]
mov byte [eax + edx], 0x22
mov ecx, 4
imul edx, ecx, 0x13f7
mov eax, dword [edx + 0x4952f8]
or eax, 0x13441572
cmp eax, 0x71d3581f
je 0x4095fd
mov ecx, 4
imul edx, ecx, 0x208b
mov eax, 4
imul ecx, eax, 0x8f2
mov eax, dword [ecx + 0x4952f8]
shl eax, 1
imul ecx, eax, 0xd911cb2c
or ecx, 0x4f754d8e
mov edx, dword [edx + 0x4952f8]
and edx, ecx
mov eax, 4
imul ecx, eax, 0x208b
mov dword [ecx + 0x4952f8], edx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 4]
mov byte [edx], 0
mov eax, 4
imul ecx, eax, 0x1d7c
mov edx, 2
imul eax, edx, 0x19a5
movsx edx, word [eax + 0x490dc0]
xor edx, 0x782514b
mov eax, dword [ecx + 0x4952f8]
and eax, edx
mov ecx, 4
imul edx, ecx, 0x1d7c
mov dword [edx + 0x4952f8], eax
mov eax, 4
imul ecx, eax, 0x16d6
mov edx, dword [ecx + 0x4952f8]
xor edx, 0xad9b3d3d
mov eax, 4
imul ecx, eax, 0x16d6
mov dword [ecx + 0x4952f8], edx
mov edx, dword [ebp - 4]
sub edx, 1
mov dword [ebp - 4], edx
mov eax, 4
imul ecx, eax, 0x1e1c
mov edx, dword [ecx + 0x4952f8]
or edx, 0xd8bfb4d0
mov eax, 4
imul ecx, eax, 0x1e1c
mov dword [ecx + 0x4952f8], edx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 4]
movsx eax, byte [edx]
cmp eax, 0x22
jne 0x409642
mov ecx, 4
imul edx, ecx, 0x8ee
mov eax, 4
imul ecx, eax, 0x104b
imul eax, dword [ecx + 0x4952f8], 0x7846c0c9
add eax, 0x617edee7
mov ecx, dword [edx + 0x4952f8]
and ecx, eax
mov edx, 4
imul eax, edx, 0x8ee
mov dword [eax + 0x4952f8], ecx
mov ecx, 4
imul edx, ecx, 0x104b
mov eax, dword [edx + 0x4952f8]
sub eax, 1
mov ecx, 4
imul edx, ecx, 0x104b
mov dword [edx + 0x4952f8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x10], edx
mov eax, 4
imul ecx, eax, 0xb13
mov edx, 4
imul eax, edx, 0x11ae
mov ecx, dword [ecx + 0x4952f8]
sub ecx, dword [eax + 0x4952f8]
mov dword [ebp - 0x1c], ecx
mov edx, 4
imul eax, edx, 0xb13
mov ecx, dword [eax + 0x4952f8]
sub ecx, 1
mov edx, 4
imul eax, edx, 0xb13
mov dword [eax + 0x4952f8], ecx
cmp dword [ebp - 0x1c], 0xcf81f81b
jne 0x409792
mov ecx, 4
imul edx, ecx, 0x3b3
imul eax, dword [edx + 0x4952f8], 0x4c482d0
mov ecx, 4
imul edx, ecx, 0x3b3
mov dword [edx + 0x4952f8], eax
jmp 0x409910
mov eax, 4
imul ecx, eax, 0x1afe
mov edx, 4
imul eax, edx, 0xe4f
mov edx, dword [eax + 0x4952f8]
add edx, 0xdfb81c5
mov eax, dword [ecx + 0x4952f8]
sub eax, edx
mov ecx, 4
imul edx, ecx, 0x1afe
mov dword [edx + 0x4952f8], eax
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp + 8]
mov byte [edx + ecx], 0x20
mov eax, 2
imul ecx, eax, 0x2178
mov edx, 4
imul eax, edx, 0x109f
mov edx, dword [eax + 0x4952f8]
xor edx, 0x47061d59
movsx eax, word [ecx + 0x490dc0]
sub eax, edx
mov ecx, 2
imul edx, ecx, 0x2178
mov word [edx + 0x490dc0], ax
mov eax, 4
imul ecx, eax, 0x109f
mov edx, dword [ecx + 0x4952f8]
sub edx, 1
mov eax, 4
imul ecx, eax, 0x109f
mov dword [ecx + 0x4952f8], edx
mov edx, 4
imul eax, edx, 0x53a
mov ecx, dword [eax + 0x4952f8]
and ecx, 0x16bd6136
mov edx, 4
imul eax, edx, 0x53a
mov dword [eax + 0x4952f8], ecx
mov ecx, dword [ebp - 4]
sub ecx, 1
mov dword [ebp - 4], ecx
mov edx, 4
imul eax, edx, 0x520
mov dword [eax + 0x4952f8], 0xbaace527
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 4]
movsx edx, byte [ecx]
cmp edx, 0x20
jne 0x409843
mov eax, 4
imul ecx, eax, 0xe35
mov edx, dword [ecx + 0x4952f8]
add edx, 0x512fa287
mov eax, 4
imul ecx, eax, 0xe35
mov dword [ecx + 0x4952f8], edx
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 1]
mov dword [ebp - 0x10], ecx
mov edx, 2
imul eax, edx, 0x21c5
mov ecx, 2
imul edx, ecx, 0x9d5
movsx ecx, word [edx + 0x490dc0]
add ecx, 0x73d1b698
or ecx, 0x64c51284
movsx edx, word [eax + 0x490dc0]
and edx, ecx
mov eax, 2
imul ecx, eax, 0x21c5
mov word [ecx + 0x490dc0], dx
mov edx, 4
imul eax, edx, 0x1c28
mov ecx, dword [eax + 0x4952f8]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov edx, 4
imul eax, edx, 0x1c28
mov ecx, dword [ebp - 0xc]
mov dword [eax + 0x4952f8], ecx
mov edx, 4
imul eax, edx, 0x1bad
mov ecx, dword [eax + 0x4952f8]
sub ecx, dword [ebp - 0xc]
mov edx, 4
imul eax, edx, 0x1bad
mov dword [eax + 0x4952f8], ecx
mov eax, dword [ebp - 0x10]
mov esp, ebp
pop ebp
ret