Function at 0x41e5f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5dfc18
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x676314]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x48], eax
call fcn.0047337c
test al, al
je 0x41e644
cwde
imul ecx, dword [ecx + 0x73], 0x27925bc3
pop ebx
xchg edx, eax
daa
xchg edx, eax
popfd
jl 0x41e62f
dec esp
arpl word [eax - 0x1d], sp
add dl, ch
mov edx, 0xa5e85659
or dh, dl
inc ebp
call fcn.0047355f
test al, al
je 0x41e663
scasb al, byte es:[edi]
and al, 0x60
ror cl, 1
mov bh, 0x71
push es
stosb byte es:[edi], al
rol byte [eax], 1
bound esi, qword [eax]
mov dx, 0x268a
fsub dword [esi]
pop es
lcall 5, 0x4e6de849
call fcn.004734d5
test al, al
je 0x41e684
lodsb al, byte [esi]
retf 0xcd3b
call fcn.00473925
test al, al
je 0x41e6a7
dec esi
wait
xrstor [esi - 0x7ea493e3]
out dx, eax
mov esi, 0x319e4bbc
pop ebp
fbld tbyte [edx - 0x2ecd8fad]
test dword [eax - 0x5d], esp
mov byte [ecx + 0x67b31c], ah
mov eax, dword [0x67b31c]
test eax, eax
jne 0x41e6e2
push 0x15c
call fcn.0046cb58
add esp, 4
mov dword [ebp - 0x44], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x41e6d4
mov ecx, eax
call fcn.004453a0
jmp 0x41e6d6
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x67b31c], eax
lea ecx, [ebp - 0x40]
push ecx
mov ecx, eax
call fcn.0047127b
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 1
push eax
call fcn.00458263
add esp, 8
mov esi, eax
mov eax, dword [0x67b320]
mov byte [ebp - 4], 2
test eax, eax
jne 0x41e73c
push 0xc4
call fcn.0046cb58
add esp, 4
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x41e731
mov ecx, eax
call fcn.0040d130
jmp 0x41e733
xor eax, eax
mov byte [ebp - 4], 2
mov dword [0x67b320], eax
lea ecx, [eax + 0x40]
cmp ecx, esi
je 0x41e752
push 0xffffffffffffffff
push 0
push esi
call fcn.00405f30
mov eax, dword [0x67b320]
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x41e76e
lea eax, [ecx + 1]
push eax
push dword [ebp - 0x28]
lea ecx, [ebp - 0x28]
call fcn.00405840
mov eax, dword [0x67b320]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
mov dword [ebp - 4], 0xffffffff
cmp ecx, 8
jb 0x41e7a3
lea eax, [ecx + 1]
push eax
push dword [ebp - 0x40]
lea ecx, [ebp - 0x40]
call fcn.00402750
mov eax, dword [0x67b320]
xor ecx, ecx
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], cx
test eax, eax
jne 0x41e7ed
push 0xc4
call fcn.0046cb58
add esp, 4
mov dword [ebp - 0x44], eax
mov dword [ebp - 4], 4
test eax, eax
je 0x41e7df
mov ecx, eax
call fcn.0040d130
jmp 0x41e7e1
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x67b320], eax
push 0
mov ecx, eax
call fcn.0040e550
mov eax, dword [0x67b320]
test eax, eax
jne 0x41e831
push 0xc4
call fcn.0046cb58
add esp, 4
mov dword [ebp - 0x44], eax
mov dword [ebp - 4], 5
test eax, eax
je 0x41e823
mov ecx, eax
call fcn.0040d130
jmp 0x41e825
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x67b320], eax
push dword [ebp - 0x48]
mov ecx, eax
call int.0040f5d0
call fcn.00473811
test al, al
je 0x41e858
sal byte [esp + edx - 0x7f], 0x90
push ecx
lodsb al, byte [esi]
xor edx, esp
inc ebx
dec edx
fldenv [edi + edx*4]
adc dword [eax - 0x1dce53af], 0x24d94a43
xchg edi, eax
das
cmpsd dword [esi], dword es:[edi]
xchg al, bl
dec ebp
in al, 0x10
dec esi
jl 0x41e841
call fcn.0047396a
test al, al
je 0x41e872
or eax, 0x84000551
sal byte [ecx + edx + 0x74], 0x27
je 0x41e88a
jb 0x41e89a
dec edx
idiv dword [edi]
adc byte [ecx - 0x4b], ch
push 0x3e
test dword [eax + eax*2 + 0x3b], edx
imul edi, dword [eax + 1], 0x64f44d8b
mov dword [0], ecx
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046ce06
mov esp, ebp
pop ebp
ret 4
int3