Function at 0x746ed0ea
Capabilities:
Encode data using xor

Disassembly:
jp 0x746ed132
invalid
jp 0x746ed13e
or al, 0xe3
jp 0x746ed142
cmpsd dword gs:[esi], dword es:[edi]
jg 0x746ed146
jecxz 0x746ed12d
jp 0x746ed14a
push edi
movsb byte es:[edi], byte [esi]
jg 0x746ed14e
rol dword [edx], 1
jnp 0x746ed152
add dh, byte [ebx + edi*2]
jb 0x746ed117
dec ebx
jp 0x746ed15a
test byte [ebx], al
jnp 0x746ed15e
movsb byte es:[edi], byte [esi]
inc edi
jp 0x746ed162
jecxz 0x746ed149
jp 0x746ed166
jecxz 0x746ed14d
jp 0x746ed16a
jecxz 0x746ed151
jp 0x746ed16e
jb 0x746ed105
or byte [edi], bl
pop ds
jp 0x746ed172
jno 0x746ed0ca
jg 0x746ed176
add byte [edx + edi*2 + 0x7fc8a972], ch
jb 0x746ed178
lodsb al, byte [esi]
jp 0x746ed17a
test eax, 0x6b727fc8
enter 0x727f, 0xffffffffffffffaf
enter 0x727f, 0x4e
enter 0x727f, 0xffffffffffffffc0
jb 0x746ed0d9
pop ds
jp 0x746ed18e
rcr byte [edi], 0x7a
jb 0x746ed104
push edi
jp 0x746ed196
neg dh
jp 0x746ed19a
push edi
in al, 0x7a
jb 0x746ed159
cmp byte [ebx + 0x72], 0x66
ja 0x746ed1ae
jnp 0x746ed1a6
jb 0x746ed0be
mov dword [edx + edi*2 + 0x72], edx
push esp
jp 0x746ed1aa
push 0x3c
jp 0x746ed1ae
jle 0x746ed191
jp 0x746ed1b2
jns 0x746ed193
jnp 0x746ed1b6
cld
jp 0x746ed1ba
rcl byte [ecx + 0x7b], 0x72
push ecx
jnp 0x746ed1be
sub al, byte [edi + 0x7b]
inc edi
jnp 0x746ed1c2
jb 0x746ed153
add bl, byte [ebx + edi*2 + 0x72]
pop esp
jnp 0x746ed1c6
jb 0x746ed12d
fcom dword [eax + 0x7b]
jb 0x746ed174
push eax
jnp 0x746ed1ca
sbb esi, dword [esi + 0x7b]
jbe 0x746ed1d6
jnp 0x746ed1ce
jb 0x746ed1a9
dec esp
push esp
jp 0x746ed1d2
pop edx
push ebp
jp 0x746ed1d6
jge 0x746ed1bc
jp 0x746ed1da
adc ah, ah
jp 0x746ed1de
push 0xffffffffffffffc3
jg 0x746ed1e2
mov cs, word [eax + 0x7a]
jb 0x746ed0fb
jp 0x746ed1e6
xchg byte [edx + 0x7a], dl
jb 0x746ed1b2
push edx
jp 0x746ed1ea
cmp dword [esi + 0x7f], edx
jb 0x746ed160
push esi
jg 0x746ed1ee
jecxz 0x746ed1d5
push edi
jp 0x746ed1f2
or byte [edi], bl
jp 0x746ed1f6
cmp al, 0x56
jg 0x746ed1fa
jb 0x746ed178
out dx, eax
adc al, 0x7a
jb 0x746ed14f
push esp
jp 0x746ed202
scasb al, byte es:[edi]
and byte [edx + 0x72], bh
mov ecx, 0x9e728167
jb 0x746ed14e
xor dword [bp + si - 0x62], 0xcc727a1f
xor dword [edx - 0x62], 0xcc727a1f
sahf
pop ds
jp 0x746ed20e
int3
push eax
jg 0x746ed212
wait
push eax
jg 0x746ed216
sub al, byte [edi + 0x7b]
jb 0x746ed14d
jnp 0x746ed21a
movsb byte es:[edi], byte [esi]
inc edi
jp 0x746ed21e
fnstcw word [0x4f1d727a]
jp 0x746ed222
sbb eax, 0xd7727a4f
jp 0x746ed226
xlatb
push 0x7b
jb 0x746ed212
jnp 0x746ed22a
pop ecx
xor dword [bp + si + 0x3d], 0xe7727b65
xor dword [edx + 0x3d], 0xe7727b65
cmp eax, 0xe7727b65
jnp 0x746ed232
out 0x48, eax
dec eax
jp 0x746ed236
ret
jp 0x746ed23a
sti
int 0x7f
jb 0x746ed1f5
jg 0x746ed23e
sub byte [edi + 0x6f837280], al
xchg dword [eax + 0x7a6f8372], eax
jb 0x746ed15b
xor byte [edx - 0x7d], 0x6f
jp 0x746ed246
xchg byte [edi - 0x5bd98d80], al
xchg dword [eax + 0x7aa42672], eax
jb 0x746ed187
xor byte [edx + 0x26], 0xa4
jp 0x746ed24e
stosb byte es:[edi], al
and eax, 0x6270727b
jnp 0x746ed252
jo 0x746ed244
jnp 0x746ed256
jo 0x746ed242
jnp 0x746ed25a
mov ebx, 0x35727b65
adc dword [edx + 0x72], edi
jnp 0x746ed25e
xor eax, 0x56727a11
jp 0x746ed262
push esi
cmp eax, 0xce32727a
jp 0x746ed266
xor cl, dh
into
jg 0x746ed26a
jb 0x746ed198
lahf
jle 0x746ed275
jp 0x746ed26e
jb 0x746ed27c
jg 0x746ed212
adc al, 0x7a
jb 0x746ed1f7
jp 0x746ed272
div byte [edx]
xor bh, byte [edx + 0x72]
jp 0x746ed276
cmpsb byte [esi], byte es:[edi]
adc edi, dword [edx + 0x72]
out 0x13, al
jp 0x746ed27e
leave
inc esp
jnp 0x746ed282
jb 0x746ed1fa
jmp 0xebe151e2
int 0x7f
jb 0x746ed28c
jg 0x746ed286
ja 0x746ed1de
enter 0x727f, 0xffffffffffffffa8
jno 0x746ed19c
jg 0x746ed28a
test al, 0x71
xor dword [edx + 0x52], 0x57727b20
jb 0x746ed26f
and byte [ebx + 0x72], bh
jnp 0x746ed292
push edi
cmp byte [edx + 0x72], 0xe0
jmp 0xda9444ad
jp 0x746ed296
loopne 0x746ed20f
xor dword [edx + 0x25], 0x66
jp 0x746ed29e
lea ebx, [edx + 0x27117280]
jp 0x746ed2a6
cld
pop dword [eax + 0x7b5c2d72]
jb 0x746ed1c1
xor byte [edx + 0x2d], 0x5c
jnp 0x746ed2ae
test byte [ebx], dl
adc edi, dword [ebx + 0x72]
jnp 0x746ed2b2
outsb dx, byte [esi]
wait
xor byte [edx + 0x33], 0x42
xor eax, dword [edx + 0x7a]
jb 0x746ed2bf
jp 0x746ed2ba
jbe 0x746ed1e2
cwde
xor byte [edx + 0x64], 0x50
jnp 0x746ed2c2
inc esi
add dword [ebx + 0x72], edi
jnp 0x746ed2c6
jmp 0x62e14c9b
jp 0x746ed2ca
out dx, al
lcall 0x727a, 0x27017280
xor byte [edx + 1], 0x27
jp 0x746ed2d2
imul dword [edi]
jnp 0x746ed2d6
or byte [edi], bl
jp 0x746ed2da
mov ebx, 0x8727a8c
adc eax, 0xeaac727a
jp 0x746ed2de
or byte [0xeaac727a], dl
jp 0x746ed2e2
jb 0x746ed21d
lodsb al, byte [esi]
ljmp 0x727b:0x84af727a
jp 0x746ed2e6
jb 0x746ed224
scasd eax, dword es:[edi]
test byte [ebx + 0x72], bh
jnp 0x746ed2ea
hlt
daa
jp 0x746ed2ee
les ecx, [eax]
jnp 0x746ed2f2
xchg dword [edx + edi*2], esp
jb 0x746ed2ee
jp 0x746ed2f6
imul esi, dword [ecx - 0x73388d86], 0x3104727a
mov cl, 0x7a
jb 0x746ed250
jp 0x746ed2fa
invalid
invalid
jp 0x746ed2fe
add al, 0x31
jnp 0x746ed302
sbb byte [eax + 0x7b], al
jb 0x746ed273
jnp 0x746ed306
fdivp st(5)
std
jp 0x746ed30a
push edi
lds eax, [eax + 0x7faaa872]
jb 0x746ed26e
jg 0x746ed312
int 0x3c
jp 0x746ed316
cmp al, 0x7a
jb 0x746ed2e2
cmp eax, 0x7a727aa3
sub dword [edx + 0x72], edi
mov dword [0x297a727a], eax
jp 0x746ed31a
jp 0x746ed2d3
jp 0x746ed31e
and ecx, esi
jp 0x746ed322
pop ds
and eax, 0x1fc0727b
jp 0x746ed32a
jnp 0x746ed326
rcr byte [edi], 0x7a
jb 0x746ed299
loopne 0x746ed272
mov eax, 0xe500727f
jg 0x746ed32e
add ch, ah
jp 0x746ed332
jb 0x746ed279
mov eax, 0xf7727b75
jne 0x746ed33e
jnp 0x746ed336
jb 0x746ed2bc
mul ebx
jecxz 0x746ed341
jp 0x746ed33a
jb 0x746ed2bc
mov edx, 0x47a4727f
mov edx, 0x47a4727f
jg 0x746ed33e
movsb byte es:[edi], byte [esi]
inc edi
jp 0x746ed342
sbb byte [edx], cl
test byte [edx + 0x52], dh
jb 0x746ed327
adc dword [edx + 0x72], edi
jp 0x746ed34a
adc byte [ebp + 0x7a], ah
jb 0x746ed260
jp 0x746ed34e
adc dword [eax], 0x7a
jb 0x746ed310
adc byte [edx + 0x72], bh
jp 0x746ed352
das
cmp dword [ebx + 0x72], 0x727a7bbe
jnp 0x746ed356
mov esi, 0xbf727a7b
cmp byte [edx + 0x72], bh
jp 0x746ed35a
mov edi, 0xc4727a38
cmp al, 0x7a
jp 0x746ed35e
les edi, [edx + edi*2]
jp 0x746ed362
jb 0x746ed2a8
mov bh, 0x3e
jp 0x746ed366
jp 0x746ed366
dec eax
and edi, dword [edx + 0x72]
jp 0x746ed36a
mov edi, 0xe9727a23
and dword [edx + 0x72], edi
jp 0x746ed36e
jmp 0x5be14d22
jp 0x746ed372
out 0x3b, eax
jp 0x746ed376
jb 0x746ed2fa
cmc
push edx
jp 0x746ed37a
jb 0x746ed303
cli
add al, 0x7b
jb 0x746ed35e
jnp 0x746ed37e
push ecx
add eax, 0x2284727b
test byte [edx], ah
jp 0x746ed386
xor byte [ebx - 0x7f], ch
jb 0x746ed314
xor dword [edx - 5], 0xfd727fdd
fnstsw word [edi + 0x72]
jg 0x746ed38e
std
dec edx
jp 0x746ed392
lds ecx, [eax + 0x7a]
jb 0x746ed2ca
jp 0x746ed396
movsd dword es:[edi], dword [esi]
inc edi
jp 0x746ed39a
jb 0x746ed31a
int1
jmp 0x746ed3a5
jp 0x746ed39e
bound eax, qword [edi + 0x7a]
jp 0x746ed3a2
jb 0x746ed35e
sub eax, 0x46727b6b
imul edi, dword [ebx + 0x72], 0x46
jnp 0x746ed3a6
inc esi
push edx
jp 0x746ed3aa
inc edx
imul eax, dword [ecx + 0x7b068572], 0x72
xor dword [edx - 0x7b], 0x36727b06
jnp 0x746ed3b2
imul eax, dword ss:[ecx + 0x7a48d172], 0x72
imul eax, dword [ecx + 0x7a48d172], 0x72
xor dword [edx - 0x2f], 0x60727a48
ror dword [eax + 0x7a], 1
jb 0x746ed3a9
pushal
imul eax, dword [ecx - 0x7e94d58e], 0x72
xor eax, dword [edi + 0x727f]
xor dword [edx + 0x2a], 0x3372816b
sub ch, byte [ebx - 0x7f]
jb 0x746ed384
xor dword [edx + 0x33], 0x727f87
add byte [eax], al
add bl, bl
jecxz 0x746ed3a1
xchg dword [edi + 0x72], edi
jg 0x746ed3c6
add byte [eax], al
add byte [eax], al
fninit
inc esi
ja 0x746ed35d
add byte [eax], al
add dh, ah
ljmp 0x77d6
add byte [eax], al
out 0xea, al
sal byte [edi - 0x63], cl
add al, 0xd6
salc
ja 0x746ed3b5
popal
sal dword [edi + 0x29], 1
movsd dword es:[edi], dword [esi]
sal dword [edi - 0x40], 1
ja 0x746ed344
sal dword [edi - 0x6e], 1
ja 0x746ed307
jle 0x746ed348
sal dword [edi - 0x4a], 1
ja 0x746ed32f
jl 0x746ed34c
sal dword [edi + 0x10], 1
ja 0x746ed38d
mov esp, 0xc1b377d2
sal dword [edi - 0x74], 1
leave
sal byte [edi - 0x4d], cl
rcl ecx, 0x77
mov ecx, cs
sal byte [edi - 0x5a], cl
arpl cx, dx
ja 0x746ed38c
inc dword [ecx + edx*8 + 0x77]
mov al, byte [0xf077d3ee]
inc esp
sal dword [edi - 0x60], 1
out dx, al
sal dword [edi - 0x10], cl
inc esp
sal dword [edi + 0xc], 1
ja 0x746ed3a5
pop ecx
sal dword [edi - 0x3c], 1
mov al, byte [0xa92c77d1]
sal dword [edi + 0x2c], 1
test eax, 0x816d77d1
sal dword [edi + 0x6d], 1
adc ecx, 0xd15e3777
ja 0x746ed36a
sal dword [edi + 0x37], 1
pop esi
sal dword [edi - 0x43], 1
pop edi
sal dword [edi + 0x32], 1
mov ss, ecx
ja 0x746ed3d8
sal dword [edi + 0x23], 1
pop edi
sal dword [edi + 0x44], 1
pop ecx
sal dword [edi + 0x43], 1
inc esi
sal dword [edi - 0x67], 1
jnp 0x746ed397
ja 0x746ed397
aas
sal byte [edi + 0x48], cl
ret 0x77d3
scasb al, byte es:[edi]
mov dl, 0xd4
ja 0x746ed391
ret 0x77d3