Function at 0x104e4ed8
Capabilities:
Encode data using xor

Disassembly:
jmp 0x104e4ee2
pushal
call 0x104e4ee8
pop ebp
sub ebp, 0x10
sub ebp, 0x4e4ed8
mov al, byte [esp + 0x28]
cmp al, 1
je 0x104e4f0c
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x104e4f15
mov eax, 0x4e4ed8
add eax, ebp
add eax, 0x63
mov ecx, 0x5dd
shl byte [ebx], 0
add byte [ecx + 0x5dd], bh
mov edx, 0xf49e6d7d
xor byte [eax], dl
inc eax
dec ecx
jne 0x104e4f2c
jmp 0x104e4f3f
div byte [eax + 0x7d41f4f6]
jge 0x104e4fc4
cld
mov esp, 0x7d7d7d85
jle 0x104e4eff
lds esi, [edi + 0x7d]
jge 0x104e4fd1
invalid
jge 0x104e4fe0
jle 0x104e4f1d
sub eax, 0xd2a9152d
jae 0x104e4fe9
adc eax, 0x7d42e27f
jl 0x104e4fc4
pop ecx
adc eax, 0x87a38175
xchg ebp, eax
js 0x104e4ff9
mov dword [0x7d789587], eax
jge 0x104e4ffb
xchg esp, eax
push ebx
jge 0x104e4fff
jge 0x104e4f74
sbb dword [ecx - 0x7f], ebx
hlt
pop ecx
lock sbb dword [ecx - 0x7f], ebx
hlt
xchg esp, eax
jg 0x104e5052
jge 0x104e4fff
lock adc dword [ecx + 0x7d], ebx
or byte [eax], 0x71
or byte [eax], 0x75
xchg ebp, eax
jno 0x104e4f61
or byte [ebp - 0x6b], dh
jne 0x104e4f77
stc
jge 0x104e5062
jge 0x104e4fdd
sal byte [ebp + 0x7d], 0x7d
jge 0x104e5068
jge 0x104e4fe9
mov word [ebx], es
dec esi
xchg ebp, eax
dec ebx
cld
mov word [ebx], es
dec esi
xchg ebp, eax
dec ebx
dec esi
mov ah, 0xfc
invalid
push esp
cld
invalid
invalid
pop ecx
lock sbb dword [ecx + 0x79], ebx
mov edi, 0xf6287d71
jno 0x104e50e7
sub dh, dh
xchg ecx, eax
sub ebp, dword [edx]
sub dh, dh
or byte [ecx - 0xa], dh
add byte [ebp - 0x7f], dh
iretd
cmp ebp, dword [edi - 0x51]
jb 0x104e509b
movsd dword es:[edi], dword [esi]
add byte [edx + 0x72af7f82], 0xf8
js 0x104e5124
jge 0x104e5126
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
jb 0x104e50ae
pop ss
jge 0x104e5130
jge 0x104e5103
mov ebp, 0xf872af7f
js 0x104e5139
jge 0x104e513b
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
jb 0x104e50c3
push edi
jl 0x104e5145
jge 0x104e5149
scasd eax, dword es:[edi]
jb 0x104e50c5
js 0x104e514c
jge 0x104e514e
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ebp, 0xf872af7f
js 0x104e515b
jge 0x104e515d
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ebp, 0xf872af7f
jg 0x104e5098
jb 0x104e50e3
js 0x104e516a
jge 0x104e516c
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ebp, 0xf872af7f
js 0x104e5179
jge 0x104e517b
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ebp, 0x7d7bf972
stc
jnp 0x104e5186
jge 0x104e5187
jge 0x104e5188
jge 0x104e5102
mul byte [edx + 0x7ef7a556]
mov byte [0x7ef7a556], al
cmc
jp 0x104e514e
invalid
jge 0x104e5196
xchg esp, eax
or eax, 0xc5828282
jl 0x104e519e
jge 0x104e51a0
jg 0x104e50d4
scasd eax, dword es:[edi]
jb 0x104e511f
clc
js 0x104e51a6
jge 0x104e51a8
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ebp, 0xf872af7f
jg 0x104e50e3
jb 0x104e512e
js 0x104e51b5
jge 0x104e51b7
jge 0x104e5132
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
imul edi, dword [ebx], 0x6f
scasd eax, dword es:[edi]
jb 0x104e5140
jmp dword [ebx + 0x56828282]
mov dword [0x56828282], eax
push esi
mov esi, 0x7d7d7cc6
jge 0x104e51c8
jge 0x104e51bf
jb 0x104e5146
clc
dec ecx
jge 0x104e51ce
jge 0x104e5117
jl 0x104e51d2
jge 0x104e51d3
jge 0x104e51d4
jge 0x104e51d7
jg 0x104e5108
scasd eax, dword es:[edi]
jb 0x104e5153
js 0x104e51da
jge 0x104e51dc
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ah, 0x7f
scasd eax, dword es:[edi]
jb 0x104e5162
js 0x104e51e9
jge 0x104e51eb
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
jb 0x104e5174
jmp dword [ebx + 0x2b828282]
mov dword [0x2b828282], eax
test byte [edx - 0x267177aa], 0x23
xchg esp, eax
sub esi, esi
mov dl, byte [esi - 0x78]
mov ds, ecx
and edx, dword [ebp + esi*2 + 0x35828282]
jne 0x104e5106
add byte [edx + 0x759dbc35], 0xf7
xor eax, 0xf7759dbc
mov esp, 0x7bf7759d
cmp esi, esi
xchg ebp, eax
les edi, [ebp + edi*2 + 0x7d]
popfd
jne 0x104e5182
jnp 0x104e51c8
not byte [ebp + 0x7d7d7cc4]
jl 0x104e520f
jge 0x104e5211
jge 0x104e5214
jg 0x104e5145
scasd eax, dword es:[edi]
jb 0x104e5190
js 0x104e5217
jge 0x104e5219
imul dword [ebx + 0x3b]
cmp ebp, dword [edi - 0x51]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ah, 0x7f
scasd eax, dword es:[edi]
jg 0x104e5154
jb 0x104e519f
clc
js 0x104e5226
jge 0x104e5227
jge 0x104e5228
jge 0x104e51a3
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
imul edi, dword [ebx], 0x6f
scasd eax, dword es:[edi]
jb 0x104e51b1
jmp dword [ebx - 0x37d7d7e]
mov dword [0xfc828282], eax
cmp ah, 0x85
jge 0x104e51ba
test dword [ebp], edi
jge 0x104e5239
cld
movsb byte es:[edi], byte [esi]
add byte [edx - 0x7a037d7e], 0x7d
add byte [edx + 0x7d85fc82], 0x78
jge 0x104e5245
js 0x104e5244
jge 0x104e51c5
cld
movsb byte es:[edi], byte [esi]
add byte [edx - 0x7a037d7e], 0xfd
cld
test ebp, edi
jge 0x104e5250
jge 0x104e5251
jge 0x104e51d1
cld
lodsb al, byte [esi]
jge 0x104e5255
jge 0x104e5256
jge 0x104e5257
jge 0x104e51d7
cld
test ebp, edi
std
jge 0x104e525c
jge 0x104e51dd
lodsb al, byte [esi]
jge 0x104e5261
jge 0x104e5263
sub esi, esi
mov dl, byte [esi - 0x73]
push esi
lea ecx, [esi - 0x196bdc27]
add dword [edx + 0x3b7bf782], 0x4e
mov ds, ecx
and edx, dword [esi - 0x87d7d7d]
jnp 0x104e5231
idiv dword [ebx + 0x3b]
dec esi
mov ah, 0xbd
xchg ebp, eax
jl 0x104e526e
stc
jge 0x104e527d
jge 0x104e527d
jge 0x104e51fe
lodsb al, byte [esi]
jg 0x104e5282
jge 0x104e5284
not byte [ebp + 0x568af62b]
lea ecx, [esi + 0x7cc623d9]
jge 0x104e5292
mov ds, ecx
and eax, esi
jl 0x104e5291
fldenv [ebx]
invalid
jge 0x104e5293
jge 0x104e51ab
xchg esp, eax
push cs
add dword [edx + 0x562082], 0x75
idiv byte [edx - 0x6709dcde]
add byte [edx + 0x75005620], 0xf6
mov edx, 0x98f62322
and byte [edi + 0x23227d75], bh
mov edi, 0x23227d75
jne 0x104e52a6
jge 0x104e524c
and ah, byte [ebx]
and edx, dword [ecx + edi*2 - 0x4e828283]
xchg esp, eax
jns 0x104e52ab
jge 0x104e52ad
mov cl, 0x25
mov edi, 0x33a5c59d
xor edi, dword [ebp + 0x7e]
and eax, 0xa5c59dbf
xor esi, dword [ebx]
jge 0x104e52b8
popfd
lds esp, [ebp + 0x7e7d3333]
jle 0x104e51f3
mov eax, 0x7effbdfc
jge 0x104e52be
cld
mov ebp, 0x7d7d7eff
invalid
jge 0x104e52c3
jge 0x104e520e
invalid
ja 0x104e528e
mov ecx, 0x3d6d4d58
xor al, 0x72
insd dword es:[edi], dx
cmp eax, 0x8bf87234
add byte [edx + 0x7d799482], 0x7d
clc
mov eax, dword [edx + 0x79948282]
xchg esp, eax
jns 0x104e52d5
jge 0x104e52d6
jge 0x104e52d7
jge 0x104e52d1
jbe 0x104e5263
pop es
mov dh, byte [eax + 0x9fc89f0]
dec ebx
or dword [ebx - 4], ecx
cld
retf
cld
xor dword [ebx - 4], ecx
inc edi
inc ebx
ja 0x104e52ee
ja 0x104e52d5
scasd eax, dword es:[edi]
cld
and byte [edi - 0x10], dh
invalid
invalid
invalid
test byte [ebp + 0x77777777], 0x78
xor dword [edi + 0x77], esi
ja 0x104e5307
ja 0x104e5305
je 0x104e5233
mov eax, dword [0x777fb0f6]
ja 0x104e530f
div byte [eax + 0x7777777f]
mov al, 0x7f
ja 0x104e530e
ja 0x104e528f
neg byte [esi + 0x7777777f]
sahf
jg 0x104e5313
ja 0x104e5315
test byte [esi + 0x77777777], 0x78
repe cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
mov byte [eax + 0x70fc1188], cl
adc esp, edi
cld
jo 0x104e5264
mov dh, 0x9f
lahf
jnp 0x104e52a5
xchg edi, eax
js 0x104e52aa
invalid
ja 0x104e5332
js 0x104e52ad
bnd jp 0x104e5334
jp 0x104e5334
ja 0x104e5336
ja 0x104e52d1
adc esp, edi
cld
jo 0x104e52b9
xchg edi, eax
mov byte [eax + 0x77], bh
ja 0x104e533d
mov ch, 0x76
outsd dx, dword [esi]
hlt
sahf
mov edi, 0x9e888888
mov byte [esi + 0x77777773], bl
sahf
jae 0x104e5350
ja 0x104e5352
mov dl, 0xe3
or byte [edi + ecx*8 + 0x773939af], dl
je 0x104e5298
div byte [edi + 0x7777735a]
into
jne 0x104e5367
jne 0x104e5367
ja 0x104e52bf
sub al, 0x8c
lodsd eax, dword [esi]
scasd eax, dword es:[edi]
inc edi
aaa
js 0x104e52ee
or dword [eax + 0x739e8888], 0xf2777777
ror dword [edi + 0x3c], cl
ror dword [edi + 0x3c], cl
dec edi
cmp al, 0xab
stosd dword es:[edi], eax
invalid
stosd dword es:[edi], eax
invalid
cmpsd dword [esi], dword es:[edi]
nop
sbb ebp, dword [esp + ebp - 0x2dd0d3d4]
scasd eax, dword es:[edi]
push ebx
and byte [ebx], ch
lodsb al, byte [esi]
sub al, 0x2c
sub al, 0x2f
sub al, 0x2c
das
shr byte [edi + 0x232c2053], cl
test al, 0xb5
sub al, 0x2c
sub al, 0xa7
imul esp, dword [eax], 0x2f
ljmp 0x12cc
sub al, 0x2c
sub al, 0x23
test eax, 0x2c2c2c20
cmpsd dword [esi], dword es:[edi]
imul esp, dword [eax], 0x2f
and byte [edi], ch
ljmp 0x12cc:0xccb9d37c
sub al, 0xaf
push ebx
sub al, 0x2c
and ebp, dword [ecx + 0x2c2c2c26]
scasd eax, dword es:[edi]
push ebx
cmp al, 0x2c
and ebp, dword [eax + 0x2c2c2c67]
jns 0x104e53e0
jbe 0x104e5310
inc ebx
cmp al, 0x2f
ret 0x51af
inc esp
dec ecx
or al, 0x69
inc edx
inc ebp
dec ebx
inc ecx
dec ebp
or al, 0x7c
pop esi
inc ebx
pop eax
dec ecx
dec edi
pop eax
inc ebx
pop esi
or al, 0x5a
dec ecx
pop esi
pop edi
inc ebp
inc ebx
inc edx
or al, 0x1d
add bl, byte [edi]
sbb eax, 0x49682621
pop edx
dec ecx
inc eax
inc ebx
pop esp
dec ecx
pop esi
push ss
or al, 0x7a
inc eax
dec ebp
dec eax
inc ebp
inc ecx
inc ebp
pop esi
or al, 0x7f
pop ecx
inc edi
inc esp
inc ebx
pop edx
and dword [esi], esp
jg 0x104e5465
pop eax
dec ecx
or al, 0x16
or al, 0x44
pop eax
pop eax
pop esp
pop edi
push ss
add eax, dword [ebx]
dec ecx
inc edx
inc ebp
dec ebx
inc ecx
dec ebp
pop esp
pop esi
inc ebx
pop eax
dec ecx
dec edi
pop eax
inc ebx
pop esi
add cl, byte [edi + 0x43]
inc ecx
add esp, dword [ecx]
imul eax, dword es:[ecx], 0x40454d41
or al, 0x16
or al, 0x5f
pop ecx
pop esp
pop esp
inc ebx
pop esi
pop eax
insb byte es:[edi], dx
dec ecx
inc edx
inc ebp
dec ebx
inc ecx
dec ebp
pop esp
pop esi
inc ebx
pop eax
dec ecx
dec edi
pop eax
inc ebx
pop esi
add cl, byte [edi + 0x43]
inc ebx
inc ecx
and dword [esi], esp
jns 0x104e54ad
pop esi
dec ecx
dec ebx
inc ebp
pop edi
pop eax
dec ecx
pop esi
dec ecx
dec eax
or al, 0x5f
inc ebp
dec ebx
inc edx
dec ebp
pop eax
pop ecx
pop esi
dec ecx
and dword [esi], esp
js 0x104e54c7
inc ebp
pop edi
or al, 0x5c
pop esi
inc ebx
dec ebx
pop esi
dec ebp
inc ecx
or al, 0x5c
pop esi
inc ebx
pop eax
dec ecx
dec edi
pop eax
dec ecx
dec eax
or al, 0x5b
inc ebp
pop eax
inc esp
or al, 0x79
bound edi, qword [esi + 0x69]
imul esp, dword [ebp + 0x7f], 0x78
jle 0x104e5510
push 0x7e697a0c
jg 0x104e5513
arpl word gs:[edx + 0xc], sp
arpl word [edx + 0xc], sp
inc ebx
dec edx
or al, 0x78
inc esp
dec ecx
or al, 0x69
inc edx
inc ebp
dec ebx
inc ecx
dec ebp
or al, 0x7c
pop esi
inc ebx
pop eax
dec ecx
dec edi
pop eax
inc ebx
pop esi
and dword [esi], esp
pop eax
or al, 0x4f
dec ebp
inc edx
or ebx, dword [eax + 0xc]
dec esi
dec ecx
or al, 0x48
inc ebp
pop edi
pop eax
pop esi
inc ebp
dec esi
pop ecx
pop eax
dec ecx
dec eax
or al, 0x43
pop esi
or al, 0x59
pop edi
dec ecx
dec eax
or al, 0x45
inc edx
or al, 0x4f
inc ebx
inc ecx
inc ecx
dec ecx
pop esi
dec edi
inc ebp
dec ebp
inc eax
or al, 0x5c
pop ecx
pop esi
pop esp
inc ebx
pop edi
dec ecx
and dword [esi], esp
jns 0x104e5565
jle 0x104e556e
imul esp, dword [ebp + 0x7f], 0x78
imul edi, dword [esi + 0x69], 0x7e7c0c68
arpl word [eax + 0x69], di
outsd dx, dword [esi]
js 0x104e557b
arpl word [edx + 0x2c], sp
or dword [eax], eax
add byte [eax], al
invalid
mov bh, 0xf1
wait
add esp, dword [esi - 0x65]
mov edi, 0x6db76c2c
mov bh, 0x6d
insb byte es:[edi], dx
invalid
sub eax, 0x31e41a09
xchg esp, eax
out 0xe7, al
dec byte [esi - 0xe]
xchg edx, eax
xchg edx, eax
pop ss
aad 0x39
xor al, 0xc7
or cl, ah
and ebp, dword [ebx]
xor ecx, dword [ebp - 0x4a]
jmp 0x104e5585