Function at 0x4246c1
Capabilities:
Encode data using xor

Disassembly:
arpl di, si
ja 0x42467b
mov dword [0x2aa8f0c8], eax
fstp xword [ebx]
mov esi, 0xafdf0fd4
and ebx, dword [eax - 0x4839469d]
add dh, bh
cwde
arpl word [ecx - 0x8fd483a], di
xor edx, dword [esi + 0x69d0f82a]
or eax, 0x308997a7
cmpsd dword [esi], dword es:[edi]
xchg edi, eax
mov dword [eax], esi
xchg esi, eax
sub bh, al
shr byte [ecx + 0xd], 1
vmulsd xmm7, xmm1, xmm5
invalid
out 0x8d, al
and cl, byte [esp + edx - 0x63]
popfd
xor ch, byte [ebx - 0xb]
pop ecx
add bh, cl
std
mov ecx, 0x97948e9d
lodsb al, byte [esi]
jp 0x4246a2
pushfd
dec edx
test al, 0x29
xchg ecx, eax
test eax, 0x955b4fa7
sal ebp, 1
xchg ecx, eax
aaa
dec edx
sbb byte [eax - 0x19], cl
dec eax
out 0xcf, eax
dec eax
out 0xcf, eax
jl 0x424662
cmpsd dword [esi], dword es:[edi]
cli
sbb dword [edx - 1], 0xffffffb4
rol dh, 0x52
mov dh, 0xd4
xchg esp, eax
cli
cmpsb byte [esi], byte es:[edi]
mov ebx, 0xb3c8c290
sal ebp, 1
loopne fcn.004246c1
js 0x424673
inc esp
xchg eax, ebp
out 0xaa, eax
cmpsd dword [esi], dword es:[edi]
call esp
sar bh, 0xd0
fsubrp st(6)
leave
inc ebx
add eax, 0xb8d2b9c1
loop 0x42468e
sar dword [ecx - 0x671d472e], 0xe2
clc
loop 0x4246f0
loop 0x424693
jecxz 0x4246b5
jecxz 0x424697
jecxz 0x42477a
loopne 0x42469c
loopne 0x4246be
loope 0x4246a1
loope 0x424704
out 0x9e, eax
in al, 0xbf
ljmp 0x6235
insb byte es:[edi], dx
cmp dword [ebp + 0x3a], ebp
outsb dx, byte [esi]
cmp ebp, dword [edi + 0x3b]
outsd dx, dword [esi]
xor al, 0x62
aaa
xor ah, byte fs:[edi + 0xc]
push 0x6b3f6a3e
cmp byte [eax + edi + 0x6d], ch
cmp dword [edi + 0x3b], ebp
outsd dx, dword [esi]
xor al, 0x61
arpl word ss:[edi], si
arpl word [edi], si
xor byte fs:[eax + esi + 0x64], ah
xor byte [ebp + 0x31], ah
or al, 0x69
cmp byte [edx + edi + 0x60], ch
aaa
enter 0x693c, 0x3a
outsd dx, dword [esi]
xor al, 0x62
lodsb al, byte [esi]
push 0x38
outsb dx, byte [esi]
cmp ch, byte [edi + 0x35]
bound esi, qword [edx]
or eax, 0x3e693d68
push 0x3e
imul edi, dword [edi], 0x6b
cmp byte [eax + edi + 0x6c], ch
cmp dword [ebp + 0x39], ebp
outsb dx, byte [esi]
cmp ch, byte [edi + 0x3b]
outsd dx, dword [esi]
xor al, 0x60
xor al, 0x61
xor eax, 0x31643761
xor dword gs:[esi + 0x32], esp
xor ebx, dword [bx + si + 0x3c]
push 0x6b3f693c
cmp byte [ecx + edi + 0x6d], ch
cmp ch, byte [esi + 0x3a]
outsd dx, dword [esi]
cmp ebp, dword [edi + 0x34]
pushal
xor eax, 0x36623561
arpl word [edi], si
xor dword fs:[ebp + 0x31], esp
fsubr qword [eax + 0x3e]
push 0x3f
imul edi, dword [edi], 0x6b
cmp byte [ecx + edi + 0x6d], ch
cmp dword [esi + 0x3a], ebp
outsb dx, byte [esi]
cmp ebp, dword [edi + 0x34]
pushal
xor al, 0x61
xor eax, 0x36623661
arpl word [edi], si
xor ah, byte fs:[esi + 0x32]
je 0x42484a
and edi, dword [ebx + 0x73]
jnp 0x42489c
jp 0x42483c
jns 0x42485d
js 0x424845
jle 0x424826
jl 0x42484b
jbe 0x424838
jae 0x424851
jno 0x4248b2
jns 0x4248aa
jo 0x424853
sbb byte [edi + 0x3d], dh
ja 0x42487a
cmp eax, 0xf04b2375
js 0x424853
jne 0x424862
dec ebx
invalid
jg 0x42487c
jg 0x42485d
push ss
jle 0x4248bf
jle 0x424861
push ss
jle 0x424883
jle 0x424865
jge 0x424846
jge 0x424868
jl 0x424889
jae 0x424871
jo 0x4248d1
jo 0x424879
jne 0x42489a
jne 0x42487b
je 0x424824
jnp 0x424876
adc edi, dword [edx + 0x32]
jp 0x424897
jns 0x424878
js 0x4248e0
ja 0x4248e8
jle 0x424881
push ss
jge 0x4248a1
jae 0x42488a
jb 0x42486b
jo 0x424892
pop ds
ja 0x4248b3
jbe 0x424894
sbb eax, 0x1c747c75
jne 0x4248f5
jl 0x4248ee
je 0x424897
sbb al, 0x74
je 0x424880
add edi, dword [ebx + 0x12]
jnp 0x424891
jp 0x424872
int1
jns 0x42489a
jle 0x4248c0
jb 0x42489f
jo 0x424901
ja 0x4248aa
pop ds
ja 0x4248cb
jbe 0x4248ad
push ds
jbe 0x42488e
je 0x4248af
sbb al, 0x4b
dec ebx
xor edi, dword [ebx + 0x13]
jp 0x42490b
jns 0x4248ac
adc dword [eax + 0x30], edi
js 0x4248cd
xor byte [edi + 0x17], bh
jg 0x4248b6
jg 0x424897
jle 0x4248b9
jle 0x4248d9
jb 0x4248c0
jo 0x424921
ja 0x4248ca
pop ds
jbe 0x4248ea
cmp eax, 0xf27b134b
dec ebx
adc edi, dword [ebx - 0xe]
jnp 0x4248a3
jp 0x4248c5
adc bh, byte [edx + 0x31]
jp 0x4248e6
jns 0x4248c8
adc dword [ecx + 0x71], edi
jns 0x42492a
js 0x4248d1
push ss
jl 0x4248f8
jno 0x4248d8
jno 0x4248ba
stc
jno 0x4248e1
jne 0x4248c8
jnp 0x4248d8
jns 0x42493a
jno 0x424942
js 0x4248db
adc byte [esi + 0x35], bh
jle 0x424902
xor eax, 0xfb7c147d
jge 0x4248e3
jl 0x4248cc
jb 0x4248eb
ja 0x424914
ja 0x4248f5
jne 0x424956
jge 0x42494f
jne 0x4248fe
and ecx, dword [ebx + 0x32]
jp 0x4248f3
dec ebx
xor bh, byte [edx + 0x14]
jl 0x4248d9
clc
jo 0x424900
dec ebx
dec ebx
adc edi, dword [ebx + 0x72]
jp 0x4248fd
jb 0x424964
adc bh, byte [ecx + 0x31]
jns 0x42491e
jns 0x4248ff
adc byte [eax - 0x10], bh
js 0x4248e1
js 0x424903
jg 0x42492c
jg 0x42490e
jle 0x42496f
jbe 0x424977
jge 0x424910
adc eax, 0x147c347d
jge 0x424931
xor al, 0x7c
jl 0x424913
adc al, 0x73
jae 0x4248fc
sti
jb 0x42491d
sbb dh, byte [edx + 0x39]
jb 0x42493e
jno 0x42491f
jo 0x424988
dec ebx
and edi, dword [edx + 0x32]
jp 0x42493f
jp 0x424920
adc dword [ecx - 0xf], edi
jns 0x424902
int1
jns 0x424924
jns 0x424946
xor dword [ecx + 0x10], edi
jns 0x424927
js 0x424989
jo 0x424992
js 0x42492b
adc byte [eax + 0x30], bh
js 0x42494d
js 0x42492f
adc byte [eax - 9], bh
js 0x424918
idiv dword [edi + 0x17]
jg 0x42493a
jg 0x42495c
aaa
jg 0x42493e
pop ss
jg 0x4249a0
jg 0x424941
push ss
jle 0x424963
jle 0x424945
jle 0x424945
jle 0x424926
jge 0x424948
jge 0x424964
cmp dword [eax + 0x18], ecx
sub dword [eax + 0x49], edi
dec ecx
sbb byte [esi + 0x37], ah
inc esi
push ss
cmpsd dword [esi], dword es:[edi]
hlt
inc ebx
adc dword [eax - 0x51], esp
scasd eax, dword es:[edi]
dec esi
push ds
sub al, 0x7c
dec ebx
sbb dword [esi + 0x36], esp
inc edi
inc edi
adc al, 0x2e
dec dword [esi + 0x1e]
insb byte es:[edi], dx
cmp al, 0x4d
dec ebp
sbb ebp, dword [edx]
jp 0x4249a6
sbb dword [esi + 0x37], esp
aaa
inc esi
push ss
cmpsd dword [esi], dword es:[edi]
test byte [eax + edx + 0x5e], 0x3e
adc byte [esi + 0x3e], bl
pop esi
dec edx
dec edx
adc bl, byte [esi]
jge 0x4249b8
sbb ebp, dword [edx + 0x3b]
dec ebx
push ss
movsd dword es:[edi], dword [esi]
das
dec esp
das
push 0x3b
dec edx
sbb ebp, dword [edx]
jnp 0x4249c5
sbb ebp, dword [eax + 0x38]
inc esi
push ss
movsb byte es:[edi], byte [esi]
inc eax
adc dword [esi + 0x3f], ebx
dec esi
push ds
das
jge 0x4249d7
sbb eax, 0x1c4c3d6c
lodsd eax, dword [esi]
sti
dec ebx
sbb dword [eax + 0x34], ebp
inc edx
adc esp, dword [ebx]
jno 0x4249db
adc byte [ecx + 0xf], ah
dec esi
pop ds
scasd eax, dword es:[edi]
std
dec ebx
sbb ah, byte [ebx + esi + 0x43]
inc ebx
adc ah, byte [eax]
jno 0x4249ec
movd mm7, dword [edi]
dec edi
sbb eax, 0x1749faac
xor eax, dword [bp + di + 0x11]
push ds
jp 0x424a06
sbb dword [eax + 0x39], ebp
inc edi
push ss
mov dword [0x6e6f41f2], eax
inc edx
das
das
jge 0x424a18
sbb ch, byte [eax + 0x38]
dec ecx
pop ss
cmpsd dword [esi], dword es:[edi]
test byte [ebp + edx + 0x65], 0x34
inc ebp
adc esp, dword [edx]
jb 0x424a1b
adc dword [ecx + 0x30], esp
push ds
pop ds
scasb al, byte es:[edi]
dec byte [edi + 0x1d]
insb byte es:[edi], dx
cmp al, 0x4a
sbb ebp, dword [edx]
jp 0x424a36
sbb ch, byte [eax + 0x39]
dec eax
sbb byte [ecx + 0x641646f8], ch
xor al, 0x45
push 0xa9184839
clc
inc esi
push ss
xor al, 0x45
inc ebp
adc al, 0x25
je 0x424a40
adc al, 0x62
jg 0x424a4b
sbb eax, 0x1d4cfdac
insb byte es:[edi], dx
cmp eax, 0x7c2c1d4c
dec ebp
sbb al, 0x6d
dec esp
sbb eax, 0x1c4d7c2c
insd dword es:[edi], dx
cmp al, 0x4d
sbb al, 0xad
sti
dec edx
sbb ebp, dword [edx + 0x3b]
dec edx
sbb ebp, dword [edx]
jp 0x424a66
sub bh, byte [edx + 0x4b]
sbb ch, byte [ebx + 0x3a]
dec ebx
sbb ch, byte [eax + 0x681948f9]
cmp dword [eax + 0x19], ecx
sub dword [edi + 0x3a], ecx
dec eax
sbb dword [eax + 0x39], ebp
dec eax
sbb dword [ecx], ebp
dec edi
cmp bl, byte [eax]
and ah, cl
dec ecx
sbb byte [edx], ah
loope 0x424a78
test eax, 0xbb728b43
pop edx
or edi, dword [esi - 0xd]
jle 0x424a2b
fnstsw word [edi + 0x14]
in al, dx
dec esp
push edx
sbb al, ah
sahf
das
mov esi, 0xfd3edc6f
jp 0x424a4e
jl 0x424a49
lodsd eax, dword [esi]
push ds
mov ch, byte [ecx]
cmpsd dword [esi], dword es:[edi]
aaa
inc ebp
jle 0x4249f6
sub dword [edi - 0x5d81bac9], esp
inc ebx
dec edi
cmp esp, dword [esi]
jae 0x424aa0
aam 0x26
xchg esi, eax
sti
and bh, ch
pop eax
loop 0x424a1e
adc dword [edx + 0xd], 0xd8deba7f
mul byte [ecx - 0x61]
iretd
jg 0x424a22
invalid
invalid
xchg edi, eax
cwde
jl 0x424a93
idiv dl
pushal
scasd eax, dword es:[edi]
inc ecx
nop dword [edi]
jle 0x424abc
xor al, 0xc
xchg ecx, eax
xor byte cs:[ebx + ebx + 0x7e0f1665], ch
daa
cdq
sbb dword [esi + 0x66], eax
cmp dword [esi + 0x2a], edi
cmp word [esi + 0x2a], di
salc
cmpsd dword [esi], dword es:[edi]
clc
dec ecx
pop ebp
and eax, 0x4f1b2f2e
mov ebp, 0x165752fa