Function at 0x10418550
Capabilities:
Encode data using xor

Disassembly:
jmp 0x1041855a
pushal
call 0x10418560
pop ebp
sub ebp, 0x10
sub ebp, 0x418550
mov al, byte [esp + 0x28]
cmp al, 1
je 0x10418584
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x1041858d
mov eax, 0x418550
add eax, ebp
add eax, 0x63
mov ecx, 0x601
mov edx, 0x137a4c8c
xor byte [eax], dl
inc eax
dec ecx
jne 0x104185a4
jmp 0x104185b7
pop es
inc ecx
pop es
add eax, 0x8c8c8cb0
or eax, 0x8c8c744d
mov word [edi - 0x7375cbbf], cs
mov word [esi + esi - 0x7373735c], cs
jnp 0x10418641
pop dword [edi + eax + 0xd]
or byte [esp + ecx*4 - 0x23b67074], 0xdc
in al, 0xe0
and eax, dword [edx + 0x596ee48c]
mov esi, 0xa8a08d8c
in al, 0xc7
sub dword [esi - 0x73769bbe], edx
mov word [ebp - 0x7373735c], cs
fstpnce st(0), st(0)
rol dword [edi], 1
or dword [esp + ecx*4 + 0x19078c8c], eax
or byte [esp + ecx*4 - 0x63fef874], 0x8c
mov dword fs:[esp + ecx*4 - 0x735b9a74], ecx
mov word [ecx + ebx*8 + 0x907d1d8], cs
test byte [esp + ecx*4 - 0x7fe6f874], cl
mov word [esp + ecx*4 - 0x7363fef9], cs
mov word [ebp + ecx*2 - 0x7142719b], cs
cmovle ecx, dword [eax + 0x780983c5]
jae 0x10418691
jae 0x104185f1
dec esi
or byte [edi + eax - 0x73775800], 0x8c
mov esp, fs
loopne 0x10418650
or byte [esp - 0x7341a692], 0x8d
mov al, byte [0x8964dda8]
mov word [esp + ecx*4 - 0x7371249b], cs
mov word [ecx], es
call 0xb046f6f0
test al, 7
pushal
add eax, 0x6007a8a0
jae 0x10418646
xor byte [ebx - 7], 0x84
or byte fs:[esp + ecx*4 - 0x7bcef874], cl
mov word [esp + ecx*4 + 0x3f257d0d], cs
inc ecx
test byte [eax + ecx - 0x74], ah
mov word [edi + eax - 0x73737bcf], cs
mov word [0x413f257d], cs
mov word [edi], es
xor dword [esp + ecx*4 + 0x7d0d8c8c], eax
and eax, 0xd89413f
jge 0x1041868a
mov dword [0x413f257d], ecx
and eax, 0xbf89413f
inc ebp
or eax, 0xcf13137e
aas
inc ecx
mov dword [edi + 0x137e0d45], edi
adc ecx, edi
jmp 0x1041867e
ret 0x8c8c
nop
mov ch, 0xc
ja 0x104186f3
or dword [eax], 0xffffff96
xchg esi, eax
mov word [esp + ecx*4 - 0x7c9a88f4], cs
or byte [ebp - 0x15737374], bl
or eax, 0x83a97377
or byte [ecx - 0x32737374], bl
inc eax
jae 0x10418721
jae 0x10418655
sal byte [ebp - 0x76b2f073], 0xf
mov byte fs:[ebp + 0x31], ah
jae 0x10418730
jae 0x10418664
fdiv dword [ebp - 0x75b2f072]
pcmpgtd mm1, qword [eax + 0x6589640f]
daa
jae 0x10418742
jae 0x104186d8
mov al, byte [0xa8e801a8]
mov byte [esi - 0x80], cl
mov ecx, ds
pop es
pushal
fcmovu st(0), st(3)
fld dword [edi]
or byte [ecx + ebx*8 - 0x24259ff9], 0xd9
pop es
stc
add byte [edi], 0xf1
test byte [eax + 0x3e], dh
or al, 6
mov cl, byte [0x8c8c8d4a]
mov word [ebx + ecx*4], es
or eax, 0x8c8c8d4b
invalid
mov word [esp + ecx*4 + 0x5e8e4cbf], cs
or dword [ecx], 0xffffff89
mov word [esp + ecx*4 - 0x613565fa], cs
pop esi
or dword [edi], 0xffffffa6
lea ecx, [esp + ecx*4 + 0x9835e8e]
mov dword [esp + ecx*4 - 0x3565f974], ecx
sahf
pop esi
lahf
dec esp
mov ds, word [esi - 0x7d]
or dword [ecx + 0x68c8c8c], ecx
lcall 0x8e4c, 0x9f5e9eca
pop esi
or dword [ecx], 0xffffff89
mov word [esp + ecx*4 - 0x613565fa], cs
pop esi
lahf
dec esp
mov ds, word [esi - 0x7d]
or dword [ecx + 0x68c8c8c], ecx
lcall 0x834c, 0x9f5e9eca
or byte [edx + 0x78c8c8c], cl
push ebx
cmpsd dword [esi], dword es:[edi]
push esp
retf 0x5e9e
lcall 0x8e4c, 0x9f5e9eca
pop esi
or dword [ecx], 0xffffff89
mov word [esp + ecx*4 - 0x613565fa], cs
pop esi
lahf
dec esp
mov ds, word [esi - 0x7d]
or dword [ecx + 0x68c8c8c], ecx
lcall 0x8e4c, 0x9f5e9eca
pop esi
or dword [ecx], 0xffffff89
mov word [esp + ecx*4 - 0x613565fa], cs
pop esi
lahf
dec esp
or dword [eax], 0xffffff8a
mov word [esp + ecx*4 + 0x54a75307], cs
push es
pop dword [ebx + ecx*4]
retf