Function at 0x10025739
Capabilities:
Encode data using xor

Disassembly:
mov edi, 0x64683a3e
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
pushfd
test byte [0x100257b2], 7
jne 0x100257b3
sub dword [eax], 0xe16adf24
sbb eax, 0x5d3d4023
cmp dword [ebp + edx*8 - 0x228aa8e1], edi
rcr byte [eax + ebp*8 + 0x2c], 1
xchg byte [esi + 0x493ccbe6], dl
dec eax
popal
push esi
inc eax
mov al, byte [0x386898cd]
in eax, 0x1a
sbb dh, byte [ebx - 0x1f]
jb 0x10025790
out 0xd4, eax
xor eax, 0x544d56e6
cli
jbe 0x10025725
daa
in eax, dx
sahf
push 0x45
pop edx
out dx, al
xchg ebp, eax
xlatb
pop ecx
in al, 0x3b
adc eax, 0x79056a83
or byte [ebx - 0x1e4057f5], bh
fstp xword [esi + 0xf3f9d8c]
ror byte [ecx + 0x12], 0xf4
enter 0x6dae, 0xffffffffffffffb4
dec edi
mov ds, word [eax]
pushal
push ds
cdq
je 0x100257ef
dec edx
sti
cmp ch, byte [ecx]
jno 0x10025817
das
popfd
sub esp, 0xc
xor eax, eax
test ecx, ecx
je 0x10025e64
pushfd
test byte [0x100258c3], 0xb3
jne 0x100258c4
push es
out 0x73, eax
cmpsb byte [esi], byte es:[edi]
sbb byte [esi], dl
add dword gs:[eax - 0x7cd574c0], ebx
or ecx, dword [eax - 0x48]
and al, 0x1f
enter 0xffffffffffffd9dc, 0x1c
imul ebp, dword [ecx + edx*2], 0x37
test byte [ebx - 0x31], 8
xlatb
cmp al, 0x44
inc esp
int 0xd
mov word [eax], gs
pop eax
mov edx, 0x37972bba
adc bh, byte [ebx]
and al, 0x43
xchg ebx, eax
dec ecx
push ds
sbb ecx, esi
push ss
outsb dx, byte [esi]
add eax, 0xe4d5a7b9
inc esi
pop ds
and byte [esi], 0x21
or dword [ebx], 5
push 0xb8429d63
or eax, dword [0x429d6368]
mov eax, 0xbb63ad22
sar dword [ecx + 0x3a], 1
dec esp
mov edi, 0x15786482
and ch, byte [ebp + 0x79d1bb63]
cmp cl, byte [edi + edi*4 - 0x7e]
js 0x10025839
dec eax
mov byte [edi + 0x7f30e939], dh
sar bl, cl
or edx, dword [ebx]
in eax, dx
dec ebx
sbb esi, dword [ebp - 0x5e36a09]
aad 0x58
neg dword [eax]
xor ecx, ebp
dec ebp
aam 0x94
mov dl, 0xec
and byte [ecx - 0x7d05dff7], bh
cmp eax, 0xced1d2ac
lodsb al, byte [esi]
rcl cl, cl
into
inc ecx
insb byte es:[edi], dx
add esp, dword [0x6b30ee5c]
cmp byte [ebp + 0x4f], ah
jg 0x10025849
sti
sbb dword [ebx], ebx
sub eax, 0x1a449a89
mov ah, 0x74
mov ebx, 0xb8a5305c
scasb al, byte es:[edi]
or dword [ecx - 0x34], ecx
inc ebx
mov esi, 0x918080fa
mov ecx, 0xc9a14be5
mov bl, 0x46
mov gs, word [ebp + 0x4a]
adc dword [esi], 0x61
jnp 0x10025810
xor bl, byte [edi - 0x18302473]
out dx, eax
xchg ebx, eax
jno 0x100258bd
inc eax
outsb dx, byte [esi]
bound eax, qword [esi]
sbb al, 0xeb
mov ds, word ds:[eax - 0x56af8737]
pop ds
adc eax, eax
push edx
adc cl, bh
inc ebx
cmp edi, ebx
jl 0x10025893
and dword [0x65cc2800], 0x2a
shr dword [esi - 0x5f4daab7], 1
push edx
pop ecx
dec edi
xchg dword [esi], esp
sbb edx, dword [ebx - 0x684af09d]
in eax, dx
jl 0x100258c2
lgs edx, [edi - 0x28008313]
call edi
xlatb
popfd
cmp ecx, 0x163356
ja 0x10025b29
imul ecx, ecx, 0xb88
pushfd
test byte [0x1002596d], 0x18
jne 0x1002596e
movsd dword es:[edi], dword [esi]
cmp dl, byte [ebx + 0x54]
or dword [eax - 0x6fd4e453], eax
fnstenv [edx + 0x1d59243e]
movsb byte es:[edi], byte [esi]
fdiv dword [ebp - 0xd]
std
bound esp, qword [ebx]
xor byte [eax], dh
xor byte [esi - 0x39], ch
in eax, 0xe8
add dword [ecx - 0x6f], 0xffffff90
xchg ebx, eax
cmp al, 0x88
scasb al, byte es:[edi]
mov dword [0xb4587b9], eax
cld
das
xchg esi, eax
cwde
mov esi, 0x1c303a63
push esp
xor byte [esp + edx*2], bl
enter 0xffffffffffffd6ee, 0x15
insd dword es:[edi], dx
jo 0x1002596c
sar esp, 0xb8
fadd qword [edx - 0x2d]
xor dl, ah
into
stosb byte es:[edi], al
dec esp
jo 0x10025918
clc
adc eax, 0xa904ff3f
sbb ecx, dword [ebx + 0x30c1d7bb]
and bl, byte [eax - 0x1f]
popal
loope 0x100259a2
int1
inc eax
inc ecx
rcl byte [eax + 0x2465f7ac], cl
mov ch, 0x7e
push cs
sbb al, 0x84
pop eax
push 0x5f
pop edi
scasb al, byte es:[edi]
and byte [eax], dh
jge 0x10025998
pop esi
cmp bl, byte [edx + 0xb3cd76b]
int3
sbb ch, bh
popfd
push ecx
pushfd
test byte [0x10025a08], 0x63
jne 0x10025a09
test dword [ebx + 0xf000000], ecx
jbe 0x1002593f
pcmpeqd mm7, qword [esi + 0x7314cf19]
sbb edi, ecx
adc al, 0x73
or al, 0xe2
jl 0x100259e1
xor byte [ebx + 8], dh
stosb byte es:[edi], al
fst st(0)
cld
aaa
jg 0x10025979
shr dword [esi + ecx*8 + 0x45], 4
pop esp
add al, 0x5c
push 0x94f013d1
xor byte [ebp + ecx - 0x20], 0x72
loopne 0x10025a16
cmp al, 0xc9
test dword [eax + esi], eax
adc eax, 0xed2ef9ec
xor byte [edx + 0x77ceedd9], ah
jb 0x10025951
push cs
into
inc ebx
out dx, eax
mov ah, 0xca
sub ebp, dword [eax + esi - 0x6aa6a6f4]
ror dword [edi], 1
sbb ecx, dword [eax + 0x2c]
aam 0xd4
test dword [esi], ecx
mov dl, 0x26
dec eax
pop eax
sbb al, 0x41
lodsd eax, dword [esi]
dec edi
fbld tbyte [esi + 0x59e9f389]
loopne 0x10025a22
jecxz 0x10025a09
mov edi, 0x68258374
scasd eax, dword es:[edi]
xchg ebx, eax
push 0xffffffffffffff9b
and dword [0x6a93af68], 0xffffff9b
cmp byte [eax + 0x3f], dh
dec esi
xor al, 0xf5
into
daa
sbb dword [edx], ebp
das
inc edx
push ecx
mov ah, 0x3e
shr eax, 0x86
and dword [ecx + 0xfbd40a2], 0xd
jns 0x10025a1e
sub edi, ebx
dec eax
lodsd eax, dword [esi]
popfd
call fcn.1011dfda
pop ecx
test eax, eax
pushfd
test byte [0x10025ab7], 0x50
pop edx
add dl, byte [eax]
push eax
jne 0x10025ab8
add byte [eax], al
std
xlatb
xlatb
pop ds
salc
lahf
salc
inc ebp
cmp byte [eax + 0x71aaada8], bh
jne 0x10025a9a
xor byte [esi + 0x61], dl
xchg ebp, eax
mov al, 0xb7
mov ebp, 0xf6bd5a6d
xchg edx, eax
insb byte es:[edi], dx
mov ch, 0xf4
test dword [ecx], ebp
push edx
test al, 0xb2
mov al, 0xa8
and byte [ebx + 3], ah
dec edi
cmp eax, dword [eax]
adc dword [ecx - 0x52], edx
imul ecx, eax, 0x82acddde
out 0xf0, eax
pop ecx
and al, 0x29
aaa
dec esi
mov dl, 0x19
into
push edi
jns 0x10025a8c
or byte [esi + 0x29], dl
add esi, ebx
add al, 0x42
shr byte [edx + 0x61366ad6], 1
pop ecx
test esi, ebp
xchg edx, eax
ficom word [edi]
cmp byte [edx], ah
cdq
out dx, eax
div dword [ebx]
xchg esi, eax
int1
jl 0x10025abd
mov bh, 0xa7
xlatb
enter 0x349, 0xffffffffffffffaa
sub al, 0xdd
sub al, dh
pop ss
sal dword [0xb354e0e1], 0xbf
sal dword [0xb354e0e1], 0xbf
fidivr word [eax]
jns 0x10025b11
cli
pushal
cmc
add edx, ebp
dec ecx
popal
mov eax, dword [0x2a7ab884]
clc
outsd dx, dword [esi]
ja 0x10025ac8
inc ebp
adc eax, 0x89bb52ca
fdivr dword [edi + ecx*4 + 0x45f25399]
xchg esp, eax
aas
pop ebx
popfd
jne 0x10025e64
add byte [eax], al
pushfd
test byte [0x10025b27], 0x5e
jne 0x10025b28
pop edi
pop esi
in al, dx
aas
push edi
sbb edx, edi
mov dword [0xf822b806], eax
adc eax, 0x3acbf436
lodsd eax, dword [esi]
pop ds
shr dword [edx - 0x56], 1
pop esp
test dword [ebx - 0x55c66180], esp
dec esp
and al, 0x71
shl dword [eax + 1], cl
lds ebp, [esi + 0x72cc48f9]
enter 0xfffffffffffff52a, 0x7d
imul ebx, dword [eax - 0x64025d88], 0x98f24fe2
sub byte [0xe1690809], bl
and al, 0x70
cwde
rcl dword [edx + 0x4c]
sub dl, ch
sbb eax, 0xb79562fd
movsd dword es:[edi], dword [esi]
xchg ebp, eax
mov bh, 0xa5
pop esi
jg 0x10025b7d
salc
xchg ebp, eax
pop es
test al, 0x8a
sub ah, byte [ecx - 0x2f]
jnp 0x10025b98
adc ecx, edx
pop eax
sal dword [ecx - 0x5b], 1
stosb byte es:[edi], al
popfd
and dword [ebp + 8], 0
lea eax, [ebp + 8]
pushfd
test byte [0x10025b7f], 0x28
jne 0x10025c80
push edi
cmc
jae 0x10025b98
add ah, byte [edx + 0xb]
jo 0x10025b56
push 0xa09b613
cmpsd dword [esi], dword es:[edi]
loopne 0x10025b28
pushfd
test dword [esi - 0x22], eax
or ebx, edi
lds edi, [esp + edi*4 - 0x35b36bc3]
add dword [esp + ebx*8], 0x56
push ebx
push edx
dec esi
fcomp qword [edx]
movsd dword es:[edi], dword [esi]
stosb byte es:[edi], al
jo 0x10025bd6
mov esp, 0x4c943dbc
retf 0x483
shr byte [edx - 3], 1
xchg edx, eax
imul ecx, dword [eax + 0x73a83d5c], 0xffffffaa
adc eax, 0xbf033f9f
mov cl, 0x84
push ecx
cmp ah, dl
inc ecx
loop 0x10025bc0
mov al, byte [0xafb0e62a]
ror dword [eax + 0x2389c614], 0x57
add bl, byte [eax + 0x5c]
push esp
xor bh, byte [edx + edx - 0x61fa4c32]
or dword [ebx], eax
sub eax, 0x6ca3d21b
mov esp, 0xb043effe
xchg edi, eax
sbb al, 1
sti
xor byte [esi + 0x235f154], bh
pop ebx
dec ebp
dec ebp
or byte [esi - 0x6d2af0f], dl
or byte [esi], cl
adc dword [esi + 0x7e], 0x67499eb0
dec eax
outsb dx, byte [esi]
in eax, 0x3d
adc byte [ecx], ah
adc edi, dword [eax + esi*2]
xor dword [ebp + edi*2 + 0x16], edx
xchg esp, eax
inc ebx
call 0xa15e789a
int3
inc edx
call 0xff877bbb
adc cl, dh
cmp eax, 0x316812e2
adc ch, byte [eax + 0x31]
push es
and dword [ebx + 0x62f617b4], 0xdaf7ff4e
add al, 0x3c
mov al, byte [0x4dc0f076]
xor al, 0x7f
loopne 0x10025c20
xchg ebx, eax
or esi, dword [esi - 0x50]
jbe 0x10025bae
mov eax, 0xab8c8918
push ebp
cmp esi, eax
jg 0x10025c6b
invalid
sub byte [ecx + 0x56a5d9d7], ah
sub edi, dword [ebx + 0x17]
mov ss, word [0x8ce71e4c]
out 0x8c, eax
push ds
push ss
and al, 0xe0
push ebp
jecxz 0x10025be0
cdq
in eax, 0xd9
out dx, eax
fnstcw word [esi]
out dx, eax
rcl byte [edx - 0x72], cl
fsub qword [edi - 0x72]
fcom dword [ecx - 0x7e7253d2]
loopne 0x10025c4a
xchg edi, eax
cmpsd dword [esi], dword es:[edi]
dec edi
jecxz 0x10025c15
cli
call 0xfd7eb92a
pop eax
in al, 0x16
xchg byte [edi - 0x1748cbd], ch
cmp al, 0xd6
mov dword [0x603237e4], eax
scasd eax, dword es:[edi]
xor ah, byte [eax - 0x51]
lodsb al, byte [esi]
mov ch, 0x10
cmp edx, dword [edx]
shr bl, 0xb1
pop es
xlatb
push ebx
or ch, 0x87
dec edx
fstpnce st(2), st(0)
loopne 0x10025ca4
loopne 0x10025bfc
stosd dword es:[edi], eax
imul edi, dword [ebp - 0x4cc02042], 0x32ea2f7d
js 0x10025c05
ljmp 0x8fe:0x3a967832
cmp bh, dh
or byte [0x321a3988], ah
pop edi
sal dword [ebx + edi*8 + 0x732a59c0], 0xa9
popfd
push eax
lea ecx, [ebp - 0xc]
call fcn.1011c12e
push 0x1016af10
pushfd
test byte [0x10025d84], 0x73
jne 0x10025d85
aam 0x46
dec ebp
dec edx
inc ebx
pushfd
xchg byte [edi], ah
daa
sub cl, al
and byte [ecx - 0x7d], bl
js 0x10025cb5
push ebp
mov ebx, 0x912a00e9
movsd dword es:[edi], dword ds:[esi]
or eax, 0x5e14d70a
or dl, bh
adc al, 0x5e
sub al, 0x6a
outsd dx, dword [esi]
add cl, byte [eax]
cmpsd dword [esi], dword es:[edi]
jne 0x10025d13
pop ds
jecxz 0x10025ce6
or edx, esp
ror ebx, 1
mov esi, 0x6c7d0e8e
push 0x19
mov dh, 0x37
bound esi, qword [eax - 0x5f]
jmp dword [esi]
sub esp, dword [eax]
jno 0x10025d29
push edi
sbb dword [esi + 0x57], esi
xchg ebx, eax
push edi
inc ebp
inc esi
mov ebp, dword [esi - 0x265ee6b]
jge 0x10025d11
pop es
add byte [ebx], ch
pop ebx
xchg ebp, eax
sub ch, bh
dec eax
js 0x10025cf1
jnp 0x10025d5d
push es
pop esi
mov ebp, 0xdcb5a392
js 0x10025d1c
sbb dword [edx + 0x3c28af94], esi
inc ebx
mov dl, 0x94
scasd eax, dword es:[edi]
sub byte [ebx + eax*2], bh
push eax
pop esi
mov ebx, 0xcc0a9086
or cl, ah
jae 0x10025d14
inc ebx
imul byte [eax]
add dword [edx - 0x23d68382], esi
xlatb
and dword [ecx], esi
pop esi
dec ebx
mov ebx, 0x8339f56e
fst qword [ecx]
mov esp, dword [ebx - 0x68]
cdq
sti
in al, dx
lds edi, [ecx + 0x60ee228f]
xchg edi, eax
and bl, cl
dec ecx
cmp al, 0xad
int 0x97
mov al, byte [0x2e26dd6e]
and eax, 0xd62a64
mov esi, dword [ebx - 0x3a]
mov eax, 0x7ae2c08
pushfd
mov ah, 0x97
xor cl, byte [edi]
sub byte [ecx], dl
cmc
adc ebp, esi
jno 0x10025d62
and ch, byte [eax]
push cs
out 0xf6, al
rcr byte [ecx], cl
push 0xcdbf0ca0
pop ecx
add dword [ebp + 0x322bff8d], ebx
xlatb
mov esi, 0xe99c46f6
in eax, dx
mov eax, 0xb05f73c7
popfd
lea eax, [ebp - 0xc]
push eax
mov dword [ebp - 0xc], vtable.std::bad_alloc.0
pushfd
test byte [0x10025e5d], 0x37
jne 0x10025e5e
and byte [0xd1440b9], bh
xchg edi, eax
inc esp
xchg esi, eax
pop eax
mov ebx, 0xc2636b77
add esi, dword [edi]
adc al, 0x9f
xor byte [ebp + 0x63bebac2], al
rcr byte [ecx], 1
mov dh, 1
insb byte es:[edi], dx
jb 0x10025de4
adc al, 0x5e
push eax
std
cdq
imul ebp, dword [0x5890ab0f], 0xb97d9b4f
daa
sub dword [ebx + 0x4d], esp
dec ebp
je 0x10025d79
salc
outsd dx, dword [esi]
popfd
push cs
inc edi
pop esi
inc ebx
stosb byte es:[edi], al
mov ch, 7
xlatb
dec ebp
in eax, dx
imul byte [eax - 0x438596aa]
mov ebx, 0x747977
inc byte [edx + 0x314812a4]
test al, 0x56
imul edi, dword [edx - 0x44], 0x747977bb
add dh, bh
test byte [edx - 0x5c], ah
adc cl, byte [eax + 0x31]
add al, 0x99
sbb dh, byte [ecx]
adc byte [ecx - 0x5af0983d], 0xca
das
push eax
into
fisubr word [edx]
dec ebp
out dx, al
out 0xb6, al
dec esp
or byte [esi + 0x2d], cl
mov edx, dword [edx - 0x2e]
xchg ebp, edi
mov eax, dword [0x104ae5cb]
sub al, 0xf5
dec esp
std
xchg ebx, eax
mov eax, dword [0x5399511e]
rol byte [edi - 0x1a345e03], cl
dec edx
adc byte [esi*8 - 0x5e6c02b4], ch
push ds
push ecx
cdq
push ebx
jg 0x10025dd2
rcl byte [edi - 0x7f]
xchg edx, eax
cli
sal dword [ebp - 0x13], 0x4e
mov dl, 0xd6
cmp edx, ecx
cmp byte [edx + 0x47], dl
sub esi, dword [edx - 2]
in eax, dx
insd dword es:[edi], dx
jge 0x10025dbd
jmp dword [esi - 0x22]
sub dword [ecx], edi
push ds
pop edi
xor al, 2
loopne 0x10025e91
pop edx
mov byte [ecx - 0x3d], bl
mov esi, 0xe106a2d8
stosb byte es:[edi], al
popfd
call fcn.1011e05a
leave
pushfd
test byte [0x10025ea5], 0x24
jne 0x10025ea6
lahf
ror dword [edi - 0x20], 1
test al, 0xb1
arpl si, bx
push ds
jbe 0x10025e4c
push es
jnp 0x10025e0f
pop ds
in al, dx
xchg esp, edi
push eax
enter 0x3d11, 0x71
mov al, 0x3c
mov edx, esp
xchg dword [esi - 4], ebx
mov ah, byte [ebx]
lds edx, [edi + 0x1af4c73d]
js 0x10025e27
cmp eax, 0x781af4c7
nop
mov esi, 0xbaeb83c0
mov dword [0xac29a0e], eax
cmpsd dword [esi], dword es:[edi]
mov al, 0x7e
jl 0x10025e5d
popfd
ret