Function at 0x46d129
Capabilities:
Encode data using xor

Disassembly:
add byte [eax], dh
add byte [eax], dh
add byte [eax], dh
add byte [eax], dh
add byte [eax], dh
add byte [eax], al
add byte [ecx], cl
fmul dword [edi]
mov dword [edx - 0x1c429047], edi
xor al, 0xdc
and dword [0x121c24], esi
add byte [esi], ah
imul eax, dword [eax], 0x65006c
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebp], dh
outsb dx, byte [esi]
add byte [ebx], ah
add byte [eax], al
test al, 0x29
mov ebx, 0x78458576
jle 0x46d1f7
push ecx
mov edi, 0x30618a60
sub al, 0xbf
or eax, dword [ebx - 0x39a1b485]
inc esp
inc esp
cmp al, 0x21
and byte [esp + esi*2], bh
fist dword [ecx]
xlatb
pop ecx
xor byte [edx], bl
fbld tbyte [edx + 0x3e]
sub eax, 0x2e5b50
sar byte [edi + esi*4], 0x1e
pop ebx
add al, al
cmp al, 0xb7
push ds
test dword [ecx], ebp
mov eax, 0x2145ba76
jle 0x46d239
push ecx
leave
pushal
mov eax, 0xb32c0261
or ecx, dword [eax - 0x11a1ad85]
jnp 0x46d229
pop esi
out dx, al
inc esp
inc eax
cmp al, 0x2d
and byte [esi], dh
je 0x46d1bb
adc ebp, ebx
pop ecx
pop es
sbb ch, ah
bound edi, qword [ecx + 0x2d]
push 0x5b
add ah, al
cmp al, 0xc7
push ds
jecxz 0x46d219
and eax, 0x7bbd700f
cli
pshufw mm7, qword [ebp + 0x6637fa7b], 0x48
jnp 0x46d1f3
aaa
dec ax
inc ecx
jo 0x46d1d3
outsb dx, byte ss:[esi]
add byte [ebx - 0x43a33efa], ah
pop ds
wait
dec eax
aas
js 0x46d236
push ds
xchg ebp, eax
xor esp, dword [ecx - 0x5ac5f2cf]
sbb al, 1
aaa
mov al, 0x40
inc eax
xchg ebp, eax
add ebx, dword [ecx + 0x5668c71b]
push edi
arpl word [ebx], dx
push eax
jge 0x46d1d5
adc byte [ebx + 0x1a], dl
out dx, eax
sbb ch, bh
inc eax
int 0x16
aad 0x48
movsb byte es:[edi], byte [esi]
popal
cmp bl, byte [edx]
adc eax, 0x1edf2739
cmp dword [edi], esp
fistp word [esi]
push ds
mov edi, 0xb81c8527
xor dword [ecx], edi
wait
sub dword [edi + 0x7e459576], ebp
jle 0x46d28c
inc ecx
push ecx
mov ch, 0x60
mov byte [0xaa2c2461], al
or eax, dword [eax - 0x1da1a185]
inc esp
jae 0x46d298
cmp al, 0x20
xor dword [ecx + edx*8 + 0x11], esi
salc
pop ecx
push ebp
sbb dh, ch
bound edi, qword [eax]
sub eax, 0x215b4d
stc
cmp al, 0xe3
push ds
aad 0x25
or dword [eax - 0x4f], esi
jnp 0x46d264
aaa
and byte [eax + 0x17], cl
jo 0x46d24a
add dword ss:[eax], eax
mov word [esi], es
loopne 0x46d2e2
mov eax, dword [0x16488b1f]
js 0x46d302
jne 0x46d2ac
push ds
invalid
jecxz 0x46d2da
retf
push edi
push edi
adc esi, dword [ebp + 0x7d]
xchg byte [eax], dl
insd dword es:[edi], dx
sbb ch, al
inc eax
les edx, [esi]
dec eax
popfd
dec ebp
cmp cl, byte [esi]
adc eax, 0x1ed52708
mov esi, 0xe51c8127
xor dword [ecx], edi
mov word [ecx], gs
mov al, byte [0x74458276]
jle 0x46d328
push ecx
popfd
pushal
int 0x61
xor eax, 0x880baf2c
jnp 0x46d335
pop esi
out dx, al
inc esp
cmp al, 0x21
and byte [esp + esi*2], bh
fist dword [ecx]
xlatb
pop ecx
sub dword [edx], ebx
mul byte [edx + 0xf]
sub eax, 0x255b6d
enter 0xffffffffffffc73c, 0x1e
out dx, eax
and eax, 0x7be57056
mov eax, 0x5b487637
jo 0x46d2a1
insd dword es:[edi], dx
add cl, cl
leave
push es
mov esp, 0xd61fe75c
dec eax
sub byte [eax + 0x29], bh
push ds
xor byte [ebx], 0xed
xor dword [eax + 0x3a], edx
salc
sbb al, 0x51
add edi, dword [eax + 2]
add byte [eax], al
add al, byte [eax]
add byte [eax], al
movsd dword es:[edi], dword [esi]
sbb dword [eax], eax
add byte [eax - 0x3fffff2], al
cld
add eax, dword [eax]
add dl, bh
jns 0x46d362
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dh, bl
rcr dword [edx + 0x51], 1
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor ebp, esp
adc ecx, dword [edi + 0x61]
and eax, 0xa80002
mov dl, 0
loop 0x46d356
jbe 0x46d35a
xor byte [eax], al
js 0x46d35c
add byte ss:[ecx], bh
add byte [eax], bh
add byte [eax], dh
add byte [eax], dh
add byte [eax], dh
add byte [eax], dh
add byte [eax], dh
add byte [eax], al
add byte [0x52000a00], cl
xor byte [eax], al
xor byte [eax], al
xor byte [eax], al
xor byte [eax], al
xor byte [eax], al
add byte [eax], al
or eax, 0x52000a00
add byte [ebp], ah
arpl word [eax], ax
jbe 0x46d37a
cmp al, byte [eax]
and byte [eax], al
add byte [eax], al
add byte [ecx], ch
insb byte es:[edi], dx
add byte [ebp], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebp], dh
outsb dx, byte [esi]
add byte [ebx], ah
add byte [eax], al
test al, 0x29
mov ebx, 0x78458576
jle 0x46d42f
push ecx
mov edi, 0x30618a60
sub al, 0xbf
or eax, dword [ebx - 0x39a1b485]
inc esp
inc esp
cmp al, 0x21
jnp 0x46d42a
pop esi
mov byte [esp + eax*2 + 0x3c], 0x21
and byte [esp + esi*2], bh
fist dword [ecx]
xlatb
pop ecx
xor byte [edx], bl
fbld tbyte [edx + 0x3e]
sub eax, 0x2e5b50
sar byte [edi + esi*4], 0x1e
pop ebx
add al, al
cmp al, 0xb7
push ds
test dword [ecx], ebp
mov eax, 0x2145ba76
jle 0x46d471
push ecx
leave
pushal
mov eax, 0xb32c0261
or ecx, dword [eax - 0x11a1ad85]
inc esp
inc eax
cmp al, 0x2d
and byte [esi], dh
je 0x46d3f3
sub eax, 0xda743620
adc ebp, ebx
pop ecx
pop es
sbb ch, ah
bound edi, qword [ecx + 0x2d]
push 0x5b
and dword [eax], eax
sar dword [edx + edx*8], cl
push ds
in al, 0x25
or byte [eax - 0x70], dh
jnp 0x46d414
aaa
dec eax
dec ebx
jo 0x46d3dd
push ss
add al, cl
push es
mov cl, 0x5c
jmp 0x46d45f
adc byte [eax], bl
sbb al, dl
inc eax
nop
push ss
cli
dec eax
mov esp, 0x1d3a4f26
adc eax, 0x1edb2721
push ds
mov ah, 0x27
daa
sbb byte [edi + edi*4], 0x31
leave
sub dword [edi + 0x75458f76], ebp
jle 0x46d496
push ecx
mov edx, 0x20618660
sub al, 0xae
or eax, dword [ebp - 0x19a1a685]
inc esp
popal
cmp al, 0x14
and byte [ecx], bl
je 0x46d473
sbb dword [edx + ebx*8 + 0x11], esi
aad 0x59
adc ebp, edx
pop ecx
sbb al, 0x1a
fbld tbyte [edx + 0x30]
sub eax, 0x345b4a
xlatb
cmp al, 0xd6
push ds
les esp, [0x7ba07008]
sal byte [edi], cl
cmovs edx, dword [ebx]
jo 0x46d49e
cmp byte ss:[eax], al
xchg esi, eax
push es
out 0x5c, al
mov dl, 0x1f
mov word [eax + 0x23], cs
js 0x46d4f0
push ds
sahf
xor ebp, edi
xor dword [0x551cb73a], edi
aaa
mov al, 0x40
cmpsd dword [esi], dword es:[edi]
add ebp, dword [ecx + 0x6b68821b]
push edi
adc eax, dword gs:[ecx + 0x7d]
mov ah, 0x10
dec esi
sbb bl, ch
inc eax
call dword [esi]
aad 0x48
popfd
push edx
cmp cl, byte [0x87270815]
push ds
xchg dword [esi], ebx
out 0x27, al
fstp qword [esi + edi*8]
xor dword [ebp + 0x66], esi
fld xword [ecx]
cld
jbe 0x46d4d0
inc ebp
and dword [esi], edi
push ecx
mov ch, 0x60
mov dl, 0x61
add eax, 0xbb0b862c
jnp 0x46d56d
pop esi
out dx, eax
inc esp
inc esi
cmp al, 0x2d
and byte [0xe411ce74], dh
pop ecx
push ss
sbb bl, dh
bound esi, qword [ebp + 0x345b17]
sar byte [ecx + ebx*8], 0x1e
shl dword [0x7bbc7002], cl
cli
aaa
pushal
dec eax
add dh, byte [eax - 0x1e]
xor byte ss:[eax], al
xchg esi, eax
push es
ljmp 0x2e48
adc eax, 0x1edb2736
mov eax, dword [0xe71cce27]
xor dword [ebp + 0x66], ebp
fldcw word [ecx]
clc
jbe 0x46d51f
inc ebp
push ebp
jle 0x46d583
push ecx
shl dword [eax - 0x2c], 1
popal
sub al, 0xf3
or ebp, esp
jnp 0x46d58f
add edi, dword [ecx + eax]
add byte [eax], al
add al, byte [eax]
add byte [eax], al
movsd dword es:[edi], dword [esi]
sbb dword [eax], eax
add byte [eax - 0x73fffff2], al
adc al, 0
add byte [eax + 0x337b], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add bh, bl
rcr dword [edx + 0x51], 1
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor ebp, esp
adc ecx, dword [edi + 0x61]
and eax, 0xa80002
mov dl, 0
loop 0x46d5ce
cmp al, 1
xor byte [eax], al
js 0x46d5d4
add byte ss:[ecx], bh
add byte [eax], bh
add byte [eax], dh
add byte [eax], dh
add byte [eax], dh
add byte [eax], dh
add byte [eax], dh
add byte [eax], al
add byte [ebp + 0x64], bl
in al, 0x8f
dec edi
salc
mov ah, 0xf7
test byte [edi - 0x13], dl
sahf
and esi, 0x2c
movsd dword es:[edi], dword [esi]
add byte [eax], al
add byte [ecx], ch
insb byte es:[edi], dx
add byte [ebp], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebp], dh
outsb dx, byte [esi]
add byte [ebx], ah
add byte [eax], al
test al, 0x29
mov ebx, 0x78458576
jle 0x46d6a7
push ecx
mov edi, 0x30618a60
sub al, 0xbf
or eax, dword [ebx - 0x39a1b485]
inc esp
inc esp
cmp al, 0x21
and byte [esp + esi*2], bh
fist dword [ecx]
xlatb
pop ecx
xor byte [edx], bl
fbld tbyte [edx + 0x3e]
sub eax, 0x2e5b50
sub eax, 0x2e5b50
sar byte [edi + esi*4], 0x1e
test dword [ecx], ebp
mov eax, 0x2145ba76
jle 0x46d6e9
mov edx, 0x6e7e2145
push ecx
leave
pushal
mov eax, 0xaf2c1561
or ecx, dword [eax - 0x11a1a185]
inc esp
push edi
cmp al, 0x26
and byte [edi], bh
je 0x46d668
adc esi, edx
pop ecx
adc byte [edx], bl
in al, dx
bound edi, qword [ecx + 0x2d]
bound ebx, qword [ebx + 9]
add bl, ch
cmp al, 0xf1
push ds
jmp dword [0x7bf2703a]
jnp 0x46d676
aaa
or byte [eax + 0x26], cl
jo 0x46d683
adc byte ss:[eax], al
lcall 0xd81f, 0xe95ce606
dec eax
push cs
js 0x46d6c3
push ds
mov dh, 0x33
nop
xor dword [edx + edi], edi
cdq
xor edx, dword [eax - 0x66c5c3cf]
cmp bl, byte [ecx - 0xc88de4]
inc eax
sti
sbb al, 0x72
aaa
inc dword [eax - 5]
add edi, dword [ecx + eax]
add byte [eax], al
add al, byte [eax]
add byte [eax], al
movsd dword es:[edi], dword [esi]
sbb dword [eax], eax
add byte [eax - 0x73fffff2], al
adc al, 0
add al, ah
xor byte [ebx], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
loopne 0x46d6bf
add byte [eax], al
add al, ah
rcr dword [edx + 0x51], 1
pop edx
push ecx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor ebp, esp
adc ecx, dword [edi + 0x61]
and eax, 0xa80002
mov dl, 0
loop 0x46d70a
cmp al, 1
xor byte [eax], al
js 0x46d710
add byte ss:[ecx], bh
add byte [eax], bh
add byte [eax], dh
add byte [eax], dh
add byte [eax], dh
add byte [eax], dh
add byte [eax], dh
add byte [eax], al
add byte [ebx + ebx*8 + 0x16], bh
jmp 0x46d6e4