Function at 0x468617
Capabilities:
Encode data using xor

Disassembly:
push cs
dec ebx
aad 0x2e
pushfd
popfd
outsd dx, dword [esi]
cwde
and byte [ebx + 0x3eee599c], dh
pop edx
sbb dh, dl
adc edx, dword [ebx]
wait
mov esi, 0xeff97a1e
cdq
mul dword [edx]
je 0x4586e5
dec eax
cmp al, 0x8f
dec ebx
push esi
mov esp, dword [eax - 0x40a17acd]
mov ah, 0x27
sbb byte [ebp - 0x56], dl
mov bl, 0xcc
cdq
popal
mov dh, 0xbd
ja 0x4586e7
in eax, 0x32
stosd dword es:[edi], eax
cmp eax, 0xb8646a4b
lds ebp, [edi]
push es
sbb eax, 0x4722b0d
inc esi
jo 0x4586e2
cmp ecx, 0x27
outsd dx, dword [esi]
xchg esi, eax
dec edx
jns 0x4586cf
retf 0xae08
dec edx
push ecx
pop es
ret 0x9dba
cmp byte [edi + 0x6fcc7b6], 0x9b
invalid
push es
wait
mov eax, dword [0x366cf68e]
mov edi, 0xc2d3c1fe
invalid
and al, 0x44
mov esp, edx
add byte [esp + 0x40], al
test ebx, ebx
js 0x498512
mov eax, dword [esp - 0x63]
add cl, al
mov dword [esp + 0x9c], eax
add byte [eax + 4], dh
sub esi, dword [eax]
lea edx, [esi]
add byte [edx], al
add byte [eax], al
add byte [eax - 0x18], dl
rol byte [eax], cl
add byte [eax], al
mov edi, eax
clc
add esp, 0xffffff98
add bh, bh
je 0x4a601c
fiadd dword [ebx]
invalid
add byte [eax], al
and al, 0x40
lea eax, [esi + esi]
outsb dx, byte [esi]
add byte [esp + 0xa0], al
mov eax, dword [eax]
add byte [ecx + eax*2], al
push eax
push edi
call fcn.004785b3
xor ecx, ecx
mov dword [esp], edi
add ah, al
or al, 0x8d
add al, 0x36
inc edi
add byte [edi + eax], cl
test esi, esi
je 0x46863b
cmp esi, 0xffffffff
packssdw mm0, qword [eax]
fiadd dword [ebx]
add byte [ebp + 0x840fff], al
add byte [ebx], al
add byte [ebx + 0xb7244c], cl
add dword [ebx - 0x71f0fe08], eax
cdq
add byte [eax], al
add byte [eax + 0x6a], cl
add al, 0x89
rol byte [eax], cl
aaa
jg 0x46859b
add byte [ecx + 0x2444], cl
les eax, [ecx + ecx*4]
mov dword [esp], eax
add ah, al
add al, 0x89
inc esp
and al, 0xa6
add byte [eax], al
add dword [eax], eax
add byte [eax], al
lea eax, [esi]
add al, al
je 0xca6031
add eax, 7
and eax, 0xfffffff8
xor eax, dword [eax]
add byte [esp + 0x34], al
mov edx, 0xdc02
mul edx
seto cl
test dword [eax], 0xe851c800
sub edi, dword [edi + 0x48]
add byte [ebx + 0x4c483f8], cl
sal edi, 0
add al, cl
push ecx
call 0x8f0502
mov edi, eax
add esp, 4
mov dword [eax + eax], edi
mov dword [esp + 0x30], esi
add edi, dword [eax + eax]
push dword [esp + 0x14]
push edi
call 0x468617
add esp, 0xc
xor edx, dword [esi + 0x37048900]
mov esi, dword [esp + 0x28]
add byte [eax], al
and al, 0x10
call 0x12a5075
add esp, 4
mov eax, dword [esp + 0x3c]
add byte [eax], al
and al, 0x20
je 0x46865e
push 0xffffffffffffffd5
add byte [edi - 0x74fffe82], dh
dec esp
and al, 0
add byte [ebx - 0x7cdfdbac], cl
salc
add byte [ecx + 0x4c8b0448], cl
and al, 0x34
add byte [eax], al
or byte [ebx + 0x1520244c], cl
add byte [ecx + 0x6ff0c70], cl
push es
mov dword [eax + eax], eax
add byte [ecx - 0x74dfdbb4], cl
jb 0x468647
jo 0x4685cc
ror dword [eax], 0x89
dec esp
and al, 0
add byte [esp + 0x74], bl
jae 0x458668
jmp 0x4a6059
add byte [eax], al
mov dword [esp + 0x3c], eax
sbb ecx, 0
jb 0x468745
xor eax, dword [eax]
add byte [esp + 0x24], al
mov edx, 0xef04
mul edx
seto cl
test dword [eax], 0xe851c800
jnp 0x468703
sahf
add byte [ebx - 0x2f74fb3c], al
cmp dword [eax + eax], 0
mov dword [esp + 0x40], edx
cmpsd dword [esi], dword es:[edi]
add byte [ebx - 0x7adfdbbc], cl
sal byte [eax + eax], 0xc
test dword [eax], eax
add byte [eax], al
sahf
add bh, bh
je 0x4686ce
and byte [edx - 0x18], dl
add byte [eax], al
add byte [ebx - 0xb00f33c], al
add byte [eax + ebp*8], bl
dec esi
jle 0x4686bd
add byte [ebx - 0x7cbc0000], cl
les eax, [ecx + ecx*4]
mov eax, dword [eax]
add byte [ebx + eax*4 - 0x3c], al
add al, 0x89
mov byte [eax], al
sbb al, 0xe9
inc edi
invalid
add byte [eax], al
add byte fs:[edi], cl
test esi, ebp
xchg ecx, eax
add byte [eax], al
cmp dword [esp + 0x20], 0
sldt word [eax]
fld dword [ebx]
add byte [ebx + 0x4400c64d], cl
and al, 0x18
push eax
call 0x4776c7
lea ecx, [esp + 0x18]
invalid
and al, 0x1c
or al, byte [eax]
jle 0x46870a
add byte [ebx + 0x8d04c4], al
add esp, 4
lea eax, [eax]
add byte [eax + ebp*8], ch
jo 0x46872c
add ch, al
add byte [esp + 0x44], cl
call 0x1467061
add byte [esi + 0x33], bl
rcr byte [ebx - 0x75], 0xf7
add dl, al
or byte [eax], al
push esi
lea ecx, [esp]
dec esp
and al, 0
add bh, dh
out dx, al
invalid
xchg byte [eax], al
add byte [eax], al
add byte [ecx + 0x3c2444], cl
add bh, bh
invalid
add eax, dword [esi - 0x15]
xor dword [eax], eax
mov bh, 4
ja 0x498581
test eax, eax
je 0x49851f
add byte [ecx + 0x46435f04], cl
je 0x498527
xor eax, eax
mov word [edi + ebx*2], ax
pop edi
add byte [eax], al
pop ebp
ret 4
movzx eax, word [eax]
add byte [ebp - 0x74dd8b40], al
dec eax
add byte [edi + 0x22f883c1], dh
je 0x498582
add byte [eax], al
daa
je 0x4985a3
and word [0x832b7400], 0xffc7
add cl, byte [edi]
mov bh, 0
add edi, 2
movzx eax, word [eax]
add al, cl
test ax, ax
jne 0x49851f
add dh, dh
jne 0x4985cb
mov al, 1
pop edi
pop esi
add byte [eax], al
add al, 0
add byte [ebx + 0xbf02fe], al
xor esi, esi
jmp 0x498569
cmp esi, 2
mov edi, 0xebf63300
fiadd word [ebp + 0x75f6]
add bl, byte [esi - 0x15]
aad 0x85
mov al, byte [0xda0e8500]
add eax, dword [eax]
xor ecx, ecx
add byte [eax], al
por mm2, mm7
cmp esi, 0xffffffe3
add bh, bl
test esi, esi
jne 0x498569
inc esi
jmp 0x4985af
add byte [eax], cl
push 0xc549f59c
add al, ch
out 0x16, al
add al, byte [eax]
add esp, 0
add al, al
je 0x49854c
push 3
dec esp
add bh, al
add ch, bl
add dword [ebx + 0x3fe], 0xa8ebc032
push ebp
pop ss
add byte [edi - 0x75], dl
jge 0x4985e3
cmp esi, 3
add byte [eax], al
xor al, al
jmp 0x49857c
push edi
call 0x4985fa
pop ecx
test eax, eax
je 0x498609
sal byte [ebx], 0x8d
jo 0x4985e9
add byte [ebp - 0x97a0090], cl
inc dword [ebp + 0xd78f6]
add byte [edi + esi*2], cl
test esi, esi
js 0x4985fb
add byte [eax], al
or al, 0x77
call fcn.00658421
test eax, eax
jne 0x498608
xor eax, eax
add byte [eax], al
ja 0x498604
pop esi
pop edi
pop ebp
jecxz 0x498607
add byte [ebx - 0x1e86fe12], al
sub esi, 1
jns 0x4985ee
out dx, al
add dword [ecx - 0x1f], edi
jmp 0x49860f
add byte [ebx + 0x2cec83ec], cl
mov esp, 0x685700
and byte [eax], al
add byte [ebx - 0x79820000], cl
add dword [eax], eax
pop ecx
cmc
add byte [ecx + 0x43e8f845], cl
xchg byte [ecx], al
add byte [eax], al
jne 0x49863a
xor ebx, ebx
inc ebx
pop edx
add ah, dh
pop ecx
mov dword [eax], ebx
cmp word [esi], 0
add byte [edi], ah
sbb byte [esi - 0x7d], ah
add byte ds:[eax], al
daa
push 3
pop ebx
mov ebx, ebx
add byte [ebx + 0x13750128], al
push 4
add byte [eax], al
adc byte [esi - 0xa00ffff], al
add al, ch
dec edi
xchg byte [ecx], al
add byte [ebx + 0x5e0000c4], al
mov eax, ebx
pop ebx
leave
push ds
add byte [eax], al
push 0xf
push 0x49faec
add al, ch
sub eax, 0xca000216
add byte [eax*4 + 0x6ac874c0], cl
or eax, dword [eax]
add bl, bh
dec ecx
add byte [esi - 0x18], dl
rol dword [eax], cl
add al, byte [eax]
add esp, 0xc
test eax, eax
add byte [eax], al
and al, 0xd9
add eax, dword [eax]
push 0x5b
add byte [ebx + edi*8], cl
dec ecx
add byte [esi - 0x18], dl
add dword [eax], eax
add byte [eax], al
add esp, 0xc
test dword [edx], esp
add byte [ebx + edx + 0x6a0003d9], al
push ss
add byte [eax], al
cli
dec ecx
add byte [esi - 0x18], dl
sub al, 0
add al, byte [eax]
add esp, 0xc
test eax, eax
add byte [eax], al
add ebx, ecx
add eax, dword [eax]
push 0x1f
add byte [eax], ch
sti
dec ecx
add byte [esi - 0x18], dl
rol dword [eax], 1
add byte [eax], al
add esp, 0xc
test dword [eax + eax - 0x7c], ebx
test ecx, ebx
add eax, dword [eax]
push 8
add byte [eax], al
cmc
dec ecx
add byte [esi - 0x18], dl
xchg dword [eax], eax
add al, byte [eax]
add esp, 0xc
test eax, eax
add byte [eax], al
mov dh, 0xd9
add eax, dword [eax]
push 0xffffffffffffffeb
add byte [esp + ecx*8], cl
dec ecx
add byte [esi - 0x18], dl
mov eax, dword [0x83000000]
les ecx, [eax*4 + 0x6a1800e1]
add ebp, dword [eax + 0x2c]
int3
inc ebp
add eax, 0x571fb2ad
push edi
inc ecx
or dh, byte [esi + 0x7f8a7fe3]
xor byte [esi + eax*2], bl
invalid
adc eax, 0x67ea3274
pop ds
or eax, dword [edi - 0x544445c5]
pop ss
fisttp qword [ebx + 0x72]
arpl word [edx], bp
ja 0x4a6049
mov ebx, 0x4bdd17ab
jb 0x4a6090
sub dh, byte [edi + 0x19]
jno 0x4a6094
mov dh, 0xf6
cmc
lodsd eax, dword [esi]
add eax, 0x104625d7
fcmovbe st(0), st(5)
sti
hlt
xchg edi, eax
pushfd
fcom dword [ebp - 0x4a]
js 0x4a5ffb
push ebp
mov dh, 0x78
scasb al, byte es:[edi]
dec ecx
mov eax, 0x316f0f1
pop ecx
dec edx
xor dword [edi], edi
loopne 0x4a6026
xlatb
pop ebp
mov ebp, 0x3b503b8d
mov cl, 0x87
adc bh, dl
retf 0x5ba8
fild qword [edi - 0x499d58a6]
sbb eax, 0xdeb5f020
cmp dword [ebp + ecx + 0x37], esi
bound esi, qword [esi - 0x4a0fdfe3]
fidivr word [ecx]
je 0x4a60ab
aaa
btc dword [edx + 0x64], ecx
adc ch, dl
lock adc byte [eax + 0x31], ch
imul esi, dword [ebp - 0x11], 0x2fdf0061
out dx, eax
popal
add bh, bl
das
pop ecx
push 0x15
dec edi
jp 0x4a6046
or dword [eax - 0x6b53ba1f], esp
loope 0x4a60ff
lodsb al, byte [esi]
xchg esp, eax
xor al, al
mov esp, dword [edx]
mov dword [0xfbab334d], eax
xor dh, al
jle 0x4a6134
xchg eax, esp
invalid
aaa
aaa
invalid
ljmp 0x45c3:0x71d92f2f
loope 0x4a60b8
cmpsd dword [esi], dword es:[edi]
and al, 0xc0
out dx, al
cmpsb byte [esi], byte es:[edi]
js 0x4a6154
fld xword [edx]
ror ch, 0x1d
jmp 0x3f5fbf4
dec ecx
div dword [ebp + edi*8 + 0x31]
cwde
xor esp, 0x33
push ecx
jge 0x4a6103
aas
mov byte [0xb4a4683a], al
add dword [eax], esi
push cs
nop
jl 0x4a6199
add dword [esi + edx*2 + 0x397b7f6a], esi
aas
psubusb mm6, mm0
jecxz 0x4a619c
mov dword [0x10e1deb6], eax
xor eax, 0xba63f334
and eax, dword [0x25e35aee]
xor al, 0xf3
arpl word [edx + 0x5aee0523], di
jecxz 0x4a61af
loop 0x4a6180
and ecx, 6
mov esi, 0xba899687
jecxz 0x4a61a5
aas
retf
invalid
insb byte es:[edi], dx
pop es
xchg dword [edx + 0x76], edi
jle 0x4a618a
shl al, 0x91
loopne 0x4a6137
xchg ecx, eax
pop edi
das
fldenv [eax + 0x453ca8e6]
mov ebx, 0xb245ec0c
push 0x2f
or al, 0xec
inc ebp
mov dl, 0x6a
das
and eax, 0xb1075388
mov dword [0xd404209], eax
add esi, esp
xchg ecx, eax
mov edx, 0x78cce28
cmp ch, al
jmp 0x4a61df
jle 0x4a61a4
inc edx
lds eax, [edx + 0x2eefd0e9]
mov ch, 0x32
xchg esi, eax
push eax
nop
jmp 0x4a624f
adc al, 0xc5
adc dword [ecx + edi], edi
sbb byte [ebx + 0x35a7547d], 0xe9
test ecx, esp
or byte [0x228f91d4], bh
sub dword [esi], edx
cmpsd dword [esi], dword es:[edi]
add eax, 0xc290c02d
loop 0x4a624a
call 0xe2206368
or dword [ebx], ecx
arpl word [edx + 0x17], sp
mov ch, 0x4d
sbb ch, byte [eax + 0x67]
mov dh, 0x60
push ecx
out dx, eax
daa
sbb dword [ebp - 0x3a], eax
cmpsd dword [esi], dword es:[edi]
push ecx
sal byte [ebx + edx], 0xa6
push es
mov esp, dword [edx + 0x60]
xchg edi, eax
add bh, dl
sbb dh, byte [ecx + 0x6c99c294]
mov eax, dword [0x8c18c9d1]
xor al, ah
or ebx, dword [ebp + 0x73daaf2c]
push ds
cmpsd dword [esi], dword es:[edi]
invalid