Function at 0x42a9ba
Capabilities:
Encode data using xor

Disassembly:
sub bh, byte [esi + 2]
add ebp, dword [edi + 0x1e]
add dword [eax], eax
push es
sub byte [ecx + eax], ah
push es
add al, byte [ebx]
jge 0x42a9a0
add byte [eax], al
add al, 2
jae 0x42aa08
add dword [eax], eax
push es
jge 0x42a9b0
add byte [eax], al
add al, 0x2a
or al, byte [edx]
sub bl, byte [esi]
add bh, byte [ebx - 0x11]
add byte [eax], al
add al, 0x2a
add byte [ebx], bl
xor byte [ebx], al
add byte [esi], bl
add byte [eax], al
or al, 0
add byte [ecx], dl
add bh, byte [ebx - 0x10]
add byte [eax], al
add al, 0x2d
push ebp
add ch, byte [eax]
mov byte [ecx], al
add byte [esi], al
and eax, 0x2c280a
add byte [edx], cl
add bh, byte [ebx - 0x10]
add byte [eax], al
add al, 0x2d
aaa
add dl, byte [esi]
jae 0x42aa6c
add dword [eax], eax
or bh, byte [ebp - 0xc]
add byte [eax], al
add al, 2
sub byte [ebp + 0x2060001], al
jnp 0x42a9ff
add bh, byte [ebx - 0xc]
add byte [eax], al
add al, 0x6f
jae 0x42aa12
add byte [edx], cl
add bh, byte es:[ebx - 0xc]
or ah, byte [esi]
add bh, byte [ebx - 0xc]
add byte [eax], al
add al, 0x6f
outsd dx, dword [esi]
je 0x42aa1e
add byte [edx], cl
add dl, byte [edi*2 + 0x40000f4]
add dl, byte [edi]
jge 0x42aa1a
or al, byte [edx]
adc al, 0x7d
hlt
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 [0x564100], dl
pop es
add byte [eax], al
add byte [eax], al
sbb esi, dword [eax]
add eax, dword [eax]
pop ebx
add byte [eax], al
add byte [eax + eax], cl
add byte [ecx], dl
add bh, byte [ebx - 0x10]
add byte [eax], al
add al, 0x2c
push edx
add ch, byte [eax]
mov byte [ecx], al
add byte [esi], al
and eax, 0x2c280a
sub al, 0
add byte [edx], cl
add bh, byte [ebx - 0x10]
add byte [eax], al
lock add byte [eax], al
add al, 0x2c
xor al, 2
push ss
jge 0x42aa66
add byte [eax], al
add al, 2
push ss
jae 0x42aaf2
add dword [eax], eax
or bh, byte [ebp - 0xe]
add byte [eax], al
add al, 2
pop ss
sub byte [ecx + eax + 0x122d0600], cl
add bh, byte [ebx - 0xe]
add byte [eax], al
add al, 0x20
xor byte [ebp], dh
add byte [esi], dl
outsd dx, dword [esi]
jbe 0x42aa9e
add byte [edx], cl
add ch, byte es:[eax]
or ah, byte [esi]
add ch, byte [eax]
add dword [ecx], 0
push 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]
adc eax, 0x533e00
pop es
add byte [eax], al
add byte [eax], al
sbb esi, dword [eax]
add al, byte [eax]
jb 0x42aac8
add byte [ebx], bl
xor byte [edx], al
add byte [edx + 1], dh
add byte [eax], al
push ecx
add byte [eax], al
adc dword [edx], eax
push ss
add byte [ecx], dl
add byte [ecx], dl
add dl, byte [esi]
jge 0x42aac0
add byte [eax], al
add al, 0x17
or al, byte [ebx]
cmp dword [esi], edi
add dword [eax], eax
add byte [ebx + 0x5b], dh
add dword [eax], eax
or cl, byte [ebx]
jae 0x42ab3f
add dword [eax], eax
or cl, byte [ebx + esi*2]
pop ebx
add dword [eax], eax
or cl, byte [0xf37b02]
add byte [0x2c280713], al
add byte [eax], al
or al, byte [edx]
jnp 0x42aaf2
add byte [eax], al
add al, 0x6f
push ecx
add dword [eax], eax
push es
sub al, 0x68
pop es
add bh, byte [ebx - 0xd]
add byte [eax], al
add al, 0x6f
push edx
add dword [eax], eax
push es
outsd dx, dword [esi]
push ebp
add dword [eax], eax
or ch, byte [edi + 0x77]
add dword [eax], eax
or al, byte [edi]
outsd dx, dword [esi]
pop edi
add dword [eax], eax
or dl, byte [ebx]
or byte [ebx], ch
sub dword [edx], edx
or byte [eax], ch
pushal
add dword [eax], eax
or dl, byte [ebx]
add al, 0x11
add al, 0x6f
aaa
add dword [eax], eax
push es
outsd dx, dword [esi]
cld
add byte [eax], al
push es
sub al, 0xa
or dword [ecx], edx
add al, 0x6f
or cl, byte [ecx]
adc dword [edi + ebp*2], eax
pop esp
add dword [eax], eax
or ch, byte [ebx]
or byte [eax], cl
adc dword [edi + ebp*2], eax
pop esp
add dword [eax], eax
or dl, byte [edx]
or byte [eax], ch
popal
add dword [eax], eax
or ch, byte [0x120edece]
or dh, bh
push ss
sbb byte [eax], al
add byte [ebx], bl
outsd dx, dword [esi]
inc ebx
add byte [eax], al
or bl, ah
pop es
outsd dx, dword [esi]
js 0x42ab70
add byte [edx], cl
fimul word [eax]
adc dword [edi], eax
or bl, dh
or byte [ecx], dl
pop es
sub byte [edi], ch
add byte [eax], al
or bl, ah
or byte [edi + 0x79], ch
add dword [eax], eax
or ch, byte [esp + esi]
or byte [edi + 0x5f], ch
add dword [eax], eax
or dl, byte [ebx]
or dword [ebx], ebp
adc dword [edx], edx
or dword [eax], ebp
pushal
add dword [eax], eax
or dl, byte [ebx]
add eax, 0x28051102
xchg ebx, eax
add dword [eax], eax
push es
adc cl, byte [ecx]
sub byte [ecx + 1], ah
add byte [edx], cl
sub eax, 0x120edee6
or esi, edi
push ss
sbb byte [eax], al
add byte [ebx], bl
outsd dx, dword [esi]
inc ebx
add byte [eax], al
or bl, ah
or dword [edi + 0x79], ebp
add dword [eax], eax
or ch, byte [esi + edi*2]
or dword [edi + 0x5f], ebp
add dword [eax], eax
or dl, byte [ebx]
or ch, byte [ebx]
xor al, 0x12
or ch, byte [eax]
pushal
add dword [eax], eax
or dl, byte [ebx]
push es
adc dword [esi], eax
outsd dx, dword [esi]
xor dword [ecx], eax
add byte [esi], al
sub al, 0xe
adc dword [esi], eax
outsd dx, dword [esi]
xor dword [ecx], eax
add byte [esi], al
outsd dx, dword [esi]
dec ebx
add dword [eax], eax
push es
sub edx, dword [ecx + edx]
push es
sub byte [edx + 1], al
add byte [esi], al
outsd dx, dword [esi]
xor al, byte [ecx]
add byte [esi], al
add dl, byte [ecx]
push es
sub byte [ebp + 0x12060001], cl
or ch, byte [eax]
popal
add dword [eax], eax
or ch, byte [0x120edec3]
or bh, dh
push ss
sbb byte [eax], al
add byte [ebx], bl
outsd dx, dword [esi]
inc ebx
add byte [eax], al
or bl, ah
push ss
or ch, byte [ebx]
and eax, dword [edx]
jnp 0x42ac10
add byte [eax], al
add al, 0x25
adc ecx, dword [ebx]
sub byte [eax + eax], ch
add byte [edx], cl
add bh, byte [ebx - 0xd]
add byte [eax], al
add al, 0x6f
pop eax
add dword [eax], eax
push es
fimul word [eax]
adc dword [ebx], ecx
sub byte [edi], ch
add byte [eax], al
or bl, ah
push es
sub al, byte [eax]
add byte [ecx], al
inc eax
add byte [eax], al
add al, byte [eax]
pop edx
add byte [esi], dh
nop
add byte [esi], cl
add byte [eax], al
add byte [eax], al
add al, byte [eax]
das
add byte [edi - 0x5a], dh
add byte [eax], cl
add byte [eax], al
add byte [eax], al
add al, byte [eax]
mov esi, 0xdc1e00
push cs
add byte [eax], al
add byte [eax], al
add al, byte [eax]
cli
add byte [ecx + 0x3b], al
add dword [esi], ecx
add byte [eax], al
add byte [eax], al
add al, byte [eax]
pop ebx
add dword [0x80168], ecx
add byte [eax], al
add byte [ebx], dl
xor byte [eax], cl
add byte [ecx + 0x4f000000], al
add byte [eax], al
adc dword [edx], eax
add ebp, dword [edi + 0x35]
add dword [eax], eax
push es
outsd dx, dword [esi]
pop edx
add dword [eax], eax
push es
add ebp, dword [edi + 0x37]
add dword [eax], eax
push es
outsd dx, dword [esi]
sti
add byte [eax], al
push es
outsd dx, dword [esi]
add dword ds:[eax], eax
or ch, byte [eax]
xchg byte [ecx], al
add byte [esi], al
or al, byte [esi]
sub eax, 0x24b2814
add byte [esi], al
sub al, 0x54
push ds
and byte [ebx], dl
add byte [edx], cl
add byte [edx], al
sub byte [ecx], al
add byte [esi], al
sub ch, byte [eax]
dec ecx
add al, byte [eax]
push es
sub al, 0x40
sbb byte [eax], ah
adc al, 0
or al, byte [eax]
jb 0x42ac96
or eax, dword [eax]
jo 0x42ad4b
ror dword [ebx], 1
add byte [eax + 0x18], dh
lea eax, [ebx]
add byte [eax], al
add dword [ebx], ecx
pop es
push ss
jb 0x42acd5
or al, byte [eax]
jo 0x42ac8e
pop es
pop ss
adc al, byte [eax]
sub byte [ecx], ch
add byte [eax], al
or ch, byte [eax]
pop es
add dword [eax], eax
or ah, byte [edx + 0x92807]
add byte [esi], al
jae 0x42acc3
add byte [eax], al
or al, byte [edx]
adc al, 0x28
inc ebx
add byte [eax], al
push es
sub al, byte [eax]
add byte [eax], al
sbb esi, dword [eax]
add eax, dword [eax]
jl 0x42ad17
add byte [eax], al
push edx
add byte [eax], al
adc dword [edx + ecx], edx
add bh, byte [ebx - 0xd]
add byte [eax], al
add al, 0x25
or al, 0x28
sub al, 0
add byte [edx], cl
add bh, byte [ebx - 0xd]
add byte [eax], al
add al, 0x6f
push edx
add dword [eax], eax
push es
add edx, dword [edx]
add byte [edi + 0x7a], ch
add dword [eax], eax
or ch, byte [0xde55de02]
pop es
or byte [eax], ch
das
add byte [eax], al
or bl, ah
push es
fadd qword [esi]
outsd dx, dword [esi]
xor dword [ecx], eax
add byte [esi], al
sub al, 0xe
push es
outsd dx, dword [esi]
xor dword [ecx], eax
add byte [esi], al
add al, 0x6f
dec ebp
add dword [eax], eax
push es
sub ebp, dword [edx]
push es
outsd dx, dword [esi]
aaa
add dword [eax], eax
push es
outsd dx, dword [esi]
cld
add byte [eax], al
push es
sub al, 0x15
push es
add al, 0x28
inc esp
add dword [eax], eax
push es
outsd dx, dword [esi]
xor al, byte [ecx]
add byte [esi], al
add al, byte [esi]
sub byte [ebp + 0x2b060001], ah
or byte [edx], al
push es
add al, 0x28
pop dword [ecx]
add byte [esi], al
fimul word [edx]
or eax, dword [edx]
pop es
sub byte [ecx - 0x21f9ffff], ch
add byte [edx], ch
add dword [eax + eax], ebx
add byte [edx], al
add byte [edi], cl
add byte [ecx], bl
sub byte [eax], al
pop es
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
jno 0x42ae20
add byte [edx], cl
sbb eax, dword [eax]
add byte [ecx], al
sbb esi, dword [eax]
add eax, dword [eax]
push ecx
add byte [eax], al
add byte [ebx], dl
add byte [ecx], dl
add bh, byte [ebx - 0xd]
add byte [eax], al
add al, 0x25
or ebp, dword [eax]
sub al, 0
add byte [edx], cl
add bh, byte [ebx - 0xd]
add byte [eax], al
add al, 0x6f
push ebx
add dword [eax], eax
push es
add al, 0x12
add byte [edi + 0x50], ch
add dword [eax], eax
or ch, byte [0x62cde02]
add ebp, dword [edi + 0x35]
add dword [eax], eax
push es
sbb al, byte cs:[ebx]
outsd dx, dword [esi]
xor eax, 0x3060001
outsd dx, dword [esi]
pop ebp
add dword [eax], eax
push es
push es
add ebp, dword [edi + 0x5c]
add dword [eax], eax
push es
add eax, dword [esi]
outsd dx, dword [esi]
cmp al, byte [ecx]
add byte [esi], al
fiadd word [edi]
pop 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, 0x493c00
pop es
add byte [eax], al
add byte [eax], al
sbb esi, dword [eax]
add al, byte [eax]
je 0x42ae2b
add byte [eax], al
push edx
add byte [eax], al
adc dword [edx + ecx], edx
add bh, byte [ebx - 0xd]
add byte [eax], al
add al, 0x25
or al, 0x28
sub al, 0
add byte [edx], cl
add bh, byte [ebx - 0xd]
add byte [eax], al
add al, 0x6f
push edx
add dword [eax], eax
push es
add ebp, dword [edi + 0x7b]
add dword [eax], eax
or cl, byte [edx]
fiadd word [edi]
or byte [eax], ch
das
add byte [eax], al
or bl, ah
push es
outsd dx, dword [esi]
xor dword [ecx], eax
add byte [esi], al
sub al, 0xd
push es
outsd dx, dword [esi]
xor dword [ecx], eax
add byte [esi], al
outsd dx, dword [esi]
dec ebx
add dword [eax], eax
push es
sub ebp, dword [eax]
push es
outsd dx, dword [esi]
aaa
add dword [eax], eax
push es
outsd dx, dword [esi]
cld
add byte [eax], al
push es
sub al, 0x14
push es
sub byte [edx + 1], al
add byte [esi], al
outsd dx, dword [esi]
xor al, byte [ecx]
add byte [esi], al
add al, byte [esi]
sub byte [ebp + 0x2b060001], ah
pop es
add al, byte [esi]
sub byte [ecx - 0x21f9ffff], dl
or cl, byte [ebx]
add al, byte [edi]
sub byte [ecx - 0x21f9ffff], ch
add byte [edx], ch
add dword [eax + eax], ebx
add byte [edx], al
add byte [edi], cl
add byte [ebx], dl
add byte [edi], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
imul ebp, dword [ecx], 0x1b0a
add dword [edx], esp
add al, byte [ebx]
sub byte [ebx + 0x2a060001], dl
add byte [eax], al
add byte [ebx], dl
xor byte [ebx], al
add byte [ebx + 0x54000000], cl
add byte [eax], al
adc dword [ebx], eax
outsd dx, dword [esi]
xor dword [ecx], eax
add byte [esi], al
outsd dx, dword [esi]
inc edi
add dword [eax], eax
push es
sub al, 0x12
add al, byte [ebx]
add ebp, dword [edi + 0x31]
add dword [eax], eax
push es
outsd dx, dword [esi]
inc edi
add dword [eax], eax
push es
sub byte [edi + 0x3060001], cl
outsd dx, dword [esi]
xor dword [ecx], eax
add byte [esi], al
outsd dx, dword [esi]
inc esi
add dword [eax], eax
push es
sub al, 0x11
add eax, dword [ebx]
outsd dx, dword [esi]