Function at 0x10010049
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
lea eax, [ecx - 0xc]
mov dword [ebp - 0x24], 0x6cf
cdq
mov ecx, 0x11b
idiv ecx
cmp dword [ebp - 0x24], 0x20d3
push ebx
push esi
push edi
mov ebx, eax
jle 0x10010109
xor byte [ebx], 0x35
aad 0x4d
xchg ebp, eax
invalid
mov dword [ebp - 0x24], 0xb1e
cmp dword [ebp - 0x24], 0x1c5c
jle 0x100101b3
adc dl, byte [ebx]
sub byte [ecx - 0x1c7d5a68], cl
loopne 0x10010149
cld
mov esi, 0x2509c180
in al, 0xfe
out dx, eax
adc byte [edx + 0x1af97162], ah
inc eax
mov al, 0x57
xchg edx, eax
adc eax, 0xa3718454
mov ecx, 0x7ca938fa
mov cl, 0x70
popfd
xchg edx, eax
inc ebp
mov dl, 0x38
mov word [ebx + 0x22], ds
outsd dx, dword [esi]
mov eax, ebp
cmp dword [eax], esp
rcr byte [edi - 0x24], cl
push esi
mov dl, 0x3d
fsubr st(5)
or ch, byte [esi - 0x3d]
cmpsb byte [esi], byte es:[edi]
test al, 0x77
psubd mm4, qword [ebx]
sbb dword [edi], 0x7765e73a
int3
add eax, 0x3bd72dbd
pshufw mm3, qword [ecx - 0x3f118441], 0x2d
invalid
mov dword [ebp - 0x10], 0x60f951fe
mov dword [ebp - 8], 0xb8f3d421
mov dword [ebp - 0x24], 0xa14
cmp dword [ebp - 0x24], 0x198b
jle 0x10010212
mov bh, 0x56
mov byte [ebx + 0x3543f546], bl
loop 0x10010180
sbb al, 0xc1
adc eax, 0x1ea6cf7b
or bh, byte ss:[esi - 0x4d03787e]
cld
or ecx, dword [esi + 0x30f28a8d]
out 0xe6, eax
inc eax
xor byte [edi - 0x41], ah
mov ch, 0x8a
pop esp
xchg edi, eax
sti
mov al, 0x23
push ss
push 0xa07e5b71
push eax
cmpsd dword [esi], dword es:[edi]
mov esi, 0xd1c07b8d
xchg ebx, eax
inc edi
bound edx, qword [esp + ebp*4 - 0x2bba38c3]
or eax, 0xc7af14c9
inc ebp
fsubr dword [ebx - 0x7d]
xor bh, cl
mov dword [ebp - 0x2c], 0xaf14c90d
mov dword [ebp - 0x28], 0xcf30836b
iretd
mov dword [ebp - 0x1c], 0x1dfd9475
mov dword [ebp - 0x24], 0x622
sbb eax, 0x22dc45c7
push es
add byte [eax], al
cmp dword [ebp - 0x24], 0x1d83
jle 0x1001030d
mov eax, 0x52c4347a
mov ah, byte [eax - 0x51]
mov byte [0xe7f34ba1], al
push ebx
push 0x771569d8
movsd dword es:[edi], dword [esi]
sub edx, 0xed651b10
in eax, dx
je 0x100102bc
or esi, dword [esi]
xchg edi, eax
inc ecx
add ecx, esi
leave
jns 0x10010226
push cs
pmaxsw mm6, qword [edx]
jae 0x1001021f
xor byte [eax], 0x82
xor ecx, esp
stosd dword es:[edi], eax
call 0x57364c73
jle 0x100102be
adc dword [ebx], 0x7a
js 0x10010253
leave
inc edx
push ebp
lds ebp, [edx + esi*8 + 0x4a]
in eax, 0xff
mov fs, ebx
xor byte [edx], ch
fst dword [ebx + 0x29790adc]
sub dh, byte [ebp + 0x19]
test byte [edi - 0x77ab6047], dl
iretd
imul ebx, dword [ebp - 0x670323f9], 0xe
pop es
fdiv st(4), st(0)
cwde
push cs
stc
mov esp, 0xb5377df
invalid
mov dl, 0x33
invalid
mov dword [ebp - 0xc], 0xeefb6f65
mov dword [ebp - 0x18], 8
mov dword [ebp - 0x24], 0x19f
cmp dword [ebp - 0x24], 0x1542
jle 0x1001041a
rol byte [esp + edx*8 - 0x2bee2568], cl
fdivr dword [edx + 0x44]
jb 0x100102dd
mov ebx, 0x3bca3eb
out 0x60, al
fldenv [eax + 0x5bcafc2c]
dec ebp
int1
jge 0xe290f661
out dx, al
test dword [esp + edx*4], ecx
mov dword [0x17ad917], eax
jb 0x100103a4
imul si, word [edx], 0xffb1
rcl byte [ebp - 0x19667400], cl
aas
int3
js 0x100103f6
add al, 0xb1
inc esi
mov cl, 0x46
xor esp, dword [eax + ebx + 0x653d7470]
inc esi
stc
jne 0x100103b1
push es
stosb byte es:[edi], al
adc byte [esi + 0x7bcc6a50], bh
pushfd
fild qword [edx]
cmpsb byte [esi], byte es:[edi]
pop es
fstp xword [ebp + 0x2b57ee69]
out 0x66, eax
sub esi, dword [esi]
out 0x66, eax
cmc
pushal
mov ecx, 0xddc89d94
push ss
push edi
xor byte [0xda068349], bh
sbb esp, esp
mov edx, dword [ebx]
jmp 0x100103c6
je 0x100103a7
sub ebp, ebx
dec edi
mov cl, 0xfe
xchg edx, eax
neg dword [eax + 0x70be3eb9]
scasd eax, dword es:[edi]
sahf
retf
mov dword [ebp - 0x24], 0xf96
cmp dword [ebp - 0x24], 0x258a
jle 0x1001052d
pop ebp
mov eax, 0x7f533561
jl 0x10010462
dec ebp
movsb byte es:[edi], byte [esi]
mov bl, 0xa
or eax, 0x5d8fa638
and byte [edi + 0x62b68b1e], cl
inc esp
add dword [0xf2cdc1b4], esi
xchg byte [ebx], cl
dec edx
pop ecx
add al, 0x6d
add dword [eax + 0x1a], ebx
sub byte [esi], cl
xchg edx, eax
fist dword [eax + 0x197692df]
push ebp
loopne 0x100104ac
dec ecx
pop esp
in al, dx
sahf
jg 0x100104a1
invalid
sbb esp, dword [edi + 9]
add ecx, esi
shl byte [ebp + 0x47], cl
mov dl, 0xaa
int1
int1
sahf
xchg ebx, eax
pop ecx
sbb ebp, dword [eax - 0x40]
mov byte [ebp - 0x22], al
mov esi, dword [edi - 0x67]
int3
mov dword [ebp - 0x14], 0x80031aa0
mov dword [ebp - 0x24], 0x4e
cmp dword [ebp - 0x24], 0x1f91
jle 0x100105ca
adc eax, 0x414a51ba
rol dword [edx], cl
pop esp
cmp al, 0x7c
add eax, 0xf775e09a
pop edx
or byte [ebx], bh
mov gs, word [edi - 0x6f]
xchg ebp, eax
xchg edi, eax
jnp 0x100105c1
in eax, 1
outsb dx, byte [esi]
mov dword [0xb8f80630], eax
adc dword [edx - 0x48], ebx
inc ebp
and byte [eax + 0x21], ah
push cs
bound esp, qword [edx + 0x32]
idiv dword [esi + ebp*2 + 0x6f]
sbb dword [edx], ecx
mov dl, 0x50
and dword [ebp - 0x16], edx
pop ss
push 0x42fc3892
insd dword es:[edi], dx
cmp esi, esp
mov ecx, fs
shl byte [edx - 0x58d6d1c2], 1
inc edx
invalid
add cl, byte cs:[ebx + 0x3ad73a3b]
dec esp
push 0x3c
sub byte [esi - 0x67], ch
inc ecx
pop es
push ebx
cmp byte [esp + eax*8 - 0x6c3eb693], 0x4d
mov ebp, esi
cmc
or dl, al
invalid
fidivr word [edi + 0x2178aa4d]
rcl dword [eax - 0x7600cc46]
jge 0x100105a3
xor edi, edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x24], 0x526
cmp dword [ebp - 0x24], 0x1906
jle 0x1001069c
cmpsb byte [esi], byte es:[edi]
scasb al, byte es:[edi]
out dx, eax
push cs
push ebx
hlt
mov dword [ebp - 0x24], 0x1158
mov dword [ebp - 4], 0xa15
cmp dword [ebp - 4], 0x14c5
jle 0x10010789
aas
imul byte [ebx + 0x46]
fbstp tbyte [edx + 2]
int1
and eax, 0xcaed11da
cmp dword [ebx - 0x262db5e], ecx
and edi, esi
and eax, 0x4c
enter 0x52b7, 0x65
rcr dword [ebp + 0x332aeac3], 0x94
out 0x80, al
mov eax, dword [0x17d7a7e8]
xlatb
pop ss
jmp 0xf1ca61a9
insb byte es:[edi], dx
adc byte [ebx + 0x28b03fe0], dl
lcall 0x28bf, 0x69f95584
mov dl, 0xe6
jl 0x100106df
or byte [0x52026085], ah
iretd
inc ebp
inc esi
mov bl, 0x9e
mov ebx, 0xa38793be
and ch, byte [ebx + 0x3d]
xchg ebx, eax
jno 0x1001077d
and ebp, edx
stosd dword es:[edi], eax
jo 0x100106f9
push 0x68
lcall 0xce90, 0x7c1a5fb0
push 0x1a5fb09a
jl 0x10010707
into
sub byte [ebp + 0x4dc8285], ah
int 0xfc
movsd dword es:[edi], dword [esi]
test dword [edx - 0x332fb24], eax
add al, 0xcd
cld
mov al, byte [0x6974a4a0]
xchg esp, eax
cmp dh, cl
test eax, 0xa775beb8
pop edx
mov eax, 0x5aa775be
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 4], 0xba70
mov eax, 0x89bc4589
inc ebp
rol bh, 0x45
cld
jo 0x10010759
add byte [eax], al
mov dword [ebp - 4], 0x106e
cmp dword [ebp - 4], 0x15e7
jle 0x10010824
ja 0x10010793
nop
xor esp, dword [edi - 0x28]
jle 0x10010770
jns 0x10010831
or esi, ebx
lcall 0x3296, 0x4105dcfa
and dword [eax + 0x30], ecx
insd dword es:[edi], dx
je 0x100107d8
invalid
sub byte [ecx + eax + 0x36], cl
jg 0x10010779
inc eax
dec ecx
invalid
xor esi, esi
mov dword [ebp - 4], edi
inc esi
jmp 0x1001083a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x20], 0x35b263d1
inc dword [ebp - 4]
test eax, esp
shl dword [ebx - 0x4e], 1
xor eax, 0x39fc45ff
jne 0x10010839
cld
cmp dword [ebp - 4], esi
jl 0x1001082c
mov dword [ebp - 4], 0x944
cmp dword [ebp - 4], 0x1673
jle 0x10010925
in al, 0xad
retf
push 4
mov dword [ebp - 4], edi
pop ecx
jmp 0x10010937
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x3c], esi
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001092d
mov dword [ebp - 4], edi
jmp 0x1001094f
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x5c], 9
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x10010941
cmp dword [ebp - 0x10], edi
jne 0x100109b0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xc]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, edx
setne cl
cmp dword [ebp - 8], ecx
jne 0x1001097a
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x1c], esi
jle 0x10010986
mov eax, esi
cmp dword [ebp - 0xc], edi
jne 0x10010988
mov eax, edi
xor ecx, ecx
cmp eax, 0x694a2199
mov eax, dword [ebp - 0x30]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
mov ecx, edi
setle dl
inc dword [ebp - 0x14]
cmp eax, edx
mov eax, esi
cmove eax, edi
cmp eax, dword [ebp - 0x1c]
jl 0x100109b2
mov ecx, esi
xor eax, eax
cmp ecx, 0xfffffffe
setne al
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0x11b
cmp dword [ebp - 0x1c], 0x18cb
jle 0x10010a2c
sub al, 0xc6
das
movsb byte es:[edi], byte [esi]
out dx, eax
dec ebx
push cs
aad 0x26
jae 0x100109dd
mov ch, 0x8e
sbb dword [edx], 0xbfbbe873
shr byte [ebx], cl
call 0x3bd3c99d
mov edx, 0xd89b99e4
and byte [ecx], dl
scasb al, byte es:[edi]
sub eax, 0x88e2dbae
xchg bh, bl
popfd
sub dword [edx], edi
das
aam 0xe9
jmp 0x7ae4a935
mov ecx, dword [ebp - 0xc]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0xa3a4aa3e
sete al
cmp eax, dword [ebp - 0x28]
jge 0x10010a48
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x3c]
imul ecx, eax, 0x170
mov eax, dword [ebp - 8]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
add ecx, dword [ebp - 0x58]
jne 0x10010a7b
cmp dword [ebp - 0x58], edi
je 0x10010a7d
mov edi, esi
mov ecx, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov ecx, dword [ebp - 0x20]
setle dl
sub ecx, edx
cmp edi, esi
sbb eax, eax
xor edx, edx
neg eax
imul eax, dword [ebp - 0x3c]
cmp ecx, eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
setne dl
sub ecx, edx
add eax, ecx
mov ecx, dword [ebp - 0x24]
imul ecx, eax
test ecx, ecx
je 0x10010aba
cmp dword [ebp - 0x18], 0
jne 0x10010abc
xor esi, esi
xor eax, eax
cmp esi, 0x3301997f
setge al
imul eax, dword [ebp - 0x44]
mov dword [ebp - 8], eax
mov dword [ebp - 0x2c], 0xccc
cmp dword [ebp - 0x2c], 0x1a6c
jle 0x10010b87
pop edi
pop esi
lea eax, [ebx - 0xc]
pop ebx
mov esp, ebp
pop ebp
ret