Function at 0x45fa53
Capabilities:
Encode data using xor

Disassembly:
add eax, 0x56b1c506
and dword [edx + eax*4], esp
dec esi
test eax, 0x512a07f7
push ecx
push ecx
inc ebp
xor dword [ebp - 0x3ae4dfa1], edx
inc edx
scasb al, byte es:[edi]
push es
popal
sub eax, dword [eax + 0x51]
push edx
jp 0x45fa55
test dword [edx - 0x3cca07c9], esp
in eax, 0x9b
add byte [edx + esi*8], bl
int 0xc0
and byte [ebp - 0x4adafd91], al
push edx
mov al, byte [0x95e8d4b0]
adc byte [ebp + 0x64], 0x69
lcall 0x307c, 0xf34912b0
aad 0xdb
pop esp
out 5, eax
jecxz 0x45fac5
fmul st(7)
rol dword [0x28451b0f], cl
xchg edx, eax
js 0x45fa46
iretd
loope 0x45fb00
xchg ebx, eax
imul eax, dword [ebp + 0x57], 0xffffffd8
test al, 0x75
mov ah, 0x73
invalid
push es
and eax, 0x787015c2
ljmp 0x65bd
nop
lahf
jae 0x45faa9
push ebx
out 0xbf, eax
nop
in eax, 0xe3
test dl, 0x75
adc esp, dword [0xa6769657]
push ebx
call 0x85d0592d
je 0x45fb56
adc dword [ebx - 0x23], ebx
and eax, 0x254f7b7e
inc ecx
sub byte [0xe7847b20], ch
cmpsd dword [esi], dword es:[edi]
mov bh, 0x1c
ret
jb 0x45fae4
clc
sbb eax, 0xf2a1120d
xor byte [edx], bl
loop 0x45fb52
stc
lahf
loopne 0x45fa92
mov cl, 0xb
cmc
sub dl, byte [edi - 0x4840b503]
mov ecx, 0xfbd756cb
xlatb
sti
jnp 0x45fad3
test al, 0x44
dec edx
mov al, byte [0xbd6abadb]
add esi, ecx
jp 0x45fb1e
les ebx, [ebx]
cmp dh, bh
mov edx, 0x7f1d145f
pop es
jb 0x45fae4
pop eax
mov ecx, ecx
cmp byte [ecx], 0x4d
jb 0x45fb75
xor eax, 0x99e2e5cf
adc edi, eax
inc esp
lds ecx, [0xbe95e714]
cmpsb byte [esi], byte es:[edi]
adc byte [0xdce08609], al
add eax, 0xdce08609
fsubr qword [ebx]
mov al, byte [0xb51c3253]
sub esp, dword [eax - 0x4ae3cdad]
mov ecx, 0xb5db7e41
inc edx
je 0x45fb15
adc byte [esp + eax*4], 0x39
mov ss, word [0xe5fdd786]
jb 0x45fbb7
or ah, dl
sbb byte [0x3a25f86e], ah
pop ebx
retf 0x55f0
outsb dx, byte [esi]
clc
and eax, 0xf0ca5b3a
push ebp
ja 0x45fb8f
movsd dword es:[edi], dword [esi]
jne 0x45fbe0
test dl, al
stosb byte es:[edi], al
inc edx
fist dword [ecx]
rcr byte [edx], cl
push edx
adc byte [ecx], bh
sub dword [edx + esi*8 + 0x7e8e056d], edi
pop ebp
mov esp, 0x8e056df2
jle 0x45fbf3
mov word [ebx], fs
mov al, 0xf2
sbb ebp, ebp
xchg ecx, eax
mov esi, 0xeb7f9245
xchg ecx, eax
int 0x43
rcr esp, 0x43
shl dword [ebx - 0x55e6fdfd], 0x5c
xor eax, 0x97a8adf6
wait
mov byte [0x3b64e240], al
int 0x83
mov dword [eax], ebp
aam 0xa5
push es
loop 0x45fc1d
cmp ecx, ebp
or dword [ecx - 0x5a2b9fd4], 6
xchg ebp, eax
outsb dx, byte [esi]
lodsb al, byte [esi]
jle 0x45fc1c
bound esp, qword [0x1a3bc0f0]
xchg esi, eax
xchg esi, eax
sar byte [edx + esi*8], cl
mov al, byte [0x6aef211e]
iretd
jo 0x45fc5f
ljmp 0x36b2:0xbbd68672
push cs
add byte [edx], ah
rcr ah, 0x70
dec esi
push 0x261dafa2
ffreep st(5)
mov al, byte [esi - 0x76]
pop ecx
cld
mov bl, byte [ecx - 4]
inc ebp
sbb eax, 0xe377f65b
jnp 0x45fbff
dec ecx
adc dh, byte [ebx + 0x2f]
jle 0x45fc03
push cs
push ss
invalid
rol dword [esi - 0x5ea948cf], 0x2c
repne stosb byte es:[edi], al
inc edi
xchg byte [ecx], dh
mov bh, 0x56
mov eax, dword [0x47aaf22c]
inc ebp
out 0xe3, al
dec esi
add al, 0xeb
enter 0x4300, 0x10
cmc
cmp al, 0xee
xchg edx, eax
ror byte [esp + esi + 0x3b], 0x79
adc esp, dword [ebp - 0x71]
cmp al, dl
sti
js 0x45fca2
add dword [0x9f0718ed], edi
mov dh, 0x53
ret 0xcc66
insd dword es:[edi], dx
sbb ebp, edx
or al, 0x97
movsd dword es:[edi], dword [esi]
das
test al, 0xe8
clc
sub al, 0xe1
ret
invalid