Function at 0x408927
Capabilities:
Encode data using xor

Disassembly:
cmpsd dword [esi], dword es:[edi]
nop
cmpsd dword [esi], dword es:[edi]
cwde
cmpsd dword [esi], dword es:[edi]
mov al, byte [0xb0a7a8a7]
cmpsd dword [esi], dword es:[edi]
mov eax, 0xc8a7c0a7
cmpsd dword [esi], dword es:[edi]
shl byte [edi - 0x58175820], 1
cmpsd dword [esi], dword es:[edi]
call 0xe881d4
test al, 0x30
test al, 0x48
test al, 0x50
cmpsd dword [esi], dword es:[edi]
call 0xe881d4
test al, 0x30
test al, 0x48
test al, 0x50
test al, 0x58
test al, 0x60
test al, 0x68
test al, 0x70
test al, 0x78
test al, 0x80
test al, 0x88
test al, 0x90
test al, 0x98
test al, 0xa0
test al, 0xa8
test al, 0xb0
test al, 0xb8
test al, 0xc8
test al, 0xd0
test al, 0xe0
test al, 0xe8
test al, 0x18
test eax, 0xa938a930
inc eax
test eax, 0xa950a948
pop eax
test eax, 0xa968a960
jo 0x408913
js 0x408915
sub byte [ecx - 0x566f5678], 0x98
test eax, 0xa9b0a9a0
mov eax, 0xd0a9c8a9
test eax, 0xaa18aa00
and byte [edx - 0x55cf55d8], ch
cmp byte [edx - 0x55b755c0], ch
push eax
stosb byte es:[edi], al
pop eax
stosb byte es:[edi], al
pushal
stosb byte es:[edi], al
push 0x78aa70aa
stosb byte es:[edi], al
sub byte [edx - 0x55675578], 0xa0
stosb byte es:[edi], al
mov al, 0xaa
mov eax, 0xaae8aa
stosd dword es:[edi], eax
or byte [ebx - 0x54e754f0], ch
and byte [ebx - 0x54cf54d8], ch
cmp byte [ebx - 0x54b754c0], ch
push eax
stosd dword es:[edi], eax
pop eax
stosd dword es:[edi], eax
pushal
stosd dword es:[edi], eax
push 0x80ab70ab
stosd dword es:[edi], eax
mov byte [ebx - 0x545f5468], ch
shr byte [ebx - 0x540f5418], 1
clc
stosd dword es:[edi], eax
add byte [eax + ecx + 0x18ac10ac], ch
lodsb al, byte [esi]
and byte [eax + ebp + 0x38ac30ac], ch
lodsb al, byte [esi]
inc eax
lodsb al, byte [esi]
dec eax
lodsb al, byte [esi]
push eax
lodsb al, byte [esi]
pop eax
lodsb al, byte [esi]
push 0x80ac70ac
lodsb al, byte [esi]
mov byte [eax + edi*4 - 0x27532f54], ch
lodsb al, byte [esi]
loopne 0x4089aa
call 0xf8ed7aaf
lodsb al, byte [esi]
add byte [ebp - 0x52ef52f8], ch
sbb byte [ebp - 0x52d752e0], ch
xor byte [ebp - 0x52bf52c8], ch
pushal
lodsd eax, dword [esi]
cwde
lodsd eax, dword [esi]
mov eax, 0xf8adf0ad
lodsd eax, dword [esi]
cmp byte [esi - 0x51b751c0], ch
mov byte [esi - 0x512f5170], ch
fsubr dword [esi - 0x510f5120]
clc
scasb al, byte es:[edi]
add byte [edi - 0x50ef50f8], ch
sbb byte [edi - 0x50d750e0], ch
push eax
scasd eax, dword es:[edi]
mov byte [edi - 0x50575060], ch
mov al, 0xaf
scasd eax, dword es:[edi]
mov eax, 0xc8afc0af
scasd eax, dword es:[edi]
shr byte [edi - 0x501f5028], 1
clc
scasd eax, dword es:[edi]
scasd eax, dword es:[edi]
fsubr dword [edi - 0x50075020]
add byte [eax], ah
adc al, 0
js 0x408a60
add byte [eax], al
add byte [eax - 0x5fef5ff8], ah
sbb byte [eax - 0x5fcf5fe0], ah
dec eax
mov al, byte [0xa058a050]
pushal
mov al, byte [0xa078a068]
and byte [eax - 0x5f6f5f78], 0x98
mov al, byte [0xa0b0a0a0]
enter 0xffffffffffffd0a0, 0xffffffffffffffa0
fsub dword [eax - 0x5f175f20]
clc
mov al, byte [0xa108a100]
adc byte [ecx - 0x5edf5ee8], ah
xor byte [ecx - 0x5eaf5eb8], ah
pop eax
mov eax, dword [0xa168a160]
js 0x408a49
mov eax, dword [0xa160a158]
push 0x80a178a1
mov eax, dword [0xa190a188]
loopne 0x408a51
and byte [ecx - 0x5e6f5e78], 0xe0
mov eax, dword [0xa200a1f8]
or byte [edx - 0x5de75df0], ah
and byte [edx - 0x5dcf5dd8], ah
cmp byte [edx - 0x5d7f5dc0], ah
mov byte [edx - 0x5d575d68], ah
mov al, 0xa2
clc
mov eax, dword [0xa208a200]
adc byte [edx - 0x5ddf5de8], ah
sub byte [edx - 0x5dc75dd0], ah
inc eax
mov byte [0xa288a280], al
cwde
mov byte [0xa2b0a2a8], al
fsub dword [edx - 0x5d075d10]
add byte [ebx - 0x5cef5cf8], ah
sbb byte [ebx - 0x5cd75ce0], ah
xor byte [ebx - 0x5caf5cc8], ah
pushal
mov dword [0xa390a368], eax
test al, 0xa3
mov al, 0xa3
mov dword [0xa338a330], eax
push eax
mov dword [0xa368a360], eax
nop
mov dword [0xa3b0a3a8], eax
mov eax, 0xc8a3c0a3
mov dword [0xa3d8a3d0], eax
loopne 0x408a9f
call 0x8e47ba4
movsb byte es:[edi], byte [esi]
sbb byte [eax + 0x60a448a4], ah
movsb byte es:[edi], byte [esi]
push 0x78a470a4
movsb byte es:[edi], byte [esi]
and byte [eax + ecx*4 - 0x675b6f5c], 0xa4
mov al, byte [0xc0a4a8a4]
movsb byte es:[edi], byte [esi]
shl byte [eax + ebx*8 + 0x18a500a4], 1
movsd dword es:[edi], dword [esi]
and byte [ebp - 0x5acf5ad8], ah
cmp byte [ebp - 0x5ab75ac0], ah
push eax
movsd dword es:[edi], dword [esi]
pop eax
movsd dword es:[edi], dword [esi]
pushal
movsd dword es:[edi], dword [esi]
js 0x408adf
mov byte [ebp - 0x5a475a70], ah
shl byte [ebp - 0x5a1f5a28], 1
call 0xf8e67bf0
movsd dword es:[edi], dword [esi]
add byte [esi - 0x59ef59f8], ah
sbb byte [esi - 0x59bf59d0], ah
dec eax
cmpsb byte [esi], byte es:[edi]
jo 0x408b02
mov byte [esi - 0x59675970], ah
mov al, byte [0xb0a6a8a6]
cmpsb byte [esi], byte es:[edi]
mov eax, 0xc8a6c0a6
cmpsb byte [esi], byte es:[edi]
shl byte [esi - 0x59075918], 1
add byte [edi - 0x58bf58d8], ah
dec eax
cmpsd dword [esi], dword es:[edi]
push eax
cmpsd dword [esi], dword es:[edi]
pop eax
cmpsd dword [esi], dword es:[edi]
pushal
cmpsd dword [esi], dword es:[edi]
push 0x78a770a7
cmpsd dword [esi], dword es:[edi]
and byte [edi - 0x585f5878], 0xb0
cmpsd dword [esi], dword es:[edi]
mov eax, 0xf8a7e0a7
cmpsd dword [esi], dword es:[edi]
add byte [eax - 0x57ef57f8], ch
sbb byte [eax - 0x57d757e0], ch
xor byte [eax - 0x57bf57c8], ch
pop eax
test al, 0x68
test al, 0x70
test al, 0x98
test al, 0xb0
test al, 0xb8
test al, 0xc0
test al, 0xc8
test al, 0xd0
test al, 0xd8
test al, 0xe0
test al, 0xe8
test al, 0xf0
test al, 0xf8
test al, 0x10
test eax, 0xa928a920
push eax
test eax, 0xa970a968
js 0x408b7b
sub byte [ecx - 0x566f5678], 0x98
test eax, 0xa9a8a9a0
mov al, 0xa9
enter 0xffffffffffffd8a9, 0xffffffffffffffa9
loopne 0x408b8f
or byte [edx - 0x55d755e0], ch
xor byte [edx - 0x55bf55c8], ch
dec eax
stosb byte es:[edi], al
push eax
stosb byte es:[edi], al
pop eax
stosb byte es:[edi], al
pushal
stosb byte es:[edi], al
push 0x90aa80aa
stosb byte es:[edi], al
cwde
stosb byte es:[edi], al
shr byte [edx - 0x551f5528], 0xe8
stosb byte es:[edi], al
invalid