Function at 0x409680
Capabilities:
Encode data using xor

Disassembly:
xor dword [0x58cd00], ebx
xor esi, 0xa041573
not ecx
xor ebx, esp
ror esi, 0x19
add esi, eax
mov dword [0x58cd56], 0x14807e5b
not esi
mov dword [0x58cc53], 0x942cc5c
sub edi, dword [0x58cf79]
mov dword [0x58cd2d], 0x1643510
not esi
sub esi, eax
rol esi, 0x19
xor ebx, esp
not ecx
xor esi, 0xa041573
or dword [0x58cbba], ebx
xor dword [edi], 0xde538f9c
sub esi, eax
xor ebx, edx
add eax, edi
add esi, dword [0x58cf54]
xor esi, eax
add eax, esi
xor esi, eax
sub ecx, dword [0x58cf93]
dec ecx
neg ebx
sub edi, eax
xor ecx, dword [0x58cea6]
inc edx
dec edx
add edi, eax
neg ebx
inc ecx
xor esi, eax
sub eax, esi
xor esi, eax
sub eax, edi
xor ebx, edx
add esi, eax
sub dword [edi], 0xde538f9c
rol ebx, 6
add edx, eax
sub edi, eax
add ebx, dword [0x58cf5e]
xor dword [0x58cc20], 0xed8fe80
neg ecx
xor ecx, dword [0x58cdfa]
sub esi, 0x1ff0c9e6
leave
invalid
pop ds
xor esi, esp
xor dword [0x58cc80], edi
add dword [0x58cc0f], ebx
xor esi, esp
add esi, 0x1ff0c9e6
neg ecx
sub dword [0x58cc4e], 0x6dfc7ac
add edi, eax
sub edx, eax
ror ebx, 6
xor dword [edi], 0xde538f9c
add eax, ebp
not esi
sub ecx, dword [0x58cf8a]
ror eax, 3
add esi, dword [0x58cef6]
add ecx, dword [0x58ce72]
xor esi, eax
mov dword [0x58cbf3], 0x45c8a7c
rol eax, 0xf
add ebx, edx
xor esi, eax
xor esi, eax
and dword [0x58ccdc], 0xe5b82d7
mov dword [0x58cbf6], 0x46b066c
xor esi, eax
xor esi, eax
sub ebx, edx
ror eax, 0xf
mov dword [0x58cc3e], 0x2cf353b4
xor esi, eax
rol eax, 3
not esi
sub eax, ebp
add dword [edi], 0xde538f9c
sub dword [0x58cda0], 0xede162a
mov dword [0x58cc3d], ecx
add esi, eax
inc edx
xor edi, 0x2183f6c3
not esi
xor dword [0x58cd74], edi
rol edi, 0xe
xor dword [0x58cc2a], edx
dec esi
inc esi
ror edi, 0xe
mov dword [0x58cc92], ecx
not esi
xor edi, 0x2183f6c3
and dword [ecx], 0x4a
sub esi, eax
mov dword [0x58ccd2], 0xf994cb
int3
pop eax
add bl, cl
xchg esp, eax
stc
add bh, dh
pop ss
mov dword [0x58cd3f], 0x76d6be0
imul ebp, dword [ebp + 7], 0x33
cmp eax, 0x58cfac
add byte [ecx], cl
or eax, 0x58ccda
mov dword [0x58cb9b], 0x4b1b1c6
add eax, 0x58cb9b
invalid
mov cl, 0xb1
add al, 0x2b
or eax, 0x58cfa7
add byte [ebx], ch
int3
mov dword [0x58ccf1], ecx
xor eax, ebp
sub dword [0x58cc09], 0xeee58d1
sub edi, dword [0x58cfcc]
ror edx, 0x17
not eax
xor edi, eax
ror eax, 7
xor esi, eax
rol ecx, 0x1a
or dword [0x58cb9a], 0x15f457ba
sub edx, dword [0x58ceaa]
dec esi
ror ecx, 0xf
sub edi, dword [0x58ce36]
sub ebx, edi
add ebx, edi
rol ecx, 0xf
inc esi
ror ecx, 0x1a
xor esi, eax
rol eax, 7
xor edi, eax
not eax
rol edx, 0x17
xor eax, ebp
mov dword [0x58cc54], ecx
add ecx, esp
or dword [0x58cc2a], ecx
mov dword [0x58ccc4], 0x5ad84a6
add edi, 4
rol eax, 1
xor esi, dword [0x58cfa4]
neg ebx
xor eax, esp
neg edx
sub ecx, dword [0x58cdef]
dec ecx
not edx
xor esi, eax
not ebx
xchg esi, eax
ror eax, 0x1e
rol dword [edi + 0x1ec8c1c6], cl
inc esi
not edx
dec eax
rol eax, 8
xor edx, dword [0x58cfb4]
xor ebx, ecx
xor ebx, ecx
ror eax, 8
inc eax
not edx
dec esi
rol eax, 0x1e
xchg esi, eax
not ebx
xor esi, eax
not edx
inc ecx
neg edx
fidiv dword [ebx]
invalid
neg ebx
ror eax, 1
sub ecx, 4
jne 0x4095ca
invalid
mov dl, 0x75
insb byte es:[edi], dx
cld
sbb esi, ebx
das
inc ebx
arpl word [ebp + 8], si
sar dword [esi + ebp*4 + 0x14], cl
stc
mov ch, 0xec
xchg ebp, eax
xchg ecx, eax
fcompi st(1)
test eax, 0x1cfa138
push edi
retf
jne 0x409895
jb 0x40981a
sbb al, 0x3b
add dh, byte [esi]
scasd eax, dword es:[edi]
xchg ebp, eax
sub ah, bh
dec dword [ebp - 0x42174109]
sub edi, dword [esi + 0x6f82475]
idiv dword [esi - 0x41d44218]
jne 0x4098c1
clc
push es
sub ch, byte [edi]
add al, 0xd4
inc eax
lodsb al, byte [esi]
cmp dword [eax], 0x43081df3
and bl, ch
sbb eax, 0xeb204308
or eax, 0x32210086
test eax, 0x867be47d
add byte [ecx], ch
mov ecx, 0xa9ebb02c
scasd eax, dword es:[edi]
mov al, 0xd
xor bh, byte [eax + ebp*4 + 0x7c]
add esi, dword [edx + ebx*4]
xchg ebp, eax
ja 0x409887
jne 0x4098cd
push es
sub eax, 0xff7c7f95
mov al, 0xc1
or byte [ecx - 0x757bdaf1], ah
sbb bh, bl
add byte [esp + esi*4], 0x69
xchg byte [eax], al
sub dword [ecx + 0x40ebb02c], edi
mov al, 0xeb
inc eax
jle 0x4098a7
push 0xf915ac26
and al, 0xa8
cmpsb byte [esi], byte es:[edi]
xchg ebp, eax
jno 0x409915
xchg edx, eax
add dword [eax], eax
or byte [eax], bh
fisttp dword [edi]
mov bh, 0xe4
cmpsb byte [esi], byte es:[edi]
sub edi, dword [ebx + 0x6c]
das
popfd
sti
test al, 2
pop edi
lahf
add cl, bh
pcmpeqb mm6, qword [ecx]
jg 0x4098e7
xor eax, 0xcdf8f80f
push ebp
clc
clc
int 0x55
or byte cs:[edx + 0xcaaf468], ch
xchg esp, eax
xor al, 0xc3
int 0x55
sub byte [edx - 0x77], bh
pop ss
stc
enter 0x65cd, 0xc
and esp, dword [ecx - 0x323cc36b]
pop ebp
cld
inc esi
cld
invalid
ret
pop ebp
into
out dx, eax
jge 0x40999d
jg 0x40996c
pop es
pop es
das
mov bh, 0x75
xor dword [edi - 0x2c], edi
xor eax, 0xcdf8f80f
push ebp
jle 0x40990b
insb byte es:[edi], dx
add byte [edx - 0x62fccaf8], dh
push dword [esi]
add ebx, dword ss:[edi]
inc dword [eax]
add byte [edi], al
test al, 0x9d
inc ebx
mov eax, dword [0x9d0336b0]
inc dword [ecx]
sub cl, byte [ebx]
add ebx, dword ss:[ebp + 0xb2a01ff]
pop ss
sbb byte [eax], al
pop es
add byte [eax], cl
rol byte [edi - 0x30], 0x95
adc esi, dword ss:[esi + 0x10]
rol dword [ebx], 0xe4
and esp, esi
cmpsb byte [esi], byte es:[edi]
cwde
jmp 0x4099c1
xor ebx, edi
jne 0x4099af
outsd dx, dword [esi]
jl 0x409932
ja 0x409a1b
push eax
mov dh, 0x7a
ror dword [eax], cl
push ebx
fsub qword [edx]
mov edi, ebp
std
je 0x409a12
inc esi
xor dword [ebx + 3], esi
add byte [esi], bl
outsb dx, byte [esi]
xor dword [eax + 0x7c730e75], esi
mov dh, 0x24
invalid
clc
cmc
adc eax, 0xcc9f26f3
add eax, dword cs:[edi]
cwde
jmp 0xce26fb1