Function at 0x1001eecf
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov dword [ebp - 0x14], 0x77f3
mov eax, dword [ebp - 0x14]
add eax, 0xc4
mov dword [ebp - 0x14], eax
cmp dword [0x10025360], 0
je 0x1001fbd2
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
and ecx, 0xff
mov edx, dword [ebp + 8]
mov eax, dword [edx]
and eax, 0xff00
or ecx, eax
mov word [ebp - 0x18], cx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
and edx, 0x7fffffff
mov dword [ebp - 0x1c], edx
mov dword [ebp - 4], 0x100253c8
mov word [ebp - 0xc], 0x12
movzx eax, word [ebp - 0xc]
mov cx, word [ebp - 0xc]
cmp edi, ebp
jne 0x1001f049
mov esi, esi
mov esi, esi
je 0x1001f049
mov ebp, 0xa10acdcc
lcall 0x50fa, 0x2c4bcf9c
cmp eax, 0x150a67ba
sub dword [ecx], esp
mov byte [ecx - 0x78], ch
in al, 0xac
jb 0x1001ef96
mov dl, 0x72
outsd dx, dword [esi]
mov ecx, 0xa2a1932d
int 0x12
adc cl, ch
fistp word [edx - 0x7a]
cld
pop es
aas
mov edx, 0x13a75327
sub ebp, dword [0xb70f9c12]
dec ebp
in al, 0x3b
fimul dword [edi]
test dword [eax + ecx - 0x24750000], edi
movzx ecx, word [ebp - 0x1c]
cmp ebx, edx
jne 0x1001f842
mov esp, 0x8b000008
fisttp dword [ebx - 0x4d7bf025]
or byte [eax], al
add byte [ecx + 0x48ed20c2], ch
mov ebx, ebx
mov ebx, ebx
je 0x1001f842
test eax, 0x48ed20c2
cld
sub ecx, ebp
push 0x97e78996
pop ebp
test eax, 0xce7dc0b9
sub al, byte [edi + 0x74a40edf]
jp 0x1001ef82
dec edx
je 0x1001efc4
or byte [eax + 0x5f], ah
xor ecx, dword [eax - 0x75]
movsd dword es:[edi], dword [esi]
pop ecx
dec ebx
mov word [esi + 0x6947d24d], gs
sub eax, 0xe7232a08
test dword [0xd01a74da], edx
fidiv dword [edx + ebx - 0x30]
imul edx, edx, 0x744
add edx, dword [ebp - 8]
mov dword [ebp - 8], edx
mov ebx, ebx
movzx eax, word [0x100253d0]
imul eax, eax, 0x714
add eax, dword [ebp - 8]
cmp eax, ecx
jne 0x1001f66e
mov ebp, ebp
je 0x1001f66e
mov byte [0x7510dc42], al
insd dword es:[edi], dx
salc
das
out dx, eax
push ebp
add ch, ah
retf 0xbe16
sub cx, 1
mov word [ebp - 0xc], cx
test eax, eax
je 0x1001f76a
movzx edx, word [ebp - 0x18]
imul edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
shr eax, 0x10
cmp ebp, edi
jne 0x1001f612
mov edi, edi
je 0x1001f612
cmpsd dword [esi], dword es:[edi]
pop ds
invalid
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
cmp esi, ecx
jne 0x1001f891
mov esi, esi
je 0x1001f891
hlt
pushfd
hlt
mov dword [ecx + 0x11080af5], esi
adc eax, 0x4bd818b0
sbb eax, 0x27db6968
test eax, 0x4ac66792
call 0x38183bf4
xchg ebx, eax
stosd dword es:[edi], eax
jbe 0x1001f0df
int 0xd4
cmpsb byte [esi], byte es:[edi]
jp 0x1001f112
push edi
cmp ecx, ebp
jne 0x1001fa92
mov edx, edx
je 0x1001fa92
arpl word [ecx + 0x20f41e8b], ax
dec esp
adc byte [esi - 0x208f04ba], cl
pop esi
inc ebx
cmp ebx, dword [edi - 0x4b]
int 0x2e
push ecx
dec esp
loope 0x1001f0e6
add al, 0x1d
sbb eax, 0x62140db0
push eax
mov esi, 0xec6c0323
sub al, 0x51
fisubr dword [eax - 0x6b6de3db]
invalid
movzx eax, word [0x100253be]
imul eax, eax, 0x115c
cmp ebx, edi
jne 0x1001f0c0
mov esi, esi
je 0x1001f0c0
dec eax
les edi, [edx + 0x36]
push es
pushal
mov byte [edx], ch
sbb al, 0x2c
sub al, byte fs:[ebx + 0x73a38e69]
push ebp
rcr al, 0x1e
mov esp, 0x6d7a734e
mov edi, 0x93495d4e
sub byte [edx - 0x6f7887c2], al
dec edx
jo 0x1001f20f
mov ecx, dword [edx + 0x7f]
jmp 0x1001f1d6
add ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
mov ebx, ebx
movzx edx, word [0x100253d4]
imul edx, edx, 0x5d4
add edx, dword [ebp - 8]
mov dword [ebp - 8], edx
mov edi, edi
cmp eax, ecx
jne 0x1001fc2e
mov ebx, ebx
mov ebx, ebx
je 0x1001fc2e
push edi
push 0xe996727a
stosb byte es:[edi], al
inc edx
adc bl, byte [eax - 0x416c551d]
shr byte [eax + 0x184e0cca], cl
jmp 0xf8931f44
mov edx, 0x39f6aad4
idiv dword [ecx - 4]
xchg ebp, eax
push edi
sbb dword [ebx - 0x5d7fb49d], esi
mov fs, word [0xd9bdad28]
out 0x96, eax
cmp ebp, ebp
dec esp
sbb ecx, edi
fiadd dword [eax - 0x38]
invalid
imul ecx, ecx, 0x795
add ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
mov edx, edx
movzx edx, word [0x100253ce]
cmp edi, ebx
jne 0x1001efc8
mov ebx, ebx
je 0x1001efc8
sbb ch, bh
sub edx, edi
invalid
mov ax, word [ebp - 0x18]
mov word [edx], ax
mov ecx, dword [ebp - 4]
add ecx, 2
mov dword [ebp - 4], ecx
cmp edi, edx
jne 0x1001f755
mov ebp, ebp
je 0x1001f755
xchg esi, eax
jo 0x1001f2f2
cmpsb byte [esi], byte es:[edi]
push edx
pop ss
xor eax, 0x407d2330
xchg esi, eax
sub eax, 0x34295efb
call 0x442b51cf
cmp al, 0x25
mov cl, 0xa7
or bl, al
cmp al, 0x54
cmp al, 0x63
inc eax
jnp 0x1001f2f6
add al, 0xd9
int 0xd
sbb dl, byte [ecx - 1]
lea ebx, [eax + esi*4 - 0x4e]
pop esp
mov al, 0xb2
add ch, bh
or sp, si
dec edi
lea eax, [ebx + 0xd]
jbe 0x1001f2e9
pop es
pop es
add al, 0x9a
dec esp
call 0xea6f5b33
xchg dword [ebx + ebx*4 - 0x77], ebp
push ebp
invalid
mov dword [ebp - 0x10], edx
mov edx, edx
cmp edx, ebx
jne 0x1001f15b
mov edi, edi
mov edi, edi
je 0x1001f15b
jmp 0x1001f2cf
push 0x100253ca
push 0x100253cc
call fcn.1001fcb1
add esp, 0xc
push 0x10
push 0x100253b6
push 0x100253b8
call fcn.1001fcb1
mov eax, 0xe8100253
sub al, 9
add byte [eax], al
add esp, 0xc
movzx edx, word [0x100253c8]
mov dword [ebp - 8], edx
movzx eax, word [0x100253b4]
mov dword [ebp - 0x10], eax
movzx ecx, word [0x100253cc]
push ebx
add dl, byte [eax]
cmp esi, ebx
jne 0x1001fa41
mov eax, eax
mov eax, eax
je 0x1001fa41
nop
fldenv [esi + 0x403b0700]
std
dec edi
xor ah, byte [esi + 0x4183c726]
xchg ebx, eax
jae 0x1001f3a0
aam 0xf
pop ss
dec ebp
xchg ebx, eax
pushal
pop ds
and eax, 0x86f06ed2
jno 0x1001f37c
mov bl, 0xa2
cmpsd dword [esi], dword es:[edi]
retf
mov edx, edx
movzx edx, word [0x100253da]
imul edx, edx, 0x2eed
cmp ebx, ebp
jne 0x1001f9c3
mov ebx, ebx
je 0x1001f9c3
fisttp dword [edi]
test byte [ebp + 0x3f000005], bh
aas
xchg esp, eax
jle 0x1001f478
sbb bh, bh
pop esi
push ss
push esi
dec esp
in al, dx
pop esi
test ah, dh
or dword [ecx - 0x5a], ebx
jne 0x1001f47c
les ebx, [esi - 0xc3891d3]
rcr dword [edi], 1
cmp byte [ecx], 0xbf
add byte [edx - 0x50], bh
cmp al, 0x81
out dx, eax
add ah, ah
mov cl, 0x6e
inc ebp
sbb ebx, dword [eax - 5]
mov esp, 0x14c188f5
adc ah, byte [esp + ebp + 0x4a]
push cs
inc ebp
jne 0x1001f489
int 0x6b
in al, dx
ret 0xe6c8
cmp ecx, ebx
jne 0x1001f3e7
mov ecx, ecx
mov ecx, ecx
je 0x1001f3e7
lea ebx, [ecx]
out 0x88, al
outsd dx, dword [esi]
adc edi, dword [ecx + 0x12]
mov ah, 0x81
push edi
mov eax, 0x55be2c83
inc edi
pushal
je 0x1001f478
jae 0x1001f3ff
lcall 0xb9ee, 0xe86c6ca4
shr byte [ebp + 0x21], 1
ficom word [edx - 0x36]
push 0x843dcc20
in al, 0x77
cmp eax, 0x91c2ada3
test esi, eax
push es
cld
call 0x7dd2ae6f
and esi, ebx
push edx
retf 0x2068
test ah, ah
ja 0x1001f4ca
mov dword [0x8591c2ad], eax
mov byte [esi], 0xfc
or edx, ebx
cmp byte [edi + 0x641b544b], bl
aas
in eax, dx
jp 0x1001f4df
or esi, dword [edx + ebx*8 - 0x51]
xchg esp, eax
adc eax, 0x29fd5b3e
in eax, 0xdd
test dword [edx + 0x71c080d3], eax
add edx, dword [ebp - 0x10]
mov dword [ebp - 0x10], edx
mov edi, edi
movzx eax, word [0x100253c4]
imul eax, eax, 0x1e61
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov ebx, ebx
movzx ecx, word [0x100253c6]
cmp edx, ecx
jne 0x1001f6e6
invalid
mov esi, esi
mov esi, esi
je 0x1001f6e6
ret 0x806b
shr edx, 0x10
mov word [0x100253c8], dx
mov eax, dword [ebp - 0x10]
shr eax, 0x10
mov word [0x100253b4], ax
cmp edi, ebx
jne 0x1001f10a
mov ebx, ebx
mov ebx, ebx
je 0x1001f10a
cmp ecx, dword [ebx - 0x70]
mov esi, eax
push cs
or eax, 0x9e55b743
jmp 0x1001f557
fdiv dword [edx]
xor byte [ebx], dl
fild dword [ebp - 0x31]
ljmp 0x698d
mov dword [ebp - 0x10], ecx
mov edx, edx
movzx edx, word [0x100253c2]
imul edx, edx, 0x1a0a
cmp ebp, edi
jne 0x1001f4b3
mov esi, esi
mov esi, esi
je 0x1001f4b3
ret 0xdfdc
add edx, eax
mov dword [ebp - 0x1c], edx
cmp ebp, eax
jne 0x1001fb50
mov esi, esi
mov esi, esi
je 0x1001fb50
or bl, dl
mov ah, 0x2a
inc ebx
in eax, dx
dec esp
daa
imul esi, ebx, 0xffffffe9
cmovno esp, dword [esi + 0x6f]
inc edx
invalid
mov dword [ebp - 8], eax
mov eax, eax
movzx ecx, word [0x100253d2]
imul ecx, ecx, 0x6f0
cmp ebp, eax
jne 0x1001f1c1
mov ebp, ebp
je 0x1001f1c1
cmpsd dword [esi], dword es:[edi]
fmul dword [esp + eax*8 + 0x21435f8b]
lahf
fcomp dword [ebx - 0x59]
cmp al, 0xa7
inc ebx
xor byte [ecx - 0x7a86e33c], ch
or byte [ebx - 0xf], ch
dec eax
mov dword [edx], edx
mov word [edi + 0x3ed77393], ss
sub dl, bl
jae 0x1001f6eb
lcall 0xf1fe, 0xb3dd8e0b
xor edi, 0xffffff97
sbb bh, byte [esi + eax*8 + 0x28]
fucom st(7)
stc
xor ebx, esi
xchg edi, eax
add dword [edx], 0x24bc2541
invalid
imul ecx, ecx, 0x2438
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], ecx
mov edx, edx
mov edx, dword [ebp - 8]
cmp edi, ebx
jne 0x1001f51d
add byte [ebx], al
dec ebp
invalid
mov ebp, ebp
mov ebp, ebp
je 0x1001f51d
mov eax, 0xfab80cdc
mov ebx, 0xde4c8c97
lds edx, [esi + 0x52022ea1]
inc edi
rol ah, cl
pop ss
ret 0x1e05
movzx edx, word [ebp - 0xc]
cmp edx, 9
jne 0x1001f765
mov dword [ebp - 4], 0x100253b4
add dl, byte [eax]
jmp 0x1001ef2a
movzx eax, word [0x100253c8]
cmp ebp, ebx
jne 0x1001fba9
mov ebx, ebx
mov ebx, ebx
je 0x1001fba9
jns 0x1001f763
lahf
das
hlt
movzx ecx, word [0x100253d8]
imul ecx, ecx, 0x42a
add ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
cmp edx, esi
jne 0x1001f457
mov edi, edi
je 0x1001f457
movsd dword es:[edi], dword [esi]
cld
je 0x1001f7db
dec edx
xor eax, 0x1e1914c9
lodsb al, byte [esi]
fcmovnu st(0), st(0)
in al, 0x18
xor esi, ebx
or al, 0xff
jmp 0x5a4742ae
and ecx, 0xffff
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 4]
cmp ebp, edi
jne 0x1001f2a2
mov ecx, ecx
je 0x1001f2a2
xor dword [ecx], ecx
xor al, 0x7b
test byte [ecx - 0x49beeb50], ch
jae 0x1001f8a0
sub ecx, dword [ecx]
or ebx, dword [edi - 0xe]
jle 0x1001f881
sub bl, byte [edx - 0x3b1f8268]
mov word [edi], fs
daa
cmp ebx, 0xffffffb5
pop eax
stc
inc esp
push edi
mov dh, 3
popfd
mov dl, bl
sub eax, 0x2069eb34
stosd dword es:[edi], eax
push esi
invalid
mov edx, edx
movzx ecx, word [0x100253c0]
imul ecx, ecx, 0x15b3
add ecx, dword [ebp - 0x10]
cmp ebx, esi
jne 0x1001f598
mov edx, edx
je 0x1001f598
jnp 0x1001f879
in eax, dx
dec ebp
xchg esi, eax
outsd dx, dword [esi]
sar dword [ebp + 0x4422342e], cl
jnp 0x1001f90c
and ebx, dword [edx + 0x152064d6]
lahf
and eax, edx
daa
or al, 0x80
loop 0x1001f91b
test dword [0x8d6cb8b6], edx
mov dword [esi + 0x51ddfd4d], ebp
nop
les esi, [edi + 0x6dd219a9]
mov edi, 0x7d11083f
pop ecx
cmpsd dword [esi], dword es:[edi]
imul dword [edx - 0x5e]
and byte [edi + 0x6cf4795c], bh
mov al, 0x84
xor al, 0x88
mov dh, 0xdc
pop edx
push 0x18df307b
jge 0x1001f923
mov ebx, 0xac6727df
or eax, dword [esi + esi*8 + 0x32449ce0]
xchg ebx, eax
mov dword [0xffe181], eax
add byte [eax], al
xor dl, byte [ebx - 0x1e7e5d]
add byte [eax], al
add byte [ebx - 0x1d7e07ab], cl
add bh, bh
add byte [eax], al
and ecx, 0xff
mov edx, dword [ebp - 8]
and edx, 0xff00
inc dword [eax]
add byte [ebx], cl
retf 0x8966
or ecx, edx
mov word [0x100253ca], cx
mov eax, dword [ebp - 0x10]
and eax, 0xff
mov ecx, dword [ebp - 0x10]
and ecx, 0xff00
or eax, ecx
mov word [0x100253b6], ax
movzx edx, word [0x100253ca]
shl edx, 0x10
movzx eax, word [0x100253b6]
or edx, eax
mov ecx, dword [ebp + 8]
mov dword [ecx], edx
mov esp, ebp
pop ebp
ret
retf 0x253
imul ecx, ecx, 0x8ae
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], ecx
mov ebx, ebx
movzx edx, word [0x100253bc]
imul edx, edx, 0xd05
add edx, dword [ebp - 0x10]
cmp edi, eax
jne 0x1001f303
mov edx, edx
mov edx, edx
je 0x1001f303
mov al, byte [0x3dfa8948]
fld qword [ebp + 0x1969fe0a]
invalid
std
in al, dx
popal
inc esp
invalid
add edx, dword [ebp - 8]
mov dword [ebp - 8], edx
movzx eax, word [0x100253b8]
imul eax, eax, 0x457
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
cmp edi, ebx
jne 0x1001faf9
mov ebx, ebx
mov ebx, ebx
je 0x1001faf9
push eax
cld
insb byte es:[edi], dx
sub dword [ebx + 0x1c], esp
sub ecx, dword [esp + ebx*4 - 0x33b8f70]
aad 0xa5
daa
jp 0x1001fa5f
or byte [edi - 0xc], ah
js 0x1001f9b6
xlatb
add dh, byte [eax + eax]
fsubp st(2)
movsb byte es:[edi], byte [esi]
mov al, byte [0xf65b95fa]
stosb byte es:[edi], al
aam 0xad
int3
test eax, 0xac835677
lodsb al, byte [esi]
adc byte ss:[ebx], bh
enter 0xffffffffffff850f, 0xfffffffffffffff6
idiv edi
dec dword [ebx - 0x117bf00a]
idiv edi
invalid
cmp ecx, eax
jne 0x1001f23f
invalid
mov esi, esi
je 0x1001f23f
mov ebx, 0x2f74f355
cdq
inc eax
popfd
test al, 0x42
mov al, 0x50
lock sub byte [edx - 0x71d71310], ch
or dword [ecx], esp
shl byte [eax], 1
jmp 0x1001fa39
stosb byte es:[edi], al
invalid
cmc
pop edx
fstp qword [0x20f7a586]
inc ebp
mov dword [0xc07fa9d7], eax
adc ch, bh
xor bl, byte [ebx - 0x4d]
salc
or dword ds:[esi + 0x785ed470], edi
out dx, al
pop esi
js 0x1001faf0
out dx, al
daa
or dl, byte [ebx]
push esp
sub al, 0x9a
cmp bl, al
mov ecx, dword [ebp - 8]
cmp ebx, edi
jne 0x1001f90f
mov edx, edx
mov edx, edx
je 0x1001f90f
jecxz 0x1001fa47
out 0xca, al
sbb eax, 0x8d3ba6db
lcall 0xf075, 0x7da58fb2
test eax, esi
movsd dword es:[edi], dword [esi]
in eax, dx
or eax, 0xf8593e30
pop ecx
clc
or bl, 0x64
jle 0x1001fa6c
fstp qword [esi]
push ds
mov word [edi - 0xf], es
enter 0x5859, 0xffffffffffffff8c
jecxz 0x1001fa86
inc esp
xor dh, ch
loopne 0x1001fac7
inc esp
jnp 0x1001fabe
out 0xe5, eax
hlt
leave
pushal
popfd
cmp al, 0x27
nop
sub dword [eax + 0xfdb8b08], eax
mov bh, 0xd
mov edx, 0x3b100253
ror byte [edi], 1
test dword [edx - 2], edx
invalid
mov ebx, ebx
movzx ecx, word [0x100253ba]
cmp edx, eax
jne 0x1001f95c
mov ecx, ecx
je 0x1001f95c
inc edi
jmp edx
cmp edi, ecx
jne 0x1001ef7a
mov eax, eax
mov eax, eax
je 0x1001ef7a
mov ebp, dword [eax + 0x5562771e]
lahf
sal byte [ecx + 0x46], 1
popal
rol dword [esi - 0x17], cl
push esp
daa
push edx
xor eax, 0x50c91de9
inc edi
test al, 0x67
cmp al, 0xe1
clc
retf
and eax, 0x7fff
mov word [0x100253c8], ax
movzx ecx, word [0x100253b4]
and ecx, 0x7fff
mov word [0x100253b4], cx
mov dword [0x10025360], 0
push 0x10
cmp ebp, ecx
jne 0x1001f362
mov ebp, ebp
je 0x1001f362
int1
add dword [ecx + 0x80830b9], edi
mul ah
ror edx, 0x44
pushfd
inc esp
jmp 0x532a17ac
movzx eax, word [0x100253d6]
imul eax, eax, 0x4bf
add eax, dword [ebp - 8]
mov dword [ebp - 8], eax
mov eax, eax
cmp edx, eax
jne 0x1001f7c8
mov edi, edi
mov edi, edi
je 0x1001f7c8
mov ecx, 0x77eac7a
aaa
ja 0x1001fcc0
test al, 0x3b
adc byte [ecx - 0x33], 0x1f
add esp, esi
lodsd eax, dword [esi]
mov ebp, 0xcc8e2dd6
insb byte es:[edi], dx
sbb dword [eax + esi*4 - 0x57], ebp
add al, 0xa7
invalid
dec ebp
adc byte [ecx], bh
dec ebp
or byte [edi], cl
cmp byte [edx + eax], 0
cmp ebx, ecx
jne 0x1001fdff
mov ebp, ebp
je 0x1001fdff
sub dword [edi - 0x3940dabc], ebp
xchg ebp, eax
or ch, byte [edi + 0x4c]
nop
popfd
invalid
mov al, byte [edx]
mov byte [ecx], al
cmp edi, esi
jne 0x1001ff2b
mov ecx, ecx
mov ecx, ecx
je 0x1001ff2b
test al, bl
add dword [eax], eax
add byte [ecx + 0x64], al
mov ds, word ds:[edx - 0x8c339fb]
inc ecx
mov ds, word ds:[edx - 0x8c339fb]
sbb dword [di + 0x4d], ebp
jmp 0x1001fd4e
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
sub eax, 1
mov dword [ebp + 0x10], eax
test edx, edx
je 0x1001ff42
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
cmp edx, ebx
or byte [ebx - 0x2cc4f3ab], cl
jne 0x1001fd3d
mov esi, esi
je 0x1001fd3d
cdq
and edx, dword [ebp - 0x55264ade]
popfd
sbb byte [ebp + edi + 0x17002ab], ah
mov ebx, 0x5d1cb084
or byte [eax + edi*4 + 0x4b], al
cdq
push edi
insb byte es:[edi], dx
sbb dword [0x66ffaec1], eax
jnp 0x1001fe61
or al, 0xea
out 0xa2, eax
sub dword [edi - 0x507c66d9], esp
push edi
stosd dword es:[edi], eax
and dword [esi - 0x39229e0d], eax
mov ch, byte [edx - 0x55c04cb4]
mov bl, 0x3f
stosb byte es:[edi], al
cmp dh, bh
movsd dword es:[edi], dword [esi]
das
sbb byte [edx - 0x73], dl
push esp
or bh, bh
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x10]
sub ecx, 1
mov dword [ebp + 0x10], ecx
cmp ebp, esi
jne 0x1001fec6
mov edi, edi
mov edi, edi
je 0x1001fec6
jl 0x1001fe15
or eax, 0x8042cbbe
dec eax
push esi
lahf
movsd dword es:[edi], dword [esi]
mov cs, eax
dec esp
push edi
xor eax, 0xa1fe1788
pop ebx
pop ecx
cld
scasd eax, dword es:[edi]
add esi, dword [ebx + edi*8 + 0x3ccbe03a]
mov cl, byte [ecx - 0x72]
sub eax, 0x1b9296b5
xlatb
and esp, dword [ecx - 0xc8a234c]
cmp al, 0x12
fimul dword [ebp + ecx*8 + 0x61b453d9]
xor dword [eax - 0x18], 0xffffff88
xor byte [edi - 0x7bf03f7b], 0x61
add dword [eax], eax
add byte [ebx], bh
ror dword [edi], 1
test dword [esi], esi
add dword [eax], eax
add byte [ebx + 0xfed8bed], cl
test byte [ecx + eax], ch
add byte [eax], al
test eax, eax
je 0x1002002f
cmp edx, ecx
jne 0x1002000c
mov ebp, ebp
mov ebp, ebp
je 0x1002000c
pop ss
popal
and eax, 0xde379e5c
mov dh, 0x1f
pop ebx
sub eax, 0x125a4bce
dec byte [esi - 0x40b29023]
pop ds
xchg ecx, eax
invalid
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x1001fccb
jmp 0x1002002f
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov cl, byte [eax]
mov byte [edx], cl
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov edi, edi
mov eax, dword [ebp + 0xc]
sub eax, 1
mov dword [ebp + 0xc], eax
jmp 0x1001fe71
mov eax, dword [ebp + 8]
pop ebp
ret