Function at 0x4167ec
Capabilities:
Encode data using xor

Disassembly:
sbb eax, 0x700
add byte [eax], al
sbb esi, dword [eax]
add al, byte [eax]
dec edx
add byte [eax], al
add byte [eax + eax], cl
add byte [ecx], dl
add ch, byte [eax]
or dword [ecx], eax
pop ds
add dl, byte [edi]
jge 0x416778
add byte [eax], al
add al, 0xde
pop es
push es
sub byte [edi], ch
add byte [eax], al
or bl, ah
add ch, byte [eax]
mov byte [eax], al
add byte [esi], al
push ss
xor dword [esi], eax
add ch, byte [eax]
push ss
add dword [eax], eax
push es
add byte [esi], al
sub al, byte [eax]
add byte [ecx], al
adc byte [eax], al
add byte [edx], al
add byte [0x332600], cl
pop es
add byte [eax], al
add byte [eax], al
sbb esi, dword [eax]
add al, byte [eax]
dec esi
add byte [eax], al
add byte [ebx], al
add byte [ecx], dl
adc al, 0xa
jle 0x4167b4
add byte [eax], al
add al, 0x25
or al, 0x28
sub al, 0
add byte [edx], cl
add ch, byte [eax]
or byte [ecx], al
add byte [esi], al
or al, byte [esi]
sub eax, 0xde0b1d04
xor byte [edi], cl
add dword [esi], eax
jnp 0x4167d2
add byte [eax], al
add al, 0x6f
inc edx
add dword [eax], eax
or ch, byte [eax]
inc ebx
add dword [eax], eax
or ch, byte [0xde0b1d04]
sbb dh, bl
pop es
or byte [eax], ch
das
add byte [eax], al
or bl, ah
push es
outsd dx, dword [esi]
adc dword [ecx], eax
add byte [esi], al
push es
add al, 0x6f
xchg esi, eax
add byte [eax], al
push es
push ss
sub al, byte [edi]
sub al, byte [eax]
add byte [ecx], al
adc byte [eax], al
add byte [edx], al
add byte [esi], cl
add byte [eax], ch
add byte ss:[edi], al
add byte [eax], al
add byte [eax], al
sbb esi, dword [eax]
add al, byte [eax]
and eax, 0xc000000
add byte [eax], al
adc dword [edx], eax
sub byte [ecx], cl
add dword [eax], eax
push es
add ch, byte [eax]
or dword [ecx], eax
add byte [esi], al
and eax, 0x2c280a
add byte [edx], cl
add dl, byte [esi]
jge 0x416831
add byte [eax], al
add al, 2
sbb dword [ebp - 0x41], edi
add byte [eax], al
add al, 0xde
pop es
push es
sub byte [edi], ch
add byte [eax], al
or bl, ah
sub al, byte [eax]
add byte [eax], al
add dword [eax], edx
add byte [eax], al
add al, byte [eax]
or eax, 0x1d1000
add byte [0x1d1000], cl
pop es
add byte [eax], al
add byte [eax], al
mov byte [0xba7b02], al
add byte [ebx + eax], al
push ds
add al, byte [ebx]
jge 0x41685f
add byte [eax], al
add al, 3
sub al, 7
add ch, byte [eax]
mov eax, dword [0x2a060000]
add ch, byte [eax]
mov byte [0x2060000], al
pop ss
sub byte [edx + 0x2a060000], cl
push ds
add ch, byte [eax]
push ss
add dword [eax], eax
push es
sub ah, byte [edx]
add dl, byte [edi]
jge 0x41688c
add byte [eax], al
add al, 0x2a
and al, byte [edx]
pop ss
jge 0x416895
add byte [eax], al
add al, 0x2a
add byte [ebx], bl
xor byte [edx], al
add byte [0xc000000], bh
add byte [eax], al
adc dword [edx], eax
sub byte [ecx], cl
add dword [eax], eax
push es
and eax, 0x2c280a
add byte [edx], cl
add bh, byte [ebx - 0x41]
add byte [eax], al
add al, 0x17
pop ss
add bl, dh
and al, 2
sbb byte [ebp - 0x41], bh
add byte [eax], al
add al, 0xde
pop es
push es
sub byte [edi], ch
add byte [eax], al
or bl, ah
add bh, byte [ebx - 0x45]
add byte [eax], al
add al, 2
outsd dx, dword [esi]
movsb byte es:[edi], byte [esi]
add dword [eax], eax
push es
sub eax, 0xd280206
add dword [eax], eax
push es
sub al, byte [eax]
add byte [eax], al
add dword [eax], edx
add byte [eax], al
add al, byte [eax]
or eax, 0x211400
or eax, 0x2a060001
add byte [eax], al
add byte [ecx], al
adc byte [eax], al
add byte [edx], al
add byte [0x211400], cl
pop es
add byte [eax], al
add byte [eax], al
sub al, byte [edx]
jnp 0x4168fa
add byte [eax], al
add al, 0x19
inc byte [ecx]
sub al, byte [eax]
sbb esi, dword [eax]
add al, byte [eax]
push ds
add byte [eax], al
add byte [eax + eax], cl
add byte [ecx], dl
add ch, byte [eax]
or dword [ecx], eax
add byte [esi], al
and eax, 0x2c280a
add byte [edx], cl
add dl, byte [edi]
jge 0x41691f
add byte [eax], al
add al, 0xde
pop es
push es
sub byte [edi], ch
add byte [eax], al
or bl, ah
sub al, byte [eax]
add byte [ecx], al
adc byte [eax], al
add byte [edx], al
add byte [0x160900], cl
pop es
add byte [eax], al
add byte [eax], al
push es
sub ah, byte [edx]
add al, byte [ebx]
sub byte [eax + 0x2a060000], bl
push ds
add ch, byte [eax]
wait
add byte [eax], al
push es
sub bh, byte [edx + 0x23]
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc eax
sub byte [ecx + eax], al
or al, byte [eax + 0x40000b8]
jae 0x4169e4
add dword [eax], eax
or al, byte [eax + 0x40000bd]
sub ah, dl
add ch, byte [eax]
sti
add byte [eax], al
or al, byte [edx]
add al, 0x7d
leave
add byte [eax], al
add al, 2
add ebp, dword [eax]
cld
add byte [eax], al
or al, byte [edx]
push ss
sub dh, bh
add byte [eax], al
or al, byte [edx]
push ss
sub bh, bh
add byte [eax], al
or al, byte [edx]
pop ss
sub byte [eax], al
add dword [eax], eax
or al, byte [edx]
pop ss
sub ch, bh
add byte [eax], al
or al, byte [edx]
pop ss
sub byte [ecx], al
add dword [eax], eax
or ch, byte [edx]
push ds
add bh, byte [ebx - 0x36]
add byte [eax], al
add al, 0x2a
push ds
add ch, byte [eax]