Function at 0x4260a0
Capabilities:
Encode data using xor

Disassembly:
mov ax, word [0x464aac]
sub esp, 0x258
mov ecx, dword [0x45d500]
cwde
or ecx, eax
or ecx, 0x53f4ec02
mov word [0x464aac], cx
cmp dword [0x4586bc], 0
jne 0x426400
xor dword [0x458ca8], 0x23f720b2
or dword [0x463238], 0xa183c1e8
mov dword [0x45ccd4], 0xa0bfb3ad
movsx eax, word [0x467bb8]
sub eax, 0x6b0f5da
and eax, 0xd324b23d
xor dword [0x45edac], eax
mov eax, dword [0x45e00c]
mov ecx, dword [0x45b45c]
not eax
imul eax, eax, 0x952f6b5b
push ebx
push esi
push edi
xor ecx, eax
lea eax, [esp + 0xc]
push eax
xor ecx, 0xa7ebac36
mov dword [0x45b45c], ecx
push 0x104
call fcn.0041a690
mov eax, dword [0x45e780]
lea esi, [esp + 0x14]
mov ecx, 0xed7b5623
add esp, 8
sub ecx, eax
add dword [0x45ccd4], ecx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x426153
mov eax, dword [0x461af0]
sub esi, ecx
mov ecx, dword [0x45daa0]
shl eax, 0xa
or ecx, eax
movzx eax, word [0x464736]
or ecx, 0xc347bd0c
xor eax, ecx
mov word [0x464736], ax
push 0x3e8
call dword [0x458854]
movsx eax, word [0x4673f8]
add eax, eax
xor eax, 0xdf022d3d
cmp eax, 0x9a1ea52e
jle 0x4261ca
dec dword [0x45b1cc]
mov eax, dword [0x45b1cc]
add eax, 0x43c1529c
cmp eax, 0x7f73ff65
je 0x4261ca
movzx eax, word [0x463628]
sub eax, 0x111b2094
mov word [0x463628], ax
imul eax, dword [0x45b2ac], 0x2da8116
lea ebx, [esp + 0xc]
push dword [0x4586d8]
add ebx, esi
mov byte [ebx], 0
mov dword [0x45b2ac], eax
lea eax, [esp + 0x10]
push eax
call fcn.0042aed0
mov eax, dword [0x45e55c]
sub eax, dword [0x45e784]
push 2
mov dword [0x45e55c], eax
push 0x1c37
call fcn.00410dd0
add dword [0x461808], 0x7a0b2161
mov esi, eax
lea eax, [esp + 0x1c]
push esi
push eax
call fcn.0042aed0
movsx ecx, word [0x465bda]
mov edx, dword [0x461a9c]
imul ecx, ecx, 0x83676e0a
push esi
push 2
or edx, ecx
xor dword [0x45aa80], edx
call fcn.00410d40
mov eax, dword [0x45f104]
add esp, 0x20
mov dword [0x460930], eax
lea eax, [esp + 0x124]
push eax
lea eax, [esp + 0x10]
push eax
call dword [0x4587ac]
mov cx, word [0x463a3a]
mov edi, eax
movsx ecx, cx
add dword [0x45ca9c], ecx
cmp edi, 0xffffffff
je 0x4263bc
dec dword [0x45e1d4]
mov ecx, dword [0x45e1d4]
cmp ecx, 0x37886a8a
jge 0x4262e1
dec dword [0x45c2d0]
mov esi, dword [0x45c2d0]
inc word [0x466012]
mov ax, word [0x466012]
mov edx, dword [0x45bad8]
movsx ecx, ax
not edx
mov eax, dword [0x458ffc]
and ecx, esi
imul eax, edx
imul eax, eax, 0x1cd0006c
cmp eax, ecx
jge 0x4262e1
movsx eax, word [0x465038]
or eax, 0x1f026814
and dword [0x45e500], eax
mov eax, dword [0x4615a8]
movzx ecx, word [0x46449a]
add eax, 0x9eed0dd1
or ecx, eax
mov word [0x46449a], cx
dec dword [0x4615a8]
mov eax, dword [0x45f624]
xor eax, 0xd846437d
mov byte [ebx], 0
mov dword [0x45c42c], eax
lea eax, [esp + 0x150]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.0042aed0
imul eax, dword [0x45c548], 0x59d3e912
add esp, 8
mov dword [0x45c548], eax
lea eax, [esp + 0xc]
push eax
call dword [0x45879c]
mov eax, dword [0x45eddc]
mov ecx, dword [0x45c0ac]
add eax, 0x23d96a9c
imul ecx, eax
lea eax, [esp + 0x124]
push eax
push edi
mov dword [0x45c0ac], ecx
call dword [0x4587a8]
test eax, eax
jne 0x4262e1
add dword [0x461b74], 0x2080080
push edi
call dword [0x4587a4]
movsx eax, word [0x4675e8]
dec word [0x4675e8]
imul eax, eax, 0x6b5f735d
sub eax, 0x70db557
cmp eax, 0xa3cfbe5d
jg 0x4263bc
mov ecx, dword [0x45b6e8]
mov eax, dword [0x4591b8]
and ecx, 0xf682badb
imul eax, ecx
mov dword [0x4591b8], eax
imul eax, dword [0x461920], 0xfbdf9bfb
push 0x118
push 0
mov dword [0x461920], eax
lea eax, [esp + 0x14]
push eax
call fcn.0042caa0
mov eax, dword [0x45af9c]
add esp, 0xc
mov ecx, 0xdc3063e1
sub ecx, eax
and ecx, 0x7064e967
xor dword [0x45d4ac], ecx
dec dword [0x45af9c]
pop edi
pop esi
pop ebx
add esp, 0x258
ret