Function at 0x4593f8
Capabilities:
Encode data using xor

Disassembly:
xor ah, ch
and dh, 0x89
inc ebp
xor esi, dword ss:[edx]
mov byte [0x656d8920], al
mov byte gs:[0x656d9120], al
mov byte gs:[0x65678d20], al
push esp
and byte [ebp + 0x65656567], cl
push esp
lcall 0x6565, 0x618120a2
mov byte gs:[0x65679520], al
mov byte gs:[0x65678520], al
mov byte gs:[0x65678520], al
lcall 0xce05, 0x709a6d10
lcall 0xce05, 0x709a6d10
jne 0x459277
cmpsb byte [esi], byte es:[edi]
les ebp, [ebp + 0x66756494]
pushal
rcl dword [esp + 0x6b8de675]
pop esp
jne 0x45927e
lea ebp, [ebx + 0x5c]
cmpsb byte [esi], byte es:[edi]
push 0xffffffffffffffe1
or eax, 0x75674e48
lea edi, [eax + 0x35656546]
lcall 0xc675, 0x64fd9970
imul edx, dword [ebp + 0x64], 0x4e4d0d75
dec ebp
dec esi
jne 0x45924c
mov dword [0xe6656546], eax
mov eax, dword [0x9a36356d]
jo 0x459264
insd dword es:[edi], dx
xor eax, 0x99709a36
std
jne 0x459295
xor dword [esi], esp
jne 0x459298
jne 0x459298
loope 0x45926a
jne 0x45933f
pushal
movsd dword es:[edi], dword [esi]
xchg ebp, eax
jne 0x4592c5
lea ebp, [ebp + 0x5e]
pushal
xor dword [esi], esp
jne 0x459352
loope 0x45935f
les eax, gs:[ebp - 0x69]
jne 0x459359
pushal
popfd
xchg esp, eax
jne 0x4592df
lea ebp, [eax + 0x5c]
pushal
imul edx, dword [ebp + 0x64], 0x93e16a75
lcall 0x9a75, 0x64af7550
push eax
cmc
adc byte [ebp + esi*2 - 0x66], ah
push eax
adc eax, 0x9a7564b8
lcall 0x9a75, 0x64b81550
push eax
cdq
std
jne 0x4592ba
push eax
xor dword [edi + 0x20e87564], edx
popfd
xor eax, 0x359920e8
lcall 0xec75, 0x64263170
mov dword [0xa5e69dec], eax
in al, dx
popfd
out 0xa5, al
je 0x459397
xchg ebp, eax
push ss
imul esi, dword [esi], 0x8425709a
jne 0x4592d2
lcall 0x8c75, 0x64842570
lcall 0x8c75, 0x64842570
salc
in al, dx
wait
out 0xa3, al
lcall 0x7564, 0x958958ee
out 0x8a, al
pushal
mov cs, word [eax - 0x12]
xchg ebp, eax
jne 0x45933c
mov ah, byte [eax - 0x72]
dec eax
out dx, al
jno 0x459335
adc eax, 0x5c7564ce
jne 0x4593be
xor byte [ebp - 0x6413baf0], bl
out dx, al
xor byte [ecx + 0x75d8715c], bl
mov edi, 0x77177564
lcall 0x9a75, 0x64842570
adc byte [ebp - 0x66], ch
jo 0x4593f6
push ebp
jne 0x459313
adc ah, byte [edx]
pop esi
pop eax
stc
xchg ecx, eax
jne 0x4593a5
scasb al, byte es:[edi]
out dx, al
and byte [ecx + 0x6690a5e6], dl
and byte [ebp + 0x4811a35c], dl
out 0xa5, al
movsd dword es:[edi], dword [esi]
nop
and byte [ebp + 0x4811a35c], dl
xchg ebp, eax
pop esp
mov dword [0x519a4811], eax
sal byte [ebp - 0x658a9b42], 1
lcall 0x7564, 0xbeb5d051
lcall 0xee75, 0x64842570
jne 0x45933e
jo 0x4593cb
and eax, 0xee756484
test byte [ebp + esi*2 - 0x12], ah
sbb byte [ecx + 0x75d059ec], bl
mov edi, 0x58ee7564
pop ecx
sal byte [ebp - 0x41], 1
jne 0x4593a2
pop eax
imul edx, dword [ebp + 0x64], 0xd059ec75
xor eax, 0xec7564c4
pop ecx
sal byte [0xec7564c4], 1
jne 0x4593ad
jns 0x459393
mov ch, 0xbe
jne 0x459356
push ecx
out dx, al
pop eax
stc
xchg ecx, eax
jne 0x4593be
xor byte [ecx + 0x75d871ec], bl
mov edi, 0x70ee7564
imul edx, dword [ebp + 0x64], 0xd871ec75
jne 0x4593cc
jno 0x4593ba
xor eax, 0xee7564c4
xor byte [ebp + 0x15d871ec], bl
into
jne 0x4593dd
jns 0x4593cb
mov ch, 0xbe
jne 0x459392
jne 0x459392
pushal
stc
xchg ecx, eax
jne 0x459438
cmp edi, dword [esi]
lodsb al, byte [esi]
cmpsb byte [esi], byte es:[edi]
xor ah, ch
and dh, 0x89
jno 0x45943f
xor esi, dword [edx]
out dx, al
adc byte [ebp - 0x1a], ch
add byte [ecx - 0x62df5d9b], dl
fisub word gs:[esi + 0x65]
mov byte gs:[0x65609520], al
out 0, al
mov dword [ebp - 0x14], esp
xchg esp, eax
out 0xad, al
lodsd eax, dword [esi]
lcall 0x1065, 0x6459e525
pushfd
in al, dx
and byte [ecx + 0x649469c4], bl
jne 0x45942a
les ebp, [ecx - 0x6c]
jne 0x45942a
mov byte [0x94995866], al
pop ax
cdq
xchg esp, eax
jne 0x45942c
jne 0x45942c
mov dh, byte [ebp - 0x72]
push edx
push 0xffffffffffffffdb
popal
pop ebx
out dx, al
jo 0x4593e2
xchg ebp, eax
jne 0x45943b
cmpsd dword [esi], dword es:[edi]
xor bl, byte [ebp + esi*4 + 0x18]
jns 0x459444
xor dword [esi + 0x5e], edi
pop esp
mov ch, 0x1b
jno 0x459452
and byte [ecx - 0x12], ch
xor byte [ebp + 0x6a78a7e6], bl
fld xword [ecx + 0x5b]
scasd eax, dword es:[edi]
in eax, dx
jno 0x4594d2
mov gs, word [esi + ebp*8 + 0x20]
imul ebp, edi, 0x71ed5b71
pop ebp
and bl, byte [esi + 0x18]
cdq
pop ss
mov eax, dword [0xac3e3b3a]
cmpsb byte [esi], byte es:[edi]
xor ah, ch
and dh, 0x89
inc ecx
xor esi, dword ss:[edx]
out dx, al
cmp byte [ebp - 0x5e], dh
and byte [ecx + 0x65656562], bl
out 0, al
mov dword [ebp - 0x5e], esp
and byte [ebp + 0x6565656d], cl
mov byte [0x65629d20], al
mov byte gs:[0x65639120], al
mov byte gs:[0x65628120], al
mov byte gs:[0x65648520], al
bound esp, qword [ebp + 0x65]
mov byte gs:[0x65648520], al
mov byte gs:[0x6564b920], al
push esp
xchg ebx, eax
les edx, [ebp - 0x198a9b6c]
jne 0x4594ba
lea esp, [eax + 0x35]
or eax, 0x656565e5
invalid