Function at 0x70c51487
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x44
mov dword [ebp - 0x10], 0x773d5
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x18], 0x6dc5
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
add eax, ecx
adc edx, ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x20]
xor eax, 0xd0670
or eax, dword [ebp - 0x1c]
je 0x70c56dcb
mov edx, 0xd0670
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0xbfbbb
or eax, dword [ebp - 0x1c]
je 0x70c54553
mov edx, 0xbfbbb
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0xbf023
or eax, dword [ebp - 0x1c]
je 0x70c54a62
mov edx, 0xbf023
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0xaf267
or eax, dword [ebp - 0x1c]
je 0x70c55480
mov edx, 0xaf267
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0xaeffb
or eax, dword [ebp - 0x1c]
je 0x70c572da
mov edx, 0xaeffb
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0xa84d4
or eax, dword [ebp - 0x1c]
je 0x70c53b35
mov edx, 0xa84d4
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0xa5de5
or eax, dword [ebp - 0x1c]
je 0x70c521ea
mov edx, 0xa5de5
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0xa0ac1
or eax, dword [ebp - 0x1c]
je 0x70c54044
mov edx, 0xa0ac1
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0x88bae
or eax, dword [ebp - 0x1c]
je 0x70c53117
mov edx, 0x88bae
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0x88950
or eax, dword [ebp - 0x1c]
je 0x70c52c08
mov edx, 0x88950
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0x8361f
or eax, dword [ebp - 0x1c]
je 0x70c517cc
mov edx, 0x8361f
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0x81c94
or eax, dword [ebp - 0x1c]
je 0x70c526f9
mov edx, 0x81c94
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0x7e19a
or eax, dword [ebp - 0x1c]
je 0x70c57cf8
mov edx, 0x7e19a
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0x79e39
or eax, dword [ebp - 0x1c]
je 0x70c5598f
mov edx, 0x79e39
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0x6b6d7
or eax, dword [ebp - 0x1c]
je 0x70c55e9e
mov edx, 0x6b6d7
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0x6a8f3
or eax, dword [ebp - 0x1c]
je 0x70c54f71
mov edx, 0x6a8f3
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0x4e811
or eax, dword [ebp - 0x1c]
je 0x70c563ad
mov edx, 0x4e811
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0x4ca0d
or eax, dword [ebp - 0x1c]
je 0x70c51cdb
mov edx, 0x4ca0d
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0x47f38
or eax, dword [ebp - 0x1c]
je 0x70c568bc
mov edx, 0x47f38
mov eax, 0
cmp edx, dword [ebp - 0x20]
sbb eax, dword [ebp - 0x1c]
jl 0x70c57cf5
mov eax, dword [ebp - 0x20]
xor eax, 0xd5a4
or eax, dword [ebp - 0x1c]
je 0x70c577e9
mov eax, dword [ebp - 0x20]
xor eax, 0x168a8
or eax, dword [ebp - 0x1c]
je 0x70c53626
jmp 0x70c57cf5
add ah, byte [ebx - 0x12b8f209]
mov ah, bh
sbb eax, 0x254994b
add al, 0xc6
push 5
sbb dword [ebp + edx*2 - 0x37877f2a], 0x17d9c5e4
out dx, al
xchg dword [ebp - 0x47], esi
sub eax, 0x7efbcebc
jns 0x70c5185f
add dword [eax - 0x6a], 0x69ce673a
mov edx, 0xcafe19b
outsd dx, dword [esi]
push ss
inc eax
xchg esi, eax
cmp ah, byte [edi - 0x32]
imul edi, dword [edx + 0xcafe19b], 0x4857166f
push edi
dec eax
xchg byte [edx], ch
jno 0x70c51801
pop ecx
cmp byte [edx], ah
int 0xf9
xchg esi, eax
popal
mov ecx, 0x1813116c
cmp byte [esi + 0x561a6b3e], 0xc2
jg 0x70c517f4
stc
out dx, al
lodsd eax, dword [esi]
pop ebx
nop
int3
rcr edx, 0x24
fist dword [edx]
mov bh, 4
enter 0x6f6c, 0x49
pushfd
test dword [edi - 0x2f], edx
out dx, eax
mov cl, dl
js 0x70c518a6
push 0xfe988002
and eax, 0x59c4f0f
lcall 0xc4f1, 0xcc06a48c
sal dword [eax - 0x28], 0x6d
jo 0x70c51839
insd dword es:[edi], dx
je 0x70c518be
ret 0x3a3e
sti
xor al, byte [eax + 9]
pop edx
and byte [ecx - 0x3f], bh
xchg ebx, eax
cld
loop 0x70c5191b
rcl dword [ebx - 0x768f1d04], 0x1e
mov dword [esi], ebx
mov dl, 0x9f
fdiv st(5)
fsubr dword [edx - 0x52]
salc
sbb ebx, dword [ebx]
dec edx
scasb al, byte es:[edi]
in al, 0x10
loop 0x70c51911
invalid
invalid
mov word [edi], es
xor bh, bl
je 0x70c5189f
adc al, 0xdd
mov edx, 0x1fe83322
fisubr word [ecx + 8]
mov eax, dword [0x44cb8d20]
pop edi
xchg ebp, eax
in eax, dx
adc al, 0x5f
imul ecx, dword [ecx], 0xbc6f63cd
adc byte [ebp + 0x69], 0x50
int1
adc ebp, ebp
or ebx, dword [ebp + 0x68]
popfd
cmp ch, dh
cmc
sub al, 0xe7
loope 0x70c518a0
pop esi
arpl word [esi - 0x5e97b9a9], ax
ja 0x70c51935
push 0xa21677a1
adc dword [edx - 0x15933370], ebp
ficom dword [edi]
mov esi, esp
jge 0x70c518e3
mov byte [0xcc90aa11], al
insb byte es:[edi], dx
ljmp 0xb77d
wait
ret
lcall 0x172b, 0x862fbb51
pop eax
loope 0x70c519b6
jbe 0x70c51941
popal
outsd dx, dword [esi]
push ebx
push 0xe
adc dh, byte [edi]
stc
loope 0x70c519c2
ja 0x70c51995
dec ecx
outsd dx, dword [esi]
invalid
and edx, dword [ebx]
xchg ebx, eax
pop edx
and esi, esp
cmp eax, dword [eax - 0x70]
int3
push 0x69b654c6
pop edx
jae 0x70c519fb
xchg byte [ebx], dh
int1
inc ecx
fmul st(2), st(0)
and dword [ebp + 0x55], ecx
sub al, byte [edx]
insd dword es:[edi], dx
mov edi, 0x8f3f2f0a
loop 0x70c51970
lds esp, ds:[edi]
xchg dword [edi - 0x3a6e8e70], ecx
push 0x45031e82
pop esp
nop
jno 0x70c5194a
lds ebp, [eax - 0x7e]
push ds
add eax, dword [ebp + 0x5c]
fadd st(3)
pop esi
stosd dword es:[edi], eax
pop si
in eax, 0x9c
out dx, al
test eax, 0x54eac337
nop
int3
push eax
inc ecx
xchg ebp, eax
aaa
add eax, 0x7f819e5c
invalid
cmp al, 0xd8
int3
rcl byte [edx - 0x26], cl
pop eax
fnstsw word [eax + 0x6d]
xchg ebp, eax
pop ds
add eax, 0xfa7debe
xchg ecx, eax
inc ebx
lahf
nop
int3
jns 0x70c52231
insd dword es:[edi], dx
cmp dword [eax - 0x5b], ebp
jns 0x70c5217b
adc esp, dword [edx - 0x48280c88]
xchg edi, eax
sti
into
mov al, byte [0x8f9e4041]
pop ebx
cmp bh, byte [esi + 0x36a32027]
add byte [esi - 0x22517270], cl
mov word [ebx], gs
wait
aad 0xae
test ebp, edi
neg byte [ecx]
push ecx
outsb dx, byte [esi]
nop
int3
into
xchg ecx, eax
je 0x70c521b2
xchg ecx, eax
lcall 0x9b91, 0xea1fdbf
mov eax, dr6
movsd dword es:[edi], dword cs:[esi]
xlatb
aam 0xce
xchg esi, eax
cmp eax, dword [0xd5cd89e4]
inc ebp
enter 0x4456, 0x5e
scasb al, byte es:[edi]
les ebp, [esi + 0x59]
cmp eax, 0xfa47860d
out dx, eax
arpl ax, ax
ficom word [ebx + esi*4]
loope 0x70c5222f
lodsd eax, dword [esi]
lds esp, [edi + 9]
dec esp
test byte [ecx + 0x1c], ah
inc edi
stosb byte es:[edi], al
jmp 0xc2a2523a
adc ch, byte [eax + 0x39c20af7]
push es
dec esp
test dword [edx], 0x4c0639c2
jb 0x70c522ab
or eax, edi
aam 0x4a
retf 0xcc90
sbb byte [esi + 0x16], ch
pop eax
mov edx, dword [ebp + 0x65e6a95b]
add byte [eax + 0x6636f90d], dl
push cs
cmp ebx, ecx
xchg byte [ecx + 0x40], ch
loope 0x70c522b8
cli
leave
sub byte [ebx], 0xaa
ret
bnd jbe 0x70c52259
das
daa
pop ecx
add dword [esi], esi
xchg edi, eax
add byte [0xfd9e70c9], cl
sahf
std
fadd st(6)
fild word [ebx]
or dword [edx + 0x77], 0xf45bc5d8
mov ebp, 0x427731c1
sbb edx, ebp
push es
invalid
shr dword [ebx - 0x33], cl
invalid
test al, 0x41
ret 0x6a3d
xchg ebp, eax
sbb dl, 0xc1
pop ss
wait
stosb byte es:[edi], al
mov dword [0xcc90e0cc], eax
cld
adc esi, ecx
push edi
clc
outsd dx, dword [esi]
ficom dword [edx - 0x58bae7b]
aad 0x76
jp 0x70c526b9
int1
outsd dx, dword [esi]
dec ebx
test eax, 0xae56660e
pop ss
ljmp 0xee95
je 0x70c52678
pop ebp
xchg ebp, eax
out dx, al
add ch, bh
cdq
xchg ebp, eax
jmp 0x70c5273e
dec edx
push ss
xchg ecx, eax
adc cl, byte [esi]
rcr byte [ebx - 0x79], cl
cmc
mov byte es:[esi - 0x70], cl
int3
test al, 0x5c
jp 0x70c5267d
movsb byte es:[edi], byte [esi]
push esp
into
jg 0x70c52709
jns 0x70c52692
pop ss
rcr ecx, 0x4b
push ecx
aas
inc eax
scasb al, byte es:[edi]
cwde
movsd dword es:[edi], dword [esi]
sti
push ecx
inc ebx
sub eax, 0x7f27145
xchg edx, eax
jl 0x70c5277f
out dx, eax
jo 0x70c526e6
div byte [edi]
sub edx, esi
leave
mov word [0x268854f8], fs
push es
imul dword [ecx]
sbb ch, 0x29
hlt
mov word [ebp + 0x6f090a36], cs
pop esp
ret
daa
cld
invalid
sti
fdivp st(5)
fild qword [0x861834bc]
mov bl, 0x64
cmp byte [ebx + 0x1968d8c5], bh
push es
fdivr qword [eax + 0x36a90f66]
int3
cmpsb byte [esi], byte es:[edi]
int 0xac
imul ebp, dword [ebx + 0x15], 0x57
imul edi, dword [ecx + edx*8 - 0x4eed3413], 0x22d7c7f
hlt
add eax, edi
pop ebx
add byte [ebx + esi*8], ch
mov cl, 0xf9
mov ah, 0xf8
cmc
cmp byte [edx], cl
pop esp
aam 0x9c
push ebp
cmp al, dh
inc eax
imul ebp, dword [ecx + 0x1b], 0x2e
invalid
iretd
pop ecx
fld xword [eax - 0xfda3ea9]
mov esp, 0x4ba2c6dc
lodsd eax, dword [esi]
lodsd eax, dword [esi]
sbb byte [edi], 0xb6
fsub qword [edi]
mov dh, 0xdc
daa
xchg ebx, eax
or ecx, dword [edx + 0x59]
sbb ch, byte [0xa3540ecf]
add dl, ah
jbe 0x70c53af0
mov byte [0x51279876], bh
in eax, dx
stosb byte es:[edi], al
mov al, 0
sub al, 0x2f
sal byte [esi + 0x46], 1
jecxz 0x70c53b45
cmp dl, byte [edi - 0x13816d68]
mov edx, 0x52dc6925
test eax, 0x61675a9f
xor eax, 0x141342db
stosb byte es:[edi], al
xlatb
dec edi
invalid
in eax, 0x37
invalid
salc
push cs
cmp dword [ecx + edi*4], ebp
mov dl, 0x2c
mov dh, 0x8b
xchg esi, eax
cdq
sub al, 0x19
cmpsb byte [esi], byte es:[edi]
mov esp, 0xe7fab76c
cmp al, 0xe5
invalid
in al, dx
push cs
and eax, dword [esi + ecx]
invalid
imul dword [eax - 0x32c33d2f]
lea edx, [edi + 0x65]
fld xword [esi + 0xa120918]
adc edx, dword [esi + 0x26]
or eax, 0xa8e5c6cb
adc dl, byte [ecx + 0x28]
pop edx
stosb byte es:[edi], al
mov bl, 0x2f
pop ecx
bound eax, qword [esi + 0x6e]
dec ecx
push ecx
iretd
aam 0xaa
or esp, dword [esi - 0x80]
into
xchg edx, eax
test byte [ecx + 0xf], 0xba
pop esi
xchg edi, eax
salc
cdq
mov dl, 0xbb
dec ecx
hlt
mov esp, 0x37322967
or esp, edx
out 0xc6, eax
mov ecx, 0x597a328d
xor bh, byte [edx + 0x59]
mov esp, ebx
dec ebp
push ss
jbe 0x70c5596d
test byte [eax + 0x6ad64a77], bh
movsb byte es:[edi], byte [esi]
sub dword [ecx + 0x15771574], edx
adc al, byte [ebx - 0x76]
pushal
xor al, 0x90
int3
call 0x82c16375
jbe 0x70c55962
in eax, 0xc6
or eax, 0x7255be24
into
pushal
sub al, byte [edi]
cwde
mov esi, 0xb35e96b9
pushfd
iretd
or bl, byte [eax - 0x54]
push 0xffffffffffffffd5
retf
dec esp
iretd
lodsd eax, dword [esi]
js 0x70c568b4
nop
int3
pop eax
sub dword [edx], 0xffffffc9
pop esp
pop esi
sub dl, byte [esp + ebp*2]
test eax, 0x90f98467
js 0x70c5685c
arpl ax, bx
sal dword [ecx], cl
add ah, dl
inc eax
xchg bh, ah
cmp al, 0xc5
div dword [edi - 0x4c4db218]
lahf
invalid
mov ch, 0x90
int3
xor eax, 0xe712e796
lcall 0x95ac, 0x40aaed84
and cl, byte [ecx - 0x5d016404]
bnd jecxz 0x70c568d9
xchg ebx, eax
jg 0x70c56866
sbb dword [esi - 0x7003da98], ebp
sahf
adc byte [eax - 0x32e2ed68], ch
invalid
invalid
xchg ebp, eax
test byte [esi], 0x51
invalid
pop dword [ecx - 0x44]
aam 0xab
pop ds
fisubr dword [eax - 0x4d]
push ebp
div dword [eax - 0x7dad1f71]
push ecx
int 0xb2
loopne 0x70c5732e
in eax, dx
shl dword [ecx + 0x432a5131], 1
sbb dword [edi], ecx
salc
invalid
nop
int3
mov bl, 0x4f
in eax, dx
sbb edx, esp
and edx, ebp
xchg ecx, eax
inc eax
into
in eax, 8
push esp
test dword [esi - 0x5d], ebx
invalid
nop
jmp 0x70c57cf9
nop
mov eax, dword [0x70fcb024]
mov edx, eax
mov eax, dword [0x70fcb028]
mov eax, dword [eax + 0x34]
sub edx, eax
mov dword [0x70fcb030], edx
mov dword [ebp - 0x28], 0xc584
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x30], 0xee273
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x28]
sbb edx, dword [ebp - 0x24]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x38]
xor eax, 0xe1cef
or eax, dword [ebp - 0x34]
je 0x70c5920f
mov edx, 0xe1cef
mov eax, 0
cmp edx, dword [ebp - 0x38]
sbb eax, dword [ebp - 0x34]
jl 0x70c59212
mov eax, dword [ebp - 0x38]
xor eax, 0x5ca03
or eax, dword [ebp - 0x34]
je 0x70c582e5
mov edx, 0x5ca03
mov eax, 0
cmp edx, dword [ebp - 0x38]
sbb eax, dword [ebp - 0x34]
jl 0x70c59212
mov eax, dword [ebp - 0x38]
xor eax, 0x42156
or eax, dword [ebp - 0x34]
je 0x70c57dd6
mov edx, 0x42156
mov eax, 0
cmp edx, dword [ebp - 0x38]
sbb eax, dword [ebp - 0x34]
jl 0x70c59212
mov eax, dword [ebp - 0x38]
xor eax, 0x9c3e
or eax, dword [ebp - 0x34]
je 0x70c587f4
mov eax, dword [ebp - 0x38]
xor eax, 0x26f5f
or eax, dword [ebp - 0x34]
je 0x70c58d03
jmp 0x70c59212
mov bh, dl
sar byte [edx], 0xbd
popal
invalid
insb byte es:[edi], dx
movsb byte es:[edi], byte [esi]
in eax, dx
mov edx, 0xa34e4078
inc ecx
fldcw word [esi - 0x6a2d6d56]
push edi
and al, 0x31
aas
fild dword [ebp - 0x177175f1]
adc eax, 0x6e36d26e
sahf
add al, 0x59
sub dword [esi - 0x43226a3b], edi
into
xchg dh, bh
imul ecx, dword [0x5569ac7], 0x8eedee37
and al, 0x38
xor ebx, dword [eax - 0x37244781]
nop
cmp eax, 0x705c9fe3
psubq mm0, qword [ebx + 0x27]
dec edi
lds ecx, [esi]
sub dword [ecx - 0x22], eax
daa
jb 0x70c5838a
mov al, 0xfc
nop
int3
enter 0xffffffffffffb378, 0x1b
pop eax
nop
int3
shr dword [ebp + 0x31506b33], 0x60
call 0xcba24ab1
xchg ebx, eax
sbb byte [edi + ecx + 0x6709a14d], dl
invalid
ret
nop
jmp 0x70c59213
nop
mov eax, dword [0x70fcb008]
mov edx, dword [0x70fcb028]
mov ebx, dword [edx + 0x54]
mov ecx, dword [0x70fcb02c]
mov edx, dword [0x70fcb024]
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
nop
mov ebx, dword [ebp - 4]
leave
ret