Function at 0x406bf0
Capabilities:
Encode data using xor

Disassembly:
movzx eax, word [0x45b0bc]
sub esp, 0x10
and eax, 0xa41be01e
mov word [0x45b0bc], ax
imul eax, dword [0x45f9e0], 0xefd7fbee
mov dword [0x45f9e0], eax
mov eax, dword [0x45b57c]
shl eax, 6
xor eax, 0xf3e2a75e
or eax, 0x7322a35e
cmp eax, 0xbf9a6fc1
jl 0x406c3d
mov eax, dword [0x45fc6c]
or eax, dword [0x45f7d8]
mov dword [0x45fc6c], eax
add dword [0x45be2c], 0xc0800128
movzx eax, word [0x45a96a]
and eax, 0x5947fa95
mov word [0x45a96a], ax
mov eax, dword [0x45bb48]
add eax, eax
cmp eax, 0x399ccef9
je 0x406c71
xor dword [0x45dd24], 0x21d39fb6
mov eax, dword [0x45cc94]
xorps xmm0, xmm0
not eax
xor eax, 0xb4ecff12
and dword [0x45f024], eax
mov eax, dword [0x45c904]
push ebx
push ebp
mov ebp, dword [esp + 0x24]
not eax
sub eax, 0x25b3e907
movq qword [esp + 8], xmm0
mov dword [esp + 0x10], 0
mov word [esp + 0x14], 0
mov byte [esp + 0x16], 0
push esi
push edi
cmp eax, 0x42007a0
jl 0x406cf7
dec dword [0x4600b4]
mov ecx, dword [0x4600b4]
dec word [0x45ab34]
mov ax, word [0x45ab34]
cwde
and eax, ecx
and eax, 0x713c66ec
cmp eax, 0x1292a210
jge 0x406d01
mov ax, word [0x4592be]
mov eax, dword [0x45c494]
inc word [0x4592be]
jmp 0x406d01
and dword [0x45da6c], 0x6d060c20
and dword [0x460584], 0x9117a95d
xor esi, esi
mov edx, dword [esp + 0x30]
test edx, edx
je 0x406e2f
lea esp, [esp]
mov eax, dword [0x45e34c]
sar eax, 5
and dword [0x45ef4c], eax
cmp esi, 0xf
je 0x406e25
inc dword [0x460924]
mov eax, dword [0x460924]
mov ecx, dword [0x460378]
and eax, 0x131c36a8
sar ecx, 8
xor ecx, eax
xor dword [0x45bb68], ecx
mov cl, dl
movzx eax, word [ebp + esi*2 + 0x300]
and cl, 1
shr edx, 1
inc esi
mov byte [esp + eax + 0x10], cl
mov ecx, 0xcad28611
mov eax, dword [0x45dc00]
sub ecx, eax
movsx eax, word [0x458c6a]
xor eax, ecx
xor dword [0x4600ec], eax
dec dword [0x45dc00]
mov eax, dword [0x45e4d0]
imul eax, dword [0x45d294]
mov dword [0x45d294], eax
inc dword [0x45e4d0]
cmp dword [0x45ea70], 0x10f1c288
je 0x406dee
inc word [0x459556]
mov ax, word [0x459556]
cwde
add eax, 0x83bae6e
or eax, 0xec1c228d
cmp dword [0x45e29c], eax
jl 0x406ddc
or dword [0x45e414], 0x4a521f43
jmp 0x406e1b
mov eax, dword [0x4608d8]
or eax, 0xf76ab53
add dword [0x45c5c4], eax
jmp 0x406e1b
dec dword [0x45c1b8]
mov ecx, dword [0x45c1b8]
mov eax, dword [0x45b99c]
add ecx, 0x913aa1af
not eax
xor ecx, eax
cmp ecx, 0xacf58bf7
jle 0x406e1b
and dword [0x45e748], 0xae2984ee
test edx, edx
jne 0x406d20
jmp 0x406e2f
xor dword [0x45e90c], 0x562541d2
imul eax, dword [0x45d4f8], 0x2a493020
xor esi, esi
mov dword [0x45d4f8], eax
cmp dword [0x45be04], 0x7ab9c450
jl 0x406e73
dec dword [0x45f4a8]
mov ecx, dword [0x45f4a8]
mov eax, dword [0x45f968]
and eax, 0x5342cc28
cmp ecx, eax
jge 0x406e8f
mov eax, dword [0x45e53c]
dec dword [0x45e53c]
jmp 0x406e8f
inc dword [0x45e7e0]
mov eax, dword [0x45e7e0]
or eax, 0xd7bc651
cmp eax, 0xf7fdbeac
jg 0x406e8f
mov eax, dword [0x45c880]
mov ecx, dword [0x45c544]
xor edi, edi
movzx eax, word [0x458b1c]
xor ecx, 0x43d5ba75
or eax, ecx
xor edx, edx
mov word [0x458b1c], ax
inc dword [0x460890]
mov eax, dword [0x460890]
add eax, 0xc34f3856
cmp eax, 0xabd9e2e6
jl 0x406ef0
dec word [0x459858]
mov ecx, 0x55b64e3a
mov ax, word [0x459858]
cwde
sub ecx, eax
and ecx, 0xee014f0b
cmp ecx, 0xd076ed53
je 0x406ef0
mov eax, dword [0x45c4b0]
lea ecx, [ecx]
xor dword [0x45b918], 0x738ff090
add esi, esi
add dword [0x45dd80], 0xa48f9010
add edi, edi
mov eax, dword [0x45dd08]
xor eax, 0xc5be9c7e
and dword [0x460774], eax
movsx ecx, byte [esp + edx + 0x10]
inc dword [0x45c220]
or esi, ecx
mov eax, dword [0x45c220]
mov ecx, 0x7269c216
sub ecx, eax
or ecx, dword [0x45e83c]
movsx eax, byte [esp + edx + 0x17]
inc edx
mov dword [0x45e83c], ecx
or edi, eax
add dword [0x45fa54], 0x7ccacdcc
add dword [0x4602a0], 0x826008cc
cmp edx, 7
jne 0x406ef0
inc word [0x459eb8]
mov ax, word [0x459eb8]
cwde
add eax, dword [0x45f228]
or eax, 0xc2fbfd89
cmp dword [0x45c584], eax
jl 0x406f92
movzx eax, word [0x45b146]
imul eax, eax, 0x200c0e
mov word [0x45b146], ax
add dword [0x45bcbc], 0x24d4a8dc
dec dword [0x4602b8]
mov eax, dword [0x4602b8]
mov ebx, dword [esp + 0x24]
or eax, 0x6af84270
sub dword [0x45b5e4], eax
mov eax, 0x4252
mov word [0x45a8f8], ax
movzx eax, word [ebp + esi*2]
add eax, dword [esp + 0x28]
push eax
push ebx
call fcn.0042afb0
mov ecx, dword [0x45b634]
movzx eax, word [0x458b96]
sar ecx, 9
or ecx, 0x500822c3
add eax, ecx
lea ecx, [edi + edi]
mov word [0x458b96], ax
movsx eax, byte [esp + 0x26]
or ecx, eax
movzx eax, word [ebp + ecx*2 + 0x100]
add eax, dword [esp + 0x30]
push eax
push ebx
call fcn.0042afc0
and dword [0x45f960], 0x4e0d506a
push 5
push 0x82
call fcn.00401b80
mov ecx, dword [0x45ff38]
add esp, 0x18
sar ecx, 4
mov esi, eax
cmp ecx, 0xa45b0e0d
jle 0x407048
imul ecx, dword [0x45e708], 0x44fac9ed
mov dword [0x45e708], ecx
push esi
push ebx
call fcn.0042afc0
add dword [0x45ffec], 0xb0be3416
push esi
push 5
call fcn.004232b0
add esp, 0x10
add dword [0x45f2f0], 0x9bcba2ee
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret