Function at 0x4467b0
Capabilities:
Encode data using xor

Disassembly:
push edi
push esi
sub esp, 0x10
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
mov cx, word [0x48850a]
movsx eax, cx
sar eax, 7
mov edx, dword [0x48d204]
imul eax, edx
imul eax, eax, 0x846b2bc2
mov dword [0x48d204], eax
mov dword [0x48aafc], 0xd9c2c62b
mov eax, dword [0x488fcc]
or eax, 0x48444966
mov dword [0x488fcc], eax
mov eax, dword [esp + 0xc]
mov edx, esp
mov dword [edx], eax
call fcn.004522f0
mov dword [esp + 4], eax
mov eax, dword [0x48b0c8]
shr eax, 8
imul eax, eax, 0x3d3edf32
mov cx, word [0x48793c]
mov dx, cx
lea eax, [eax + edx + 0x3082d549]
mov cx, ax
mov word [0x48793c], cx
mov eax, dword [esp + 4]
dec eax
mov dword [esp + 4], eax
mov eax, dword [0x496d50]
imul eax, eax, 0x5bbd05c7
mov edx, dword [0x48bb7c]
and edx, eax
mov dword [0x48bb7c], edx
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
movsx eax, byte [edx + eax]
cmp eax, 0x22
jne 0x446a68
mov eax, 0xd7e57695
mov ecx, dword [0x489eac]
mov edx, ecx
inc edx
mov dword [0x489eac], edx
cmp eax, ecx
jg 0x446893
mov eax, dword [0x498618]
add eax, 0xfcfeef6f
mov dword [0x498618], eax
mov eax, dword [esp + 0xc]
mov byte [eax], 0x22
mov cx, word [0x482530]
mov ax, cx
add eax, 0xda274503
mov cx, ax
mov word [0x482530], cx
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov byte [edx + eax], 0
mov eax, dword [0x491d98]
mov edx, dword [0x4988f8]
inc edx
mov dword [0x4988f8], edx
imul edx, edx, 0x618f95c8
and eax, edx
mov edx, dword [0x48c980]
xor edx, 0xffffffff
cmp eax, edx
jl 0x4468fe
mov eax, dword [0x48a714]
xor eax, 0x19f09ee9
mov dword [0x48a714], eax
jmp 0x446924
mov ax, word [0x483fe6]
movsx ecx, ax
shl ecx, 8
and ecx, 0xa008200
or ecx, 0xe56e387f
mov edx, dword [0x491fac]
xor edx, ecx
mov dword [0x491fac], edx
jmp 0x446929
mov eax, 0x46485214
mov dword [0x492680], 0xcd9f9ecf
mov ecx, dword [esp + 4]
dec ecx
mov dword [esp + 4], ecx
mov ecx, dword [0x490ef8]
imul ecx, ecx, 0xc6dd8700
mov dx, word [0x484b6e]
movsx esi, dx
xor esi, 0xffffffff
sub ecx, esi
cmp eax, ecx
jle 0x446973
mov eax, dword [0x489914]
and eax, 0xe290336f
mov dword [0x489914], eax
jmp 0x446978
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movsx eax, byte [ecx + eax]
cmp eax, 0x22
jne 0x446929
mov eax, 0x96da3809
mov ecx, dword [0x490e28]
xor ecx, 0xc53a4e
mov dx, word [0x485db8]
movsx esi, dx
xor ecx, esi
cmp eax, ecx
jg 0x4469d1
mov eax, dword [0x48a58c]
not eax
and eax, 0x71420210
or eax, 0x8e3d74ca
mov ecx, dword [0x491e40]
and ecx, eax
mov dword [0x491e40], ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
lea eax, [eax + ecx + 1]
mov dword [esp + 8], eax
mov dx, word [0x486024]
movsx eax, dx
mov dx, word [0x481cd0]
movsx ecx, dx
mov esi, dword [0x493074]
inc esi
mov dword [0x493074], esi
imul esi, esi, 0xba97a88a
add ecx, esi
cmp eax, ecx
jle 0x446a26
mov eax, dword [0x49639c]
xor eax, 0x24fe5aa8
mov dword [0x49639c], eax
jmp 0x446a63
mov eax, 0xfbe3de3d
mov ecx, dword [0x48e498]
mov edx, ecx
dec edx
mov dword [0x48e498], edx
add ecx, 0x4f91d523
sub ecx, 0x1ff5768d
cmp eax, ecx
jl 0x446a5e
mov eax, dword [0x499434]
imul eax, eax, 0xb21da7cc
mov dword [0x499434], eax
jmp 0x446a63
jmp 0x446b0f
mov ax, word [0x4816a4]
mov cx, ax
and ecx, 0x28a4
mov ax, cx
mov word [0x4816a4], ax
mov ecx, dword [esp + 0xc]
mov byte [ecx], 0x20
mov ecx, dword [0x493074]
imul ecx, ecx, 0xe7154faf
mov dword [0x493074], ecx
mov eax, dword [0x48e244]
mov ecx, dword [0x490604]
xor ecx, eax
mov dword [0x490604], ecx
mov eax, dword [esp + 4]
dec eax
mov dword [esp + 4], eax
mov eax, dword [0x494660]
mov ecx, eax
inc ecx
mov dword [0x494660], ecx
mov dword [0x48e6bc], eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movsx eax, byte [ecx + eax]
cmp eax, 0x20
jne 0x446a99
mov eax, dword [0x495094]
mov ecx, eax
dec ecx
mov dword [0x495094], ecx
mov dword [0x48c234], eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
lea eax, [eax + ecx + 1]
mov dword [esp + 8], eax
mov eax, dword [0x48a428]
and eax, 0x260a0102
mov dword [0x48a428], eax
mov eax, 0x1ee2fa03
mov ecx, dword [0x496854]
mov dx, word [0x48730a]
mov si, dx
inc esi
mov dx, si
mov word [0x48730a], dx
movsx esi, dx
mov dx, word [0x483a2c]
movsx edi, dx
shl edi, 9
and esi, edi
xor ecx, esi
cmp eax, ecx
jl 0x446b5a
mov eax, dword [0x493368]
or eax, 0x68b5b95d
mov dword [0x493368], eax
mov eax, dword [esp + 8]
add esp, 0x10
pop esi
pop edi
ret