Function at 0x1004e865
Capabilities:
Encode data using xor

Disassembly:
push ebp
pushfd
test byte [0x1004e932], 0x85
jne 0x1004e933
sar byte [edi + esi*2 + 0x7fc9d2f3], 1
add dword [edx + 0x5d], ebp
pop ecx
std
mov fs, edi
mov dword [eax + 0x326c6053], ecx
ror dword [ebx - 0x308fc548], cl
inc byte [ecx + ecx*2 + 0x5e5d67cf]
or byte [eax - 3], ah
xchg esp, eax
add al, 6
sub dword [ecx + 0x4d], 0xcb6b504
cmpsd dword [esi], dword es:[edi]
insd dword es:[edi], dx
mov byte [ebx], ah
push eax
push cs
or ch, byte [edx + 0x5af49c98]
xor dword [ebp + 0x95eb774], 0xce578bf8
pop esp
lodsb al, byte [esi]
popfd
xor ecx, edx
cmpsb byte [esi], byte es:[edi]
add al, 0x54
push ebp
rcr byte [esi], cl
shr byte [0xc54681f1], 1
fidiv word [edx - 0x16]
arpl word [eax + 0x2d], bp
adc edx, dword [esi + 0x4f]
cmp byte [ebx - 0x703034f2], bl
inc esp
add al, 0x59
je 0x1004e874
jbe 0x1004e929
inc dword [edi - 0x65a5a727]
mov cl, 0xbb
mov edi, 0xa6242c8e
test byte [ebp - 0x4ac9b239], 0xfa
cld
imul dword [edi - 0x15fddab7]
popfd
lds esp, [eax - 0x34]
out dx, al
pop ss
ja 0x1004e965
push ebx
sub ebx, esp
dec esi
inc eax
cmc
fstp dword fs:[ebp - 0x3df05896]
cmp dword [edx + 0x28], ebp
stc
push es
xor edx, dword [ecx + 0x690dbb7b]
mov cl, 0x9e
and bl, byte [esi + 0x6deef4a6]
cmp byte [eax + 0x6f], dh
imul esi, dword [ecx - 0x5961dd62], 0x386deef4
jo 0x1004e996
jl 0x1004e940
push 0xffffffffffffff9c
outsb dx, byte [esi]
or eax, 0x5769978e
out dx, al
int3
popfd
mov ebp, esp
push str.ServerID
push dword [ebp + 8]
call fcn.1004d86b
pop ecx
pop ecx
pushfd
test byte [0x1004e9df], 0xc2
jne 0x1004e9e0
out dx, eax
invalid
add al, 0x10
ret 0x850f
cmpsb byte [esi], byte es:[edi]
aaa
stc
out 0x8c, eax
add al, 0x2d
pop esi
sub eax, 0x118363a6
pop edi
aaa
fsubrp st(4)
jo 0x1004e9af
dec ecx
jecxz 0x1004e978
xchg ecx, eax
push ecx
mov edi, 0xcf93cec9
inc eax
popal
jb 0x1004e91b
fdiv dword [ecx]
and dword [0x3065894c], eax
mov dword [ebp + 0x30], esp
push ebp
dec ecx
adc byte [ecx - 0x6d], ch
fdivr qword [edi + eax*8 - 0x10]
cmpsb byte [esi], byte es:[edi]
call 0xa7d3a20
popal
jnp 0x1004e981
jl 0x1004e94a
invalid
push ds
sti
adc eax, 0x5807a54d
mov ebp, 0x8070e554
push ebp
cmp al, 0x2d
in eax, 0x70
adc byte [ebp + 0x3c], 0x2d
push eax
adc esi, esp
das
push ebx
les ebp, [esp + edx*2 - 0x5e]
rol dword [ebx], 0x3c
push edx
test byte [edi + 0x3a707c88], cl
jo 0x1004e9eb
movsb byte es:[edi], byte [esi]
sub byte [edi], al
int1
jb 0x1004e9c4
sub ecx, ecx
mov ebp, 0xd088c773
mov al, 0x3d
sahf
test byte [esi - 0xb], bl
lodsd eax, dword [esi]
pop ebx
inc ebp
mov edx, 0xbafe746f
rol byte [edx], 1
push ds
stosb byte es:[edi], al
xchg edx, eax
adc dword [ebx + 0x16], edi
xchg ebp, eax
inc edi
add al, byte [edx + 0x28675313]
cmp al, 0xb
scasd eax, dword es:[edi]
popfd
pop ebp
ret
add al, 0x10
lahf
jne 0x1004eaeb
adc eax, edx
out 0xd5, eax
ja 0x1004ea43
cmp ch, dl
mov bl, 0xf3
pushfd
mov ah, 0x84
jns 0x1004ea23
ljmp 0x7984:0xb49cf3b3
sub al, 0x49
loopne 0x1004ea6c
adc cl, byte [esi - 0x3034ba92]
daa
lea eax, [edi]
or al, 0x46
insb byte es:[edi], dx
push 0x42ed8599
fisttp dword [eax + 0x634e94ca]
mov al, byte [0x8f9b98a6]
fisub dword [ebx + ebp*2 + 0x3c]
and byte [ecx], dl
test byte [eax - 0x6b447a13], ah
push ecx
inc ebx
mov al, 0xd8
aad 0x20
pop ss
mov ah, 0x77
sar ebx, 0xb0
push eax
invalid
ja 0x1004e9fb
sti
mov al, 0x50
inc edi
add ecx, dword [edi + 0x5dbf78d2]
pop ebp
push ebp
jg 0x1004eab8
jle 0x1004ea99
cwde
aaa
sti
push ebp
lahf
outsd dx, dword [esi]
and dword gs:[eax + edi*2], esp
fimul dword [edi - 0x2e518441]
in eax, 0xf3
cdq
push esp
xchg edi, eax
jnp 0x1004ea38
pandn mm7, qword [ebx + eax*8]
scasb al, byte es:[edi]
inc ecx
aas
mov edi, 0x6ea8b8ea
mov esi, dword [ecx - 0x5f8a53d6]
sti
adc dl, byte ss:[ecx + 0x52]
mov esp, 0xf99228bb
push ds
inc eax
sbb ebp, dword es:[ebx]
fdisi8087_nop
mov ebp, 0x884d8c85
adc al, 0xb7
mov ebx, 0xfaca5b74
mov bl, 0xda
and al, 0xf8
insd dword es:[edi], dx
stc
cmp al, 2
test byte [edi + 0x27], 0x51
dec edi
daa
push ecx
pop esi
stc
inc ecx
jb 0x1004eaf1
cdq
pop ss
inc ebp
jb 0x1004eabc
mov ecx, 0xcc8e7d59
mov dword [ebp - 0x165c9a32], edx
je 0x1004ea43
in al, dx
imul ebp, dword [ebx + 0x3c], 0x7682566f
mov cl, 0x82
push esi
xor byte [esi - 0x4f], 0x82
or byte [edi - 0x78], 0x26
dec edi
mov byte [esi], ah
add eax, 0x9d229bfc
pop edi
push edi
je 0x1004eae1
enter 0xffffffffffffafc9, 0x6d
js 0x1004eafd
xchg byte [ecx - 0x1a], dl
sti
pop esp
outsb dx, byte [esi]
add eax, 0xbdf376b3
xchg esi, eax
out 0x5d, eax
add edi, esi
xchg esi, eax
invalid
and ebp, edi
jb 0x1004eadf
sbb cl, byte [edi - 0x6e]
inc ebx
pop es
xchg esi, eax
popfd
push str.ServerID
push dword [ebp + 8]
call fcn.1004dd6a
pushfd
test byte [0x1004eb52], 0x1e
jne 0x1004ec53
jmp 0x1004eb03
dec esp
add dword [eax], eax
add byte [esi + 0x1c], ah
pop ebp
sbb al, 0x5d
add ah, dl
and eax, 0xbd05f50f
pop edx
jno 0x1004ea95
mov ecx, 0x263907da
inc eax
pop edi
jmp [ebx + 0x74]
popfd
pop ecx
pop ecx
pop ebp
ret