Function at 0x10016c20
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov edx, dword [0x10079ac8]
cmp dword [0x10079ac4], 0xa
setl al
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
add ecx, 2
imul ecx, edx
mov edx, dword [0x1006ffe8]
mov esi, dword [0x1006ffec]
mov edi, edx
or edi, esi
sub edi, edx
not esi
or esi, edx
lea edx, [edi + esi]
add edx, 1
and ecx, 1
cmp ecx, edx
sete dl
setne cl
mov ah, al
and ah, cl
mov ch, al
or ch, dl
add ah, ch
not ch
add ch, ah
or cl, al
add cl, ch
and al, dl
not al
add al, cl
mov ebx, dword [ebp + 8]
test al, 1
jne 0x10016f54
push eax
mov dword [ebp - 0x18], esp
push eax
mov eax, esp
cmp ebx, dword [ebp + 0xc]
mov dword [ebp - 0x2c], eax
setg byte [eax]
push eax
mov dword [ebp - 0x1c], esp
mov edx, dword [0x1006ffc0]
mov ecx, edx
not ecx
lea eax, [edx + ecx*2]
add eax, ecx
mov edi, ecx
lea ecx, [edx + eax]
add ecx, 2
mov eax, edx
sub eax, edx
sub eax, edx
add eax, edx
or eax, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], edi
lea ecx, [edi + edi*2]
add ecx, edx
sub ecx, edi
add ecx, 1
mov esi, ecx
and esi, 0x8ce76f36
mov eax, ecx
not eax
mov ebx, eax
and ebx, 0xce76f36
add ebx, ebx
sub esi, ebx
xor ecx, 0x8ce76f36
add ecx, esi
add eax, ecx
add eax, 0x8ce76f37
mov dword [ebp - 0x28], eax
mov edi, dword [0x1006ffc4]
mov eax, dword [ebp - 0x10]
not eax
mov ecx, edi
not ecx
or eax, ecx
mov dword [ebp - 0x10], eax
mov esi, ecx
mov dword [ebp - 0x20], ecx
mov ebx, ecx
lea eax, [ecx + ecx]
mov dword [ebp - 0x24], eax
and ecx, edx
mov eax, edx
and edx, 0x731890c9
or eax, 0x731890c9
add eax, edx
mov edx, dword [ebp - 0x14]
or edx, 0x731890c9
add edx, eax
add edx, 0x8ce76f38
or edx, dword [ebp - 0x28]
and esi, 0x8ce76f36
mov eax, dword [ebp - 0x20]
or eax, 0x8ce76f36
add eax, esi
or ebx, 0x731890c9
add ebx, eax
mov eax, edi
and eax, 0x731890c9
add eax, edi
mov esi, edi
xor esi, 0x731890c9
sub eax, esi
lea esi, [edi + ebx]
add esi, 2
xor edi, 0xce76f36
add edi, edi
sub eax, edi
mov edi, dword [ebp - 0x24]
or edi, 0xe6312192
add eax, edi
add eax, 0x8ce76f37
mov edi, esi
xor edi, eax
not esi
sub edi, esi
or esi, eax
add esi, edi
mov eax, esi
and eax, edx
mov edi, edx
xor edi, esi
lea eax, [eax + edi*2]
or esi, edx
sub eax, esi
lea edx, [eax + eax]
mov esi, eax
not esi
add esi, edx
sub esi, edx
mov edi, esi
and edi, 0xaa91528
sub edi, esi
mov ebx, esi
or ebx, 0xaa91528
add edi, ebx
not ebx
add ebx, edi
add esi, ebx
add esi, 1
mov edi, eax
and edi, 0xf556ead7
and eax, 0xaa91528
lea eax, [edi + eax*2]
sub edx, eax
mov eax, edx
not eax
and eax, esi
lea eax, [eax + edx*2]
mov edi, esi
or edi, edx
not edi
add edi, eax
not esi
or esi, edx
mov ebx, dword [ebp - 0x10]
mov eax, ebx
not eax
sub edi, esi
xor edi, 0xf556ead7
lea edx, [edi - 1]
and edx, eax
add edx, edx
lea esi, [eax + eax]
sub esi, edx
add esi, edi
neg edi
or ebx, edi
sub esi, ebx
and edi, eax
not edi
add edi, esi
not ecx
mov eax, edi
and eax, ecx
add eax, edi
sub eax, ecx
not edi
add eax, edi
or edi, ecx
sub eax, edi
add eax, 0x9ff20abd
mov ecx, eax
or ecx, 0x3d0f0756
mov edx, eax
sub edx, ecx
not eax
sub edx, eax
or eax, 0xc2f0f8a9
lea ecx, [edx + eax]
add eax, edx
add eax, 0x7a1e0eac
mov edx, eax
and edx, 0x9ff20abc
add ecx, edx
add ecx, 0x7a1e0eac
mov edx, eax
xor edx, 0x600df543
sub ecx, edx
mov edx, eax
or edx, 0x600df543
add edx, ecx
not eax
add eax, edx
imul eax, eax, 0x68d37157
add eax, 0x6b79c46b
not eax
mov edx, eax
or edx, 0x3de08701
sub edx, eax
sub edx, eax
or eax, 0xc21f78fe
lea ecx, [edx + eax]
add eax, edx
add eax, 0x3de08701
xor eax, 0x299399b0
lea eax, [eax + ecx*2]
add eax, 0x7bc10e02
add ecx, ecx
add ecx, 0x7bc10e02
or ecx, 0x53273360
sub eax, ecx
imul eax, eax, 0x23800a67
lea ecx, [eax - 0xfb889f9]
add eax, eax
add eax, 0xe08eec0e
sub ecx, eax
mov eax, ecx
and eax, 0x4e1c5b67
add eax, ecx
not ecx
and ecx, 0x4e1c5b67
add ecx, eax
neg ecx
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
push eax
mov dword [ebp - 0x28], esp
push eax
mov dword [ebp - 0x10], esp
mov edx, dword [0x10079ac0]
cmp dword [0x10079abc], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x10070000]
mov esi, dword [0x10070004]
mov edi, esi
not edi
mov ebx, edx
and ebx, edi
add ebx, ebx
xor esi, edx
sub esi, ebx
mov ebx, dword [ebp + 8]
add esi, edi
add edx, esi
add edx, 1
and ecx, 1
cmp ecx, edx
sete cl
or cl, al
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x61cacb67
cmp cl, 1
je 0x100186e0
push eax
push eax
mov eax, esp
cmp ebx, dword [ebp + 0xc]
setg byte [eax]
push eax
mov dword [ebp - 0x14], esp
mov edi, dword [0x1006ffc0]
mov edx, dword [0x1006ffc4]
mov ecx, edx
not ecx
mov dword [ebp - 0x10], ecx
mov ebx, edi
or ebx, ecx
mov eax, ebx
not eax
mov ecx, eax
sub ecx, ebx
sub ecx, ebx
sub ecx, eax
sub ecx, eax
add ecx, eax
lea eax, [ebx + ecx]
add eax, 0xffffffff
mov dword [ebp - 0x18], eax
mov eax, edi
not eax
mov ecx, edi
or ecx, 0x731890c9
neg ecx
lea esi, [edi + ecx]
add esi, 0x731890c9
mov ecx, edi
add ecx, eax
mov edi, ecx
xor edi, eax
not edi
sub edi, ecx
or ecx, eax
mov dword [ebp - 0x1c], ecx
mov ebx, eax
mov ecx, eax
and ecx, 0x8ce76f36
or ebx, 0x731890c9
mov eax, ecx
sub eax, ebx
add eax, ecx
add eax, 0x731890c9
mov ecx, eax
or eax, esi
not esi
and ecx, esi
add ecx, eax
not eax
add eax, ecx
sub eax, esi
mov ecx, dword [ebp - 0x10]
lea ecx, [edx + ecx*2]
add ecx, 1
mov esi, ecx
and esi, 0x8ce76f36
mov ebx, ecx
or ebx, 0x8ce76f36
sub ebx, esi
xor ecx, 0x731890c9
add ecx, ebx
add ecx, esi
add ecx, 1
mov ebx, edx
mov edx, dword [ebp - 0x10]
lea esi, [ebx + edx*2]
add esi, edx
add esi, ebx
add esi, 2
mov edx, ebx
and edx, 0x731890c9
or edx, ecx
xor edx, eax
mov eax, edx
not eax
mov ecx, edx
and ecx, 0xf556ead7
add ecx, eax
add ecx, 0xaa91529
or eax, 0xf556ead7
add eax, edx
add eax, 1
mov edx, ecx
and edx, eax
add edx, edx
mov ebx, eax
sub ebx, edx
mov edx, ecx
or edx, eax
add edx, ebx
xor eax, ecx
not eax
add eax, edx
lea edx, [eax + ecx]
add edx, 1
xor edx, 0xf556ead7
mov eax, edx
neg eax
mov ebx, dword [ebp - 0x18]
mov ecx, ebx
and ecx, eax
add ecx, edx
xor eax, ebx
add eax, ecx
add edx, 0xffffffff
or edx, ebx
mov ebx, dword [ebp + 8]
add edx, eax
mov eax, dword [ebp - 0x1c]
add eax, edi
not eax
and esi, eax
lea eax, [esi + esi*2]
sub eax, esi
sub eax, esi
not esi
lea eax, [eax + esi*2]
sub edx, eax
mov eax, edx
not eax
mov ecx, edx
and ecx, 0x600df543
add ecx, edx
and eax, 0x9ff20abc
add eax, ecx
xor edx, 0x600df543
add edx, eax
imul eax, edx, 0x68d37157
lea ecx, [eax - 0x24a52d1f]
mov edx, ecx
xor edx, 0x566c664f
lea edx, [eax + edx*2]
add edx, 0xdb5ad2e1
mov esi, ecx
or esi, 0xd66c664f
lea esi, [esi + esi*2]
sub edx, esi
or ecx, 0x299399b0
add ecx, edx
add eax, ecx
add eax, 0xdb5ad2e1
imul eax, eax, 0x23800a67
add eax, 0x4b7feec9
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
push eax
push eax
mov eax, esp
mov ecx, dword [0x10070338]
mov edx, dword [0x1007033c]
mov esi, ecx
sub esi, edx
mov edi, ecx
xor edi, edx
sub esi, edi
not edi
add edi, edi
sub esi, edi
not ecx
or ecx, edx
lea ecx, [esi + ecx*2]
add ecx, 0x61cacb67
mov dword [eax], ecx
jmp 0x10016c91
mov esi, dword [0x10079ab8]
mov eax, dword [0x10070038]
mov ecx, dword [0x1007003c]
mov edx, ecx
not edx
lea edi, [ecx + edx*2]
or edx, eax
sub edi, edx
and eax, ecx
add eax, edi
add eax, 0xb
cmp dword [0x10079ab4], eax
setge al
setl cl
lea edx, [esi + 1]
imul edx, esi
mov esi, dword [0x10070040]
mov edi, dword [0x10070044]
mov ebx, esi
or esi, edi
not edi
and ebx, edi
not esi
add esi, ebx
sub esi, edi
and edx, 1
cmp edx, esi
setne dl
sete ah
mov ch, cl
or dl, cl
xor cl, ah
or ch, ah
add ch, cl
add dl, ch
or al, ah
add al, dl
test al, 1
je 0x10017140
jmp 0x10017a70
mov eax, dword [0x10070300]
mov ecx, dword [0x10070304]
mov edx, eax
or edx, ecx
mov esi, ecx
sub esi, edx
add esi, eax
and eax, ecx
not eax
add eax, esi
add eax, 0x61cacb68
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [0x10070308]
mov ecx, dword [str.OO7]
mov edx, ecx
not edx
and edx, eax
mov esi, eax
xor esi, ecx
sub edx, esi
or ecx, eax
add ecx, edx
mov edx, dword [0x10079ab0]
not eax
add eax, ecx
add eax, 0xb
cmp dword [0x10079aac], eax
setge al
setl cl
mov ebx, edx
not ebx
add ebx, 0xa2662922
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
or ah, dl
add ah, cl
or al, dl
add al, ah
and cl, dl
sub al, cl
test al, 1
je 0x10017a70
mov eax, dword [0x100703c8]
mov ecx, dword [0x100703cc]
mov edx, ecx
not edx
and edx, eax
mov esi, eax
xor esi, ecx
sub edx, esi
or ecx, eax
add ecx, edx
not eax
add eax, ecx
add eax, 0x61cacb68
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x100171b3
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x100700f8]
mov edx, dword [0x100700fc]
mov esi, ecx
sub esi, edx
mov edi, ecx
xor edi, edx
sub esi, edi
not edi
add edi, edi
sub esi, edi
not ecx
or ecx, edx
lea ecx, [esi + ecx*2]
add ecx, 0x3d0f0756
cmp eax, ecx
mov ecx, 0xbff240e0
mov eax, 0xab9e54e0
cmove ecx, eax
mov dword [ebp - 0x14], ecx
mov ecx, dword [0x10070100]
mov edx, dword [0x10070104]
mov esi, ecx
xor esi, edx
mov edi, ecx
or edi, edx
sub esi, edi
mov edi, dword [0x10079aa8]
not ecx
sub esi, ecx
or ecx, edx
add ecx, esi
add ecx, 0xa
cmp dword [0x10079aa4], ecx
setl cl
lea edx, [edi + 1]
imul edx, edi
mov esi, dword [0x10070108]
mov edi, dword [0x1007010c]
mov ebx, esi
or ebx, edi
not ebx
lea ebx, [ebx + ebx*2]
add ebx, esi
add ebx, edi
mov eax, esi
xor eax, edi
not eax
add eax, eax
sub ebx, eax
and esi, edi
lea eax, [ebx + esi]
add eax, 1
and edx, 1
cmp edx, eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov dword [eax], edx
setne al
sete dl
mov ah, cl
and ah, dl
and al, cl
add al, ah
add al, cl
or cl, dl
add cl, al
test cl, 1
jne 0x10017a70
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10070360]
mov edx, dword [0x10070364]
or edx, ecx
mov esi, edx
sub esi, ecx
not edx
add edx, esi
add ecx, edx
add ecx, 0x3d0f0757
cmp eax, ecx
mov eax, 0xbff240e0
mov ecx, 0xab9e54e0
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10017263
mov edx, dword [0x10079aa0]
mov eax, dword [0x10070218]
mov ecx, dword [str.__Ct]
mov esi, eax
or esi, ecx
mov edi, ecx
sub edi, esi
mov esi, eax
xor esi, ecx
add esi, edi
not ecx
or ecx, eax
lea eax, [ecx + esi]
add eax, 0xb
cmp dword [0x10079a9c], eax
setge al
setl cl
mov esi, edx
not esi
add esi, edx
add esi, edx
imul esi, edx
mov edx, dword [0x10070220]
mov edi, dword [0x10070224]
mov ebx, edi
not ebx
and ebx, edx
add ebx, edi
or edx, edi
sub ebx, edx
and esi, 1
cmp esi, ebx
sete dl
setne ah
and ah, cl
or cl, dl
not cl
add cl, ah
or al, dl
add al, cl
mov ecx, dword [ebp - 0x10]
mov dword [ecx], 0xa6a8deb1
test al, 1
jne 0x10017a70
mov eax, dword [0x10070398]
or eax, dword [0x1007039c]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xa6a8deb2
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x1001736a
mov ebx, dword [0x1006ffc8]
mov edx, dword [0x1006ffcc]
mov ecx, edx
not ecx
lea eax, [ecx*4]
lea esi, [ecx + ecx]
mov dword [ebp - 0x20], esi
mov edi, ecx
mov dword [ebp - 0x30], ecx
sub eax, esi
add eax, edx
add eax, 1
xor eax, ebx
not eax
mov ecx, eax
and ecx, ebx
mov esi, eax
or esi, ebx
not esi
lea ecx, [esi + ecx*2]
xor eax, ebx
add eax, ecx
add eax, 1
mov dword [ebp - 0x24], eax
mov ecx, ebx
not ecx
mov dword [ebp - 0x14], ecx
lea eax, [ecx + ecx*2]
add eax, ebx
sub eax, ecx
add eax, 1
mov ecx, eax
and ecx, edx
mov esi, eax
not esi
and esi, edx
add esi, esi
sub ecx, esi
add ecx, edx
xor edx, eax
add edx, ecx
sub edx, eax
mov eax, ebx
and eax, edi
mov ecx, eax
not ecx
and ecx, edx
add ecx, ecx
mov esi, edx
or esi, eax
mov edi, edx
not edi
or edi, eax
and eax, edx
sub edx, ecx
add esi, edx
sub esi, edi
not eax
add eax, esi
mov esi, eax
neg esi
mov edx, dword [ebp - 0x24]
mov ecx, edx
not ecx
and ecx, esi
mov edi, edx
xor edi, esi
or esi, edx
sub edx, ecx
add eax, eax
sub edx, eax
add edi, edx
sub edi, esi
not edi
lea eax, [edi + edi*2]
add edi, edi
sub eax, edi
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x30]
mov esi, ebx
and esi, eax
mov ecx, eax
not ecx
and ecx, ebx
mov edx, esi
or edx, ecx
mov edi, dword [ebp - 0x14]
and edi, eax
add edi, edx
add ecx, ecx
mov edx, ebx
sub ebx, ecx
xor edx, eax
sub edi, edx
add ebx, edx
or eax, dword [ebp - 0x14]
sub ebx, eax
not esi
add esi, ebx
or esi, edi
lea ecx, [esi + esi]
sub ecx, esi
mov eax, dword [ebp - 0x24]
lea edx, [eax + ecx*2]
sub edx, ecx
lea eax, [edx + 0x3313c254]
mov ecx, eax
and ecx, 0x3313c252
add ecx, edx
add ecx, 0x3313c254
mov edx, eax
not edx
and edx, 0xccec3dad
add edx, ecx
xor eax, 0x3313c252
lea ecx, [edx + eax]
add eax, edx
add eax, 0x2b576e70
mov edx, eax
not edx
mov esi, eax
and esi, 1
add ecx, esi
add ecx, 0x2b576e70
and edx, 0xfffffffe
add edx, ecx
xor eax, 1
add eax, edx
imul eax, eax, 0xa2f2651
lea ecx, [eax - 0x60c13b88]
mov edx, ecx
or edx, 0x741f6a0f
add eax, edx
add eax, 0x9f3ec478
mov edx, ecx
or edx, 0x8be095f0
add edx, eax
not ecx
lea eax, [ecx + edx]
add eax, 0x741f6a11
mov ecx, eax
xor ecx, 0x245a4ec8
mov edx, eax
sub edx, ecx
not eax
mov ecx, eax
or ecx, 0x245a4ec8
sub edx, ecx
or eax, 0xdba5b137
add eax, edx
imul eax, eax, 0xf0a3e2b1
add eax, 0x6dc37e31
cmp dword [ebp + 8], eax
mov eax, 0x1e57b606
mov ecx, 0x2f7097e6
cmovg eax, ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [0x10070270]
mov ecx, dword [str.EOg]
mov edx, eax
not edx
lea esi, [eax + edx*2]
or edx, ecx
sub edx, esi
and eax, ecx
not eax
add eax, edx
add eax, 0xa
cmp dword [0x10079a98], eax
mov edx, dword [0x10079a94]
setge al
setl cl
lea ebx, [edx - 1]
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
and ah, dl
and al, dl
add al, ah
add al, dl
or cl, dl
add cl, al
mov eax, dword [ebp - 0x28]
mov dword [eax], 0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xa6a8deb1
test cl, 1
jne 0x10017a70
mov esi, dword [0x1006ffc8]
mov edx, dword [0x1006ffcc]
mov eax, edx
mov ecx, esi
not ecx
mov dword [ebp - 0x20], ecx
mov edi, ecx
and edi, edx
lea ebx, [edi + edx]
or edx, ecx
sub ebx, edx
not eax
mov dword [ebp - 0x14], eax
add ebx, ecx
sub ebx, edi
mov edx, eax
xor edx, esi
mov edi, edx
not edi
and edi, esi
neg edi
lea eax, [edi + edi]
mov ecx, edi
sub ecx, eax
neg eax
add eax, edi
add eax, 0xffffffff
mov edi, 1
sub edi, ecx
sub eax, edi
sub eax, edi
add ecx, ecx
add ecx, 0xfffffffe
sub eax, ecx
and esi, dword [ebp - 0x14]
or ebx, esi
neg ebx
lea edi, [eax + 1]
mov ecx, edi
and ecx, ebx
add eax, ecx
add eax, 1
not edi
and edi, ebx
add edi, eax
lea eax, [edi + edi]
sub edi, eax
add edx, esi
mov eax, dword [ebp - 0x20]
add edx, eax
or eax, dword [ebp - 0x14]
sub edx, eax
mov ecx, esi
or ecx, edx
mov eax, edx
not eax
or eax, esi
lea ebx, [esi + esi]
not esi
or esi, edx
sub edx, ebx
add edx, ecx
add edx, ecx
lea eax, [edx + eax*2]
mov ecx, edi
or ecx, 0x3313c252
add ecx, edi
not edi
sub eax, esi
or edi, 0x3313c252
add edi, ecx
add eax, edi
add eax, 3
mov ecx, eax
and ecx, 0x3313c252
add ecx, ecx
mov edx, eax
sub edx, ecx
mov ecx, eax
or ecx, 0xccec3dad
add ecx, edx
not eax
or eax, 0xccec3dad
sub ecx, eax
lea eax, [ecx + ecx*2]
add ecx, ecx
sub eax, ecx
add eax, 0x5e6b30c1
mov ecx, eax
and ecx, 0xfffffffe
mov edx, eax
or edx, 1
add edx, ecx
xor eax, 0xfffffffe
add eax, edx
imul eax, eax, 0xa2f2651
add eax, 0x9f3ec478
mov ecx, eax
or ecx, 0x8be095f0
mov edx, eax
sub edx, ecx
and eax, 0x741f6a0f
lea ecx, [edx + eax]
add eax, edx
add eax, 0xffffffff
mov edx, eax
and edx, 0xdba5b137
add ecx, edx
add ecx, 0xffffffff
or eax, 0x245a4ec8
sub ecx, eax
imul eax, ecx, 0xf0a3e2b1
lea ecx, [eax + 0xaaa1090]
add eax, eax
add eax, 0x15542120
sub eax, eax
sub eax, ecx
mov ecx, eax
and ecx, 0x9ce6925f
mov esi, eax
sub esi, ecx
sub esi, ecx
mov edx, eax
or edx, 0x9ce6925f
add edx, esi
xor eax, 0x63196da0
add eax, edx
not ecx
sub ecx, eax
add ecx, 0x63196da1
cmp dword [ebp + 8], ecx
mov eax, 0x1e57b606
mov ecx, 0x2f7097e6
cmovg eax, ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [0x100703b0]
mov ecx, dword [0x100703b4]
mov edx, eax
or edx, ecx
mov esi, ecx
sub esi, edx
mov edx, eax
xor edx, ecx
add edx, esi
not ecx
or ecx, eax
lea eax, [ecx + edx]
add eax, 0xa6a8deb2
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0x28]
mov dword [eax], 0
jmp 0x1001740a
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x100700d0]
mov edx, dword [0x100700d4]
mov esi, ecx
not esi
and esi, edx
not edx
or edx, ecx
lea ecx, [esi + edx]
add ecx, 0x3d0f0757
cmp eax, ecx
mov ecx, 0xb406559c
mov eax, 0x18ddde05
cmovl ecx, eax
mov dword [ebp - 0x14], ecx
cmp dword [0x10079a90], 0xa
mov edi, dword [0x10079a8c]
setge ch
setl cl
lea esi, [edi + 1]
imul esi, edi
mov edx, dword [0x100700e0]
mov ebx, dword [0x100700e4]
mov edi, edx
xor edi, ebx
add edi, edi
lea edi, [edi + ebx*2]
mov eax, edx
or eax, ebx
lea eax, [eax + eax*2]
sub edi, eax
not ebx
or ebx, edx
add ebx, edi
lea eax, [edx + ebx]
add eax, 1
and esi, 1
cmp esi, eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov dword [eax], edx
sete al
mov edx, ecx
or dl, al
add dl, al
xor cl, al
not cl
add cl, dl
add cl, ch
test cl, 1
jne 0x10017a70
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10070358]
mov edx, dword [0x1007035c]
mov esi, ecx
and esi, edx
mov edi, edx
not edi
and edi, ecx
sub esi, edi
add esi, ecx
mov edi, ecx
or edi, edx
not edi
lea esi, [esi + edi*2]
xor ecx, edx
not ecx
add ecx, ecx
sub esi, ecx
add esi, 0x3d0f0756
cmp eax, esi
mov eax, 0xb406559c
mov ecx, 0x18ddde05
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x100177d6
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10070120]
mov edx, dword [0x10070124]
mov esi, edx
not esi
and esi, ecx
not ecx
or ecx, edx
add ecx, esi
add ecx, 0x2f7097e7
cmp eax, ecx
mov eax, 0xbff240e0
mov ecx, 0x52d83690
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov ecx, dword [0x10070128]
mov edx, dword [0x1007012c]
mov eax, ecx
xor eax, ecx
not eax
and eax, edx
xor eax, ecx
xor ecx, edx
mov edx, dword [0x10079a88]
sub eax, ecx
add eax, 0xa
cmp dword [0x10079a84], eax
setl al
mov ecx, edx
and ecx, 0x7ffffffe
add ecx, ecx
lea esi, [edx + edx]
sub esi, ecx
mov ecx, edx
not ecx
or ecx, 0xfffffffe
add ecx, esi
imul ecx, edx
test cl, 1
sete dl
or dl, al
or cl, al
add al, dl
not dl
add dl, al
add cl, dl
test cl, 1
jne 0x10017a70
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10070368]
mov edx, dword [0x1007036c]
mov esi, ecx
and esi, edx
not edx
and edx, ecx
add edx, edx
lea edx, [edx + esi*2]
add ecx, ecx
sub ecx, edx
add ecx, 0x2f7097e6
cmp eax, ecx
mov eax, 0xbff240e0
mov ecx, 0x52d83690
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x100178c5
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x100701c0]
mov edx, dword [0x100701c4]
mov esi, ecx
or esi, edx
mov edi, edx
not edi
or edi, ecx
lea ebx, [ecx + ecx]
not ecx
or ecx, edx
sub edx, ebx
add esi, edx
lea edx, [esi + edi*2]
sub edx, ecx
add edx, 0x8934d3ec
cmp eax, edx
mov eax, 0xbff240e0
mov ecx, 0xf4b228d5
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [0x100701c8]
mov ecx, dword [0x100701cc]
mov edx, eax
or edx, ecx
sub edx, ecx
not eax
or eax, ecx
mov ecx, dword [0x10079a80]
add eax, edx
add eax, 0xb
mov edx, ecx
cmp dword [0x10079a7c], eax
not edx
setge bl
mov eax, ecx
or eax, 0xfffffffe
add eax, ecx
or edx, 0xfffffffe
add eax, edx
add eax, 4
imul eax, ecx
test al, 1
sete cl
or cl, bl
add cl, al
test cl, 1
jne 0x10017a70
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [0x10070388]
mov esi, dword [0x1007038c]
mov ecx, edx
xor ecx, edx
not ecx
and ecx, esi
xor ecx, edx
xor edx, esi
sub ecx, edx
add ecx, 0x8934d3eb
cmp eax, ecx
mov eax, 0xbff240e0
mov ecx, 0xf4b228d5
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x1001799f
mov eax, dword [0x10070328]
mov ecx, dword [0x1007032c]
mov edx, eax
mov esi, eax
xor eax, ecx
not ecx
and edx, ecx
add edx, edx
sub esi, edx
add eax, esi
add eax, ecx
add eax, 0xb
mov ecx, dword [0x10079a78]
cmp dword [0x10079a74], eax
setl al
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
je 0x10017a70
jmp 0x100186e0
mov edx, dword [0x10070058]
mov eax, dword [0x1007005c]
mov ecx, edx
or ecx, eax
mov esi, eax
sub esi, ecx
mov ecx, edx
xor ecx, eax
add ecx, esi
not eax
or eax, edx
mov dword [ebp - 0x14], eax
mov edx, dword [0x10070060]
mov esi, edx
not esi
mov edi, edx
or edi, esi
mov ebx, dword [0x10070064]
and edi, ebx
or edx, ebx
not edx
add edx, edi
or esi, ebx
mov edi, dword [0x10079a70]
sub edx, esi
add edx, 0xa
cmp dword [0x10079a6c], edx
setge dl
setl dh
lea esi, [edi - 1]
imul esi, edi
mov edi, dword [0x1007006c]
mov ebx, edi
not ebx
mov eax, dword [0x10070068]
and ebx, eax
not eax
or eax, edi
add eax, ebx
add eax, 1
and esi, 1
cmp esi, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov esi, dword [ebp - 0x18]
mov dword [esi], eax
mov eax, dword [ebp - 0x14]
lea eax, [eax + ecx - 0x169e43b1]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
sete al
mov cl, dh
or cl, al
add cl, al
xor dh, al
not dh
add dh, cl
add dh, dl
test dh, 1
jne 0x10017a70
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [0x10070340]
mov ecx, dword [0x10070344]
mov edx, eax
xor edx, ecx
mov esi, eax
or esi, ecx
sub edx, esi
not eax
sub edx, eax
or eax, ecx
add eax, edx
add eax, 0xe961bc4e
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10017ab4
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0x25f99711
mov eax, 0xd1c7f69
mov ecx, 0xfeec4046
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
cmp dword [0x10079a68], 0xa
mov ecx, dword [0x10079a64]
setl al
mov edx, ecx
and edx, 0xfffffffe
add edx, ecx
mov esi, ecx
not esi
add esi, edx
mov edx, ecx
and edx, 1
add edx, esi
add edx, 2
imul edx, ecx
test dl, 1
sete cl
xor cl, al
add cl, dl
or al, dl
add al, cl
test al, 1
jne 0x10017a70
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10070348]
mov edx, dword [0x1007034c]
mov esi, edx
and esi, ecx
mov edi, ecx
xor edi, edx
add edi, esi
or ecx, edx
sub edi, ecx
add edi, 0x25f99711
cmp eax, edi
mov eax, 0xd1c7f69
mov ecx, 0xfeec4046
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10017b97
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x100700a8]
mov edx, dword [0x100700ac]
mov esi, ecx
and esi, edx
lea esi, [esi + esi*2]
sub esi, ecx
sub esi, ecx
mov edi, ecx
xor edi, edx
add edi, esi
not ecx
or ecx, edx
not edx
add edx, edi
sub edx, ecx
add edx, 0x2f7097e6
cmp eax, edx
mov eax, 0xdc65ca
mov ecx, 0x8479ddaa
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [0x10079a60]
cmp dword [0x10079a5c], 0xa
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x10017a70
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10070350]
mov edx, dword [0x10070354]
mov esi, ecx
or esi, edx
not esi
lea esi, [esi + esi*2]
add esi, ecx
add esi, edx
mov edi, ecx
xor edi, edx
not edi
add edi, edi
sub esi, edi
and ecx, edx
add ecx, esi
add ecx, 0x2f7097e7
cmp eax, ecx
mov eax, 0xdc65ca
mov ecx, 0x8479ddaa
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10017c31
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007014c]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0x25f99712
cmp eax, ecx
mov eax, 0xbff240e0
mov ecx, 0x25e91a68
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [0x10070150]
mov ecx, dword [0x10070154]
mov edx, eax
and edx, ecx
mov esi, eax
or esi, ecx
not esi
add esi, edx
xor eax, ecx
add eax, esi
add eax, 0xb
mov ecx, dword [0x10079a58]
cmp dword [0x10079a54], eax
setl al
lea edx, [ecx - 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x10017a70
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10070370]
mov edx, dword [0x10070374]
mov esi, edx
not esi
and esi, ecx
lea edi, [esi + edx*2]
mov esi, ecx
or esi, edx
sub edi, esi
not esi
add esi, edi
not ecx
or ecx, edx
sub esi, ecx
add esi, 0x25f99711
cmp eax, esi
mov eax, 0xbff240e0
mov ecx, 0x25e91a68
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10017ce5
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0x1e57b606
mov eax, 0xd60ca9f8
mov ecx, 0x3d965c5f
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [0x10070178]
mov ecx, dword [0x1007017c]
mov edx, eax
or edx, ecx
mov esi, ecx
sub esi, edx
add esi, eax
and eax, ecx
not eax
add eax, esi
add eax, 0xb
cmp dword [0x10079a50], eax
mov edx, dword [0x10079a4c]
setl al
mov ecx, edx
and ecx, 0xfffffffe
add ecx, edx
mov esi, edx
xor esi, 1
sub ecx, esi
sub ecx, edx
add ecx, 2
imul ecx, edx
test cl, 1
sete cl
or cl, al
jne 0x10017a70
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0x1e57b606
mov eax, 0xd60ca9f8
mov ecx, 0x3d965c5f
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10017d9a
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10070198]
mov edx, dword [0x1007019c]
mov esi, ecx
not esi
or esi, ecx
and esi, edx
sub esi, edx
add esi, 0x1e57b606
cmp eax, esi
mov eax, 0xbff240e0
mov ecx, 0x59c17efc
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [0x100701a0]
mov ecx, dword [0x100701a4]
mov edx, eax
mov esi, eax
xor eax, ecx
not ecx
and edx, ecx
add edx, edx
sub esi, edx
add eax, esi
add eax, ecx
add eax, 0xb
mov ecx, dword [0x10079a48]
cmp dword [0x10079a44], eax
setl al
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x10017a70
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10070380]
mov edx, dword [0x10070384]
mov esi, edx
not esi
and esi, ecx
not ecx
or ecx, edx
add ecx, esi
add ecx, 0x1e57b607
cmp eax, ecx
mov eax, 0xbff240e0
mov ecx, 0x59c17efc
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10017e28
mov edx, dword [0x10079a40]
cmp dword [0x10079a3c], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x100701f8]
mov esi, dword [0x100701fc]
mov edi, esi
not edi
and edi, edx
add edi, esi
or edx, esi
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
setne dl
or cl, al
and al, dl
add al, cl
not cl
add cl, al
add cl, dl
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xd3afd894
test cl, 1
jne 0x10017a70
mov eax, dword [0x10070390]
mov ecx, dword [0x10070394]
mov edx, ecx
not edx
and edx, eax
add edx, edx
mov esi, eax
sub esi, edx
mov edx, eax
not edx
or edx, ecx
sub esi, edx
and eax, ecx
not eax
add eax, esi
add eax, 0xd3afd894
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10017edc
mov eax, dword [ebp - 0x2c]
cmp byte [eax], 0
mov ecx, 0x25f99711
mov eax, 0x8934d3eb
cmovne ecx, eax
mov dword [ebp - 0x14], ecx
mov esi, dword [0x10070238]
mov ebx, dword [0x1007023c]
mov edx, ebx
not edx
mov edi, esi
and edi, edx
xor ebx, esi
sub ebx, edi
or edx, esi
mov edi, dword [0x10079a38]
cmp dword [0x10079a34], 0xa
setl byte [ebp - 0x20]
lea esi, [edi + 1]
imul esi, edi
mov edi, dword [0x1007024c]
mov dword [ebp - 0x24], edi
not edi
mov ecx, dword [0x10070248]
and edi, ecx
mov eax, ecx
not eax
add eax, edi
and ecx, dword [ebp - 0x24]
add eax, ecx
add eax, 1
and esi, 1
cmp esi, eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
lea eax, [ebx + edx - 0x5957214e]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
sete al
or al, byte [ebp - 0x20]
jne 0x10017a70
mov eax, dword [ebp - 0x2c]
cmp byte [eax], 0
mov eax, 0x25f99711
mov ecx, 0x8934d3eb
cmovne eax, ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov ecx, dword [0x100703a0]
mov edx, dword [0x100703a4]
mov eax, ecx
or eax, edx
not eax
add eax, ecx
not edx
or edx, ecx
sub eax, edx
add eax, 0xa6a8deb1
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10017f67
mov eax, dword [ebp - 0x28]
imul esi, dword [eax], 0x48f04f29
push dword [ebp + 0xc]
mov edi, dword [ebp + 8]
push edi
call dword [sym.imp.KERNEL32.dll_Beep]
lea eax, [esi + 0x48f04f29]
mov ecx, eax
or ecx, 0xd0c215fc
sub ecx, eax
lea edx, [esi + esi]
add edx, 0x91e09e52
or edx, 0x5e7bd406
add edx, ecx
not eax
or eax, 0xd0c215fc
sub edx, eax
imul eax, edx, 0x833fbd19
lea ecx, [eax - 0x7cc042e7]
mov edx, ecx
not edx
or ecx, 0xa1829105
add eax, ecx
add eax, 0x833fbd19
or edx, 0xa1829105
add eax, edx
add eax, 0xa33319e
mov ecx, eax
and ecx, 0xa1829105
mov esi, eax
sub esi, ecx
sub esi, ecx
or eax, 0x5e7d6efa
add eax, esi
add eax, ecx
cmp eax, edi
mov edx, 0x2f7097e6
mov ecx, 0x1e57b606
cmove edx, ecx
mov dword [ebp - 0x14], edx
mov edx, dword [0x10070298]
mov esi, dword [0x1007029c]
mov edi, esi
not edi
lea ebx, [esi + edi*2]
or edi, edx
sub ebx, edi
and edx, esi
add edx, ebx
add edx, 0xb
cmp dword [0x10079a30], edx
mov edi, dword [0x10079a2c]
setge dl
setl dh
lea esi, [edi + 1]
imul esi, edi
mov edi, dword [0x100702a0]
mov ebx, dword [0x100702a4]
mov ecx, edi
or edi, ebx
not ebx
and ecx, ebx
not edi
add edi, ecx
sub edi, ebx
and esi, 1
cmp esi, edi
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
mov dword [ecx], esi
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
setne al
sete cl
mov ah, dh
or al, dh
xor dh, cl
or ah, cl
add ah, dh
add al, ah
or dl, cl
add dl, al
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xa6a8deb1
test dl, 1
jne 0x10017a70
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebx]
push dword [ebp + 0xc]
mov edi, dword [ebp + 8]
push edi
call dword [sym.imp.KERNEL32.dll_Beep]
mov ecx, esi
sub ecx, esi
sub ecx, esi
add ecx, esi
lea eax, [esi + ecx]
add eax, 0xf5ccce65
mov ecx, eax
and ecx, 0x5e7d6efa
mov edx, eax
xor edx, 0x5e7d6efa
add edx, ecx
or eax, 0xa1829105
add eax, edx
add eax, 0xa33319d
cmp eax, edi
mov ecx, 0x2f7097e6
mov edx, 0x1e57b606
cmove ecx, edx
mov edx, dword [ebp - 0x1c]
mov dword [edx], ecx
mov dword [ebx], eax
mov eax, dword [0x100703b8]
mov ecx, dword [0x100703bc]
mov edx, eax
and edx, ecx
mov esi, eax
not esi
and esi, ecx
lea edx, [edx + esi*2]
sub edx, ecx
not ecx
or ecx, eax
lea eax, [edx + ecx]
add eax, 0xa6a8deb2
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10018035
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x1006ffdc]
mov eax, ecx
not eax
mov esi, eax
mov dword [ebp - 0x14], eax
and esi, 0xd1e722c
mov edx, ecx
mov edi, ecx
and edi, 0x8d1e722c
lea esi, [edi + esi*2]
mov edi, eax
and edi, 0x8d1e722c
add edi, ecx
add edi, 0x72e18dd4
and edx, 0x72e18dd3
add edx, esi
or ecx, 0x8d1e722c
sub edx, ecx
mov ecx, edi
not ecx
and ecx, edx
mov esi, edx
or esi, edi
add esi, ecx
mov eax, dword [0x1006ffd8]
mov dword [ebp - 0x20], eax
not edx
or edx, edi
add edx, esi
add edx, 1
mov esi, edx
and esi, 0x72e18dd3
add esi, esi
mov edi, edx
xor edi, 0x72e18dd3
sub edi, esi
mov esi, edx
xor esi, 0x8d1e722c
add esi, edi
lea edi, [esi + edx]
add edi, 0x72e18dd4
not edi
mov esi, eax
not esi
mov ebx, esi
and ebx, edi
mov edx, eax
xor edx, edi
add ebx, edx
not edx
add edx, ebx
or edi, esi
sub edx, edi
mov edi, edx
and edi, eax
mov ebx, edx
and ebx, esi
sub edi, ebx
mov ebx, edx
xor ebx, eax
add ebx, edi
or edx, esi
add edx, ebx
mov ebx, esi
and ebx, 0xec3fc375
mov edi, esi
and edi, 0x13c03c8a
mov ecx, ebx
sub ecx, edi
mov eax, esi
or eax, 0xec3fc375
add eax, ecx
or esi, 0x13c03c8a
add esi, eax
not ebx
add esi, ebx
add esi, 2
mov ecx, dword [ebp - 0x20]
mov eax, ecx
and eax, 0x13c03c8a
add edi, edi
lea edi, [edi + eax*2]
mov ebx, dword [ebp - 0x14]
mov eax, ecx
xor ebx, ecx
and ebx, ecx
or eax, 0xec3fc375
add eax, edi
add eax, 0xec3fc377
or eax, esi
mov ecx, eax
and ecx, 0x13c03c8a
lea ecx, [ecx + ecx*2]
sub ecx, eax
sub ecx, eax
mov esi, eax
xor esi, 0x13c03c8a
lea edi, [ecx + esi*2]
not eax
or eax, 0x13c03c8a
sub edi, eax
mov ecx, ebx
mov dword [ebp - 0x14], ebx
lea esi, [ebx + ebx]
lea eax, [ebx + ebx*2]
sub esi, eax
add esi, ebx
mov eax, ebx
and eax, esi
add eax, eax
mov ebx, esi
sub ebx, eax
mov ecx, dword [ebp - 0x14]
not ecx
mov eax, ecx
or eax, esi
add eax, ebx
xor esi, ecx
add esi, eax
lea eax, [edx + edi]
add edx, edi
add edx, 0x61cf731b
mov ebx, dword [ebp - 0x14]
add ebx, esi
mov edi, edx
and edi, ebx
add edi, edi
add eax, eax
add eax, 0xc39ee636
sub eax, edi
sub ecx, esi
mov esi, ebx
not esi
add ecx, eax
mov eax, edx
not eax
or eax, esi
sub ecx, eax
and esi, edx
not esi
add esi, ecx
mov eax, esi
or eax, 0x758fafa5
add eax, esi
mov ecx, esi
or ecx, 0x8a70505a
add ecx, eax
not esi
lea edx, [ecx + esi]
lea eax, [esi + ecx]
add eax, 0x8a70505d
mov ecx, eax
xor ecx, 0xe1a849fa
add ecx, edx
add ecx, 0x8a70505d
mov edx, eax
or edx, 0xe1a849fa
sub ecx, edx
not eax
sub ecx, eax
or eax, 0xe1a849fa
add eax, ecx
imul ecx, eax, 0x97c811a3
lea eax, [ecx - 0x1c60b42e]
mov edx, eax
not edx
and edx, 0xfcbc1e53
lea edx, [edx + edx*2]
lea ecx, [edx + ecx*2]
add ecx, 0xc73e97a4
mov edx, eax
xor edx, 0x7cbc1e53
add edx, edx
sub ecx, edx
and eax, 0x343e1ac
lea edx, [ecx + eax]
add eax, ecx
add eax, 1
mov ecx, eax
and ecx, 0x4da33f67
mov esi, eax
and esi, 0xb25cc098
sub ecx, esi
mov esi, eax
not esi
lea ecx, [ecx + edx*2]
add ecx, 2
and esi, 0x325cc098
lea ecx, [ecx + esi*2]
xor eax, 0x325cc098
add eax, eax
sub ecx, eax
lea eax, [ecx + 0x4da33f67]
or eax, 0x343e1ac
mov edx, eax
not edx
add edx, eax
lea eax, [ecx + edx]
add eax, 0x4da33f67
imul eax, eax, 0x5b9baa0b
add eax, 0x9c0b7502
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [0x100702b8]
mov ecx, dword [0x100702bc]
mov edx, ecx
not edx
and edx, eax
add edx, edx
mov esi, eax
sub esi, edx
mov edx, eax
not edx
or edx, ecx
sub esi, edx
and eax, ecx
not eax
add eax, esi
add eax, 0xa6a8deb1
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [0x100702c0]
or eax, dword [0x100702c4]
mov edx, dword [0x10079a28]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
mov ecx, edx
not ecx
cmp dword [0x10079a24], eax
setl al
and ecx, 0xfffffffe
lea ecx, [ecx + edx*2]
mov esi, edx
or esi, 0xfffffffe
sub ecx, esi
add ecx, 1
imul ecx, edx
test cl, 1
sete dl
or al, dl
add al, dl
add al, cl
add al, 1
test al, 1
jne 0x10017a70
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x1006ffdc]
mov ecx, eax
not ecx
lea edx, [ecx + ecx]
mov esi, ecx
sub esi, eax
sub esi, ecx
and ecx, 0xd1e722c
shl ecx, 2
sub ecx, edx
mov edx, eax
mov ebx, eax
xor eax, 0x72e18dd3
add eax, ecx
mov edi, dword [0x1006ffd8]
or edx, 0x8d1e722c
sub eax, edx
add eax, 0x72e18dd3
and ebx, 0x72e18dd3
or ebx, eax
xor ebx, 0x8d1e722c
mov eax, edi
and eax, ebx
mov ecx, edi
xor ecx, ebx
add eax, ecx
or ebx, edi
not ebx
add ebx, eax
lea eax, [ecx + ebx]
add eax, 1
mov dword [ebp - 0x14], eax
mov edx, edi
not edx
mov ebx, edx
sub ebx, edx
sub ebx, edx
add ebx, edx
add ebx, edx
mov ecx, ebx
and ecx, 0xec3fc375
mov eax, ebx
or eax, 0xec3fc375
add eax, ecx
not ebx
or ebx, 0xec3fc375
add ebx, eax
add ebx, 0x13c03c8c
lea eax, [esi - 1]
mov ecx, edi
and ecx, eax
neg esi
and esi, edi
add esi, esi
lea ecx, [esi + ecx*2]
lea esi, [edi + edi]
sub esi, ecx
xor eax, edi
add eax, esi
and dword [ebp - 0x14], edi
or edx, edi
and edx, eax
lea ecx, [edx + edi*2]
mov dword [ebp - 0x20], ecx
mov edx, eax
or edx, edi
not eax
or eax, edi
mov dword [ebp - 0x24], eax
and edi, 0x13c03c8a
mov ecx, edi
not ecx
mov esi, ebx
and ecx, ebx
add ecx, ecx
or ebx, edi
mov eax, esi
not eax
or eax, edi
and edi, esi
sub esi, ecx
add ebx, esi
sub ebx, eax
not edi
add edi, ebx
mov eax, edi
xor eax, 0x13c03c8a
mov ecx, edi
or ecx, 0x13c03c8a
add ecx, eax
mov eax, edi
or eax, 0xec3fc375
add eax, ecx
not edi
lea ecx, [eax + edi]
add eax, edi
add eax, 2
mov ebx, dword [ebp - 0x14]
mov esi, ebx
not esi
mov edi, ebx
xor edi, 0xdfa676f9
sub edi, esi
or ebx, 0xdfa676f9
sub edi, ebx
sub edi, esi
or esi, 0xdfa676f9
add esi, edi
add esi, 0x20598906
mov edi, esi
not edi
and edi, eax
mov ebx, esi
sub ebx, edi
lea edi, [ebx + ecx*2]
add edi, 4
mov ecx, esi
xor ecx, eax
add ecx, edi
or esi, eax
sub ecx, esi
mov eax, ecx
not eax
and eax, 0x20598906
lea eax, [eax + eax*2]
lea eax, [eax + ecx*2]
mov esi, ecx
xor esi, 0x20598906
add esi, esi
sub eax, esi
and ecx, 0xdfa676f9
add ecx, eax
mov eax, dword [ebp - 0x20]
sub eax, edx
not edx
add edx, eax
sub edx, dword [ebp - 0x24]
mov esi, edx
sub esi, edx
sub esi, edx
add esi, edx
not edx
or esi, edx
lea eax, [esi + esi]
sub eax, esi
sub ecx, eax
sub ecx, eax
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x34dc9d98
mov ecx, eax
and ecx, 0x8a70505a
add ecx, edx
add ecx, 0x34dc9d98
mov edx, eax
not edx
and edx, 0x758fafa5
add edx, ecx
xor eax, 0x8a70505a
mov esi, 0x98bcda31
sub esi, edx
sub esi, eax
and esi, 0xbe7b1f6d
add eax, edx
add eax, 0x674325ce
or eax, 0xbe7b1f6d
sub eax, esi
add eax, 0x4184e094
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [0x100703c0]
mov ecx, dword [0x100703c4]
mov edx, eax
or edx, ecx
mov esi, ecx
sub esi, edx
add esi, eax
and eax, ecx
not eax
add eax, esi
add eax, 0xa6a8deb2
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x100181d8
mov edx, dword [0x10079a20]
cmp dword [0x10079a1c], 0xa
setl byte [ebp - 0x14]
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x10070020]
mov edi, dword [0x10070024]
mov esi, edx
xor esi, edi
mov ebx, edi
not ebx
or ebx, edx
and edx, edi
sub edi, esi
sub edi, esi
not esi
add esi, esi
sub edi, esi
add ebx, edi
not edx
add edx, ebx
and ecx, 1
cmp ecx, edx
sete al
or al, byte [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
je 0x100186e0
cmp eax, 0xfeec4045
jg 0x10018800
cmp eax, 0xbff240df
jle 0x1001887c
cmp eax, 0xd60ca9f7
jle 0x10018944
cmp eax, 0xd60ca9f8
je 0x10018b59
cmp eax, 0xe961bc4e
je 0x10018bb3
cmp eax, 0xf4b228d5
jne 0x10017140
mov edx, dword [0x10079a18]
mov eax, dword [0x10070250]
mov ecx, dword [0x10070254]
mov esi, eax
xor esi, ecx
mov edi, eax
or edi, ecx
sub esi, edi
not ecx
sub esi, ecx
or ecx, eax
lea eax, [esi + ecx]
add eax, 0xa
cmp dword [0x10079a14], eax
setl byte [ebp - 0x14]
lea ecx, [edx + 3]
imul ecx, edx
mov edx, dword [0x10070258]
mov edi, dword [0x1007025c]
mov esi, edi
not esi
mov ebx, edx
and ebx, esi
mov eax, edx
or eax, edi
sub eax, ebx
or esi, edx
add esi, eax
and edx, edi
not edx
lea eax, [edx + esi]
add eax, 2
and ecx, 1
cmp ecx, eax
setne al
sete cl
mov ah, byte [ebp - 0x14]
mov dl, ah
and dl, cl
add dl, cl
or cl, ah
add cl, dl
or al, ah
add al, cl
test al, 1
je 0x1001740a
jmp 0x1001761f
cmp eax, 0x25e91a67
jle 0x100188f7
cmp eax, 0x52d8368f
jle 0x100189c7
cmp eax, 0x52d83690
je 0x10018c11
cmp eax, 0x61cacb67
jne 0x10018ec3
mov eax, dword [0x10070048]
mov edx, dword [0x1007004c]
mov ecx, eax
and ecx, edx
mov edi, eax
or edi, edx
sub edi, ecx
sub edi, ecx
xor eax, edx
not eax
add eax, edi
add eax, ecx
add eax, 0xb
mov ecx, dword [0x10079a10]
cmp dword [0x10079a0c], eax
setl al
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x10017ab4
jmp 0x10017b61
cmp eax, 0xab9e54df
jg 0x10018a3e
cmp eax, 0x8479ddaa
je 0x10018c5c
cmp eax, 0xa6a8deb1
jne 0x10017140
mov eax, dword [0x10079a08]
mov ecx, dword [0x100702f0]
mov edx, dword [0x100702f4]
mov esi, ecx
xor esi, edx
mov edi, ecx
not edi
or edi, edx
and ecx, edx
sub edx, esi
sub edx, edi
not ecx
add ecx, edx
add ecx, 0xa
cmp dword [0x10079a04], ecx
setl cl
lea edx, [eax + eax]
mov esi, eax
not esi
add edx, esi
add edx, 0x575a52e0
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x100171b3
jmp 0x10017235
cmp eax, 0xd1c7f68
jg 0x10018ad3
cmp eax, 0xfeec4046
je 0x10018cbb
cmp eax, 0xdc65ca
jne 0x10017140
mov eax, dword [0x10079a00]
cmp dword [0x100799fc], 0xa
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x100177d6
jmp 0x10017876
cmp eax, 0xbff240e0
je 0x10018d1c
cmp eax, 0xd3afd894
jne 0x10017140
mov eax, dword [0x100799f8]
mov ecx, dword [0x10070200]
mov edx, dword [0x10070204]
mov esi, ecx
xor esi, edx
lea edi, [esi + edx*2]
mov esi, ecx
or esi, edx
add esi, esi
sub edi, esi
mov esi, edx
not esi
or esi, ecx
add esi, edi
not ecx
or ecx, edx
sub esi, ecx
add esi, 0xa
cmp dword [0x100799f4], esi
setl cl
mov edx, eax
and edx, 1
add edx, edx
mov esi, eax
sub esi, edx
mov edx, eax
or edx, 1
add edx, esi
add edx, eax
add edx, eax
add edx, 2
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x1001736a
jmp 0x100173ea
cmp eax, 0x25e91a68
je 0x10018d91
cmp eax, 0x3d965c5f
jne 0x10017140
mov edx, dword [0x100799f0]
mov eax, dword [0x100701b4]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x100799ec], eax
setge al
setl cl
mov esi, edx
and esi, 0x7ffffffe
add esi, esi
mov edi, edx
sub edi, esi
mov esi, edx
not esi
add esi, edi
lea ebx, [edx + esi]
add ebx, 0x30046398
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
and ah, dl
or cl, dl
add cl, ah
add cl, al
or al, dl
add al, cl
test al, 1
jne 0x1001799f
jmp 0x10017a31
cmp eax, 0xab9e54e0
je 0x10018de1
cmp eax, 0xb406559c
jne 0x10017140
mov eax, dword [0x100700e8]
mov ecx, dword [0x100700ec]
mov edx, eax
or edx, ecx
not eax
or eax, ecx
not ecx
add ecx, edx
add eax, ecx
add eax, 0xc
cmp dword [0x100799e8], eax
mov esi, dword [0x100799e4]
setge ch
setl cl
lea edx, [esi - 1]
imul edx, esi
mov esi, dword [0x100700f0]
mov eax, dword [0x100700f4]
mov edi, eax
not edi
and edi, esi
add edi, edi
mov ebx, esi
sub ebx, edi
mov edi, esi
not edi
or edi, eax
sub ebx, edi
and esi, eax
not esi
add esi, ebx
and edx, 1
cmp edx, esi
setne al
sete dl
or dl, cl
mov ah, dl
not ah
add ah, dl
or al, cl
add al, ah
add al, ch
test al, 1
je 0x10017263
jmp 0x1001732e
cmp eax, 0xd1c7f69
je 0x10018e42
cmp eax, 0x18ddde05
jne 0x10017140
mov edx, dword [0x100799e0]
mov eax, dword [0x10070110]
mov ecx, dword [0x10070114]
or ecx, eax
mov esi, ecx
sub esi, eax
not ecx
add ecx, esi
add eax, ecx
add eax, 0xb
cmp dword [0x100799dc], eax
setl al
mov ecx, 0x28a568b1
sub ecx, edx
imul ecx, edx
mov edx, dword [0x10070118]
mov esi, dword [0x1007011c]
mov edi, esi
not edi
and edi, edx
lea ebx, [edi + esi*2]
mov edi, edx
or edi, esi
sub ebx, edi
not edi
add edi, ebx
not edx
or edx, esi
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
or cl, al
cmp cl, 1
je 0x100178c5
jmp 0x1001795e
mov ecx, dword [0x100799d8]
mov eax, dword [0x10070188]
mov edx, dword [0x1007018c]
mov esi, eax
not esi
lea edi, [eax + esi*2]
or esi, edx
sub esi, edi
and eax, edx
not eax
add eax, esi
add eax, 0xa
cmp dword [0x100799d4], eax
setge dl
setl al
lea ebx, [ecx - 1]
imul ebx, ecx
test bl, 1
sete cl
mov ah, al
and ah, cl
and dl, cl
add dl, ah
add dl, cl
or al, cl
add al, dl
add al, 1
test al, 1
je 0x10017e28
jmp 0x10017ea0
mov edx, dword [0x100799d0]
cmp dword [0x100799cc], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x10070078]
mov edi, dword [0x1007007c]
mov esi, edx
not esi
mov ebx, esi
and ebx, edi
xor edx, edi
not edx
add edx, ebx
or esi, edi
sub edx, esi
and ecx, 1
cmp ecx, edx
sete cl
setne dl
mov ah, al
and ah, dl
mov ch, al
xor ch, cl
add ch, ah
or cl, al
add cl, ch
or al, dl
add al, cl
test al, 1
je 0x10017b97
jmp 0x10017bf3
mov eax, dword [0x100799c8]
mov ecx, dword [0x10070280]
mov edx, dword [0x10070284]
mov esi, ecx
not esi
or esi, ecx
and esi, edx
sub esi, edx
add esi, 0xa
cmp dword [0x100799c4], esi
setl cl
mov edx, eax
not edx
add edx, 0x154598ec
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x10018035
jmp 0x10018152
mov edx, dword [0x100799c0]
cmp dword [0x100799bc], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x10070140]
mov esi, dword [0x10070144]
mov edi, edx
xor edi, edx
not edi
and edi, esi
xor edi, edx
xor edx, esi
sub edi, edx
cmp ecx, edi
sete cl
setne dl
mov ah, al
and ah, dl
mov ch, al
xor ch, cl
add ch, ah
mov ah, al
or ah, cl
add ah, ch
add ah, dl
and al, cl
sub ah, al
test ah, 1
je 0x10017ce5
jmp 0x10017d51
mov eax, dword [0x10070160]
mov ecx, dword [0x10070164]
mov edx, eax
or edx, ecx
not ecx
or ecx, eax
add ecx, edx
not eax
add eax, ecx
add eax, 0xc
cmp dword [0x100799b8], eax
mov edx, dword [0x100799b4]
setl al
lea ecx, [edx - 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x10070168]
mov esi, dword [0x1007016c]
mov edi, edx
and edi, esi
not edx
add edi, edx
or edx, esi
sub edi, edx
cmp ecx, edi
sete cl
or cl, al
cmp cl, 1
je 0x10017d9a
jmp 0x10017e07
mov eax, dword [0x100701d8]
mov edx, dword [0x100701dc]
mov ecx, eax
xor ecx, edx
mov edi, edx
not edi
or edi, eax
and eax, edx
sub edx, ecx
sub edx, ecx
mov esi, dword [0x100799b0]
not ecx
add ecx, ecx
sub edx, ecx
add edi, edx
not eax
add eax, edi
add eax, 0xa
cmp dword [0x100799ac], eax
setl al
mov ecx, 3
sub ecx, esi
imul ecx, esi
mov edx, dword [0x100701e0]
mov esi, dword [0x100701e4]
mov edi, edx
and edi, esi
mov ebx, edx
or ebx, esi
sub ebx, edi
xor edx, esi
sub ebx, edx
and ecx, 1
cmp ecx, ebx
sete cl
or cl, al
cmp cl, 1
je 0x10017edc
jmp 0x10017f33
mov eax, dword [0x100702a8]
mov edx, dword [0x100702ac]
mov ecx, eax
and ecx, edx
mov edi, eax
or edi, edx
sub edi, ecx
sub edi, ecx
xor eax, edx
not eax
add eax, edi
add eax, ecx
add eax, 0xb
mov ecx, dword [0x100799a8]
cmp dword [0x100799a4], eax
setl al
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x100181d8
jmp 0x100184be
mov edx, dword [0x100799a0]
mov eax, dword [0x10070228]
mov ecx, dword [0x1007022c]
mov esi, eax
and esi, ecx
add esi, esi
mov edi, eax
xor edi, ecx
sub ecx, esi
not edi
add edi, ecx
add eax, edi
add eax, 0xb
cmp dword [0x1007999c], eax
setl cl
setge al
lea ebx, [edx - 1]
imul ebx, edx
test bl, 1
sete dl
mov ah, al
and ah, dl
mov ch, cl
or ch, dl
add ch, ah
xor cl, dl
not cl
add cl, ch
or al, dl
add al, cl
add al, 1
test al, 1
je 0x10017f67
jmp 0x10017ff4
mov ecx, dword [0x10079998]
mov edx, ecx
not edx
mov eax, dword [0x10070098]
mov esi, dword [0x1007009c]
mov edi, eax
or edi, esi
sub edi, eax
not esi
or esi, eax
lea eax, [edi + esi]
add eax, 0xb
cmp dword [0x10079994], eax
setl al
mov esi, ecx
and esi, 1
mov edi, ecx
or edi, 1
add edi, esi
add edi, ecx
add edx, edi
add edx, 0xffffffff
imul edx, ecx
mov ecx, dword [0x100700a0]
mov esi, dword [0x100700a4]
mov edi, ecx
and edi, esi
mov ebx, ecx
not ebx
and ebx, esi
lea edi, [edi + ebx*2]
sub edi, esi
not esi
or esi, ecx
lea ecx, [edi + esi]
add ecx, 1
and edx, 1
cmp edx, ecx
sete cl
or cl, al
cmp cl, 1
je 0x10017c31
jmp 0x10017c9a
cmp eax, 0x59c17efc
jne 0x10017140
nop
mov edx, dword [0x10079990]
cmp dword [0x1007998c], 0xa
setge al
setl ah
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
or dl, ah
mov dh, dl
not dh
add dh, dl
or cl, ah
add cl, dh
add cl, al
test cl, 1
jne 0x10018ed0
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8