Function at 0x42b830
Capabilities:
Encode data using xor

Disassembly:
push esi
sub esp, 0x10
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], eax
mov cx, word [0x491b60]
movsx eax, cx
mov edx, dword [0x49600c]
mov esi, edx
inc esi
mov dword [0x49600c], esi
xor edx, 0x6481ced6
or eax, edx
mov edx, dword [0x4978dc]
xor edx, eax
mov dword [0x4978dc], edx
mov cx, word [0x493b40]
mov ax, cx
xor eax, 0x3fe9
mov cx, ax
mov word [0x493b40], cx
mov eax, dword [0x49c110]
mov edx, dword [0x496820]
imul edx, edx, 0xd01d18e7
sub eax, edx
mov edx, dword [0x498c60]
and edx, eax
mov dword [0x498c60], edx
mov eax, dword [esp + 0xc]
mov edx, esp
mov dword [edx], eax
call fcn.00452e00
mov dword [esp + 4], eax
mov eax, dword [0x495754]
xor eax, 0x95a0
mov cx, word [0x4909c0]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x4909c0], cx
mov eax, dword [esp + 4]
dec eax
mov dword [esp + 4], eax
mov eax, dword [0x49a910]
and eax, 0x49701b90
mov dword [0x49a910], eax
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
movsx eax, byte [edx + eax]
cmp eax, 0x22
jne 0x42b9b4
mov eax, dword [0x4951e4]
xor eax, 0xd65aeb49
mov dword [0x4951e4], eax
mov eax, dword [esp + 0xc]
mov byte [eax], 0x22
mov eax, dword [0x496c24]
imul eax, eax, 0xad1934c9
mov dword [0x496c24], eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov byte [ecx + eax], 0
mov eax, dword [0x497898]
imul eax, eax, 0x8e4be2eb
mov dword [0x497898], eax
mov eax, dword [0x496744]
add eax, 0xecf89e5f
mov dword [0x496744], eax
mov eax, dword [esp + 4]
dec eax
mov dword [esp + 4], eax
mov eax, dword [0x49a0a4]
xor eax, 0xd8a3e8f1
mov dword [0x49a0a4], eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movsx eax, byte [ecx + eax]
cmp eax, 0x22
jne 0x42b945
mov eax, dword [0x49bb38]
add eax, 0x480e08a4
mov dword [0x49bb38], eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
lea eax, [eax + ecx + 1]
mov dword [esp + 8], eax
mov eax, dword [0x4988b8]
xor eax, 0xa2dc909
mov dword [0x4988b8], eax
jmp 0x42ba9a
mov eax, dword [0x49b120]
mov ecx, eax
inc ecx
mov dword [0x49b120], ecx
mov ecx, dword [0x496fc4]
or ecx, eax
mov dword [0x496fc4], ecx
mov eax, dword [esp + 0xc]
mov byte [eax], 0x20
mov eax, dword [0x4967a0]
xor eax, 0x70fb370d
mov dword [0x4967a0], eax
mov eax, dword [0x495f64]
dec eax
mov dword [0x495f64], eax
imul eax, eax, 0x5d42838d
mov ecx, dword [0x49a340]
not ecx
and eax, ecx
mov ecx, dword [0x497654]
sub ecx, eax
mov dword [0x497654], ecx
mov eax, dword [esp + 4]
dec eax
mov dword [esp + 4], eax
mov eax, dword [0x49b29c]
add eax, 0xb54cae83
or eax, 0x3b33
mov dx, word [0x49169c]
mov cx, dx
and ecx, eax
mov dx, cx
mov word [0x49169c], dx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movsx eax, byte [ecx + eax]
cmp eax, 0x20
jne 0x42b9e6
mov eax, dword [0x4948a8]
xor eax, 0xfbc038e2
mov dword [0x4948a8], eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
lea eax, [eax + ecx + 1]
mov dword [esp + 8], eax
mov eax, dword [0x49b844]
xor eax, 0xd5f948c0
cmp eax, 0xffdfad3e
jg 0x42ba95
mov eax, dword [0x49b9e0]
and eax, 0x91a76ceb
mov dword [0x49b9e0], eax
jmp 0x42ba9a
mov eax, dword [0x498180]
not eax
mov cx, ax
mov word [0x490726], cx
mov eax, dword [esp + 8]
add esp, 0x10
pop esi
ret