Function at 0x416fe0
Capabilities:
Encode data using xor

Disassembly:
movsx eax, word [0x467ce2]
not eax
add dword [0x45dd44], eax
mov eax, dword [0x45a77c]
movsx ecx, word [0x46360a]
imul eax, eax, 0xe3c18371
push ebx
xor ebx, ebx
push edi
xor ecx, eax
and dword [0x45f144], ecx
dec dword [0x45a77c]
inc dword [0x4589ec]
mov eax, dword [0x4589ec]
mov ecx, dword [0x46320c]
dec dword [0x46320c]
xor ecx, eax
cmp ecx, 0xe065b3d8
jle 0x41707a
imul ecx, dword [0x459b1c], 0x7d2a2f01
mov eax, dword [0x459030]
xor eax, 0x8bd11f17
add ecx, 0x72a583ef
cmp eax, ecx
jl 0x41705e
or dword [0x4631ac], 0x6f12c049
jmp 0x41707a
mov ax, word [0x468118]
mov ecx, dword [0x45cdcc]
cwde
imul ecx, eax
imul eax, ecx, 0x5b97ee5d
mov word [0x468118], ax
mov edi, dword [esp + 0x14]
push ebp
mov ebp, dword [esp + 0x10]
test ebp, ebp
jle 0x41725b
push esi
lea esp, [esp]
dec word [0x46520a]
mov ax, word [0x46520a]
cwde
cmp eax, 0xfb0ba84f
jl 0x4170af
and dword [0x459b74], 0xe18d63c3
mov eax, dword [0x4594d0]
or eax, 0x86f5b7bf
cmp eax, 0x2270b533
je 0x4170da
mov ecx, dword [0x458928]
mov eax, dword [0x45dd88]
sar ecx, 7
add eax, 0xf804d6a
add eax, ecx
mov dword [0x45dd88], eax
xor dword [0x45cfe4], 0x9f0ec574
mov ecx, 0xd32eb1f1
inc dword [0x45a318]
mov eax, dword [0x45a318]
imul eax, eax, 0x6b7b720a
sub ecx, eax
cmp ecx, 0x41aa7886
jge 0x417124
mov eax, dword [0x45cac4]
movzx ecx, word [0x4663c4]
add eax, 0x75906af3
and ecx, eax
mov word [0x4663c4], cx
dec dword [0x45cac4]
mov esi, dword [esp + 0x18]
push 0
push dword [esp + 0x24]
push 0
push dword [esi]
call fcn.0042c3e0
add esi, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], esi
mov esi, dword [0x45cd80]
movzx ecx, word [0x466db4]
and esi, 0x633ab6c
sub ecx, esi
mov dword [esp + 0x14], edx
mov word [0x466db4], cx
dec dword [0x45a9b4]
mov eax, dword [0x45a9b4]
imul ecx, dword [0x45cb88], 0x802b3a4
or ecx, eax
mov eax, dword [0x45fd0c]
dec dword [0x45cb88]
or eax, 0xb4451896
cmp eax, ecx
jg 0x417197
and dword [0x45b300], 0x8a10220a
movzx eax, word [0x4661d8]
mov edx, dword [esp + 0x1c]
add eax, 0x76bfee7e
mov word [0x4661d8], ax
add edx, ebx
or dword [0x45b6d4], 0x94b31790
cmp edx, ebx
sbb ebx, ebx
and dword [0x45bc10], 0xf7f7fb7f
add edx, dword [edi]
neg ebx
or dword [0x45ecb4], 0x88bea9a
add ebx, dword [esp + 0x14]
cmp edx, dword [edi]
mov ecx, dword [0x45fd68]
sbb eax, eax
and ecx, 0x6ea37144
neg eax
add ebx, eax
mov eax, dword [0x45ef9c]
xor eax, ecx
and dword [0x45d1dc], eax
inc dword [0x45ef9c]
dec dword [0x45fd68]
movsx eax, word [0x465984]
sar eax, 9
imul eax, eax, 0x34f6df0e
cmp eax, 0x60b305b1
jne 0x417227
add dword [0x460a50], 0x91d677de
mov dword [edi], edx
mov ecx, 0x12a6e7e7
and dword [0x45c7e8], 0xf236d24d
dec ebp
mov eax, dword [0x45e068]
add edi, 4
shl eax, 6
sub ecx, eax
and ecx, 0x3f2afdc5
xor dword [0x462bac], ecx
test ebp, ebp
jg 0x417090
pop esi
movsx ecx, word [0x467524]
movzx eax, word [0x463546]
not ecx
imul eax, ecx
pop ebp
mov word [0x463546], ax
movsx eax, word [0x464400]
mov ecx, dword [0x45ed70]
add eax, 0x3ebe4017
sar ecx, 4
xor ecx, eax
mov eax, dword [0x463074]
add eax, 0x4b141b21
xor eax, 0x4b7c4ae7
cmp eax, ecx
jg 0x4172cb
mov eax, dword [0x45f4ec]
add eax, eax
xor eax, 0xe4336225
cmp eax, 0xc413b79d
je 0x4172be
xor dword [0x45c644], 0x2dbe8add
jmp 0x417310
mov eax, dword [0x4629d8]
dec dword [0x4629d8]
jmp 0x417310
inc dword [0x4620a0]
mov ecx, 0x96798918
mov edx, dword [0x4620a0]
mov eax, dword [0x45ca34]
or edx, 0xae8ab9e7
sar eax, 6
sub ecx, eax
xor ecx, 0x9035dd2d
cmp edx, ecx
jl 0x417310
dec dword [0x461c7c]
mov ax, word [0x463a12]
mov eax, dword [0x45b374]
jmp 0x417310
xor dword [0x46090c], 0xf067bb9f
lea edi, [edi + 4]
add dword [edi - 4], ebx
inc dword [0x45d3ec]
mov eax, dword [0x45d3ec]
imul eax, eax, 0x91c2d245
add dword [0x45c894], eax
cmp dword [edi - 4], ebx
mov eax, dword [0x45fc1c]
sbb ebx, ebx
xor eax, dword [0x45b1c0]
xor eax, 0x4c690de5
mov dword [0x45b1c0], eax
mov eax, dword [0x462b48]
movzx ecx, word [0x465916]
add eax, 0x407f31d0
and ecx, eax
mov word [0x465916], cx
dec dword [0x462b48]
neg ebx
jne 0x417310
movsx eax, word [0x46616e]
and eax, 0x635af439
xor eax, 0x684bf16f
pop edi
mov dword [0x45b9f8], eax
dec word [0x46616e]
pop ebx
ret