Function at 0x4299f0
Capabilities:
Encode data using xor

Disassembly:
add byte [edx], cl
jne 0x429a17
add byte [eax], al
add ch, byte [edx]
push ds
add bh, byte [ebx - 0x40]
add byte [eax], al
add al, 0x2a
or dl, byte [edi]
sub al, byte [eax]
add byte [ebx], al
xor byte [edx], al
add byte [eax], bl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add ch, byte [eax]
test byte [eax], al
add byte [esi], al
sub al, 0x4e
add bh, byte [ebx - 0x46]
add byte [eax], al
add al, 0x2c
inc esi
add bh, byte [ebx - 0x41]
add byte [eax], al
add al, 0x2c
add bh, byte ds:[ebx - 0x45]
add byte [eax], al
add al, 0x6f
mov dword [ecx], eax
add byte [esi], al
sub al, 0x31
add ch, byte [eax]
test dword [eax], eax
add byte [esi], al
pop ss
xor eax, dword [edi]
sub byte [edx], ah
add byte [eax], al
push es
sub al, 0x10
add ch, byte [eax]
test dword [eax], eax
add byte [esi], al
sbb byte [ebx], dh
sbb byte [eax], ch
and eax, dword [eax]
add byte [esi], al
sub eax, 0xb97b0211
add byte [eax], al
add al, 0x6f
xor eax, 0x6f060001
pop ebx
add dword [eax], eax
push es
sub dl, byte [esi]
sub bl, byte [ebx]
xor byte [ebx], al
add byte [edx], al
add byte [eax], al
inc edx
add byte [eax], al
adc dword [edx], eax
sub byte [ecx], cl
add dword [eax], eax
push es
and eax, 0x2c280b
add byte [edx], cl
add ah, byte [0xc17b]
add al, 0x17
pop eax
jge 0x429a4e
add byte [eax], al
add al, 2
jnp 0x429a54
add byte [eax], al
add al, 0x1c
xor byte [esi + edx], al
or bl, dh
sbb byte [edx], al
push ss
jge 0x429a62
add byte [eax], al
add al, 0xde
pop es
pop es
sub byte [edi], ch
add byte [eax], al
or bl, ah
add ch, byte [eax]
or eax, 0x17060001
sub al, byte [esi]
push es
sub al, byte [eax]
add byte [ecx], al
adc byte [eax], al
add byte [edx], al
add byte [0x312400], cl
pop es
add byte [eax], al
add byte [eax], al
sbb esi, dword [eax]
push es
add byte [ebx], bl
add byte [eax], al
or al, 0
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 [esi]
jge 0x429aa5
add byte [eax], al
add al, 2
pop ss
sub byte [edx + 0x2060000], cl
jnp 0x429ab5
add byte [eax], al
add al, 0x2d
push ds
add al, byte [edx]
inc byte [esi]
push cs
add dword [eax], eax
push es
jae 0x429b77
add byte [eax], al
or al, byte [edx]
pop ss
and byte [eax + 0x73000013], cl
inc eax
add dword [eax], eax
or bh, byte [ebp - 0x3e]
add byte [eax], al
add al, 2
jnp 0x429adb
add byte [eax], al
add al, 0x7e
mov eax, 0x6f040000
inc ecx
add dword [eax], eax
or bl, dh
pop es
fiadd word [edi]
push es
sub byte [edi], ch
add byte [eax], al
or bl, ah
sub al, byte [eax]
add dword [eax], edx
add byte [eax], al
add al, byte [eax]
or eax, 0x534600
pop es
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
and eax, 0x2c280a
add byte [edx], cl
add dl, byte [edi]
jge 0x429b1d
add byte [eax], al
add al, 2
push ss
jge 0x429b26
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
pop es
add byte [eax], al
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
add byte [esi], al
and eax, 0x2c280a
add byte [edx], cl
add bh, byte [ebx - 0x41]
add byte [eax], al
add al, 0x2d
add bl, dh
xor al, byte [edx]
jnp 0x429b6a
add byte [eax], al
add al, 0x18
xor ecx, dword [edx]
add ch, byte [eax]
or al, 1
add byte [esi], al
sub al, 2
ficomp word [edi]
pop ds
add dl, byte [edi]
jge 0x429b7e
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 0x429bba
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 0x429bd8
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 0x429c37
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 0x429c65
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 0x429c92
add byte [eax], al
add al, 0x2a
and al, byte [edx]
pop ss
jge 0x429c9b
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 0x429d00
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 0x429d25
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 0x429dea
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]
inc ebp
add dword [eax], eax
or ch, byte [edx]
push ds
add bh, byte [ebx - 0x37]
add byte [eax], al
add al, 0x2a
and al, byte [ebx]
add al, 0x73
add eax, dword [ecx]
add byte [esi], al
sub bl, byte [esi]
add ebp, dword [eax]
or byte [ecx], al
add byte [esi], al
push es
sub ch, byte [esi + 0x28]
dec ebx
add al, byte [eax]
push es
sub al, 0xc
push ds
and byte [ecx], dl
add byte [ecx], cl
add byte [edx], al
sub byte [ecx], al
add byte [esi], al
add dl, byte [esi]
jge 0x429dfb
add byte [eax], al
add al, 0x2a
outsb dx, byte [esi]
sub byte [ebx + 2], cl
add byte [esi], al
sub al, 0xc
push ds
and byte [edx], dl
add byte [ecx], cl
add byte [edx], al
sub byte [ecx], al
add byte [esi], al
add dl, byte [edi]
jge 0x429e17
add byte [eax], al
add al, 0x2a
sub byte [eax], 0x4b
add al, byte [eax]
push es
sub al, 0xc
push ds
and byte [ebx], dl
add byte [ecx], cl
add byte [edx], al
sub byte [ecx], al
add byte [esi], al
add ch, byte [eax]
add dword cs:[eax], eax
push es
add ch, byte [eax]
add eax, dword [ecx]
add byte [edx], cl
sub ch, byte [edx + 0x28]
dec ebx
add al, byte [eax]
push es
sub al, 0xc
push ds
and byte [edi], dl
add byte [ecx], cl
add byte [edx], al
sub byte [ecx], al
add byte [esi], al
add ch, byte [eax]
add dword cs:[eax], eax
push es
sub ch, byte [edx + 0x28]
dec ebx
add al, byte [eax]
push es
sub al, 0xc
push ds
and byte [0x2000900], dl
sub byte [ecx], al
add byte [esi], al
add ch, byte [eax]
sub eax, 0x2a060001
add byte [ebx], al
xor byte [ebx], al
add byte [eax], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
sub byte [eax + eax], ah
and al, 0
add byte [esi], al
sub eax, 0x321f0222
sub byte [esi + 1], al
add byte [edx], cl
add bl, byte [edi]
xor ch, byte [eax]
inc esi
add dword [eax], eax
or ch, byte [eax]
add al, byte ds:[eax]
sub byte [esi], bh
add al, byte [eax]
push es
jb 0x429ec4
or dword [eax], eax
jo 0x429ef7
or al, byte [eax]
add byte [esi], al
jae 0x429f1c
add dword [eax], eax
or ch, byte [edi + 0x33]
add byte [eax], al
or bh, byte [edx + 2]
push ss
jge 0x429eac
add byte [eax], al
add al, 2
add dh, byte [ebx - 0x79]
add dword [eax], eax
push es
xchg dword [ecx], eax
add byte [esi], al
jge 0x429eb6
add byte [eax], al
add al, 2
jnp 0x429ebc
add byte [eax], al
add al, 0x6f
outsd dx, dword [esi]
test dword [ecx], eax
add byte [esi], al
sub dh, byte [edx]
add bh, byte [ebx - 0x38]
add byte [eax], al
add al, 0x6f
mov eax, dword [ecx]
add byte [esi], al
sub bl, byte [esi]
add ch, byte [eax]
add eax, dword [ecx]
add byte [edx], cl
sub dh, byte [edx + 0x202802]
add byte [edx], cl
add al, byte [ebx]
jge 0x429ee8
retf
add byte [eax], al
add al, 2
add al, 0x7d
iretd