Function at 0x597026
Capabilities:
Encode data using xor

Disassembly:
jb 0x597074
cli
xor al, byte [ebp - 0x15]
xchg ebp, eax
adc eax, 0x4e58a20
and byte [edx + 0x10f704e5], cl
and byte [edx + 0x10f704e5], cl
fst dword [ebx]
dec edi
mov ebp, dword [esi]
aaa
pop edx
aam 5
xor dl, byte [0x30b44cc7]
dec esi
in eax, 0x3b
dec ecx
pop eax
or eax, 0xd2755897
fsubr st(7), st(0)
test dword [ecx - 0x2d], edx
cmpsb byte [esi], byte es:[edi]
add cl, dl
sbb cl, byte [edx]
xor esi, dword [esi + 9]
test byte [ecx + 0x11], dl
ficom word [ecx - 0xf]
or dword [ecx + edx*2 - 0xeae21ef], eax
mov edi, 0x798ccf34
dec ecx
cld
mov eax, dword [0xb4b73fb4]
xchg ebp, eax
lahf
or eax, 0xdf21ecf5
dec edx
jb 0x59701d
mov ch, 0xb6
enter 0xffffffffffffdb13, 0x45
inc ebp
sar byte [esp + edx*4], cl
push 0x5465fc85
jo 0x597052
mov ch, 0xc5
adc byte [esi + 0x47], 0x93
scasd eax, dword es:[edi]
pop ebp
fbstp tbyte [edx - 0x2ac83910]
add dword [edi], edi
aad 0xa9
fdiv dword [ebp - 0x2c]
xchg ebp, eax
pop ebx
sbb ah, cl
xor eax, 0xd5d5958e
xchg ecx, eax
imul ebx, dword [eax - 0x3b], 0x161b54c9
mov ss, word [ebp + 0x6991d5d5]
pop eax
vandpd xmm3, xmm6, xmmword [ebx]
push ss
outsd dx, dword [esi]
pop ebp
mov dh, byte [ecx]
stosb byte es:[edi], al
lodsd eax, dword [esi]
fxtract
movaps xmm0, xmmword [ebp + 0x2a]
lcall 0x75e6, 0x1cda1627
cmp eax, 0x17f93e0e
jo 0x59709a
dec ebp
dec ebp
cdq
fst qword [esi]
fld dword [ebp + 0x8f5369d]
wait
push edi
jne 0x5970e6
xor dword cs:[ebx + 0x2bf942b7], edi
loope 0x597111
push edi
cmp dword [eax + 0x1d401768], 0xe1f1b589
xor dword [0xa5c8fd98], ebp
jne 0x5970d9
cwde
std
enter 0x75a5, 0xffffffffffffffed
retf
cmp dword [edx], ecx
popal
jne 0x59713e
popal
movsd dword es:[edi], dword [esi]
xchg edi, eax
sub al, 0x22
mov ah, 0xb9
mov al, byte [0xba9594e4]
adc esi, ebp
cmc
mov byte [0x74486738], ah
mov ebp, 0x819d7934
sbb dword [edx], eax
xor al, 0x79
popfd
sbb dword [ecx], 0xd1c0e702
pop ecx
push edx
out 0xc0, eax
rcr dword [ecx + 0x52], 1
push ebp
insd dword es:[edi], dx
xchg ebx, eax
in eax, dx
jb 0x5970f7
sbb bl, byte [ebp + 0x44]
xor eax, dword [ecx - 0x5e83164b]
xor dword [ebp - 0x595e8317], 0x86d59705
push ss
mov ch, 0xe9
jl 0x5970cc
cmpsb byte [esi], byte es:[edi]
add eax, 0x1686d597
fisub word [ebx + 0x15290ba0]
add al, 0xf5
jcxz 0x597196
test byte [ecx + 0x5072d772], cl
jb 0x597117
jb 0x597192
int1
daa
mov ebp, 0xe0138299
add al, 0x85
mov dl, 0x5d
pop es
adc eax, 0x11b9f18a
jo 0x5971a7
mov ecx, 0x70527011
push cs
jo 0x597165
and dl, byte [edi]
jo 0x597127
xchg ebp, eax
mov al, 0x4b
push esi
inc ebp
mov al, 0x96
ret
test dword [edi - 0x77], edi
add al, 0x85
mov ch, 0x46
xchg dword [esi + 0xb], edi
aad 0x98
sub dword [ebx + 0x3c], esp
sbb ebx, dword [ecx]
adc byte [esp + edi*4], bl
mov al, 0x83
jl 0x597151
nop
pop edi
push ds
jnp 0x597126
lodsb al, byte [esi]
inc edi
loopne 0x597109
mov bl, 0xb5
jo 0x597171
ret 0xe2f5
cmp byte [eax], ch
adc eax, 0x9a8e15d1
add al, 0x8b
adc eax, 0x8b049a8e
xchg eax, ecx
pop edx
aad 0x45
mov eax, 0x8515952c
cdq
mov bl, 0x3e
xchg esp, eax
xchg esp, eax
sahf
push ecx
pop ss
test byte [ebx], bl
vpaddw ymm0, ymm1, ymmword [eax + esi + 0x15401521]
add eax, 0xac2a7063
mov bh, 0xcd
stosb byte es:[edi], al
xor dword [ebx - 0x665b5f4b], esp
pop esp
invalid