Function at 0x46818c
Capabilities:
Encode data using xor

Disassembly:
inc edx
sbb eax, 0x1d434c02
add cl, byte [ebx + eax*2 + 0x16c4021d]
sbb eax, 0x1d43e802
add dl, ah
inc edi
sbb eax, 0x1d4fd002
add ah, byte [eax + edx*2 + 0x17ac021d]
sbb eax, 0x1d51c802
add bl, byte [edx + edx*2]
sbb eax, 0x1d3cec02
add cl, al
push ss
sbb eax, 0x1d175002
add dh, byte [eax + 0x10021d46]
push ebp
sbb eax, 0x1d462c02
add bl, byte [eax]
push ebp
sbb eax, 0x1d42fc02
add bl, byte [ebx + eax*2 + 0x1d]
add bl, byte [eax + 0x7021d4e]
push esp
inc edx
imul esi, dword [ebp + ebp*2 + 0x61], 0x1cdfc470
add al, byte [edi]
pop es
push esp
inc edx
imul esi, dword [ebp + ebp*2 + 0x61], 0x1cdf4870
add al, al
fistp dword [edx + eax]
add byte [eax], al
or byte [edi + 0x72], al
popal
jo 0x468045
imul esp, dword [ebx + 0x73], 0xc08b0000
xor al, ah
sbb al, 2
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
xor al, 0xe0
sbb al, 2
sbb byte [eax], al
add byte [eax], al
cld
fcomp qword [edx + eax]
mov eax, 0xc4021694
xchg esp, eax
push ss
add cl, al
xchg esp, eax
push ss
add cl, ah
xchg esp, eax
push ss
add al, al
xchg esp, eax
push ss
add cl, byte [eax]
xchg edx, eax
push ss
add ah, byte [edx + edx*4]
push ss
add bh, byte [eax - 0x17fde2ab]
push ebp
sbb eax, 0x49540a02
arpl word [edi + 0x6e], bp
dec ecx
insd dword es:[edi], dx
popal
nop
mov eax, fs
sbb al, 2
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
cld
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add ah, bh
loopne 0x46806f
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, dh
loopne 0x46807f
add dh, byte [eax + eax]
add byte [eax], al
cld
ficomp dword [edx + eax]
mov eax, 0x58021694
aas
add bl, byte [eax + 0x3f]
sbb byte [edx], al
enter 0x1694, 2
int3
add cl, byte [eax]
xchg edx, eax
push ss
add ah, byte [edx + edx*4]
push ss
add dl, byte [esi + edx*2 + 0x1d]
add bl, byte [eax + 0x2c02183e]
adc eax, 0x5684021d
sbb eax, 0x183fe802
add bh, byte [esp + edx + 0x56e4021d]
sbb eax, 0x1d157802
add ah, byte [edi + edx*2]
sbb eax, 0x1d575002
add al, al
push ss
sbb eax, 0x1d16c402
add ah, byte [edi + edx*2 + 0x1d]
add al, byte [edi + edx + 0x1d]
add ch, al
pop ecx
sbb eax, 0x1d17a802
add al, byte [eax]
pop edx
sbb eax, 0x1d5a0402
add bh, byte [edi + edx + 0x5600021d]
sbb eax, 0x1d16c802
add dl, byte [eax + 0x17]
sbb eax, 0x1d58a402
add bl, byte [edx + ebx*2]
sbb eax, 0x1d5a4402
add bl, byte [eax + 0x5a]
sbb eax, 0x49540502
arpl word [edi + 0x6e], bp
mov eax, eax
cld
loopne 0x468117
add al, byte [edi]
add eax, 0x6f634954
outsb dx, byte [esi]
mov eax, fs
sbb al, 2
rcr bl, 0x1c
add al, byte [eax]
add byte [eax], cl
inc edi
jb 0x468172
jo 0x46817b
imul esp, dword [ebx + 0x73], 0xc0850000
add byte [ebp + 0x3b0e74c0], al
add eax, 0x22905c4
je 0x46812a
cmp eax, dword [0x22905c4]
je 0x46812a
push eax
call fcn.00407098
ret
push ss
add bl, ah
loope 0x468193
add dl, byte [eax]
push esp
push edx
jae 0x4681ed
jne 0x4681f2
arpl word [ebp + 0x4d], sp
popal
outsb dx, byte [esi]
popal
jb 0x468117
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
rol eax, 5
xor al, byte [edx]
inc edx
dec ecx
jne 0x468192
ret
call 0xdbcb81eb
jle 0x4681fb
mov eax, esi
call fcn.00403624
pop esi
pop ebx
ret