Function at 0x419190
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, 4
imul ecx, eax, 0x507
mov edx, dword [ecx + 0x490b10]
sub edx, 0x82da3de
mov eax, 4
imul ecx, eax, 0x507
mov dword [ecx + 0x490b10], edx
mov edx, 4
imul eax, edx, 0x4d6
mov dword [eax + 0x490b10], 0x1d3f6c8d
mov ecx, 2
imul edx, ecx, 0x378
mov eax, 0x403d
mov word [edx + 0x48f8e0], ax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00465390
add esp, 4
mov dword [ebp - 8], eax
mov edx, 4
imul eax, edx, 0x8ee
mov dword [eax + 0x490b10], 0x2146ba84
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov edx, 4
imul eax, edx, 0x264
mov ecx, dword [eax + 0x490b10]
sub ecx, 1
mov dword [ebp - 0xc], ecx
mov edx, 4
imul eax, edx, 0x264
mov ecx, dword [ebp - 0xc]
mov dword [eax + 0x490b10], ecx
mov edx, 4
imul eax, edx, 0x633
mov ecx, dword [eax + 0x490b10]
sar ecx, 7
or ecx, dword [ebp - 0xc]
mov edx, 4
imul eax, edx, 0x180
mov edx, dword [eax + 0x490b10]
or edx, ecx
mov eax, 4
imul ecx, eax, 0x180
mov dword [ecx + 0x490b10], edx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 8]
movsx eax, byte [edx]
cmp eax, 0x22
jne 0x419499
mov ecx, 2
imul edx, ecx, 0x725
movsx eax, word [edx + 0x48f8e0]
and eax, 0x381c119e
mov ecx, 2
imul edx, ecx, 0x725
mov word [edx + 0x48f8e0], ax
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp + 8]
mov byte [edx + ecx], 0x22
mov eax, 4
imul ecx, eax, 6
mov edx, 4
imul eax, edx, 0x34f
mov ecx, dword [ecx + 0x490b10]
or ecx, dword [eax + 0x490b10]
mov edx, 4
imul eax, edx, 6
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
mov byte [ecx], 0
mov edx, 4
imul eax, edx, 0xb
mov ecx, 4
imul edx, ecx, 0x4b8
mov eax, dword [eax + 0x490b10]
imul eax, dword [edx + 0x490b10]
sub eax, 0x1b660b60
mov dword [ebp - 0x1c], eax
mov ecx, 4
imul edx, ecx, 0xb
mov eax, dword [edx + 0x490b10]
sub eax, 1
mov ecx, 4
imul edx, ecx, 0xb
mov dword [edx + 0x490b10], eax
cmp dword [ebp - 0x1c], 0x30a5eef8
jle 0x419375
mov eax, 4
imul ecx, eax, 0x3f3
mov edx, dword [ecx + 0x490b10]
add edx, 0x4ceebc4c
mov eax, 4
imul ecx, eax, 0x3f3
mov dword [ecx + 0x490b10], edx
mov edx, 2
imul eax, edx, 0x7b0
mov cx, word [eax + 0x48f8e0]
add cx, 1
mov word [ebp - 2], cx
mov edx, 2
imul eax, edx, 0x7b0
mov cx, word [ebp - 2]
mov word [eax + 0x48f8e0], cx
movsx edx, word [ebp - 2]
imul eax, edx, 0x4a57c141
sub eax, 0x19e798d5
mov ecx, 4
imul edx, ecx, 0x583
mov ecx, dword [edx + 0x490b10]
and ecx, eax
mov edx, 4
imul eax, edx, 0x583
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov edx, 4
imul eax, edx, 0x6f8
imul ecx, dword [eax + 0x490b10], 0x80000a03
mov edx, 4
imul eax, edx, 0x6f8
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
movsx edx, byte [ecx]
cmp edx, 0x22
jne 0x419375
mov eax, 4
imul ecx, eax, 0x14d
mov edx, dword [ecx + 0x490b10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, 4
imul ecx, eax, 0x14d
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x490b10], edx
mov eax, dword [ebp - 0x10]
or eax, 0x73be9f33
mov ecx, 4
imul edx, ecx, 0x266
mov ecx, dword [edx + 0x490b10]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x266
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 1]
mov dword [ebp - 0x18], eax
mov ecx, 2
imul edx, ecx, 0x151
mov eax, 0x615c
mov word [edx + 0x48f8e0], ax
jmp 0x41964b
mov ecx, 4
imul edx, ecx, 0x39f
mov eax, 4
imul ecx, eax, 0x4d3
imul eax, dword [ecx + 0x490b10], 0x7486d4b2
mov ecx, 0xcdf185a3
sub ecx, eax
mov edx, dword [edx + 0x490b10]
add edx, ecx
mov eax, 4
imul ecx, eax, 0x39f
mov dword [ecx + 0x490b10], edx
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
mov byte [ecx + eax], 0x20
mov edx, 4
imul eax, edx, 0x515
mov ecx, dword [eax + 0x490b10]
and ecx, 0x7f5b935f
mov edx, 4
imul eax, edx, 0x515
mov dword [eax + 0x490b10], ecx
mov ecx, 4
imul edx, ecx, 0x5f5
mov eax, dword [edx + 0x490b10]
add eax, 1
mov dword [ebp - 0x14], eax
mov ecx, 4
imul edx, ecx, 0x5f5
mov eax, dword [ebp - 0x14]
mov dword [edx + 0x490b10], eax
mov ecx, 4
imul edx, ecx, 0x34c
mov eax, dword [edx + 0x490b10]
not eax
sub eax, 0xa7d1be3
xor eax, dword [ebp - 0x14]
mov ecx, 4
imul edx, ecx, 0x7d9
mov ecx, dword [edx + 0x490b10]
and ecx, eax
mov edx, 4
imul eax, edx, 0x7d9
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov edx, 4
imul eax, edx, 0x8ed
mov ecx, 4
imul edx, ecx, 0x60d
mov eax, dword [eax + 0x490b10]
or eax, dword [edx + 0x490b10]
mov ecx, 4
imul edx, ecx, 0x8ed
mov dword [edx + 0x490b10], eax
mov eax, 4
imul ecx, eax, 0x60d
mov edx, dword [ecx + 0x490b10]
add edx, 1
mov eax, 4
imul ecx, eax, 0x60d
mov dword [ecx + 0x490b10], edx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 8]
movsx eax, byte [edx]
cmp eax, 0x20
jne 0x419510
mov ecx, 2
imul edx, ecx, 0x38d
movsx eax, word [edx + 0x48f8e0]
imul ecx, eax, 0xe0aefb4
mov edx, 2
imul eax, edx, 0x38d
mov word [eax + 0x48f8e0], cx
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 1]
mov dword [ebp - 0x18], eax
mov ecx, 4
imul edx, ecx, 0x4ba
mov eax, dword [edx + 0x490b10]
xor eax, 0x26eea63d
mov ecx, 4
imul edx, ecx, 0x4ba
mov dword [edx + 0x490b10], eax
mov eax, 2
imul ecx, eax, 0x6fb
mov edx, 0xffffdbc7
mov word [ecx + 0x48f8e0], dx
mov eax, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret