Function at 0x427968
Capabilities:
Encode data using xor

Disassembly:
push ebx
push edi
push esi
sub esp, 8
mov esi, ecx
mov dword [0x488c8c], 0xbb504b29
mov eax, dword [0x487ea0]
imul eax, eax, 0xaa131306
cmp eax, 0x35777b7
jl 0x4279ad
mov eax, dword [0x48ae2c]
shr eax, 3
mov cx, word [0x48e248]
lea edx, [ecx + 1]
mov word [0x48e248], dx
xor eax, ecx
mov word [0x48e130], ax
mov eax, dword [esp + 0x18]
mov ecx, dword [0x48baf0]
lea edx, [ecx - 1]
mov dword [0x48baf0], edx
mov dx, word [0x48d3c4]
movsx edx, dx
mov edi, 0x5348986e
sub edi, edx
xor edi, ecx
cmp edi, 0xa26881de
jg 0x4279f1
mov cx, word [0x48d486]
xor ecx, 0xa070
mov word [0x48d486], cx
jmp 0x4279fb
or dword [0x489948], 0x164f1ee
mov bl, byte [esp + 0x1c]
mov dword [esi + 0x2020], eax
add dword [0x487984], 0x1c99fd5e
mov ax, word [0x48de36]
add eax, 0x1002
mov word [0x48de36], ax
call fcn.00417ed2
mov dword [esp], eax
mov ax, word [0x48db5a]
add eax, 0x78eb
or eax, 0xffff9264
mov cx, word [0x48d1ac]
xor ecx, eax
mov word [0x48d1ac], cx
cmp dword [esp], 0
je 0x427a0f
mov eax, dword [0x48bd50]
imul eax, eax, 0x4cded818
mov dword [0x48bd50], eax
call fcn.00417ed2
mov dword [esp + 4], eax
add dword [0x4862e8], 0xb11829a1
mov byte [esp + 4], bl
xor dword [0x48a614], 0x4ab6dddf
push dword [esp]
call fcn.00424996
add esp, 4
xor dword [esp + 4], eax
mov eax, dword [0x4886fc]
mov eax, dword [0x488db8]
lea ecx, [eax - 1]
mov dword [0x488db8], ecx
add eax, 0xe738dbbc
mov ecx, dword [0x4898c8]
imul ecx, eax
mov dword [0x4898c8], ecx
lea eax, [esp]
push 0
push 8
push eax
push dword [esi + 0x2020]
call dword [0x485ebc]
mov ecx, dword [0x489b44]
cmp ecx, 0xfd23878c
jg 0x427aed
mov cx, word [0x48db60]
and ecx, 0x78e3
mov word [0x48db60], cx
jmp 0x427b32
mov ecx, dword [0x48bd54]
shl ecx, 0xa
mov edx, dword [0x487f18]
lea edi, [edx - 1]
mov dword [0x487f18], edi
or ecx, edx
cmp ecx, 0x52accbab
jne 0x427b1d
mov ecx, dword [0x486668]
and dword [0x48a8e4], ecx
jmp 0x427b32
mov ecx, dword [0x489c34]
lea edx, [ecx + 1]
mov dword [0x489c34], edx
add dword [0x4880b0], ecx
cmp eax, 8
jne 0x427c1e
and dword [0x48bddc], 0x40792471
sub esp, 4
movzx eax, bl
mov dword [esp], eax
mov ecx, esi
call fcn.00427054
test al, al
je 0x427c44
mov eax, dword [0x48aa28]
or eax, 0xe89b3114
mov ecx, dword [0x48aefc]
imul ecx, eax
mov dword [0x48aefc], ecx
mov dword [esi], 0
mov ax, word [0x48d454]
cwde
mov ecx, dword [0x489408]
dec ecx
mov dword [0x489408], ecx
imul ecx, ecx, 0x51d1ae88
or ecx, eax
cmp ecx, 0xeffeffe7
je 0x427bd1
mov eax, dword [0x488288]
sar eax, 9
imul eax, eax, 0x584ad742
mov ecx, dword [0x488098]
sar ecx, 8
mov edx, dword [0x48a4c8]
sar edx, 6
imul edx, ecx
cmp eax, edx
jle 0x427bd1
xor dword [0x488f30], 0xe7f6f535
mov eax, dword [esp]
mov dword [esi + 4], eax
and dword [0x487e34], 0x91305c3e
mov dword [esi + 0x100c], 0
mov ax, word [0x48d494]
imul eax, eax, 0x302
mov word [0x48d494], ax
push dword [esp]
call dword [esi + 0x201c]
add esp, 4
mov dword [esi + 0x1010], eax
xor dword [0x48ae94], 0xdfe5b6ce
xor eax, eax
inc eax
jmp 0x427c7f
mov eax, dword [0x487edc]
and eax, 0x41044830
xor dword [0x486af4], eax
mov ecx, esi
call fcn.0041d7e4
or dword [0x488e68], 0x3bc389df
xor eax, eax
dec eax
jmp 0x427c7f
mov eax, dword [0x4863f4]
lea ecx, [eax - 1]
mov dword [0x4863f4], ecx
imul eax, eax, 0x4ab83acd
xor eax, 0x7544ed10
add dword [0x4871cc], eax
mov ecx, esi
call fcn.0041d7e4
mov eax, dword [0x488540]
imul eax, eax, 0x3518d2e7
mov dword [0x488540], eax
mov eax, 0xfffffffe
add esp, 8
pop esi
pop edi
pop ebx
ret 8