Function at 0x45a7c0
Capabilities:
Encode data using xor

Disassembly:
or esp, esi
add byte [eax], cl
mov cl, 2
jo 0x45a7df
in al, 0xd1
and bl, byte [eax + 6]
add byte [edi], al
or al, byte ss:[eax]
xor byte [edi], dl
xor dword [edx], ecx
pop ds
xor dword [ecx], ecx
and byte [edx + esi*8 + 0xa], ah
mov cl, 0
mov cl, 0x1b
add eax, dword [eax]
in al, 0x57
mov dl, 0xa
jno 0x45a802
xor byte [edi], dl
nop
popal
dec ecx
or al, 0xf1
add ebp, dword ds:[edx - 0x78cd8f01]
jbe 0x45a82b
out 0, eax
add eax, dword [eax]
xor byte [ecx], al
int 0x30
sbb al, 0
jne 0x45a837
add byte [ebp + 0x32], dh
add byte [eax + eax], 0xe4
add byte [ecx], ah
lock adc byte [edx], bh
loope 0x45a812
hlt
mov al, 0
and dword [eax], eax
invalid
add bh, byte [ecx]
xor al, byte [ecx]
add byte [eax], dl
xor eax, 0x48560000
mov al, 0
mov cl, 3
pop eax
xor al, byte [ecx]
add byte [ecx + 0x1325803], dh
or byte [edx + 2], dh
mov ch, 0x34
add dword [eax + esi*2], esi
add edx, dword [eax]
add ecx, esp
add byte [ecx + eax*2], bh
pop ebp
add byte [edx], 0x8c
jo 0x45a855
rcr byte [edi], 0x72
add dl, byte [esp + esi + 0x70b1a401]
add byte [edx], al
add byte [ecx], cl
xor al, byte [ecx]
mov ch, 8
lodsd eax, dword [esi]
xor byte [ecx], al
add dx, word [eax + 0x603c]
mov eax, 0x3b00041
enter 0x70c5, 0
add esi, dword [edx]
aaa
add byte [eax], al
sal byte [ecx + eax], 1
cmp al, 0x52
wrmsr
add al, 0x11
pop es
xor ecx, dword [eax]
add eax, dword [eax]
dec esp
imul esp, dword [edi], 0x63417468
arpl word [ebp + 0x6d], si
inc esp
add eax, esi
dec ebp
jne 0x45a912
push esp
js 0x45a918
or byte [ebp + 0x72], dh
loopne 0x45a8e5
stosd dword es:[edi], eax
add al, 0
or al, 0x1f
lock add dl, byte [eax]
sbb eax, dword [ecx - 0x4affcffe]
pop eax
add byte [ebx + 0x48], dl
add byte [ebx + 0x6f], al
imul sp, word gs:[ebx + 0x69], 0x65f0
outsb dx, byte [esi]
je 0x45a93d
add eax, 0x2a15251
and byte [eax], al
insb byte es:[edi], dx
push ebx
imul edi, dword [edx + 0x41], 0x40403304
xchg ecx, eax
inc dword [ecx + 0x74003001]
push ecx
push eax
inc ecx
mov ebx, 0x7e510405
add dword [ebp + 0x74000661], esi
push esi
je 0x45a949
jg 0x45a8fe
add byte [eax], al
outsb dx, byte [esi]
outsd dx, dword [esi]
jb 0x45a8f1
insd dword es:[edi], dx
mov al, 0x56
mov esi, 0x463f7003
aas
inc esi
aas
inc esi
xor al, byte [esi + 0xa]
or esi, dword [edx]
inc esi
add byte [ecx], dh
inc esi
mov edi, 0xa0900000
rol dword [eax], 0
add byte [eax + 0xc1a0], dl
rol byte [ecx - 0x4f], 0x47
or al, 0x73
add dword [ebx + 0x47f60c90], ebx
sal byte [eax], 0x6d
and byte [ebx], bh
invalid
aad 0xb4
add byte [ebx], al
xor byte [esi], ch
pop es
mov ah, 0
add al, 0x71
inc ebp
mov ah, 0
salc
add eax, 0xb44571
pop es
mov al, byte [0xb20b79]
push eax
add eax, 0x8009060
or esi, dword [edx + 0x60055000]
add byte [eax + 5], dl
pushal
nop
add byte [eax], cl
push fs
xor dword [0xd50100b1], eax
mov eax, 0xb80200
add edi, dword [eax + 0xb00400]
mov al, 0x4f
jne 0x45a954
pop esi
add dword [eax + 4], esi
push dword [eax + 0x6221c046]
add al, 0xff
mov al, 0x46
shl byte [ecx], 0x62
sahf
add bh, cl
lock add byte [ecx], dh
cmp esp, dword [eax]
adc esp, dword [ebx - 0x61]
or byte [ebx], 0x70
inc edx
mov al, byte [0x48babb7a]
mov al, 0x35
nop
xor byte [0x393103f0], bl
xor dword [ecx], edi
stosb byte es:[edi], al
xor byte [ebx], al
fadd qword [eax]
add esi, dword [ecx + 0x45]
mov al, byte [0xd843708a]
and al, 0xb8
loope 0x45a956
mov esp, 0x48b190e4
mov ebp, 0xb033f002
cmp ebp, dword [edx - 0x4890f190]
add dh, byte [ecx + 0x39]
xor dword [eax], eax
mov ebp, 0x4af00302
jno 0x45a9cd
add esp, esp
add al, bl
mov al, 4
add byte [ebx], al
loope 0x45a977
add al, 0
add esp, ecx
movsd dword es:[edi], dword [esi]
mov cl, 0x4b
mov al, 0x3b
pop ebp
loop 0x45a999
add eax, 0xb001f0
in al, 0xc0
or al, 0x70
add eax, 0xc0e28d44
add al, 0xf3
or esi, dword [edx + 0x8000108]
or esi, dword [edx + 0x8000108]
xor byte [edx], cl
sbb bl, al
mov al, 9
in al, 0xb2
or ah, byte [ebp - 0x47]
or eax, dword [eax]
stosb byte es:[edi], al
fucom st(2)
rol byte [ebx], 0xf0
add dword [ecx], esp
test eax, 0xe00b00f1
mov ebp, 0x31dfc0e1
add ah, bl
test al, 0x31
pop es
jno 0x45aa2d
mov eax, dword [0xc0e2ffa3]
mov ah, 1
rol byte [ecx - 0x5ffffff4], 0xc
loopne 0x45a9e8
popal
mov byte [0xa00131fb], al
xchg edi, eax
xor byte [ecx], 1
mov al, byte [0x1318097]
xor dword [ecx], eax
jne 0x45aa34
popal
mov byte [0xa4a100b1], al
jg 0x45aa2a
add byte [ecx + 0x16f17fa4], ah
push ss
xor dword [edx], eax
and dword [edi + 0x75505e71], ebp
int1
invalid