Function at 0x41ed68
Capabilities:
Encode data using xor

Disassembly:
add byte [eax + 0x14004228], dl
sub eax, 0x2a280042
inc edx
add byte [eax], bl
jne 0x41e8c8
add byte [esi], cl
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
inc ecx
add byte [eax], bl
add byte [eax], al
add byte [edx], al
add ch, bh
invalid
inc ecx
add byte [eax], al
add byte [eax], cl
inc edi
jb 0x41e931
jo 0x41e93a
imul esp, dword [ebx + 0x73], 0x24900000
jmp 0x41e91f
add byte [eax], dl
xor dword [eax], eax
pop esp
sub dword [eax], eax
or al, 0x54
push ebx
push 0x64657261
dec ecx
insd dword es:[edi], dx
popal
lea eax, gs:[bx + si]
test cl, ch
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 [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 + 0x240041e9], cl
add byte [eax], al
add al, bl
call 0x33a9e9a7
inc eax
add byte [ebx + esi + 0x40], dh
add byte [eax + 0x33], bh
inc eax
add byte [ebx + esi + 0x40], bh
add byte [eax + 0x33], dh
inc eax
add byte [eax - 0x2bffbfd0], bh
xor byte [eax], al
nop
sub eax, 0x2dcc0042
inc edx
add byte [esi], cl
push esp
dec ebp
je 0x41e9ef
imul bp, word [ebp + 0x49], 0x616d
nop
in al, 0xe9
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 [eax - 0x16], bl
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 [eax - 0x16], cl
inc ecx
add byte [eax], dh
add byte [eax], al
add al, bl
out 0x41, al
add byte [eax + 0x33], ch
inc eax
add byte [eax + 0x78004174], cl
xor eax, dword [eax]
jl 0x41ea05
inc eax
add byte [eax + 0x33], dh
inc eax
add byte [eax - 0x2bffbfd0], bh
xor byte [eax], al
sbb byte [esi], ch
inc edx
add al, cl
jae 0x41ea28
add ah, bh
pop ds
inc edx
add byte [eax + 0x2e], cl
inc edx
add byte [eax], bl
jne 0x41ea34
add byte [edi + ebx + 0x2edc0042], cl
inc edx
add byte [eax + 0x20], cl
inc edx
add byte [edi + ebp + 0x42], ch
add byte [edi + ebp + 0x42], dh
das
inc edx
add al, bl
das
inc edx
add byte [ecx + 0x30640042], dl
inc edx
add byte [ecx + esi + 0x42], al
add al, ah
xor al, 0x42
add byte [eax + 0x22], bh
inc edx
add ah, cl
xor eax, 0x35d00042
inc edx
add byte [eax], ch
aaa
sub byte [edi], dh
inc edx
add al, dl
sub eax, 0x21980042
inc edx
add byte [eax], al
xor al, 0x42
add byte [edx + eax*2], dh
add al, cl
xor byte [edx], al
les esi, [edx + eax*2]
add byte [ecx + edi + 0x42], bh
add byte [eax], al
cmp al, byte [edx]
or dword [ebp + ecx*2 + 0x65], edx
je 0x41eaaf
imul bp, word [ebp - 0x75], 0x58c0
ljmp 0x4d54
add byte [ebx + esi + 0x40], bh
add byte [eax + 0x33], dh
inc eax
add byte [eax - 0x2bffbfd0], bh
xor byte [eax], al
adc byte [esi], bh
inc edx
add byte [esi + edi + 0x42], ch
add byte [esp + edx*2], cl
inc edx
imul esi, dword [ebp + ebp*2 + 0x61], 0x616d4970
lea eax, gs:[bx + si]
and al, 0xeb
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 [eax + 0x41eb], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx + ebp*8 + 0x3c0041], dl
add byte [eax], al
fsub st(6)
inc ecx
add byte [eax + 0x33], ch
inc eax
add byte [eax + 0x78004174], cl
xor eax, dword [eax]
jl 0x41eb45
inc eax
add byte [eax + 0x33], dh
inc eax
add byte [eax - 0x2bffbfd0], bh
xor byte [eax], al
cld
dec eax
inc edx
add al, cl
jae 0x41eb68
add ah, bh
pop ds
inc edx
add byte [eax], bh
dec ecx
inc edx
add byte [eax], bl
jne 0x41eb74
add byte [ebx + ecx*2], cl
inc edx
add byte [ebx + ecx*2 + 0x20480042], cl
inc edx
add byte [eax + 0x4e], al
inc edx
add ah, dh
dec esi
inc edx
add byte [edi + ecx*2], dh
inc edx
add byte [ecx + 0x507c0042], dl
inc edx
add byte [eax + 0x54], ch
inc edx
add byte [esp + ebx*2 + 0x42], ah
add byte [eax], bh
pop ebp
inc edx
add byte [edx + 0x42], bh
add byte [edi + ebx*2 + 0x42], dh
add al, cl
pop edi
inc edx
add byte [eax + ecx*2 + 0x21980042], dl
inc edx
add byte [eax], ah
enter 0x425f, 0
xchg esp, eax
dec eax
inc edx
add byte [eax + 0x20004221], bl
and byte [edx], ah
inc edx
add byte [ebx + edx*2 + 0x42], al
and al, byte [edx]
inc esp
push ebx
inc edx
add byte [eax - 0x3fffbd9e], cl
push edx
inc edx
add byte [eax - 0x5bffbd9e], dl
dec esi
inc edx
add byte [edi + ecx*2], al
inc edx
add byte [ebx + ebx*2], ch
inc edx
add byte [edi], al
push esp
inc edx
imul esi, dword [ebp + ebp*2 + 0x61], 0x41eba070
add byte [edi], al
pop es
push esp
inc edx
imul esi, dword [ebp + ebp*2 + 0x61], 0x41eb2470
add byte [edi + 0x41], bl
or byte [edi + 0x72], al
popal
jo 0x41ec21
imul esp, dword [ebx + 0x73], 0xc08b0000
or al, 0xec
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 [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], dl
in al, dx
inc ecx
add byte [eax], bl
add byte [eax], al
add al, bl
call 0x33a9ec2f
inc eax
add byte [ebx + esi + 0x40], dh
add byte [eax + 0x33], bh
inc eax
add byte [ebx + esi + 0x40], bh
add byte [eax + 0x33], dh
inc eax
add byte [eax - 0x2bffbfd0], bh
xor byte [eax], al
xor byte [ebx + 0x42], ah
add byte [eax + 0x63], ah
inc edx
add byte [edx], cl
push esp
dec ecx
arpl word [edi + 0x6e], bp
dec ecx
insd dword es:[edi], dx
popal
nop
push 0x41ec
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, bl
in al, dx
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 ah, cl
in al, dx
inc ecx
add byte [eax + eax], dh
add byte [eax], al
fsub st(6)
inc ecx
add byte [eax + 0x33], ch
inc eax
add byte [eax + 0x78004174], cl
xor eax, dword [eax]
jl 0x41ec89
inc eax
add byte [eax + 0x33], dh
inc eax
add byte [eax - 0x2bffbfd0], bh
xor byte [eax], al
int3
inc edx
add byte [eax - 0x6bffbddf], dl
and dword [edx], eax
fsub qword [edx + eax*2]
adc al, 0x22
inc edx
add byte [eax + 0x67], ah
inc edx
add byte [eax + 0x22], bh
inc edx
add byte [eax + 0x67], bh
inc edx
add byte [edi + 0x42], bh
add byte [edx + 0x63780042], cl
inc edx
add byte [eax + 0x20004221], bl
and al, byte [edx]
sbb al, 0x66
inc edx
add byte [edi + 0x67bc0042], dl
inc edx
add al, dl
inc edx
add byte [0x6f634954], al
outsb dx, byte [esi]
mov eax, eax
fsubr st(4)
inc ecx
add byte [edi], al
add eax, 0x6f634954
outsb dx, byte [esi]
push 0x9c0041ec
out 0x41, eax
add byte [eax], al
add byte [eax], cl
inc edi
jb 0x41ed4e
jo 0x41ed57
imul esp, dword [ebx + 0x73], 0xc0850000
add byte [ebp + 0x3b0e74c0], al
add eax, 0x46c890
je 0x41ed06
cmp eax, dword [0x46c890]
je 0x41ed06
push eax
call sub.gdi32.dll_DeleteObject
ret
inc eax
add byte [eax + 0x100041ed], bh
push esp
push edx
jae 0x41edc9
jne 0x41edce
arpl word [ebp + 0x4d], sp
popal
outsb dx, byte [esi]
popal
jb 0x41ecf3
inc eax
add byte [ecx + 0x31c289d1], cl
mov ecx, edx
mov edx, eax
xor eax, eax
rol ax, 5
xor al, byte [edx]
inc edx
dec ecx
rol ax, 5
xor al, byte [edx]
inc edx
dec ecx
jne 0x41ed6e
ret
jae 0x41edc9
inc dword [ebx + ebx*8 - 0x3974f882]
jle 0x41edd7
mov eax, esi
call fcn.00403494
pop esi
pop ebx
ret