Function at 0x494f00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov ebp, ebp
sub esp, 0x18
mov eax, dword [ebp + 0xc]
push esi
mov esi, ecx
xchg esp, esp
mov dword [ebp - 0x14], esi
mov edx, dword [eax + 4]
test edx, edx
je 0x49527c
mov esp, esp
mov ecx, dword [eax]
mov dword [ebp - 4], ecx
lea eax, [ecx + edx*4]
mov dword [esp - 0x1c], 0x3c6eecfd
mov dword [ebp - 0x18], eax
cmp ecx, eax
je 0x49527c
mov ebx, ebx
push ebx
push edi
mov edi, 0x3f52cdfe
xchg esp, esp
sub edi, 0x4175c98
xor edi, 0x718defe1
add edi, 0x218014a3
xchg ebx, ebx
xor edi, 0x4812fb83
sub edi, 0x242448a7
mov ebx, dword [ecx]
mov ecx, esi
mov dword [esp - 0xc], ebp
push ebx
call fcn.00494d60
mov dword [ebp - 0x10], eax
test eax, eax
mov esp, esp
je 0x49525c
lea eax, [ebx + 4]
mov dword [ebp - 0xc], eax
mov eax, dword [eax]
mov dword [esp - 0x3c], 0x3b824a0c
mov dword [ebp + 0xc], eax
cmp eax, 2
jbe 0x494f9f
mov ebx, dword [ebx]
mov dword [esp - 0x18], ebx
inc eax
mov ecx, 0x27980f2a
add ecx, 0x3ec515b1
mov dword [esp - 0xc], ebx
xor ecx, 0x71dc6896
add ecx, 0x1deb3b09
xor ecx, 0x2731aad4
add ecx, 0x3c8ab323
xchg ebx, ebx
xor ecx, 0xb1181f5a
mul edi
cmovb eax, ecx
xchg ebp, ebp
push eax
call fcn.00490c90
mov esi, eax
xchg esp, esp
add esp, 4
mov eax, dword [ebp + 0xc]
xor edi, edi
mov dword [ebp - 8], esi
xchg ebx, ebx
test eax, eax
je 0x495054
mov eax, esi
mov dword [esp - 0x38], 0x3aac7401
sub ebx, esi
mov esi, dword [ebp + 0xc]
mov ecx, edi
lea eax, [eax + 2]
mov edx, edx
and ecx, 3
mov edx, 0x1e399ebe
xor edx, 0x43c522b2
sub edx, 0x2befce46
xchg edi, edi
sub edx, 0x1e6d7c7b
add edx, 0x680ad3a6
shl ecx, 3
mov dword [esp - 0x38], ecx
inc edi
sar edx, cl
movsx cx, dl
xor cx, word [eax + ebx - 2]
mov ebx, ebx
mov word [eax - 2], cx
cmp edi, esi
jb 0x495000
mov esi, dword [ebp - 8]
mov dword [esp - 0x28], 0x6d762060
mov eax, dword [ebp + 0xc]
xor ecx, ecx
push ecx
push ecx
xchg esp, esp
mov word [esi + eax*2], cx
mov eax, dword [ebp - 0xc]
push ecx
push ecx
mov dword [esp - 0x3c], esp
mov eax, dword [eax]
push eax
push esi
mov dword [ebp - 0xc], eax
xchg esp, esp
mov eax, dword [0x4c0b80]
xor eax, dword [0x4c0968]
push ecx
xchg ecx, ecx
nop
mov dword [esp - 4], 0x354590cd
sub dword [esp - 4], 0xe9a1585
xor dword [esp - 4], 0x4475d96d
mov dword [esp - 0x44], ecx
xor dword [esp - 4], 0x32b38535
sub dword [esp - 4], 0x18d8f612
add dword [esp - 4], 0x40ed74bf
sub dword [esp - 4], 0x7880a7d4
xchg esi, esi
sub esp, 4
call eax
mov ebx, eax
lea edi, [ebx + 1]
xchg esp, esp
push edi
call fcn.00490c90
mov ecx, dword [0x4c0b80]
mov dword [esp - 0x28], ecx
add esp, 4
xor ecx, dword [0x4c0968]
mov dword [ebp + 0xc], eax
mov dword [esp - 0x3c], 0x13aece3d
nop
sub esp, 4
mov dword [esp], 0x65880d85
mov dword [esp - 0x10], edi
add dword [esp], 0x469c360
sub dword [esp], 0x14433b3a
sub dword [esp], 0x1e39a7b8
mov dword [esp - 0x10], ebx
xor dword [esp], 0x3f6949c3
sub dword [esp], 0x81da430
nop
sub esp, 4
mov dword [esp - 0x2c], esi
mov dword [esp], 0x64ece628
sub dword [esp], 0x14a7651a
add dword [esp], 0x27eb2129
xor dword [esp], 0x4f7fecf
mov edi, edi
sub dword [esp], 0x18d23517
xor dword [esp], 0x58d00ab4
xor dword [esp], 0x3b252d55
push edi
mov dword [esp - 0x28], 0x5729cda2
mov edi, eax
push edi
push dword [ebp - 0xc]
xchg esp, esp
push esi
nop
sub esp, 4
mov dword [esp], 0x145983df
xchg ebp, ebp
xor dword [esp], 0x75f3f50b
xor dword [esp], 0x5d23f88
xor dword [esp], 0x35ab668e
xor dword [esp], 0x55ddf0b2
mov dword [esp - 0x18], edx
xor dword [esp], 0x21687fa0
sub dword [esp], 0x2566a0c0
nop
mov edi, edi
mov dword [esp - 4], 0x2e5c4f78
add dword [esp - 4], 0x246628c1
add dword [esp - 4], 0x2938bd07
mov esi, esi
xor dword [esp - 4], 0x380ce3ff
sub dword [esp - 4], 0x43f6d8d6
sub esp, 4
mov dword [esp - 0x14], ebx
call ecx
push esi
mov byte [edi + ebx], 0x2a
sub byte [edi + ebx], 0x19
xchg esp, esp
xor byte [edi + ebx], 2
add byte [edi + ebx], 0x65
sub byte [edi + ebx], 0x71
mov esp, esp
add byte [edi + ebx], 0x15
sub byte [edi + ebx], 0x1c
call fcn.00490c60
mov dword [esp - 0xc], edx
push dword [ebp - 0x10]
push edi
push dword [ebp + 8]
call fcn.00499250
mov dword [esp - 0x1c], edx
push edi
call fcn.00490c60
mov esi, dword [ebp - 0x14]
add esp, 0x14
mov edx, edx
mov edi, 0x723ea275
xor edi, 0x4cb02554
sub edi, 0x116451ce
xchg edx, edx
add edi, 0x473bd318
sub edi, 0xdbeb7c6
sub edi, 0x10f13de4
mov dword [esp - 0x28], 0x6ede4b3f
sub edi, 0x55b612bf
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [esp - 0x40], edi
mov dword [ebp - 4], ecx
cmp ecx, dword [ebp - 0x18]
jne 0x494f66
mov dword [esp - 0x1c], 0x10b5dcff
pop edi
pop ebx
pop esi
xchg esi, esi
mov esp, ebp
pop ebp
ret 8