Function at 0x4666aa
Capabilities:
Persist via run registry key

Disassembly:
jb 0x4666ae
add byte [eax], al
movsb byte es:[edi], byte [esi]
jo 0x4666f7
add byte [eax], cl
add byte [eax], al
add byte [eax], cl
inc esi
inc esi
popal
arpl word [edi + ebp*2 + 0x72], si
jns 0x4666c2
add byte [eax], al
add byte [eax], dl
inc eax
add byte [eax + eax], cl
add byte [eax], al
adc dword [esi + 0x4e], eax
outsd dx, dword [esi]
outsb dx, byte [esi]
inc ebx
outsd dx, dword [esi]
jne 0x466741
je 0x46673a
dec edi
bound ebp, qword [edx + 0x65]
arpl word [edx + eax], si
add byte [eax + edx + 0x100040], bl
add byte [eax], al
or dword [esi + 0x52], eax
inc bx
outsd dx, dword [esi]
jne 0x46675e
je 0x4666f4
add byte [eax], al
adc al, 0x65
inc esi
add byte [eax + eax], dl
add byte [eax], al
pop ss
inc esi
push ebx
jb 0x466778
jb 0x46674a
js 0x46676a
jo 0x46677e
imul ebp, dword [edi + 0x6e], 0x646e6148
insb byte es:[edi], dx
jb 0x466717
add byte [eax], al
add byte [eax + eax], cl
xchg dword [edi + 0x46], esp
add byte [eax + eax - 0xc], al
jmp [ebp + 0x44004667]
outsb dx, byte [esi]
push 0x4a0046
add byte [eax], al
cwde
push 0x4a0046
add dword [eax], eax
add byte [eax + 0x4a004668], bl
add byte [ecx], al
add cl, al
push 0x4a0046
dec edx
add byte [edx], al
add byte [ecx + ebp*2], cl
shr dword [eax + 0x46], 0
dec edx
add al, bh
call dword [ecx + 0x42004669]
add ah, dh
inc ebx
imul eax, dword [esi], 0xfff40042
adc byte [edx + 0x46], ch
add byte [ecx], al
hlt
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
dec edi
bound ebp, qword [edx + 0x65]
arpl word [esi], si
adc ah, cl
dec esi
add byte [esi], al
inc ebx
jb 0x4667f6
popal
je 0x4667f9
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
je 0x46680a
inc esi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
inc esp
add byte [eax], dl
int3
add byte [ecx], dl
inc ebx
jb fcn.00466860
popal
je 0x466863
inc esi
jb 0x466870
insd dword es:[edi], dx
inc esi
popal
arpl word [edi + ebp*2 + 0x72], si
jns 0x46680d
add byte [eax], al
add byte [eax], al
add byte [eax + eax], cl
add byte [eax], al
or al, 0
add ecx, dword [eax]
je 0x46687f
inc esi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
or byte [eax + esi*2 + 0x20046], ah
pop es
inc esi
popal
arpl word [edi + ebp*2 + 0x72], si
jns 0x466832
add byte [edx], cl
pop eax
sbb eax, 0x80040
or al, byte [ebx + 0x6f]
outsb dx, byte [esi]
je 0x4668b0
outsd dx, dword [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
jb 0x466846
add byte [edx], al
add byte [edi], ah
add byte [ebp + eax*4 + 0x44070046], cl
jae 0x4668c6
jb 0x4668c3
jns 0x466859
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ecx], al
or byte [edx + ebp*2 + 0x46], dh
push 0x46
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
je 0x4668cb
invalid
inc esi
add byte [eax], al
add al, 0x53
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
je 0x4668f5
inc esi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
sub dword [eax], eax
fadd qword [edi + 0x4f090046]
bound ebp, qword [edx + 0x41]
push edx
add ax, word gs:[ebx]
pushfd
adc byte [eax], al
or al, 0
add dword [eax], ecx
je 0x46691e
inc esi
add byte [eax], cl
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
dec ebx
add byte [edi + eax*4 + 0x4f110046], dh
mov ah, 0x87
inc esi
add byte [ecx], dl
dec edi
bound ebp, qword [edx + 0x51]
push ecx
jne 0x466933
jb 0x466949
dec ecx
outsb dx, byte [esi]
je 0x466939
jb 0x46693c
popal
arpl word [ebp + 3], sp
add ecx, eax
adc al, byte [eax]
adc al, 0
add ecx, dword [eax]
je 0x46694f
inc esi
add byte [eax], cl
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
adc ah, al
adc al, byte [eax]
or al, 0
add ecx, dword [ecx + 0x49]
inc esp
add al, byte [eax]
and byte [eax], al
add byte [eax], al
add byte [eax], dl
add byte [ebx], al
dec edi
bound ebp, qword [edx + 2]
add byte [edx], al
add byte [edx], ch
add al, dh
xchg dword [esi], eax
or cl, byte [edi + 0x62]
push 0x52
insb byte es:[edi], dx
popal
jae 0x466982
add eax, dword [ebx]
pushfd
adc byte [eax], al
or al, 0
add ebx, dword [eax + edx + 0xc0040]
add dword [eax], ecx
je 0x466993
inc esi
add byte [eax], cl
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
pop ebx
add ah, dh
add byte [edx], al
add byte [ebx], bl
hlt
test dword [esi], eax
adc dword [ebx + 0x61], edx
inc bx
popal
insb byte es:[edi], dx
insb byte es:[edi], dx
inc ebp
js 0x4669ab
jo 0x4669bf
jo 0x4669bf
imul ebp, dword [edi + 0x6e], 0x12c80003
inc eax
add byte [eax], cl
add byte [ebx], al
or byte [edx + ebp*2 + 0x46], dh
add al, cl
adc al, byte [eax]
or byte [eax], al
add ecx, dword [eax]
je 0x4669c4
inc esi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
or byte [eax], dh
sbb eax, 0x10040
or al, 0x45
adc ah, cl
dec esi
add byte [0x6f727245], al
jb 0x4669a1
add ecx, eax
adc al, byte [eax]
adc byte [eax], al
add cl, byte [eax]
je 0x466a13
inc eax
add byte [eax], dl
add byte [edx], al
or byte [edx + ebp*2 + 0x46], dh
inc esi
add byte [eax], cl
add byte [ebx + edx*2], al
or byte [eax], al
add al, 0x53
insb byte es:[edi], dx
add al, byte [eax]
add bl, byte [eax + 0x12]
inc eax
add byte [eax + eax], cl
add ecx, dword [ebp + 0x73]
add al, byte [bx + si]
add al, byte [eax]
add al, byte [eax]
dec ebp
add byte [eax], dl
int3
int3