Function at 0x59cee4
Capabilities:
Encode data using xor

Disassembly:
sub bl, bh
dec edi
mov ch, 0xc3
in eax, dx
mov al, byte [0x9b2ec779]
cli
dec dword [0x95cfabcc]
sub dword [0x549fb70e], edx
test eax, 0x4eba9018
test dword [ecx], eax
test byte [ebx + 0x6f], dl
outsd dx, dword [esi]
sahf
push edx
inc ebx
mov cl, 0x5b
xor al, 0x30
fisttp dword [ecx - 0x6c3bec1f]
cmp ch, cl
sbb edi, esi
sub dh, 0x72
add byte [esi + 0x44b955a5], dh
lodsd eax, dword [esi]
xchg ebp, eax
push esp
test edi, ebp
scasd eax, dword es:[edi]
inc esp
and byte [edi + 0x48597fa5], bl
add byte [ebx - 0x59eb240a], bh
adc al, 0xbe
shr byte [ecx], 0x1b
dec ebx
cmp ch, ah
jo 0x59cf05
add al, 0xa1
mov dword [ecx - 0x558b9c8a], ebx
salc
pop edi
mov eax, dword [0xd231d0b5]
cwde
add ebp, edx
or ah, byte [eax - 0x6d2a86e1]
pushal
sub cl, cl
loopne 0x59cfaa
inc ecx
inc edx
test byte [edi - 0x79], al
push ebp
out dx, eax
invalid
xor al, 0xc2
sbb cl, byte [edi]
push ecx
mov edi, 0x9284006a
ret 0xf1a
xchg edx, eax
movsb byte es:[edi], byte [esi]
pcmpeqw mm7, qword [edx + 0x4342a0c3]
push ss
mov ch, 0xf2
nop
nop
jnp 0x59cfec
adc eax, 0x5679f329
mov bh, 0x11
mov edx, 0xd2ad3bce
cmp ebp, dword [edx - 0x78]
les ebp, [0x7f87b150]
shl dword [ebx - 0x4f], 0x3f
movsb byte es:[edi], byte [esi]
jns 0x59cf9e
fld dword [edi + ebp*8 + 0x318779cb]
fidiv dword [0x3a05d7c4]
add dword [edi - 0x714d24d4], edi
or byte [edi + 0x23f910d6], ah
jns 0x59d01a
jle 0x59cf96
cmc
mov ch, 0x73
lds eax, [ebp + 0x42]
inc ebp
inc edx
loop 0x59cf95
lahf
adc ebp, edi
add cl, cl
jae 0x59cff5
das
call edx
scasd eax, dword es:[edi]
aam 0x3e
jb 0x59d042
cmp dword [edx + 0x5fcb8a78], ebx
and dword [edi], edi
sub dword [edx + 0xe74bf39], ebx
and al, 0x2b
into
clc
push ebp
mov edi, 0x623bce81
xor dword [esi + 0x44], esp
jp 0x59cfaa
xor dl, byte [ebx]
jnp 0x59d098
xchg esp, eax
cmp al, 0xb6
lea eax, [ebp - 0x1a729332]
cmc
popfd
stosd dword es:[edi], eax
aas
dec ebx
inc eax
and edx, dword [ebp + 0x5b]
push ebp
pop ebx
ret
jae 0x59cfc8
jg 0x59d007
pop edi
mov bl, 0xc
sub dword [esi], esi
jmp 0x59cfdd
or al, 0xe7
cmp al, cl
sub eax, 0xeae09560
adc eax, 0xfdc94eee
std
push esp
inc edi
jb 0x59d0e7
inc ebp
in eax, dx
inc edx
insd dword es:[edi], dx
jb 0x59d031
test al, 0x60
mov byte [0xbdcfb74b], al
adc ebx, eax
xchg edx, eax
xor al, 0xb
and ebx, esp
cmpsb byte fs:[esi], byte es:[edi]
in al, 0xb6
add al, 0x2e
adc byte [eax], dl
push es
mov cs, word [ebx + ebx + 0x1e]
jnp 0x59d112
nop
sbb byte [edx - 0x72], dl
or esp, 0x6b939c47
in al, dx
cmp al, 0xf8
jno 0x59d117
adc al, 0xb8
test ch, 0x2f
jp 0x59d0f1
cmp eax, dword [edi - 0x31]
xor eax, 0x7fb55641
leave
sub al, 0xb4
xrelease xchg byte [ebp + edx*8 - 0x5b81480c], cl
sub dword [ebp + 0x63], edx
add al, 0xc4
push ebp
arpl word [esp + eax*8], ax
dec ebp
insd dword es:[edi], dx
push ebp
out dx, eax
aaa
das
add al, 0xf2
cdq
cmp ch, byte [ebx]
sti
add al, 0x75
jo 0x59d0cd
sbb byte [eax + esi - 0x3e627d71], bl
dec esi
jp 0x59d068
add bl, ch
and esp, dword [ebx]
push 0xffffffffffffffe8
call 0x161566c5
mov edi, 0x4b26c841
adc eax, 0x26c841bf
dec ebx
or byte [ecx - 0x5c], bl
cli
add dword [0xa664bc78], edi
mov edx, dword [ebp + 0x43]
mov edi, 0x2e74afa8
das
jp 0x59d0c9
test al, bh
jmp 0x59d160
mov dl, 0x7e
jg 0x59d11f
sbb bl, ah
outsd dx, dword [esi]
jecxz 0x59d188
fidiv dword [edx - 0x6cd4f100]
and byte [ebx - 0xb], bl
aas
in al, 0x4f
and al, 0x3e
invalid
add dh, byte [ebp + 0x418fe313]
pop edi
movsb byte es:[edi], byte [esi]
cmp al, 0x83
jl 0x59d112
wait
salc
mov eax, dword [0x250b0cc4]
adc al, 0xb8
and byte [edx + 0x6cddaf7b], cl
adc eax, 0x61d21dcb
inc ebx
adc dword [esi - 0x6374f361], ebp
and al, 0xb8
pushfd
pop es
dec esp
xor esp, dword [ecx]
pop edx
test edx, 0x5cc4ee4b
inc esi
aad 0xdb
inc esp
push edi
invalid
mov eax, 0x334c079c
and dword [edx - 9], ebx
retf 0xee4b