Function at 0x4106f0
Capabilities:
Encode data using xor

Disassembly:
xor esi, eax
rol edi, 0x16
sub dword [0x45fdba], ecx
or dword [0x45fe50], esi
xchg ebx, esi
add edi, 0x224a5bc
sub eax, 0x2189406
mov dword [0x45fe58], 0xae60ccb
add esi, 0xef842b6
rol eax, 0xc
add esi, eax
sub ecx, dword [0x45ff44]
mov dword [0x45fdb4], ebx
ror eax, 6
add edi, edx
dec eax
xor edx, esp
xor edx, esp
inc eax
sub edi, edx
rol eax, 6
xor dword [0x45fe70], esi
sub esi, eax
ror eax, 0xc
sub esi, 0xef842b6
push cs
add eax, 0x2189406
sub edi, 0x224a5bc
xchg ebx, esi
add dword [0x45fe2b], esi
ror edi, 0x16
xor esi, eax
not dword [eax]
xor dword [0x45fe02], ecx
or dword [0x45fea4], esi
inc esi
add dword [0x45feb5], ebx
neg esi
rol eax, 0x1a
xchg esi, eax
dec edi
xor edx, eax
add dword [0x45feb6], 0xf0d726
sub dword [0x45fe38], 0x12f99bb8
xor edx, eax
inc edi
xchg esi, eax
ror eax, 0x1a
neg esi
dec esi
sub dword [0x45febc], ecx
mov dword [0x45fdbc], ecx
add dword [eax], 0xc30cdf4f
mov dword [0x45febc], edi
rol eax, 9
neg eax
inc esi
add eax, esp
xor edi, esi
or dword [0x45fe80], 0x11c76300
xor ebx, edx
inc edi
sub ebx, esp
add esi, eax
mov dword [0x45fdbc], 0x35ed361
xor esi, eax
xor esi, eax
mov dword [0x45feb9], 0x92514e0
sub esi, eax
add ebx, esp
dec edi
xor ebx, edx
or dword [0x45fdf7], 0x58edcb
xor edi, esi
sub eax, esp
dec esi
neg eax
ror eax, 9
sub dword [0x45fe29], ebx
not dword [eax]
mov dword [0x45fe6c], edi
mov dword [0x45fe43], ebx
xor ecx, esp
xor esi, dword [0x45ff44]
sub ebx, ecx
sub dword [0x45fea2], 0x15cbb1b0
ror eax, 0x15
xchg esi, edx
xor ebx, dword [0x45ffd6]
xor edi, dword [0x45ff56]
inc edx
xor eax, 0x105c92a6
not eax
inc eax
ror esi, 6
rol esi, 6
dec eax
not eax
xor eax, 0x105c92a6
dec edx
xchg esi, edx
rol eax, 0x15
sub dword [0x45fe00], 0x42fead0
add ebx, ecx
xor ecx, esp
add dword [0x45fe54], edi
xor dword [eax], 0xc30cdf4f
neg eax
dec edi
xchg esi, eax
sub esi, eax
inc eax
sub esi, eax
xor esi, eax
sub edx, dword [0x45fefa]
xor edi, dword [0x45ff38]
inc esi
not edi
or dword [0x45fe14], ecx
not esi
xor ecx, dword [0x45ff56]
xor edi, ebp
rol ecx, 0x1e
ror ecx, 0x1e
xor edi, ebp
not esi
not edi
dec esi
xor esi, eax
add esi, eax
dec eax
add esi, eax
xchg esi, eax
inc edi
neg eax
sub dword [eax], 0xc30cdf4f
add edi, dword [0x45fecc]
rol esi, 6
neg edx
xor esi, eax
xor esi, eax
xor ecx, dword [0x45ffbe]
add edx, dword [0x45ff42]
xchg edx, esi
xor esi, eax
sub esi, eax
xor eax, 0x2acf2547
mov dword [0x45fea7], edx
rol eax, 0xe
mov dword [0x45fe1c], ecx
xor edi, 0x306b8d7
rol esi, 0x1b
xchg edi, eax
dec eax
xor ecx, dword [0x45ff04]
inc ebp
add byte [eax - 0x79], al
mov ecx, 0xf7811bce
xlatb
mov eax, 0x15890306
nop
inc byte [ebp]
ror eax, 0xe
mov dword [0x45fdbc], edi
xor eax, 0x2acf2547
add esi, eax
xor esi, eax
xchg edx, esi
xor esi, eax
xor esi, eax
neg edx
ror esi, 6
not dword [eax]
xchg esi, eax
add esi, eax
not ecx
sub dword [0x45fe7c], esi
xor ecx, esp
dec esi
neg esi
xor eax, 0xe2e9ef2
inc edx
xchg esi, eax
xor eax, edi
xor eax, edi
xchg esi, eax
dec edx
xor eax, 0xe2e9ef2
neg esi
inc esi
xor ecx, esp
not ecx
sub esi, eax
xchg esi, eax
xor dword [eax], 0xc30cdf4f
sub ecx, dword [0x45ff5c]
xor esi, eax
not ebx
add edi, 0x1ffedaa6
mov dword [0x45feb6], 0x8deb880
sub esi, eax
sub ecx, dword [0x45fefc]
xor esi, ecx
add esi, esp
xor edx, esp
mov dword [0x45fe1a], ecx
neg ebx
and dword [0x45fe5f], edx
dec edx
xchg ecx, eax
xor eax, ecx
inc esi
sub eax, 0x6844899
mov dword [0x45fde4], edi
not edx
xchg eax, esi
xor dword [0x45fea2], esi
xor dword [0x45feaa], ebx
stosb byte es:[edi], al
inc byte [ebp]
xchg eax, esi
not edx
add eax, 0x6844899
dec esi
xor eax, ecx
xchg ecx, eax
inc edx
neg ebx
mov dword [0x45feac], edx
xor edx, esp
sub esi, esp
xor esi, ecx
add esi, eax
or dword [0x45fde1], 0x162a2084
sub edi, 0x1ffedaa6
not ebx
xor esi, eax
add dword [eax], 0xc30cdf4f
mov dword [0x45fe0c], 0x27864db
or al, 0xfe
inc ebp
add bl, bl
js 0x4104fa
xchg ecx, esi
sub eax, 0x2846af0
xor eax, 0xd25c98b
sub dword [0x45fe01], 0x7dfea47
sub esi, eax
sub edi, dword [0x45ffd1]
sub esi, eax
xor esi, 0x5fa435a
xor esi, dword [0x45ff06]
xor esi, edi
xor edi, eax
add dword [0x45fdb3], edx
sub esi, dword [0x45ff05]
add esi, dword [0x45ff90]
mov dword [0x45fdda], esi
xchg edi, edx
mov dword [0x45fe7f], ebx
xor ebx, eax
xor ebx, eax
mov dword [0x45fe8c], ecx
xchg edi, edx
mov dword [0x45fe18], edi
xor edi, eax
xor esi, edi
xor esi, 0x5fa435a
add esi, eax
add esi, eax
xor eax, 0xd25c98b
add eax, 0x2846af0
xchg ecx, esi
mov dword [0x45fe3c], 0xf50ecf8
not dword [eax]
xor dword [0x45fe1c], edi
not esi
sub dword [0x45fe76], 0x2c29368
rol esi, 1
sub esi, eax
xor edx, dword [0x45ffc0]
sub esi, eax
xor esi, eax
xor dword [0x45fe4b], edi
mov dword [0x45fe40], ebx
dec ebx
rol esi, 0x12
sub ecx, dword [0x45ff74]
xchg eax, edx
sub dword [0x45fe64], ecx
xchg eax, edx
ror esi, 0x12
inc ebx
mov dword [0x45fdde], ecx
sub dword [0x45fe14], ecx
xor esi, eax
add esi, eax
add esi, eax
ror esi, 1
or dword [0x45fe9e], 0x4494014
not esi
sub dword [eax], 0xc30cdf4f
mov dword [0x45fe9a], edi
xchg eax, edx
inc esi
xor ecx, esp
xor ebx, dword [0x45ff3e]
xor edx, eax
not esi
xor eax, 0xf83d564
xor ebx, eax
sub ecx, dword [0x45ffa0]
not esi
sub ecx, dword [0x45ff60]
xor esi, eax
neg eax
rol esi, 0x18
xor ecx, esp
sub esi, dword [0x45ff2a]
add esi, 0x257c4ba0
sub eax, esi
neg eax
sub dword [0x45fe78], ecx
mov dword [0x45fe86], ebx
or dword [0x45fdfa], ebx
mov dword [0x45fe78], ecx
neg eax
add eax, esi
sub esi, 0x257c4ba0
xor ecx, esp
ror esi, 0x18
neg eax
xor esi, eax
not esi
salc
xor ebx, eax
xor eax, 0xf83d564
not esi
xor edx, eax
xor ecx, esp
dec esi
xchg eax, edx
or dword [0x45fdd2], edi
add eax, 4
xor esi, eax
xchg esi, eax
sub esi, eax
ror eax, 0xf
inc edx
xor dword [0x45fdfc], edi
sub dword [0x45feb1], ecx
add byte [ebx], dh
adc eax, 0x45ffc8
add dword [0x45fe94], ecx
ror eax, 0xb
dec esi
add esi, eax
ror eax, 0x12
or dword [0x45fe58], ecx
add esi, eax
rol esi, 0x17
xor eax, ebp
ror eax, 0x13
add esi, eax
inc eax
not eax
or dword [0x45fe60], 0x2db50a86
mov dword [0x45febf], 0x205aad7d
not eax
dec eax
sub esi, eax
rol eax, 0x13
xor eax, ebp
ror esi, 0x17
sub esi, eax
mov dword [0x45fe27], ecx
rol eax, 0x12
sub esi, eax
inc esi
rol eax, 0xb
mov dword [0x45feb4], ecx
inc byte [ebp]
xor dword [0x45fe58], ecx
dec edx
rol eax, 0xf
add esi, eax
xchg esi, eax
xor esi, eax
sub ecx, 4
jne 0x4101d0
xchg ebx, eax
mov byte [eax], ch
adc ch, byte [edx + 0x224e6b0a]
mov ecx, dword [esi + edi*4 + 0x19485249]
nop
adc ebp, eax
add dh, ah
or eax, 0xafe4d8f1
cmp dh, byte [ebx]
cli
pop ds
mov eax, 0xfb1eea90
pop ebp