Function at 0x41171c
Capabilities:
Encode data using xor

Disassembly:
and ah, byte [ebx]
and al, 0x25
add byte es:[edi], ah
sub byte [ecx], ch
sub ch, byte [ebx]
sub al, 0x2d
das
xor byte [eax], al
xor dword [edx], esi
xor esi, dword [esi]
add byte [eax], al
add byte [esi], dh
aaa
cmp byte [ecx], bh
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 [edx], bh
cmp eax, dword [eax]
add byte [eax], al
add byte [ebx], cl
sub bh, byte [0x8774614f]
cdq
stosd dword es:[edi], eax
mov ebp, 0
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 al, byte [ebx]
add byte [eax + 0x9080706], al
or cl, byte [ebx]
add byte [ecx + 0x100f000e], cl
adc dword [edx], edx
adc edx, dword [edx + 0x19181716]
sbb bl, byte [ebx]
sbb al, 0x1d
push ds
pop ds
and byte [ecx], ah
and ah, byte [ebx]
and al, 0x25
add byte [esi], ah
daa
sub byte [ecx], ch
sub ch, byte [ebx]
sub al, 0x2d
das
add byte [eax], dh
xor dword [edx], esi
xor esi, dword [eax + eax]
add byte [eax], al
add byte [0x38373600], dh
cmp dword [edx], edi
add byte [eax], al
cmp edi, dword [eax + eax]
cmp eax, 0x3f3e
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc eax
inc ecx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx], al
inc ebx
inc esp
add byte [eax], al
add byte [eax], al
or al, 0x2b
push eax
bound esi, qword [ebp - 0x78]
lcall 0, 0xbeac
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 al, 2
add ah, byte [edi + esi*2 - 0x45]
mov ebx, 0x2ed88bc
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx + 1], cl
dec ecx
add dword [eax], eax
add byte [ecx + 1], cl
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [eax], eax
add byte [ecx + 1], cl
dec ecx
add dword [ecx + 1], ecx
add byte [eax], al
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [eax], eax
add byte [ecx + 1], cl
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx + 1], cl
dec ecx
add dword [ecx + 1], ecx
xchg edx, eax
add bh, bh
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [ecx + 1], cl
dec ecx
add dword [ecx + 1], ecx
add byte [eax], al
dec ecx
add dword [ecx + 1], ecx
dec ecx
add dword [ecx], eax
add dword [eax], eax
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 [ecx + 1], cl
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
dec ecx
add dword [ecx + 1], ecx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
dec edx
add dword [edx + 1], ecx
dec edx
add dword [edx + 1], ecx
dec edx
add dword [edx + 1], ecx
dec edx
add dword [edx + 1], ecx
dec edx
add dword [edx + 1], 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
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
dec ebx
add dword [ebx + 1], ecx
add byte [eax], al
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [eax], eax
add byte [eax], al
add byte [ebx + 1], cl
dec ebx
add dword [ebx + 1], ecx
add byte [eax], al
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [eax], eax
add byte [ebx + 1], cl
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
add byte [eax], al
dec ebx
add dword [ebx + 1], ecx
add byte [eax], al
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx + 1], cl
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
add byte [eax], al
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [eax], eax
add byte [ebx + 1], cl
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [eax], eax
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 [ebx + 1], cl
add byte [eax], al
dec ebx
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx + 1], cl
add byte [eax], al
dec ebx
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx + 1], cl
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [ebx + 1], ecx
dec ebx
add dword [eax], eax
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 [edx], al
add eax, dword [eax]
add al, 5
push es
pop es
or byte [ecx], cl
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 al, byte [ebx]
add byte [eax + 0x9080706], al
or cl, byte [ebx]
add byte [ecx + 0x100f000e], cl
adc dword [edx], edx
adc edx, dword [edx + 0x19181716]
sbb bl, byte [ebx]
sbb al, 0x1d
push ds
pop ds
and byte [ecx], ah
and ah, byte [ebx]
and al, 0x25
add byte [esi], ah
daa
sub byte [ecx], ch
sub ch, byte [ebx]
sub al, 0x2d
das
xor byte [ecx], dh
xor dh, byte [ebx]
xor al, 0x35
add byte [eax], al
add byte [eax], al
aaa
cmp byte [eax], al
add byte [eax], al
add byte [eax], al
cmp dword [edx], edi
cmp eax, dword [eax]
cmp al, 0x3d
add byte ds:[eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
aas
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc eax
inc ecx
add byte [eax], al
add byte [eax], al
or eax, 0x63513f2c
jbe 0x4119b2
wait
lodsd eax, dword [esi]
mov edi, 0
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 al, byte [ebx]
add byte [eax + 0x9080706], al
or al, byte [eax]
add byte [ebx], cl
or al, 0xd
add byte [esi], cl
movups xmm2, xmmword [ecx]
adc dl, byte [ebx]
adc al, 0x15
push ss
pop ss
sbb byte [ecx], bl
sbb bl, byte [ebx]
sbb al, 0x1d
push ds
pop ds
and byte [ecx], ah
and ah, byte [ebx]
and al, 0
and eax, 0x29282726
sub ch, byte [ebx]
add byte [ebp + 0x302f2e00], ch
xor dword [edx], esi
add byte [eax], al
add byte [eax], al
xor esi, dword [esi + 0x39383736]
add byte [edx], bh
cmp edi, dword [eax + eax]
cmp eax, 0x403f3e
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc ecx
add byte [edx], al
add byte [eax], al
add byte [eax], al
add byte [ebx], al
inc esp
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc ebp
inc esi
inc edi
dec eax
dec ecx
dec edx
dec ebx
dec esp
dec ebp
dec esi
dec edi
push eax
push ecx
push edx
push ebx
push esp
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx + eax], al
add ch, byte [edx + 0x6c]
rol cl, 0xc1
xchg esi, eax
add al, byte [esi]
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [ecx + eax + 0x4c], cl
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ecx + eax + 0x4c], ecx
add dword [ebp + 1], ecx
dec ebp
add dword [ebp + 1], ecx
dec ebp
add dword [ebp + 1], ecx
dec ebp
add dword [ebp + 1], ecx
dec ebp
add dword [ebp + 1], ecx
dec ebp
add dword [ebp + 1], ecx
dec ebp
add dword [ebp + 1], ecx
dec ebp
add dword [ebp + 1], ecx
dec ebp
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edi], al
add byte [esi + 1], cl
dec esi
add dword [esi + 1], ecx
dec esi
add dword [esi + 1], ecx
dec ebp
add dword [ebp + 1], ecx
inc ebx
add dword [edx + 0xff00], edx
add dword [ecx], eax
add dword [edi + 1], ecx
add al, byte [ecx]
dec ebp
add dword [ebp + 1], ecx
push eax
add dword [eax + 1], edx
push eax
add dword [eax + 1], edx
push eax
add dword [eax + 1], edx
push eax
add dword [eax + 1], edx
push eax
add dword [eax + 1], edx
dec ebp
add dword [ebp + 1], 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
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
dec esi
add dword [esi + 1], ecx
dec esi
add dword [esi + 1], ecx
dec esi
add dword [eax], eax
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 [ecx + 1], dl
push ecx
add dword [eax], eax
add byte [ecx + 1], dl
add byte [eax], al
add byte [eax], al
push ecx
add dword [ecx + 1], edx
add byte [eax], al
push ecx
add dword [eax], eax
add byte [eax], al
add byte [ecx + 1], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
push ecx
add dword [ecx + 1], edx
push ecx
add dword [ecx + 1], edx
add byte [eax], al
push ecx
add dword [ecx + 1], edx
push ecx
add dword [ecx + 1], edx
push ecx
add dword [ecx + 1], edx
push ecx
add dword [eax], eax
add byte [ecx + 1], dl
push ecx
add dword [ecx + 1], edx
add byte [eax], al
push ecx
add dword [eax], eax
add byte [ecx + 1], dl
add byte [eax], al
add byte [eax], al
push ecx
add dword [ecx + 1], edx
add byte [eax], al
push ecx
add dword [ecx + 1], edx
push ecx
add dword [ecx + 1], edx
xchg edx, eax
add byte [ecx + 1], dl
push ecx
add edi, edi
add byte [eax], al
add dword [ecx], eax
add dword [edx], eax
add dword [ebx], eax
add dword [ecx + eax], eax
add byte [eax], al
add eax, 0x51010601
add dword [eax], eax
add byte [eax], al
add byte [ecx + 1], dl
push ecx
add dword [ecx + 1], edx
push ecx
add dword [ecx + 1], edx
add byte [eax], al
push ecx
add dword [eax], eax
add byte [esi], ah
xchg dword [eax], eax
lea eax, [eax]
pop es
add dword [eax + 0x8e00], ecx
add byte [eax], al
add byte [edx + 1], dl
push edx
add dword [edx + 1], edx
push edx
add dword [edx + 1], edx
push edx
add dword [edx + 1], edx
push edx
add dword [edx + 1], edx
push edx
add dword [eax], eax
add byte [eax], al
add byte [ecx + 1], dl
push ecx
add dword [eax], eax
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 [ecx + 1], dl
push ecx
add dword [ecx + 1], edx
push ecx
add dword [ecx + 1], edx
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 [edi], al
add byte [eax], al
add byte [eax], al
push edx
add dword [edx + 1], edx
push edx
add dword [edx + 1], edx
push edx
add dword [edx + 1], edx
push edx
add dword [edx + 1], edx
push edx
add dword [edx + 1], edx
add byte [eax], al
add byte [eax], al
push ecx
add dword [ecx + 1], edx
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
push ecx
add dword [ecx + 1], edx
push ecx
add dword [ecx + 1], edx
push ecx
add dword [eax], eax
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
pop es
or eax, 0x251f1913
sub esi, dword [ecx]
aaa
cmp eax, 0x554f4943
pop ebx
popal
insd dword es:[di], dx
jae 0x411d5a
jg 0x411c68
mov edx, dword [ecx - 0x565c6269]
scasd eax, dword es:[edi]
mov ch, 0xbb
rol edi, 0xcd
rcr ecx, cl
invalid
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 al, byte [ebx]
add al, 5
push es
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 al, byte [ebx]
add byte [eax + eax], al
add byte [0x70006], al
add byte [eax], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
or dword [edx], ecx
or ecx, dword [eax + eax]
or eax, 0x11100f0e
adc dl, byte [ebx]
add byte [edx + 0x170016], dl
sbb byte [eax], al
add byte [ecx], bl
sbb al, byte [eax]
sbb ebx, dword [ebx + 0x201f001e]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], ah
add byte [eax], al
and ah, byte [ebx]
and al, 0x25
add byte es:[edi], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edi], cl
inc ecx
push ebx
js 0x411d2e
popfd
scasd eax, dword es:[edi]
rol dword [eax], 0
sub byte [ecx], ch
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
sub ch, byte [ebx]
sub al, 0x2d
add byte cs:[eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx + eax], al
add ah, byte [edx + edi*2 - 0x3e]
ret