Function at 0x417e24
Capabilities:
Encode data using xor

Disassembly:
pop es
or dword [ebx + edx*2 + 0x6b], edx
imul ebp, dword [esi + 0x45], 0xa8746964
jnp 0x417c5b
add al, cl
inc ecx
add byte [edx], al
add byte [ebx], cl
push edi
imul ebp, dword [esi + 0x53], 0x6c436275
popal
jae 0x417ca0
add byte [eax], al
nop
jl 0x417cae
inc 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 al, ah
jl 0x417c84
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, dl
jl 0x417c94
add byte [eax + 0x8000000], bl
inc ecx
add byte [eax], bh
mov ch, 0x44
add byte [eax + 0xd], cl
inc esi
add byte [eax - 0x52], bh
inc esp
add byte [eax + 0xd], dl
inc esi
add byte [ebp + ecx + 0x46], al
inc esi
add byte [edx + ecx + 0xaa80046], cl
inc esi
add byte [eax - 0x75], bh
inc ecx
add al, bh
clc
xor eax, 0xb12c0044
inc esp
add byte [esi - 0x4dfbffbc], dl
adc al, 0x35
inc esp
add byte [edx + esi*4], al
inc esp
add al, dl
mov al, 0x44
add byte [edx + esi*4], dl
inc esp
add byte [ebx + esi*4], cl
or al, 0xb3
inc esp
add byte [eax - 0x4b], dl
inc esp
add byte [edx + esi*4], ah
inc esp
add byte [edx + esi*4], bl
sbb al, 0xb2
inc esp
add byte [eax - 0x4b], bl
inc esp
add byte [eax - 0x79], ch
inc ecx
add byte [eax + ecx*4], dl
inc ecx
add byte [ecx + ecx*4 - 0x74fbffbf], bl
inc ecx
add byte [eax - 0x58], bl
inc edx
add byte [eax + 0x7c004192], cl
mov es, word [ecx]
jl 0x417c6e
inc edx
add byte [ebx + ecx*4], bh
inc ecx
add byte [ebx + edx*4 + 0x540a0041], cl
push ebx
imul ebp, dword [ecx + 0x6e], 0x53
imul edi, dword [edx + 0x65], 0x7ce09072
inc ecx
add byte [edi], al
pop es
or dl, byte [ebx + edx*2 + 0x6b]
imul ebp, dword [esi + 0x53], 0x72657a69
jl 0x417d6a
inc ecx
add al, cl
inc ecx
add byte [edx], al
add byte [ebx], cl
push edi
imul ebp, dword [esi + 0x53], 0x6c436275
popal
jae 0x417d75
add byte [eax], al
push eax
jge 0x417d48
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 [ebp + edi*2 + 0x41], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
movsb byte es:[edi], byte [esi]
jge 0x417d68
add byte [eax + 0x8000000], bl
inc ecx
add byte [eax], bh
mov ch, 0x44
add byte [eax + 0xd], cl
inc esi
add byte [eax - 0x52], bh
inc esp
add byte [eax + 0xd], dl
inc esi
add byte [ebp + ecx + 0x46], al
add byte [edx + ecx + 0xaa80046], cl
test al, 0xa
inc esi
add byte [eax - 0x75], bh
inc ecx
add al, bh
clc
xor eax, 0xb12c0044
inc esp
add byte [esi - 0x4dfbffbc], dl
inc esp
add al, dl
mov al, 0x44
add byte [edx + esi*4], dl
inc esp
add byte [ebx + esi*4], cl
or al, 0xb3
inc esp
add byte [eax - 0x4b], dl
inc esp
add byte [edx + esi*4], ah
inc esp
add byte [edx + esi*4], bl
inc esp
mov dl, 0x44
add byte [eax - 0x4b], bl
inc esp
add byte [eax - 0x79], ch
inc ecx
add byte [eax + ecx*4], dl
inc ecx
add byte [ecx + ecx*4 - 0x74fbffbf], bl
inc ecx
add ah, cl
test eax, 0x92880042
inc ecx
add byte [esi + ecx*4 + 0x41], bh
add byte [ebx + edx*4 + 0x41], ch
add byte [ebx + ecx*4], bh
inc ecx
add byte [ebx + edx*4 + 0x54090041], cl
push ebx
imul ebp, dword [ecx + 0x6e], 0x42
outsd dx, dword [esi]
js 0x417df6
nop
nop
mov ah, 0x7d
inc ecx
add byte [edi], al
pop es
or dword [ebx + edx*2 + 0x6b], edx
imul ebp, dword [esi + 0x42], 0x5048786f
jge 0x417e03
add al, cl
inc ecx
add byte [edx], al
add byte [ebx], cl
push edi
imul ebp, dword [esi + 0x53], 0x6c436275
popal
jae 0x417e48
add byte [eax], al
nop
and al, 0x7e
inc 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 [esi + edi*2 + 0x41], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
js 0x417e78
inc ecx
add byte [eax + 0x8000000], bl
inc ecx
add byte [eax], bh
mov ch, 0x44
add byte [eax + 0xd], cl
inc esi
add byte [eax - 0x52], bh
inc esp
add byte [eax + 0xd], dl
inc esi
add byte [ebp + ecx + 0x46], al
add byte [edx + ecx + 0xaa80046], cl
inc esi
add byte [eax - 0x75], bh
inc ecx
add al, bh
clc
xor eax, 0xb12c0044
inc esp
add byte [esi - 0x4dfbffbc], dl
inc esp
add al, dl
mov al, 0x44
add byte [edx + esi*4], dl
inc esp
add byte [ebx + esi*4], cl
inc esp
add byte [eax - 0x4b], dl
inc esp
add byte [edx + esi*4], ah
inc esp
add byte [edx + esi*4], bl
sbb al, 0xb2
inc esp
add byte [eax - 0x4b], bl
inc esp
add byte [eax - 0x79], ch
inc ecx
add byte [eax + ecx*4], dl
inc ecx
add byte [ecx + ecx*4 - 0x74fbffbf], bl
inc ecx
add byte [eax], dh
test eax, 0x92880042
inc ecx
add byte [esi + ecx*4 + 0x41], bh
add al, cl
test al, 0x42
add byte [ebx + ecx*4], bh
inc ecx
add byte [ebx + edx*4 + 0x540d0041], cl
push ebx
imul ebp, dword [ecx + 0x6e], 0x54
or eax, 0x696b5354
outsb dx, byte [esi]
push esp
popal
bound edx, qword [ebx + 0x68]
je 0x417e17
nop
invalid