Function at 0xe59dec
Capabilities:
Encode data using xor

Disassembly:
jmp 0xe59df6
pushal
call 0xe59dfc
pop ebp
sub ebp, 0x10
sub ebp, 0xa59dec
jmp 0xe59e12
mov eax, 0xa59dec
add eax, ebp
add eax, 0x4c
mov ecx, 0x5bb
mov edx, 0xf7deb754
xor byte [eax], dl
inc eax
dec ecx
jne 0xe59e29
invalid
jmp 0xe59e3c
fistp word [ecx + 0x5468dddf]
push esp
push esp
aad 0x95
lodsb al, byte [esi]
push esp
push esp
push esp
push edi
cdq
in al, dx
push edx
push esp
push esp
push esp
out dx, al
jl 0xe59ea8
push esp
push esp
mov dword [0xdf9c57b6], eax
aad 0x58
push esp
push esp
push esp
push edi
xchg ecx, eax
add al, 0xd9
xor byte [eax - 0x58], dh
fst qword [eax + 0x70]
cmp al, 0x2c
dec esi
je 0xe59ec3
cmp al, 0x27
xlatb
rcl dword [ebp + edx*2 + 0x78]
jo 0xe59eb4
adc byte [edi], bh
aas
daa
mov esp, 0x54545451
mov ebp, 0x54545460
fnstenv [eax]
jo 0xe59e32
fnstsw word [eax + 0x70]
fistp qword [eax + 0x545cd1df]
push esp
push esp
ffreep st(1)
pop eax
push esp
push esp
push esp
invalid
push eax
sbb eax, 0xaba0d15b
stosd dword es:[edi], eax
stosd dword es:[edi], eax
fistp qword [eax + 0x70]
fnstenv [eax]
jo 0xe59f07
xor byte [eax + 0x50], dh
xchg esi, eax
pop eax
push esp
invalid
dec esi
je 0xe59f1a
cmp al, 0x27
xlatb
rcl dword [ebp + edx*2 + 0x78]
jo 0xe59ed4
mov esp, 0x54545451
mov ebp, 0x54545615
add ecx, ebx
cmp byte [eax + 0x54], dh
stosd dword es:[edi], eax
and dword [eax - 0x55], ebx
and dword [esp + edi*4 + 0x26], ebx
push esp
push esp
push esp
fucompi st(1)
pop esp
push esp
push esp
push esp
aad 0xa5
mov gs, eax
and eax, 0x8ea5d587
call 0x9e4d2622
xchg bh, dl
mov esp, 0xd05b1c51
sbb dl, byte [esp + edx*2 + 0x54]
push esp
push esp
pop ebx
fcomp qword [esp + edx*2]
push esp
push esp
xor bl, bh
dec eax
insd dword es:[edi], dx
aam 0xaf
mov esp, 0x544ed05b
push esp
push esp
aam 0xaf
mov ebp, 0x5445d05b
push esp
push esp
xor dl, ch
scasd eax, dword es:[edi]
stosd dword es:[edi], eax
jno 0xe59f86
rol byte [ecx + 0x54], 1
push esp
push esp
adc eax, 0xabab98bd
stosd dword es:[edi], eax
jge 0xe59f50
insd dword es:[edi], dx
push ebp
xlatb
xchg ebp, eax
push ecx
xlatb
mov esp, 0xabe9bd50
stosd dword es:[edi], eax
stosd dword es:[edi], eax
jge 0xe59f47
insd dword es:[edi], dx
push esi
xlatb
xchg ebp, eax
push edx
xlatb
mov esi, 0x51bcd750
mov ebp, 0xabababff
mov esp, 0xabffbd51
stosd dword es:[edi], eax
stosd dword es:[edi], eax
or dword [esi - 0x20feaba8], edx
mov eax, 0xdf010302
and dword [eax - 0x21], ebx
sub dword [eax + ebp*4 - 0x1a], ebx
aam 0xde
push edx
aad 0x92
push ebp
push esp
push esp
push esp
fcom qword [ebx - 0x2b]
xchg ebx, eax
push ebp
push esp
push esp
push esp
out dx, eax
push esi
push esp
push esp
push esp
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [ebx - 0x29], bl
mov word [ebx - 0x79a95455], gs
pop ebx
rcl dword [ecx + 0x54]
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [ebx - 0x29], bl
push esp
push esp
push esp
xchg esp, eax
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [ebx - 0x29], bl
jle 0xe5a00d
push esp
push esp
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [edi - 0x6c], al
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [edi - 0x6c], al
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [edi - 0x6c], al
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [edi - 0x6c], al
pop ebx
rcl byte [edx + 0x54]
push esp
push esp
fisttp word [ebx + 0x57de8c7f]
fcom qword [ebx + 0x13]
out dx, eax
push esi
push esp
push esp
push esp
mov ebp, 0xababab24
stosd dword es:[edi], eax
stosd dword es:[edi], eax
in al, dx
push ebp
push esp
push esp
push esp
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [edi - 0x6c], al
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [ebx - 0x2a], bl
mov ch, byte [ebx - 0x68805455]
out dx, eax
push ebp
push esp
push esp
push esp
pop ebx
shl dword [eax + 0x54], 1
push esp
push esp
in eax, dx
push ebp
push esp
push esp
push esp
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [edi - 0x63], al
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [ebx - 0x2a], bl
mov ch, byte [ebx - 0x20fd5455]
mov dword [0xf0a7a17f], eax
or bh, byte [ebp - 0x545454a4]
sbb al, 0x95
mov ah, 0x5c
ficom word [edx + 0x12]
fistp qword [ebp + ebp*8 + 0x54545455]
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [edi - 0x63], al
push esi
xchg byte [ebx - 0x2f], bl
push ecx
push esp
push esp
push esp
fiadd word [edx + 0x12]
inc esi
xchg byte [ebx - 0x2a], bl
mov ch, byte [ebx - 0x532a5455]
push esp
sub dword [esp + edx*2 - 0x2b], edx
lea ebp, [ebx - 0x2a545455]
lodsb al, byte [esi]
push esp
push ecx
push esp
push esp
aad 0x8d
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
aad 0xac
aam 0x54
push esp
push esp
aad 0x85
push esp
push esp
push esp
push esp
aad 0xac
aam 0x54
push esp
push esp
aad 0x85
push esp
push esp
push esp
push esp
add bl, bh
mov dword [0xf0a7a47f], eax
or bh, byte [ebp - 0x54545531]
ficom word [edx + 0x12]
popfd
xchg esp, eax
mov esp, 0x4ed05b55
push esp
push esp
push esp
aad 0x85
push esi
push esp
push esp
push esp
fistp qword [edx + eax - 0x5b805c21]
cmpsd dword [esi], dword es:[edi]
invalid