Function at 0x41eb30
Capabilities:
Encode data using xor

Disassembly:
add byte [ecx + esi], bl
inc eax
add byte [eax + 0x29], ch
inc eax
add byte [esp + edx*2], cl
push ebx
push 0x64657261
dec ecx
insd dword es:[edi], dx
popal
lea eax, gs:[bx + si]
mov eax, gs
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 + 0x740041e8], dl
add byte [eax], al
add al, ah
out 0x41, eax
add byte [ebx + esi + 0x40], bl
add byte [eax + 0x33], ch
inc eax
add byte [ebx + esi + 0x40], ch
add byte [eax + 0x33], dh
inc eax
add byte [ebx + esi + 0x40], ah
add ah, al
xor byte [eax], al
loopne 0x41e8b6
inc eax
add byte [eax], bl
and eax, dword [edx]
je 0x41e8b1
inc edx
add byte [esp + edx*2], cl
inc edx
imul esi, dword [ebp + ebp*2 + 0x61], 0x616d4970
lea eax, gs:[bx + si]
in al, dx
call 0x41e8e7
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
push 0x41e9
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx + ebp*8 + 0x41], bl
add byte [eax + eax], bh
add byte [eax], al
clc
out 0x41, al
add byte [ebx + esi + 0x40], bl
add byte [eax + 0x6c004175], dh
xor eax, dword [eax]
jo 0x41e90d
jmp 0x41e8f7
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
pop esp
jmp 0x7de907
inc eax
add byte [ebx + esi + 0x40], ah
add ah, al
xor byte [eax], al
loopne 0x41e916
inc eax
add byte [esi + ebp], al
inc edx
add al, dh
je 0x41e930
add byte [eax + 0x4000421c], ah
inc edx
add byte [eax + 0x76], al
inc ecx
add byte [eax + esi], dl
inc edx
add byte [eax + esi + 0x1cec0042], dl
inc edx
add byte [eax + 0x33], cl
inc edx
add ah, bh
xor eax, dword [edx]
cmp al, 0x34
inc edx
add byte [eax], bh
push ds
inc edx
add byte [eax - 0x7bffbdcc], bl
cmp byte [edx], al
add byte [eax + 0x42], 0
push esp
inc ecx
inc edx
add byte [eax], ah
pop ds
inc edx
add byte [eax], ch
inc edx
inc edx
add byte [edx + eax*2 + 0x42], bh
jl 0x41e974
inc edx
add byte [ebp + ebp + 0x1e3c0042], bl
inc edx
add ah, al
push ds
inc edx
add byte [eax + 0x37], ah
inc edx
add byte [eax*2 + 0x36dc0042], bh
inc edx
add byte [ebp + eax*2 + 0x42], al
add byte [ebx + esi + 0x340c0042], ch
inc edx
add byte [eax + 0x3f], cl
inc edx
add byte [edi], al
push esp
inc edx
imul esi, dword [ebp + ebp*2 + 0x61], 0x41e96870
add byte [edi], al
pop es
push esp
inc edx
imul esi, dword [ebp + ebp*2 + 0x61], 0x41e8ec70
add byte [edi + 0x41], bh
or byte [edi + 0x72], al
popal
jo 0x41e9e9
imul esp, dword [ebx + 0x73], 0xc08b0000
aam 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], 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, bl
jmp str._I_trd
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x41ea], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx + ebp*8 + 0x340041], dl
add byte [eax], al
clc
out 0x41, al
add byte [ebx + esi + 0x40], bl
add byte [eax + 0x6c004175], dh
xor eax, dword [eax]
jo 0x41ea51
inc eax
add byte [ebx + esi + 0x40], ah
add ah, al
xor byte [eax], al
loopne 0x41ea5a
inc eax
add byte [eax - 0xfffbdba], al
je 0x41ea74
add byte [eax - 0x4fffbde4], ah
inc esi
inc edx
add byte [eax + 0x76], al
inc ecx
add byte [eax], dh
sbb al, 0x42
add byte [eax], dl
inc edi
inc edx
add ah, ch
sbb al, 0x42
add byte [eax + 0x47], dl
inc edx
add byte [edi + eax*2 + 0x42], bh
inc edi
inc edx
add byte [esi + ebx], dh
inc edx
add byte [eax], bh
push ds
inc edx
add byte [eax - 0x47ffbdb9], dl
push ds
inc edx
add byte [edx + ecx*2], dl
inc edx
add byte [edi + ebx], bl
inc edx
add byte [edx + ecx*2], ch
inc edx
add byte [eax], dh
dec edx
inc edx
add byte [eax], dh
pop ds
xor byte [edi], bl
inc edx
add byte [esi + eax*2], ch
inc edx
add byte [esi + ebx], bh
inc edx
add ah, al
push ds
inc edx
add al, dl
dec eax
inc edx
add byte [eax + 0x4a], cl
inc edx
add byte [eax + 0x4a], dh
inc edx
add byte [edx + ecx*2 + 0x54050042], al
dec ecx
arpl word [edi + 0x6e], bp
mov eax, eax
mov al, byte [0x70041ea]
add eax, 0x6f634954
outsb dx, byte [esi]
xor dl, ch
inc ecx
add byte [edi + 0x41], bh
or byte [edi + 0x72], al
popal
jo 0x41eb1f
imul esp, dword [ebx + 0x73], 0xc0850000
add byte [ebp + 0x3b0e74c0], al
add eax, 0x466890
je 0x41eace
cmp eax, dword [0x466890]
je 0x41eace
push eax
call sub.gdi32.dll_DeleteObject
ret
jae 0x41eb91
jne 0x41eb96
arpl word [ebp + 0x4d], sp
popal
outsb dx, byte [esi]
popal
jb 0x41eabb
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 0x41eb36
ret
jbe 0x41eb91
inc dword [ebx + ebx*8 - 0x3974f882]
jle 0x41eb9f
mov eax, esi
call fcn.00403488
pop esi
pop ebx
ret