Function at 0x467115
Capabilities:
Encode data using xor

Disassembly:
mov dword [esp], ebx
lea ebx, [ebx + 0xfb2d48c]
call fcn.0046de1a
pushfd
xchg dword [esp + 4], eax
push 0xdaa67c7a
xchg dword [esp + 4], eax
mov dword [esp], esi
pushal
and al, 0x60
mov eax, 0x40bb6e
call fcn.00462ab7
add byte [eax], al
mov word [eax - 0x5b], cs
xor ebx, dword [ecx - 0x6c]
pop esp
insb byte es:[edi], dx
inc ecx
sub al, 2
jle 0x45d579
adc ebp, dword [edi]
sub edx, 0xffffffd1
leave
pop ss
leave
mov ch, 0x58
enter 0xffffffffffffcdc9, 0xffffffffffffffb5
loopne 0x45d5df
xchg byte [ecx], dh
lodsb al, byte [esi]
cmp byte [ecx + edi*8 - 0x12c016d], dl
xlatb
jge 0x45d603
xchg esp, eax
stc
xchg ebx, eax
invalid
jl 0x45d583
xor ebx, dword [ecx + esi*2]
fidiv word [ebx]
sbb byte [ecx], 0x10
cmp eax, 0x405620e0
out 0x60, eax
cli
sbb al, 0x35
sbb eax, 0x2a0147d6
pop es
jbe 0x45d5a7
imul edi, edi, 0xffffffa6
cld
arpl word [ecx - 0x2ee7f531], di
fisub word [ecx]
xor dword [edx + 0x5b], esi
scasd eax, dword es:[edi]
mov ebp, 0xbd0aeb90
wait
test dword [ebx], eax
cmp esi, dword [ebx]
dec esp
jp 0x45d600
or bh, byte [ebp + 0x3b03859b]
xor ecx, dword [edx + edi*2 + 0x17]
in al, dx
add eax, 0x4045cec
xchg ecx, eax
add eax, 0xa10526c5
imul byte [esi + 0x4b118116]
das
lahf
hlt
inc esp
invalid
ficomp word [edi - 0x72141ca9]
outsb dx, byte [esi]
mov word [ebp + 0x38], es
pop ds
ljmp 0x3685
arpl word [eax - 0x5f16fffb], bx
push eax
add byte [eax], al
mov dword [esp + 4], 0xc34d88e3
pushfd
mov byte [esp], ah
lea esp, [esp + 8]
jmp fcn.0045c331
pushfd
call fcn.004673ab
pushal
mov dword [esp + 0x24], 0x98a3df0b
call fcn.00468bac
call fcn.0046b6db
lds ebx, [ebx + 0x49]
pop eax
xchg esp, eax
cmpsb byte [esi], byte es:[edi]
cmp ebx, dword [ecx - 9]
sbb dword [esp + ebx*8], esi
jge 0x461668
jl 0x46172a
js 0x461671
mov ebp, 0x9f8d8dbf
add dword [esi + edx + 0x2c], esp
jbe 0x461690
test eax, 0x9f11e098
cwde
loopne 0x4616fb
lahf
insb byte es:[edi], dx
invalid
inc ebx
mov ss, word [edx + 0x4a]
aam 0x18
pushfd
adc ah, byte [ecx - 0x64126071]
sub dword [edi], 0x46
cld
sbb eax, 0x4940d9e2
out 0x8b, al
movsb byte es:[edi], byte [esi]
xchg ebx, eax
aas
dec edx
xor edx, dword [edx - 0x7a]
loope 0x4616e6
mov byte [0x5dcba230], al
daa
scasb al, byte es:[edi]
add al, 0x52
std
cdq
adc dl, byte [ebp - 0x563fcb19]
sahf
inc eax
xchg ebp, eax
sub al, 0x9a
or eax, 0xa039cea4
mov edx, 0xa77a5221
xchg ebp, eax
out 0x34, eax
shr byte [ecx - 0x6a9bbf62], 0x2c
lcall 0xbaa0, 0x39cea40d
and dword [edx + 0x7a], edx
cmpsd dword [esi], dword es:[edi]
sub eax, 0x1610a31e
insb byte es:[edi], dx
sub ebx, esi
clc
or ah, bl
xchg eax, edi
jg 0x46179b
push ecx
or esi, dword [esi]
or dl, byte [ecx - 0x32710856]
std
sbb eax, 0xc80387f2
inc edx
adc eax, dword [edx - 0x481fd363]
invalid
popal
movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push ss
dec esp
adc cl, byte [edi - 0x5985e74c]
mov bl, 0xf6
cmp eax, 0x6cf7d059
loop 0x461790
adc esp, dword [ecx]
xor edx, ecx
imul esi, dword [edx], 0x5e
sbb al, 0x76
invalid
pushal
push eax
xchg dword [esp + 0x24], ebx
push ebp
mov dword [esp + 0x24], ebx
lea ebx, [ebp - 0x33d83570]
push 0x502baf5a
push esp
mov ebx, 0x407cb8
pushfd
jmp 0x46daa4
push 0x695bd13b
pushfd
call fcn.00470380
call fcn.0046f5ca
pushal
jmp 0x46a266
mov eax, dword [esp + 0x24]
lea esp, [esp + 0x28]
jns 0x45d569
pushal
xchg dword [esp + 0x20], eax
pushfd
push dword [esp]
xchg dword [esp + 0x24], eax
pop eax
cwde
mov eax, 0x40bb6e
pushal
lea esp, [esp + 0x40]
jnp 0x46689d
push 0x90d92810
mov eax, dword [eax + 0x5584f]
mov byte [esp], dl
mov dword [esp], 0x8899decc
call fcn.0046f823
jmp 0x461dbf
nop
mov dword [esp], ebx
pushfd
mov byte [esp + 0x1c], 0x38
mov dword [esp + 0x20], edi
mov di, di
movsx di, bl
mov edi, 0xc3539898
call fcn.004707e0
call fcn.0046fc6f
pushfd
pushfd
pushfd
mov dword [esp + 0x40], ebx
movsx bx, bl
pushfd
movsx bx, bl
mov ebx, 0x40bde4
call fcn.0046488f
xchg dword [esp + 0x2c], edx
jmp 0x4616c4
mov ebx, dword [ebx + 0x63962]
pushfd
jmp 0x45d3cb