Function at 0x7d503c
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x7d5042
pop ebp
sub ebp, 6
sub ebp, 0x3d503c
jmp 0x7d50a0
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
mov al, byte [esp + 0x28]
cmp al, 1
je 0x7d50b7
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x7d50c0
mov eax, 0x3d503c
add eax, ebp
push eax
cmp eax, 0x81c50300
add eax, 0xaa
mov ecx, 0x5bb
mov edx, 0xca41ad72
shr byte [edx - 0x47000000], 0xbb
add eax, 0x72ba0000
lodsd eax, dword [esi]
inc ecx
retf 0x1030
xor byte [eax], dl
inc eax
dec ecx
jne 0x7d50d7
jmp 0x7d50ea
stc
mov edi, 0x724efbf9
jb 0x7d5164
mov bl, 0x8a
jb 0x7d5169
jb 0x7d516a
mov edi, 0x72727aca
jb 0x7d50c8
pop edx
jb 0x7d5175
jb 0x7d508a
nop
jno 0x7d50c2
stc
jle 0x7d517e
jb 0x7d5180
jno 0x7d50c7
and ah, byte [edx]
sbb bl, byte [edx + 0x46]
jg 0x7d5189
sbb ah, byte [esi + 0x6e]
outsb dx, byte [esi]
inc edx
jb 0x7d5190
pop esi
push esi
sbb dl, byte [eax - 0x65d09fdb]
ja 0x7d5199
jb 0x7d519b
wait
pop edx
jb 0x7d519f
jb 0x7d5156
stc
sahf
stc
idiv dword [edx + 0x72]
jb 0x7d51a9
stc
out 0x7e, eax
jb 0x7d51ae
jb 0x7d5137
jmp dword [edx + 0x72]
stc
invalid
outsb dx, byte [esi]
inc edx
jb 0x7d51db
pop esi
push esi
and ebx, dword [edx + 0x72727277]
wait
dec ebp
jo 0x7d51e6
jb 0x7d519d
daa
das
lea eax, [edi]
jle 0x7d5109
pop es
jp 0x7d5119
lcall 0xcff9, 0x72727200
jp 0x7d51f9
add byte [edx + 0x72], dh
jb 0x7d51f4
jb 0x7d517d
iretd
jb 0x7d51fb
cmp edx, 0xfffffffc
ljmp 0xeafc
cmp edx, 0xfffffffc
ljmp 0xf1a0
inc ecx
mov ebx, 0x9af1a041
int1
lcall 0x723c, 0xf67d3a77
ja 0x7d51d7
jge 0x7d5195
cmp al, 0x72
jb 0x7d5215
jge 0x7d519f
cmp dh, byte [edx + 0x72]
jb 0x7d51be
adc al, 0xf9
stc
outsb dx, byte [esi]
dec ebx
mov dword [edx + 0x7268f67d], ebx
mov dword [edx + 0x7268f67d], ebx
jb 0x7d5228
mov dword [ebx + 0x7263f67d], ebx
jb 0x7d5231
arpl word [edx + 0x72], si
jb 0x7d51d4
adc al, 0xf3
mov dword [ebp + 0x67f67d57], ecx
mov dword [ebp + 0x67f67d57], ecx
jb 0x7d523b
jb 0x7d523b
jb 0x7d51fe
wait
mov esi, 0x5b8d8d8d
dec ebx
jae 0x7d51c6
int1
mov bl, 0x77
int1
lcall 0x8d8d, 0x8dcf9b76
pop ebx
dec ebx
jo 0x7d51d5
iretd
mov bl, 0x74
int1
cwde
jbe 0x7d51db
lcall 0x8d8d, 0x8dd99b77
das
mov al, 0x7e
jb 0x7d521d
stc
sahf
and al, 0x25
daa
and eax, 0x7e07f927
stc
pop es
jle 0x7d51f8
stc
invalid
leave
jo 0x7d5289
jb 0x7d528b
jo 0x7d51bb
jge 0x7d5214
ja 0x7d5291
jb 0x7d5293
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0x8daaf17d]
lea ecx, [ebp - 0x8825f90]
ja 0x7d52a4
stosb byte es:[edi], al
lea ecx, [ebp + 0x7da0708d]
div dword [edi + 0x72]
mov al, byte [0x7277f77d]
jb 0x7d52a5
jb 0x7d52a6
jb 0x7d522d
clc
xor al, 0x60
mov al, byte [0x7218f17d]
jb 0x7d52b1
sbb byte [edx + 0x72], dh
jb 0x7d5281
inc ecx
mov dl, 0x70
mov al, byte [0x7277f77d]
jb 0x7d52bb
clc
xor al, 0x60
mov al, byte [0x7358f17d]
jb 0x7d52c6
int1
pop eax
jae 0x7d52c5
jb 0x7d52c5
jo 0x7d51f6
mov al, byte [0x7277f77d]
jge 0x7d524f
ja 0x7d52cc
jb 0x7d52ce
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070b261]
jge 0x7d525e
ja 0x7d52db
jb 0x7d52dd
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070b261]
jge 0x7d526d
ja 0x7d52ea
jb 0x7d52ec
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070b261]
jo 0x7d5223
mov al, byte [0x7277f77d]
jge 0x7d527c
div dword [edi + 0x72]
ja 0x7d52f9
jb 0x7d52fb
jb 0x7d5282
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xf67db261]
jge 0x7d5288
div byte [edx + esi*2 + 0x72]
je 0x7d5306
jb 0x7d5307
jb 0x7d5308
jb 0x7d5290
stc
lodsd eax, dword [esi]
pop ecx
stosb byte es:[edi], al
clc
jno 0x7d5297
jne 0x7d52d4
leave
jo 0x7d5314
jb 0x7d5316
wait
add cl, byte [ebp + 0x73ca8d8d]
jb 0x7d531f
lea ecx, [ebp + 0x7273ca8d]
jb 0x7d5320
retf 0x7273
jb 0x7d531f
jo 0x7d5250
mov al, byte [0x7277f77d]
jge 0x7d52a9
div dword [edi + 0x72]
ja 0x7d5326
jb 0x7d5328
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070b261]
jge 0x7d52b8
popal
mov dl, 0x70
mov al, byte [0x7277f77d]
ja 0x7d5335
jb 0x7d5337
clc
xor al, 0x60
mov al, byte [0x8dacf07d]
lodsb al, byte [esi]
lea ecx, [ebp - 0x364ea673]
lea ecx, [ebp + 0x73c9b159]
pop ecx
mov cl, 0xc9
jae 0x7d5347
jb 0x7d5348
jb 0x7d5349
jb 0x7d5355
jge 0x7d52d0
test dword [esi + 0x72], 0x73cb7272
jb 0x7d5353
inc esi
jb 0x7d534e
jb 0x7d534f
jb 0x7d52a9
retf
jae 0x7d5352
jb 0x7d5354
jb 0x7d5353
jo 0x7d5284
mov al, byte [0x7277f77d]
jge 0x7d52dd
ja 0x7d535a
jb 0x7d535c
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070bb61]
jge 0x7d52ec
ja 0x7d5369
jb 0x7d536b
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0x8dacf07d]
lea ecx, [ebp + 0x5985f924]
test dword [ecx - 0x79], ebx
adc esi, 0x8d7a9b2c
lea ecx, [ebp + 0x7a92b33a]
clc
pop ecx
xchg dword [ecx + 0x7a9b2cd6], eax
lea ecx, [ebp - 0x6d4cc573]
jp 0x7d530e
je 0x7d534c
stc
lcall 0x7072, 0x727273cb
retf
jo 0x7d52c1
mov al, byte [0x7277f77d]
jge 0x7d531a
ja 0x7d5397
jb 0x7d5399
jb 0x7d5320
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070bb61]
jge 0x7d5329
mov al, byte [0x7277f77d]
ja 0x7d53a6
jb 0x7d53a8
jb 0x7d532f
clc
xor al, 0x60
mov al, byte [0x8dacf07d]
lea ecx, [ebp + 0xf728af3]
jb 0x7d53b9
rep stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea ecx, [ebp - 0x750c7273]
invalid
mov dh, byte [edx + 0x77]
jb 0x7d53c8
jb 0x7d53c5
jb 0x7d5347
rep stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea ecx, [ebp - 0x750c7273]
bnd jb 0x7d53d0
mov dh, dl
jb 0x7d53d0
jb 0x7d5353
mov dword [0x72727272], eax
mov dword [0x72727272], eax
mov dh, dl
jb 0x7d53dc
jb 0x7d53dd
jb 0x7d535f
mov dword [0x72727272], eax
mov dword [0x72727272], eax
and al, 0xf9
test dword [ecx - 0x7e], ebx
adc esi, 0x8ce99b2c
lea ecx, [ebp + 0x413474f8]
mov ebx, 0x7d739ab2
imul byte [eax + 0x72]
jb 0x7d53fe
invalid
mov dword [0x72727270], eax
stc
lcall 0x8182, 0x5985f924
pop ecx
add byte [ecx + 0x73c92cd6], 0x72
adc esi, 0x7273c92c
salc
sub al, 0xc9
jae 0x7d5411
jb 0x7d5413
wait
add dword [ebp + ecx*4 + 0xf592f8d], ecx
jp 0x7d53a4
lea ecx, [ebp + 0x7a0f592f]
stc
das
pop ecx
invalid
mov ch, 0x2d
sub al, 0xf9
xchg edi, eax
das
mov al, 0x7a
jb 0x7d53e2
sub al, 0x9b
jbe 0x7d542b
jb 0x7d542d
inc dword [ebx - 0x20]
cmp dl, cl
dec esi
and cl, byte [edi + 0x72]
jno 0x7d537d
mov bh, 0xf3
mov dl, 0xdb
mov dl, 0xdb
invalid
jno 0x7d543d
jb 0x7d5398
into
jo 0x7d5442
jb 0x7d539a
xchg ecx, eax
clc
popal
aas
inc edx
bound esi, qword [edx]
cmp edi, dword [ebp - 9]
test byte [ebp + 0x769b8d8d], cl
lea ecx, [ebp + 0x72769b8d]
jb 0x7d5457
jb 0x7d5456
jb 0x7d543d
push edi
mov esi, 0x6f164349
sbb ch, bh
lodsd eax, dword [esi]
sbb ch, byte [0x919131a6]
xchg ecx, eax
xchg edx, eax
outsd dx, dword [esi]
sbb al, 0xcf
xchg ecx, eax
pop es
sbb ah, cl
lodsd eax, dword [esi]
pop es
sbb dl, byte [0x9191a5a1]
xchg ecx, eax
mov edx, 0x91c61a49
sbb bl, dh
xchg ebp, eax
adc byte [ebx - 0x6f], ch
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
sahf
adc eax, 0x919191d7
xchg edx, eax
inc edi
adc byte [esi - 0x67], dl
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
adc byte [eax - 0x67], bh
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
adc byte [eax - 0x6f], ch
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
sahf
adc eax, 0x6e6e6e45
neg dword [edx]
xchg esi, eax
push eax
jns 0x7d53d7
adc dh, byte [ecx - 0x62]
adc byte [ecx - 0x6e], ch
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
sahf
adc al, 0x9c
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
neg dword [edx]
xchg esi, eax
adc byte [ecx + 0x6e], dh
sahf
xchg ecx, eax
xchg ecx, eax
xchg edx, eax
push ebx
nop
mov eax, ebx
fcomp st(0)
adc dl, byte [esi - 0x6d]
fcom dword [edx]
push esi
xchg ebx, eax
js 0x7d54b6
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
js 0x7d53f7
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
retf
invalid
in al, dx
popal
mov eax, 0x81f87956
jns 0x7d5538
jns 0x7d5539
jns 0x7d553a
jns 0x7d5538
jbe 0x7d54bf
cld
jne 0x7d553e
jns 0x7d5540
bnd jne 0x7d5545
mov edi, 0x5dec8629
in al, dx
pop ebp
mov eax, 0x6fa7956
jns 0x7d54ce
cli
push es
jne 0x7d5550
jns 0x7d554e
jbe 0x7d54d6
std
adc byte [ecx + 0x79], bh
jns 0x7d54d8
push es
jns 0x7d555a
jbe 0x7d54df
jae 0x7d555e
jns 0x7d5560
cli
push es
imul edi, dword [ecx + 0x76], 0x797930fd
jns 0x7d551e
repne lodsb al, byte [esi]
inc byte [edx + esi*8 - 0x7b0196fc]
jp 0x7d5494
test byte [edx - 0x69], bh
cli
add al, 0x79
jns 0x7d5578
std
dec edx
jns 0x7d557f
jns 0x7d54fa
xor al, 0x79
sub dword [ebx], ebp
jb 0x7d54be
jbe 0x7d5500
jg 0x7d558b
jns 0x7d558d
sub byte [eax + 0x79797970], dl
jp 0x7d54d3
clc
mov eax, 0x7979797b
jnp 0x7d5599
jns 0x7d559b
sub byte [ecx], ch
xchg bl, ch
mov eax, 0xf0237956
cmp al, 0x79
and eax, edi
mov esp, 0x7979797d
nop
mov edx, 0x24868686
clc
xchg byte [esi + 0x6dbef824], al
xchg byte [eax + edi*8], ah
and al, 0xf8
mov esi, 0x7979796d
nop
jns 0x7d55b9
jns 0x7d54d2
and al, 0x86
xchg byte [esi + 0x4c861d2d], al
jns 0x7d55c5
xchg byte [0x794c861d], ch
jns 0x7d55c6
jns 0x7d55c7
jns 0x7d5560
adc ebx, ebx
fld xword [edi]
das
inc esp
jns 0x7d5580
das
out dx, eax
or dword [ebp - 0x11], eax
std
dec ecx
push ecx
jns 0x7d55d9
jns 0x7d55dc
mov edi, 0x112d9986
sbb al, 0x59
cmp al, 0x17
adc byte [esi], bl
adc al, 0x18
pop ecx
sub dword [ebx], ecx
push ss
or eax, 0x160d1a1c
or ebx, dword [ecx + 0xf]
sbb al, 0xb
or dl, byte [eax]
push ss
pop ss
pop ecx
dec eax
push edi
dec edx
dec eax
je 0x7d55fb
cmp eax, 0x151c0f1c
sbb al, 0x15
push ss
or dword [ebx + ecx], ebx
inc ebx
pop ecx
das
adc eax, 0x14101d18
adc byte [ebx], cl
pop ecx
sub cl, byte [edx + edx]
adc dword [esi], edx
pcmpeqb mm6, qword [ebx + 0x2a]
adc byte [0x5943591c], cl
adc dword [0x5643090d], ecx
push esi
push cs
push cs
push cs
push edi
sbb al, 0x17
adc byte [esi], bl
push ds
adc al, 0x18
or dword [ebx], ecx
push ss
or eax, 0x160d1a1c
or edx, dword [edi + 0x1a]
push edi
sbb dl, byte [esi]
push ss
adc al, 0x56
je 0x7d563f
cmp al, 0x54
adc al, 0x18
adc byte [0xa594359], dl
or al, 9
or dword [esi], edx
push ss
or ecx, dword [0x10171c39]
push ds
cmp dword [edi + edx], ebx
adc byte [esi], bl
adc al, 0x18
or dword [ebx], ecx
push ss
or eax, 0x160d1a1c
or edx, dword [edi + 0x1a]
push ss
adc al, 0x74
jae 0x7d561f
pop ss
or ebx, dword [esi + ebx]
adc byte [edx], cl
or eax, 0x1d1c0b1c
pop ecx
or dl, byte [eax]
push ds
or ebx, dword [ebx + 0x1e100a59]
pop ss
sbb byte [0x741c0b0c], cl
jae 0x7d5638
adc dword [eax], edx
or bl, byte [ecx + 9]
or edx, dword [esi]
push ds
or ebx, dword [eax]
adc al, 0x59
or dword [ebx], ecx
push ss
or eax, 0x1c0d1a1c
sbb eax, 0xd100e59
adc dword [ecx + 0x2c], ebx
aaa
sub edi, dword [esi + edi]
xor byte [edx], ch
sub eax, 0x593d3c2b
das
cmp al, 0x2b
sub dh, byte [eax]
aaa
aaa
pop ecx
push ss
pop ds
pop ecx
sub eax, 0x3c591c11
pop ss
sbb al, 0x59
cmp al, 0x17
adc byte [esi], bl
adc al, 0x18
pop ecx
sub dword [ebx], ecx
push ss
or eax, 0x160d1a1c
or esi, dword [ebx + esi*2 + 0x30]
or eax, 0x17181a59
pop ecx
sbb bl, byte [eax]
pop ss
pop esi
or eax, 0x591c1b59
sbb eax, 0xb0d0a10
adc byte [ebx], bl
or al, 0xd
sbb al, 0x1d
pop ecx
push ss
or ebx, dword [ecx + 0xc]
or bl, byte [ebx + 0x59171059]
sbb dl, byte [esi]
adc al, 0x14
sbb al, 0xb
sbb dl, byte [eax]
sbb byte [0xb0c0959], dl
or dword [esi], edx
or bl, byte [esp + esi*2]
jae 0x7d56b7
aaa
sub edi, dword [esi + edi]
xor byte [edx], ch
sub eax, 0x3d3c2b3c
pop ecx
sub dword [ebx], ebp
sub eax, 0x302d3a3c
aaa
jns 0x7d56aa
add byte [eax], al
add byte [ebp - 0x3bffffdb], dl
test dword [eax], 0xae837600
jl 0x7d5714
invalid
insb byte es:[edi], dx
sub bh, byte [esi + 0x3a920da2]
jne 0x7d567a
or eax, 0xbe753a92
add ebx, edx
daa
push cs
js 0x7d5655
sbb esi, dword [ebx - 0x1ca0d755]
or bh, byte [ecx]
mov esi, 0xb09efcf9
cmp byte [ebp + 0x66db54a8], dl
ljmp 0xb380
add edi, dword [edx - 0x18a965d9]
iretd