Function at 0x41ee60
Capabilities:
Encode data using xor

Disassembly:
sub al, 0x36
inc eax
add byte [eax], bh
inc eax
add byte [esi + esi], bh
inc eax
add byte [eax + 0x36], al
inc eax
add byte [esi + esi], dh
inc eax
add byte [ebx + esi + 0x33b00040], dl
inc eax
add byte [eax], ch
std
inc ecx
add al, ah
outsd dx, dword [esi]
inc ecx
add al, ch
outsd dx, dword [esi]
inc ecx
add byte [eax - 3], dl
inc ecx
add byte [esp + edx*2], al
push eax
outsb dx, byte gs:[esi]
lea eax, [eax]
js 0x41e85e
inc ecx
add byte [edi], al
add al, 0x54
push eax
outsb dx, byte gs:[esi]
pushal
call 0xe675e8c5
inc ecx
add byte [eax + eax], al
or byte [edi + 0x72], al
popal
jo 0x41e8f6
imul esp, dword [ebx + 0x73], 0xe2d80004
inc ecx
add byte [eax - 2], dh
inc ecx
add byte [eax - 2], bh
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add eax, 0x6f6c6f43
jb 0x41e840
in al, 0x41
add byte [eax], bl
add byte [eax], al
invalid
jl 0x41e8f7
inc dword [ecx]
test bh, bh
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], 0
add byte [eax], al
inc ecx
add byte [edi + edi*8 + 0x10041], al
add byte [eax], al
add byte [eax], al
add byte [eax + 1], al
add eax, dword [eax]
add eax, 0x74646957
push 0xe960c08b
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 - 0x17], bh
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 [ecx + ebp*8 + 0x41], ch
add byte [eax], bl
add byte [eax], al
add ah, al
in eax, 0x41
add byte [esi + esi], ch
inc eax
add byte [eax], bh
inc eax
add byte [esi + esi], bh
inc eax
add byte [eax + 0x36], al
inc eax
add byte [esi + esi], dh
inc eax
add byte [ebx + esi + 0x33b00040], dl
inc eax
add al, dh
inc dword [ecx]
loopne 0x41e9d1
add al, ah
outsd dx, dword [esi]
inc ecx
add al, ch
outsd dx, dword [esi]
inc ecx
add byte [eax], bl
add byte [edx], al
push es
push esp
inc edx
jb 0x41e9e6
jae 0x41e9db
nop
js 0x41e95f
inc ecx
add byte [edi], al
push es
push esp
inc edx
jb 0x41e9f3
jae 0x41e9e8
pushal
jmp 0xe675e9c7
je 0x41ea4c
insb byte es:[edi], dx
lea eax, gs:[eax]
and al, 0xea
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], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
dec eax
ljmp 0
add byte [eax], al
add byte [eax], al
add byte [edx + ebp*8], bh
inc ecx
add byte [eax], bl
add byte [eax], al
dec eax
push ebp
inc ecx
add byte [esi + esi], ch
inc eax
add byte [eax], bh
inc eax
add byte [esi + esi], bh
inc eax
add byte [eax + 0x36], al
inc eax
add byte [esi + esi], dh
inc eax
add byte [ebx + esi + 0x33b00040], dl
inc eax
add byte [eax + 3], cl
inc edx
add al, ah
outsd dx, dword [esi]
inc ecx
add al, ch
outsd dx, dword [esi]
inc ecx
add ah, bh
outsb dx, byte [esi]
inc ecx
add byte [eax + 6], dh
inc edx
add byte [esi + eax + 0x42], bl
add byte [eax + 0x7004205], dl
push esp
inc ebx
popal
outsb dx, byte [esi]
jbe 0x41eaa4
jae 0x41ea8d
ljmp 0x4354:0x7070041
popal
outsb dx, byte [esi]
jbe 0x41eab1
jae 0x41ea76
ljmp 0x41:0x55bc0041
add byte [eax], al
add byte [eax - 0x80000000], al
add byte [eax], al
add eax, 0x73757242
push 0x401028
and byte [eax], al
add bh, bh
and byte [eax], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax + 0xcc0020], al
add dword [eax], eax
or byte [ebx + 0x6f], al
jo 0x41eb1e
jmp dword [eax]
jns 0x41eaf3
dec ebp
outsd dx, dword [esi]
adc bh, ah
inc ecx
add byte [eax + eax], cl
add bh, bh
jl 0x41eab7
inc edx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x46040002], al
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
add al, byte [eax]
add al, 0x46
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x41eb3d
call 0x51eb0f
add bh, bh
mov word [edx + eax*2], es
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x50030003], al
outsb dx, byte gs:[esi]
mov eax, eax
int3
add al, 0x24
ret
add al, 0xdc
jmp fcn.00417110
add byte [eax], al
mov dword [0x7ab8cd12], eax
aam 0x11
sbb edx, 0
ror byte [edi + 0x60], 0xb2
frstor dword [edi]
jmp 0x41eb93
add byte [eax + 0x36], al
inc eax
add byte [esi + esi], dh
inc eax
add byte [ebx + esi + 0x33b00040], dl
inc eax
add al, dl
outsb dx, byte [esi]
inc ecx
add al, ah
outsd dx, dword [esi]
inc ecx
add byte [ecx + edx + 0x42], dl
add ah, bh
outsb dx, byte [esi]
inc ecx
add byte [eax], dh
jno 0x41ebf8
add ah, ah
adc byte [edx], al
sbb al, 0x29
inc eax
add byte [eax + 0x1c004211], ah
sub dword [eax], eax
sbb al, 0x29
inc eax
add ah, ch
adc al, byte [edx]
lock adc al, byte [edx]
sbb al, 0x29
inc eax
add byte [eax + 0x13], dh
inc edx
add byte [ecx + ebp], bl
inc eax
add ah, dl
adc eax, dword [edx]
fcom dword [ebx]
inc edx
add byte [ecx + ebp], bl
inc eax
add al, ch
adc eax, dword [edx]
lodsb al, byte [esi]
adc byte [edx], al
hlt
jl 0x41ec0d
inc edx
add byte [ecx + ebp], bl
inc eax
add byte [ecx + ebp], bl
inc eax
add byte [ecx + ebp], bl
inc eax
add byte [ecx + ebp], bl
inc eax
add byte [ecx], al
add ch, bh
dec dword [eax + 0x13]
inc edx
add byte [eax], cl
push esp
inc edi
jb 0x41ec7a
jo 0x41ec83
imul esp, dword [ebx - 0x73], 0xec240040
inc ecx
add byte [edi], al
or byte [edi + eax*2 + 0x72], dl
popal
jo 0x41ec94
imul esp, dword [ebx - 0x58], 0xbc0041eb
push esi
inc ecx
add byte [eax], al
add byte [eax], cl
inc edi
jb 0x41ec9d
jo 0x41eca6
imul esp, dword [ebx + 0x73], 0x90900000
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 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 [esp + ebp*8 + 0x80041], dl
add byte [eax], al
pop esp
adc byte [eax], al
sub al, 0x36
inc eax
add byte [eax], bh
inc eax
add byte [esi + esi], bh
inc eax
add byte [eax + 0x36], al
inc eax
add byte [esi + esi], dh
inc eax
add byte [ebx + esi + 0x33b00040], dl
inc eax
add ah, ch
xor eax, dword [eax]
sbb al, 0x29
inc eax
add byte [esp + edx*2], cl
or al, 0x54
push ebx
push 0x64657261
dec ecx
insd dword es:[edi], dx
popal
lea eax, gs:[bx + si]
invalid
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 ah, dh
in al, dx
inc ecx
add byte [eax + eax], dh
add byte [esp + ebp*8 + 0x41], al
add byte [esi + esi], ch
inc eax
add byte [eax], bh
inc eax
add byte [esi + esi], bh
inc eax
add byte [eax + 0x36], al
inc eax
add byte [esi + esi], dh
inc eax
add byte [ebx + esi + 0x33b00040], dl
inc eax
add al, dl
pop ss
inc edx
add byte [eax + ebx], ch
inc edx
add byte [esp + edx*2], cl
inc edx
imul esi, dword [ebp + ebp*2 + 0x61], 0x616d4970
lea eax, gs:[bx + si]
push eax
in eax, 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 eax, 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 al, al
in eax, dx
inc ecx
add byte [eax + eax], bh
add byte [eax], al
pop esp
jmp 0x41ed70
inc eax
sub byte [edx], al
sub byte [eax], 0x42
add al, dh
adc al, byte [edx]
pushal
sub dword [edx], eax
dec esp
sub eax, 0x34840042
inc edx
add al, bl
xor al, 0x42
add al, bl
adc eax, dword [edx]
adc al, 0x37
inc edx
add byte [eax + 0x37], ch
inc edx
add byte [edx + 0x42], dl
add ah, dh
adc al, byte [edx]
jl 0x41edb5
inc edx
add byte [eax], ch
sub al, 0x42
add byte [eax], ch
cmp al, byte [edx]
movsb byte es:[edi], byte [esi]
sub eax, dword [edx]
xor byte [edx], bh
inc edx
add al, dh
daa
inc edx
add byte [eax + 0x28], dl
inc edx
add byte [ebx + esi + 0x42], cl
add byte [edi], al
push esp
inc edx
imul esi, dword [ebp + ebp*2 + 0x61], 0x41edcc70
add byte [edi], al
pop es
push esp
inc edx
imul esi, dword [ebp + ebp*2 + 0x61], 0x41ed5070
add byte [eax], ah
in al, dx
inc ecx
add byte [eax], al
add byte [eax], cl
inc edi
jb 0x41ee44
jo 0x41ee4d
imul esp, dword [ebx + 0x73], 0xc08b0000
rol byte [ebp + 0x3b0e74c0], 5
adc al, 0x6a
inc edx
add byte [esi + eax + 0x50], dh
mov al, 0x33
inc eax
add byte [eax + 0x100041ee], dh
push esp
push edx
jae 0x41eec1
jne 0x41eec6
arpl word [ebp + 0x4d], sp
popal
outsb dx, byte [esi]
popal
jb 0x41edeb
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 0x41ee66
ret
jne 0x41eec1
inc dword [ebx + ebx*8 - 0x3974f882]
jle 0x41eecf
mov eax, esi
call fcn.00403798
pop esi
pop ebx
ret