Function at 0x431ae0
Capabilities:
Encode data using xor

Disassembly:
sbb al, 0xd1
out 0x3d, eax
pushal
invalid
js 0x431a33
popal
mov ss, word [ebx + edx*2 + 0x8f452d]
sub dl, ah
nop
push ds
imul edi, dword [edx - 0x76], 0xd09c5368
or eax, 0x5c9a738a
out 0xa7, eax
pop edx
inc eax
sbb esi, dword [ebp + 0x37]
nop
in al, 0x1a
pushal
sbb byte [ebx + esi*8], ah
sbb ah, byte [eax + 0x18]
and al, 0xf3
dec ebp
sub al, byte [ebp + 0x4a]
dec ecx
jmp 0x431b02
ficom word [ebx - 0x795f0adc]
invalid
cmp al, 0x91
shr dword [ecx + 0x39], 1
xor al, 0x8a
dec esp
inc ecx
xchg ecx, eax
leave
cmpsb byte [esi], byte es:[edi]
xor byte [ecx + 0x300d8eb1], ch
mov ss, ebp
dec ecx
xchg edx, eax
cmc
sbb cl, byte [ecx + 0x7ee34c5]
adc eax, 0x630a0428
jp 0x431aca
jb 0x431a8d
adc edi, dword [eax]
adc al, 0x86
dec esi
aam 0x99
pop es
lodsd eax, dword [esi]
cmp byte [esi + 9], al
loop 0x431ab0
jno 0x431ad5
and ch, byte [ecx + 0x34799a26]
test eax, 0x34799a26
loop 0x431b1d
lcall 0xd84b, 0xa6788243
nop
invalid
aad 0x1a
loopne 0x431b2f
sub dword [eax - 0x1c], ebx
pushal
push ebx
adc al, 0x76
xor al, 4
inc edi
add byte [ebp + 0x1b], cl
inc ecx
cmpsd dword [esi], dword es:[edi]
inc esi
xor cl, byte [eax - 0x59]
insd dword es:[edi], dx
cmp edi, eax
popal
inc ecx
inc esp
daa
and dl, byte [edi - 0x2d642cdc]
xchg ecx, eax
inc esi
inc ebp
cmp ecx, dword [ecx]
in al, dx
sbb ebp, eax
fmul qword cs:[ebp + 0xfc6a3c6]
xor al, 0xf0
jb 0x431b0c
cmpsb byte [esi], byte es:[edi]
rol dword [ebx], 1
cmp dword [0xc668fcc8], esi
sub dword [edi + 0xe], esi
in eax, 0xc8
cld
push 0xe7729c6
add eax, 0xb5a8a4d
mov eax, 0xe2a434f4
mov byte [0x39152727], al
loope 0x431bda
daa
daa
adc eax, 0x1a68e139
arpl word [ebx], ax
sbb ah, byte [ebx + 3]
add dword [edx + edx*8 + 0x1094ee7d], ebx
dec eax
int 0x24
push 0x262ca0c1
jo 0x431bfd
shl bl, cl
sbb eax, 0xe604f869
xchg bh, al
push 4
fcom st(1)
dec edx
jo 0x431c0f
adc al, 0xdd
fld xword [eax + 0x52]
or eax, 0xd48e4022
outsb dx, byte [esi]
popal
lds edi, [edi]
add byte [eax + 0x47], dl
adc eax, 0x744c230e
sub al, 0x77
or al, 0xd5
in eax, dx
loope 0x431b6c
adc eax, 0x543a829b
int1
shl byte fs:[esi - 0x57], cl
lcall 0xc62b, 0x35c785b0
mov bh, byte [ecx - 0x423cb556]
pop edx
into
loope 0x431b59
int 0xb2
rcl dword [ebp - 0x16]
wait
lahf
dec edx
shr byte [eax - 0x31], 1
xor eax, 0x8a939307
dec ecx
test dword [edx + 0x27e320e2], ecx
mov ch, 0x46
pop ss
imul eax, ecx, 0xb147f2ab
jle 0x431c4c
iretd
shr dword [ebx + 0x7eb147f2], 0x5a
cmpsb byte [esi], byte es:[edi]
add dword [esi], esp
mov ah, 0xb6
sbb byte [edx], 0x40
daa
adc al, 0xb8
rol ebp, 0x18
and ebp, dword [edi + 0x79ae2215]
xor eax, 0x716e4822
shl byte [edi + 0x7acf4861], 0x73
jp 0x431c68
iretd
push ebp
jbe 0x431beb
inc ebx
and al, cl
int 0x28
cmp eax, 0x8e60c3aa
sub cl, byte [esi]
add byte [esi], bh
mov ah, 0xdb
adc eax, 0xaa3d3086
xor ah, byte [eax + 0x44d7e0a]
rol dword [esp + esi*4 + 0x57], cl
push edi
and al, 0xd0
scasb al, byte es:[edi]
inc ebp
cmp cl, byte [edi + 0x51]
dec ecx
add byte [ebp + 0x31], 0x58
push esi
jl 0x431c36
sub byte [esi + 0x23], dl
ficomp dword [ecx + 0x731c788a]
push ebx
js 0x431c6a
jae 0x431ca3
and dl, byte [edx - 0x3a86a6dc]
dec ebx
mov esp, 0x136a8f6
mov word [ecx + ecx*8 - 0x72], ss
mov ch, 0x9b
add dword ss:[esp + edx*2 - 0x644a7137], ecx
inc ebx
mov edx, 0x6224062d
movsb byte es:[edi], byte [esi]
pop edi
xchg esp, eax
jae 0x431cbe
cmpsd dword [esi], dword es:[edi]
adc al, 0xe6
jo 0x431cac
lcall 0xcf41, 0x26138d96
adc al, 0xe7
push edx
jns 0x431c9b
test eax, 0xa9f591b0
dec eax
loopne 0x431c5a
mov ch, 0xa1
insd dword es:[edi], dx
nop
outsb dx, byte [esi]
daa
sub byte [ecx], 0x47
adc al, 0x63
sbb eax, 0x29ce33a9
daa
test eax, 0x2729ce33
bound ebp, qword [esi + 4]
mov ax, word [0x90552093]
mov eax, dword [0x90552093]
push es
jge 0x431d0b
xchg ecx, eax
js 0x431c50
fmul qword [esi + eax*4]
bound ecx, qword [esi + 0x29]
cwde
xor eax, 0x9bb28b3c
mov dl, 0x9b
loopne 0x431ca3
add dword [edx - 0x20], 0xfffffff3
push ebp
bound ebx, qword [edx]
jns 0x431ce2
or dword [edx - 0x6d2bdba0], 0x2e
dec esi
inc ebp
and ah, byte [esi]
sysexit
and al, 0xf2
mov word [esp + esi*8], fs
adc eax, 0x1a8c6120
push edi
add byte [edx + 0xc], dl
je 0x431c92
mov cl, 0x44
inc ebp
into
ljmp 0x6354
cmp al, 0xe6
movsb byte es:[edi], byte [esi]
inc edx
aad 0x54
sub dl, dl
adc byte [ebp + 0x23], al
pop ebx
adc al, byte [eax]
dec ebp
sbb al, 0x8a
jo 0x431d37
cmpsd dword [esi], dword es:[edi]
test edi, ecx
xor eax, 0x6351639b
int1
dec esp
xor dword [ebx - 0x616c9531], edx
xchg byte [ebp + 0x7c5660d4], bl
lds esp, [esi + eax*2 + 0x18a7b083]
pop eax
imul byte [ebx - 0x65c5bd70]
mov esi, 0x297084a8
cmp dword [edx], edx
movsb byte es:[edi], byte [esi]
inc esi
xor dword [eax - 0x9a7e759], 0xffffffab
nop
inc edx
cmp bl, byte [edx + 0x7084a8be]
sub dword [ecx], edi
adc al, 0xa2
invalid