Function at 0x10016cd0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov eax, dword [0x10071fe8]
mov ecx, dword [0x10071fec]
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
cmp dword [0x1007ba08], eax
mov esi, dword [0x1007ba04]
setge ah
setl al
mov edx, esi
not edx
imul edx, esi
mov esi, dword [0x10071ff0]
mov edi, dword [0x10071ff4]
mov ebx, esi
not ebx
and ebx, edi
mov ecx, esi
xor ecx, edi
sub ecx, ebx
or esi, edi
not esi
add esi, ecx
lea ecx, [edi + esi]
add ecx, 1
and edx, 1
cmp edx, ecx
sete cl
or al, cl
or ah, cl
add cl, al
not al
add al, cl
add al, ah
add al, 1
test al, 1
jne 0x10016ebb
push eax
mov dword [ebp - 0x18], esp
push eax
mov ecx, esp
mov eax, dword [ebp + 8]
cmp eax, dword [ebp + 0xc]
mov dword [ebp - 0x2c], ecx
setg byte [ecx]
push eax
mov ebx, esp
mov eax, dword [0x10071fcc]
mov esi, eax
not esi
lea edx, [esi + esi]
mov ecx, eax
and ecx, 0x6cd467f0
lea edi, [ecx + ecx]
and esi, 0x6cd467f0
sub edi, esi
mov esi, eax
or esi, 0x932b980f
sub edi, esi
add edx, eax
add edx, 1
or edx, 0x6cd467f0
add edx, 0x932b9810
not ecx
add ecx, edi
or ecx, edx
xor ecx, 0x6cd467f0
mov edx, ecx
neg edx
lea esi, [ecx + eax*2]
xor edx, eax
not edx
add edx, esi
add edx, ecx
add edx, 0xffffffff
add ecx, 0xffffffff
or ecx, eax
add ecx, ecx
sub edx, ecx
lea eax, [edx + edx]
lea ecx, [edx + edx*2]
sub eax, ecx
imul eax, eax, 0x5f077fff
add eax, 0xbc69ca19
not eax
mov ecx, 0x844916b1
sub ecx, eax
lea edx, [ecx + ecx]
mov esi, ecx
or esi, 0x1fa51d10
sub edx, esi
add edx, eax
and ecx, 0xe05ae2ef
add ecx, edx
imul eax, ecx, 0x9f078001
lea ecx, [eax - 0x79002d64]
mov edx, ecx
or edx, 0xf75b62ef
add eax, edx
add eax, 0x86ffd29c
mov edx, ecx
not edx
add edx, eax
and ecx, 0xf75b62ef
lea eax, [ecx + edx]
add eax, 0x11493a23
mov dword [ebp - 0x20], ebx
mov dword [ebx], eax
push eax
mov dword [ebp - 0x28], esp
push eax
mov dword [ebp - 0x10], esp
mov eax, dword [0x10071ff8]
mov edx, dword [0x10071ffc]
mov ecx, eax
not ecx
and ecx, edx
add ecx, eax
or eax, edx
mov edx, dword [0x10072004]
mov esi, dword [0x10072000]
xor esi, edx
mov edi, esi
sub edi, edx
not esi
add esi, edi
mov edi, dword [0x1007ba00]
add edx, esi
add edx, 0xb
cmp dword [0x1007b9fc], edx
setl byte [ebp - 0x14]
lea esi, [edi + 1]
imul esi, edi
mov edx, dword [0x10072008]
mov ebx, dword [0x1007200c]
mov edi, edx
or edi, ebx
not edi
add edi, ebx
not edx
or edx, ebx
mov ebx, dword [ebp - 0x10]
sub edi, edx
and esi, 1
cmp esi, edi
not eax
lea eax, [eax + ecx - 0x4b39ec94]
mov dword [ebx], eax
sete al
or al, byte [ebp - 0x14]
add al, 1
test al, 1
je 0x10018670
push eax
push eax
mov eax, esp
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp + 0xc]
setg byte [eax]
push eax
mov eax, esp
mov edx, dword [0x10071fcc]
mov ecx, edx
not ecx
mov esi, ecx
or esi, 0x932b980f
neg esi
lea edi, [ecx + esi]
add edi, 0x932b980f
mov esi, edx
and esi, 0x6cd467f0
or esi, edi
xor esi, 0x6cd467f0
mov edi, esi
neg edi
lea ebx, [esi + edx]
add esi, 0xffffffff
or esi, edx
xor edx, edi
add edx, ebx
add esi, edx
or edi, ecx
add edi, esi
imul ecx, edi, 0xa0f88001
lea edx, [ecx - 0x1a535e5]
add ecx, ecx
add ecx, 0xfcb59436
not edx
add edx, ecx
imul ecx, edx, 0x9f078001
add ecx, 0x9f078001
mov dword [eax], ecx
push eax
push eax
mov eax, esp
mov ecx, dword [0x10072338]
mov edx, dword [0x1007233c]
mov esi, ecx
not esi
and esi, edx
not edx
or edx, ecx
lea ecx, [esi + edx]
add ecx, 0xb4c6136c
mov dword [eax], ecx
jmp 0x10016d52
mov edx, dword [0x10072040]
mov eax, dword [0x10072044]
mov ecx, edx
not ecx
mov esi, ecx
and esi, eax
add esi, esi
xor edx, eax
sub esi, edx
not eax
add eax, esi
sub eax, ecx
add eax, 0xa
cmp dword [0x1007b9f8], eax
mov edx, dword [0x1007b9f4]
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x10072048]
mov esi, dword [0x1007204c]
mov edi, edx
or edx, esi
not esi
and edi, esi
not edx
add edx, edi
sub edx, esi
and ecx, 1
cmp ecx, edx
sete cl
or cl, al
je 0x10016f60
jmp 0x100185f0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10072150]
mov edx, dword [0x10072154]
mov esi, edx
not esi
and esi, ecx
add esi, esi
lea edi, [ecx + ecx]
sub edi, esi
mov esi, ecx
or esi, edx
not esi
lea esi, [edi + esi*2]
xor ecx, edx
not ecx
add ecx, ecx
sub esi, ecx
add esi, 0xaf254a18
cmp eax, esi
mov ecx, 0xaab4e8df
mov eax, 0x5e9dd6f8
cmove ecx, eax
mov dword [ebp - 0x14], ecx
mov esi, dword [0x1007b9f0]
mov ecx, dword [0x10072158]
mov edx, dword [0x1007215c]
mov edi, ecx
not edi
and edi, edx
not edx
or edx, ecx
lea ecx, [edi + edx]
add ecx, 0xb
cmp dword [0x1007b9ec], ecx
setge dl
setl dh
mov edi, esi
not edi
add edi, esi
add edi, esi
add edi, 0xbcbadec2
imul edi, esi
mov ecx, dword [0x10072160]
mov ebx, dword [0x10072164]
mov esi, ecx
and esi, ebx
lea eax, [esi + esi]
mov dword [ebp - 0x1c], eax
mov eax, ebx
sub eax, dword [ebp - 0x1c]
not ebx
or ebx, ecx
add ebx, eax
lea eax, [esi + ebx]
add eax, 1
mov ebx, dword [ebp - 0x10]
and edi, 1
cmp edi, eax
mov eax, dword [ebp - 0x14]
mov dword [ebx], eax
setne al
sete cl
mov ah, dh
and ah, cl
and dl, cl
add dl, ah
or cl, dh
add cl, dl
or al, dh
add al, cl
not ah
add ah, al
test ah, 1
jne 0x100185f0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10072370]
mov edx, dword [0x10072374]
mov esi, ecx
and esi, edx
not edx
add esi, edx
or edx, ecx
sub esi, edx
add esi, 0xaf254a18
cmp eax, esi
mov eax, 0xaab4e8df
mov ecx, 0x5e9dd6f8
cmove eax, ecx
mov dword [ebx], eax
jmp 0x10016fc2
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x100720d8]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0x38f19429
cmp eax, ecx
mov ecx, 0x29a8092
mov eax, 0x9a7bdb5c
cmovl ecx, eax
mov dword [ebp - 0x14], ecx
mov edx, dword [0x1007b9e8]
mov ecx, dword [0x100720e0]
mov esi, dword [0x100720e4]
mov edi, ecx
not edi
and edi, esi
lea edi, [ecx + edi*2]
xor ecx, esi
not ecx
add ecx, edi
not esi
add ecx, esi
add ecx, 0xc
cmp dword [0x1007b9e4], ecx
setl cl
lea esi, [edx - 1]
imul esi, edx
mov edx, dword [0x100720ec]
mov edi, edx
not edi
mov eax, dword [0x100720e8]
mov ebx, eax
or ebx, edi
sub ebx, edi
not eax
add ebx, eax
or eax, edx
sub ebx, eax
and esi, 1
cmp esi, ebx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov dword [ebx], eax
sete al
mov edx, ecx
or dl, al
mov ah, dl
not ah
add ah, dl
mov edx, ecx
and dl, al
xor cl, al
not cl
add cl, ah
sub cl, dl
test cl, 1
jne 0x100185f0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10072358]
mov edx, dword [0x1007235c]
mov edi, ecx
xor edi, edx
mov esi, edi
not esi
add esi, edi
mov edi, edx
not edi
add esi, edi
or edi, ecx
sub esi, edi
and ecx, edx
add ecx, esi
add ecx, 0x38f19429
cmp eax, ecx
mov eax, 0x29a8092
mov ecx, 0x9a7bdb5c
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x100170d8
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_Beep]
mov edx, dword [0x10071fe0]
mov eax, dword [0x10071fe4]
mov edi, eax
sub edi, eax
sub edi, eax
add edi, eax
add edi, eax
mov ecx, edx
xor ecx, edi
mov esi, ecx
not esi
add esi, esi
lea esi, [esi + ecx*2]
mov ecx, edi
not ecx
or ecx, edx
sub esi, ecx
mov ecx, edx
not ecx
or edi, ecx
sub esi, edi
and esi, edx
mov edx, esi
or edx, 0xd198db45
add edx, esi
mov edi, esi
not edi
add edi, edx
and esi, 0xd198db45
lea edx, [edi + esi]
add esi, edi
add esi, 1
mov edi, esi
and edi, 0x2e6724bb
add edi, edi
add edx, edx
add edx, 2
sub edx, edi
xor esi, 0x2e6724bb
sub edx, esi
add edx, 0x5cce4976
mov esi, edx
xor esi, 0xd8c44d91
mov edi, edx
sub edi, esi
mov esi, edx
not esi
and esi, 0x273bb26e
add esi, edi
mov edi, edx
xor edi, 0x273bb26e
add edi, edi
sub esi, edi
or edx, 0x273bb26e
add edx, esi
lea esi, [edx + eax]
add edx, eax
add edx, 0xb1889b22
mov edi, edx
and edi, 0x273bb26e
lea esi, [esi + edi*2]
add esi, 0xb1889b22
mov edi, edx
xor edi, 0xd8c44d91
sub esi, edi
mov edi, edx
or edi, 0x273bb26e
sub esi, edi
not edx
or edx, 0xd8c44d91
lea edi, [esi + edx]
add edx, esi
add edx, 0x273bb26f
not eax
and ecx, eax
mov eax, edx
and eax, ecx
not ecx
lea esi, [edi + edi]
add esi, 0x4e7764de
sub esi, eax
sub esi, ecx
mov eax, edx
or eax, ecx
not eax
add eax, esi
xor ecx, edx
add eax, ecx
add eax, 1
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xc6991c86
mov esi, eax
sub esi, edx
xor eax, 0xc6991c86
add eax, esi
and ecx, 0x3966e379
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x8d32390d
not eax
mov ecx, eax
and ecx, 0x50c0b663
add ecx, edx
add ecx, 0x8d32390d
or eax, 0xaf3f499c
sub ecx, eax
lea eax, [ecx + 0x5e7e9338]
mov edx, eax
not edx
and eax, 0x3966e379
add eax, ecx
add eax, 0x5e7e9338
and edx, 0x3966e379
add edx, eax
imul eax, edx, 0xeca444f7
lea ecx, [eax - 0x135bbb09]
mov edx, ecx
not edx
and edx, 0xaab86a79
add eax, edx
add eax, 0xeca444f7
or ecx, 0x55479586
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xaab86a7a
mov ecx, eax
not ecx
and ecx, 0xf2de5fbf
add ecx, edx
add ecx, 0xaab86a7a
or eax, 0xd21a040
add eax, ecx
add eax, 0xf2de5fc0
mov ecx, eax
and ecx, 0xaab86a79
mov esi, eax
sub esi, ecx
sub esi, ecx
or eax, 0x55479586
add eax, esi
add eax, ecx
imul eax, eax, 0x3e5fbcc7
add eax, 0x18e96183
mov ecx, eax
and ecx, 0xbd975634
mov edx, eax
or edx, 0x4268a9cb
add edx, ecx
xor eax, 0xbd975634
add eax, edx
add eax, 0x4268a9cc
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov edx, dword [0x100722b8]
mov ecx, dword [0x100722bc]
mov eax, edx
xor eax, ecx
not eax
add eax, edx
not ecx
add eax, ecx
or ecx, edx
add ecx, ecx
sub eax, ecx
add eax, 0x37020ce2
mov dword [ebx], eax
mov ecx, dword [0x100722c0]
mov edx, dword [0x100722c4]
mov eax, ecx
xor eax, ecx
not eax
and eax, edx
xor eax, ecx
xor ecx, edx
sub eax, ecx
add eax, 0xa
cmp dword [0x1007b9e0], eax
mov eax, dword [0x1007b9dc]
setl cl
setge dl
lea ebx, [eax - 1]
imul ebx, eax
test bl, 1
sete al
add dl, al
and cl, al
not cl
add cl, dl
test cl, 1
jne 0x100185f0
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_Beep]
mov edx, dword [0x10071fe0]
mov ecx, dword [0x10071fe4]
mov eax, ecx
not eax
mov dword [ebp - 0x1c], eax
lea esi, [eax + eax]
lea esi, [ecx + esi + 1]
mov edi, esi
not edi
mov ebx, edx
not ebx
and ebx, edi
lea ebx, [edx + ebx*2]
xor edi, edx
add ebx, edi
not edi
add edi, ebx
add esi, edi
add esi, 2
and esi, edx
mov ebx, esi
not ebx
mov edi, esi
and edi, 0xd198db45
and ebx, 0x2e6724ba
lea eax, [esi + edi*2]
add ebx, eax
xor esi, 0xd198db45
add esi, ebx
not edi
lea eax, [esi + edi]
add edi, esi
add edi, 0xd198db47
mov esi, edi
xor esi, 0x2e6724bb
add eax, esi
add eax, 0xd198db47
mov esi, edi
xor esi, 0x5198db44
lea esi, [eax + esi*2]
mov eax, edi
or eax, 0xd198db44
sub esi, eax
not edi
or edi, 0x2e6724bb
sub esi, edi
lea eax, [esi + ecx]
add eax, 0x72b724c
add esi, 0x72b724c
mov edi, esi
or edi, ecx
mov ebx, ecx
mov dword [ebp - 0x14], ecx
add edi, eax
mov ecx, dword [ebp - 0x1c]
add edi, ecx
mov eax, esi
not eax
add eax, edi
and esi, ebx
lea edi, [eax + esi]
add eax, esi
add eax, 2
mov ebx, eax
and ebx, 0x58c44d91
add ebx, ebx
lea esi, [edi + edi]
add esi, 4
sub esi, ebx
xor eax, 0xd8c44d91
sub esi, eax
lea eax, [edx + edx]
mov edi, edx
sub edi, eax
neg eax
lea ebx, [edx + eax]
add ebx, 0xffffffff
mov eax, ebx
and eax, ecx
mov edx, ebx
and edx, dword [ebp - 0x14]
lea edx, [eax + edx*2]
mov eax, ebx
xor eax, ecx
sub edx, eax
or ebx, dword [ebp - 0x14]
sub edx, ebx
mov ebx, dword [ebp - 0x10]
neg edi
or edi, ecx
add edi, edx
not edi
lea eax, [esi + esi]
sub eax, edi
mov ecx, esi
or ecx, edi
sub eax, ecx
add eax, edi
and edi, esi
not edi
lea ecx, [eax + edi]
add eax, edi
add eax, 0xc6991c87
mov edx, eax
and edx, 0x50c0b663
add edx, ecx
add edx, 0xc6991c87
or eax, 0xaf3f499c
sub edx, eax
lea eax, [edx + 0x5e7e9338]
mov ecx, eax
not ecx
mov esi, eax
and esi, 0x3966e379
add edx, edx
add edx, 0xbcfd2670
sub edx, esi
and ecx, 0x3966e379
add ecx, edx
xor eax, 0xc6991c86
add eax, ecx
imul eax, eax, 0xeca444f7
add eax, 0xd57e27ad
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xaab86a79
mov esi, eax
sub esi, edx
xor eax, 0xaab86a79
add eax, esi
and ecx, 0x55479586
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x5570d4f3
not eax
mov ecx, eax
and ecx, 0xd21a040
add ecx, edx
add ecx, 0x5570d4f3
or eax, 0xf2de5fbf
sub ecx, eax
lea eax, [ecx - 0x1a434082]
mov edx, eax
not edx
and eax, 0x55479586
add eax, ecx
add eax, 0xe5bcbf7e
and edx, 0x55479586
add edx, eax
imul eax, edx, 0x3e5fbcc7
lea ecx, [eax + 0x3e5fbcc7]
mov edx, ecx
not edx
and edx, 0x4268a9cb
add eax, edx
add eax, 0x3e5fbcc7
or ecx, 0xbd975634
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xbd975636
mov ecx, eax
not ecx
and ecx, 0x1cf24e87
add ecx, edx
add ecx, 0xbd975636
or eax, 0xe30db178
add eax, ecx
add eax, 0x1cf24e88
mov ecx, eax
and ecx, 0x4268a9cb
mov esi, eax
sub esi, ecx
sub esi, ecx
or eax, 0xbd975634
add eax, esi
add eax, ecx
add eax, 0x84d15397
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov dword [ebx], 0x37020ce2
jmp 0x100171c9
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x100721a0]
mov edx, dword [0x100721a4]
mov esi, ecx
and esi, edx
mov edi, ecx
xor edi, edx
add edi, esi
or ecx, edx
not ecx
add ecx, edi
add ecx, 0xad932372
cmp eax, ecx
mov eax, 0xaab4e8df
mov ecx, 0xb4b98177
cmove eax, ecx
mov ecx, dword [0x100721a8]
mov edx, dword [0x100721ac]
mov esi, ecx
or esi, edx
sub esi, edx
mov edi, ecx
not edi
add edi, esi
and ecx, edx
add ecx, edi
add ecx, 0xb
cmp dword [0x1007b9d8], ecx
mov esi, dword [0x1007b9d4]
setl cl
lea edx, [esi + 1]
imul edx, esi
mov esi, dword [0x100721b0]
mov edi, esi
not edi
mov ebx, dword [0x100721b4]
and edi, ebx
add edi, esi
or esi, ebx
mov ebx, dword [ebp - 0x10]
sub edi, esi
and edx, 1
cmp edx, edi
mov dword [ebx], eax
setne al
sete dl
mov ah, cl
xor ah, dl
or cl, dl
add dl, ah
add dl, cl
not ah
add ah, dl
add ah, al
test ah, 1
jne 0x100185f0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [str.d._v]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0xad932372
cmp eax, ecx
mov eax, 0xaab4e8df
mov ecx, 0xb4b98177
cmove eax, ecx
mov dword [ebx], eax
jmp 0x10017689
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10072100]
mov edx, dword [0x10072104]
mov esi, ecx
and esi, edx
add esi, esi
mov edi, ecx
sub edi, esi
add edi, edx
xor ecx, edx
sub edi, ecx
add edi, 0x38f19428
cmp eax, edi
mov eax, 0xaab4e8df
mov ecx, 0xe37d9408
cmove eax, ecx
mov dword [ebx], eax
cmp dword [0x1007b9d0], 0xa
mov esi, dword [0x1007b9cc]
setge al
setl cl
mov edx, esi
xor edx, 1
mov edi, esi
sub edi, edx
mov edx, esi
not edx
and edx, 0xfffffffe
add edx, edi
mov edi, esi
xor edi, 0x7ffffffe
add edi, edi
sub edx, edi
mov edi, esi
or edi, 0xfffffffe
add edx, edi
add edx, 2
imul edx, esi
test dl, 1
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
jne 0x100185f0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0x38f19428
mov eax, 0xaab4e8df
mov ecx, 0xe37d9408
cmove eax, ecx
mov dword [ebx], eax
jmp 0x10017761
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10072088]
mov edx, dword [0x1007208c]
mov esi, edx
not esi
or esi, edx
and esi, ecx
not ecx
add ecx, esi
add ecx, 0xaf254a19
cmp eax, ecx
mov eax, 0x99d5a54f
mov ecx, 0xb23e796e
cmovl eax, ecx
mov esi, dword [0x1007b9c8]
cmp dword [0x1007b9c4], 0xa
setl byte [ebp - 0x14]
lea edx, [esi + 1]
imul edx, esi
mov esi, dword [0x10072098]
mov edi, esi
not edi
mov ebx, dword [0x1007209c]
mov ecx, edi
and ecx, ebx
xor esi, ebx
not esi
add esi, ecx
or edi, ebx
mov ebx, dword [ebp - 0x10]
sub esi, edi
and edx, 1
cmp edx, esi
mov dword [ebx], eax
sete al
or al, byte [ebp - 0x14]
jne 0x100185f0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10072348]
and ecx, dword [0x1007234c]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0xaf254a19
cmp eax, ecx
mov eax, 0x99d5a54f
mov ecx, 0xb23e796e
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x10017813
mov edx, dword [0x1007b9c0]
cmp dword [0x1007b9bc], 0xa
setl al
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
imul ecx, edx
mov edx, dword [0x10072070]
mov esi, dword [0x10072074]
mov edi, edx
xor edi, esi
mov ebx, esi
not ebx
or ebx, edx
add ebx, edi
not edx
or edx, esi
add edx, ebx
add edx, 2
mov edi, dword [ebp - 0x10]
and ecx, 1
cmp ecx, edx
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x18]
mov dword [edx], ecx
setne cl
sete dl
mov ah, al
or ah, dl
add ah, al
xor al, dl
not al
add al, ah
add al, cl
mov dword [edi], 0x1f0d8fa9
test al, 1
jne 0x100185f0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [0x10072340]
mov ecx, dword [0x10072344]
mov edx, eax
or eax, ecx
not ecx
and edx, ecx
not eax
add eax, edx
sub eax, ecx
add eax, 0x1f0d8fa9
mov dword [edi], eax
jmp 0x100178c3
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0xaf3f499c
mov eax, 0xb01fc2e5
mov ecx, 0x9b1cc97d
cmovl eax, ecx
mov dword [ebx], eax
mov eax, dword [0x100720b8]
mov ecx, dword [0x100720bc]
mov esi, eax
xor esi, ecx
mov edx, esi
not edx
add edx, esi
mov esi, ecx
not esi
add edx, esi
or esi, eax
sub edx, esi
and eax, ecx
add eax, edx
add eax, 0xb
mov edx, dword [0x1007b9b8]
cmp dword [0x1007b9b4], eax
setl al
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
mov ah, al
and ah, dl
or dl, al
add dl, ah
add dl, cl
or al, cl
add al, dl
test al, 1
jne 0x100185f0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0xaf3f499c
mov eax, 0xb01fc2e5
mov ecx, 0x9b1cc97d
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x10017962
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10072128]
mov edx, dword [0x1007212c]
mov esi, ecx
or esi, edx
mov edi, ecx
sub edi, esi
add edi, edx
and ecx, edx
not ecx
add ecx, edi
add ecx, 0xaf3f499d
cmp eax, ecx
mov ecx, 0xaab4e8df
mov eax, 0x97d548e0
cmove ecx, eax
mov edx, dword [0x1007b9b0]
mov eax, dword [0x10072130]
mov esi, dword [0x10072134]
mov edi, eax
not edi
and edi, esi
add edi, eax
or eax, esi
sub edi, eax
add edi, 0xa
cmp dword [0x1007b9ac], edi
setl al
lea esi, [edx + 1]
imul esi, edx
mov edx, dword [str.H]
mov edi, edx
not edi
mov ebx, dword [0x10072138]
and edi, ebx
add edi, edx
or ebx, edx
sub edi, ebx
mov ebx, dword [ebp - 0x10]
and esi, 1
cmp esi, edi
mov dword [ebx], ecx
sete cl
setne dl
and dl, al
add dl, al
mov ah, al
or ah, cl
add dl, ah
not ah
add ah, dl
xor al, cl
not al
add al, ah
test al, 1
jne 0x100185f0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0xaf3f499c
mov eax, 0xaab4e8df
mov ecx, 0x97d548e0
cmove eax, ecx
mov dword [ebx], eax
jmp 0x100179f0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov esi, dword [0x10072178]
mov edx, dword [0x1007217c]
mov ecx, esi
xor ecx, edx
not ecx
add ecx, esi
not edx
add ecx, edx
or edx, esi
add edx, edx
sub ecx, edx
add ecx, 0xad932371
cmp eax, ecx
mov eax, 0xca91cc04
mov ecx, 0x87cf2218
cmovl eax, ecx
mov dword [ebx], eax
mov ecx, dword [0x10072180]
mov edx, dword [0x10072184]
mov eax, ecx
xor eax, ecx
not eax
and eax, edx
xor eax, ecx
xor ecx, edx
sub eax, ecx
add eax, 0xa
cmp dword [0x1007b9a8], eax
mov eax, dword [0x1007b9a4]
setl cl
setge dl
lea ebx, [eax - 1]
imul ebx, eax
test bl, 1
mov ebx, dword [ebp - 0x10]
sete al
add dl, al
and cl, al
not cl
add cl, dl
test cl, 1
jne 0x100185f0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10072378]
mov edx, dword [0x1007237c]
mov esi, ecx
and esi, edx
mov edi, ecx
or edi, edx
not edi
add edi, esi
xor ecx, edx
add ecx, edi
add ecx, 0xad932372
cmp eax, ecx
mov eax, 0xca91cc04
mov ecx, 0x87cf2218
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x10017ab7
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0x86478405
mov eax, 0xaab4e8df
mov ecx, 0x1c2dec91
cmove eax, ecx
cmp dword [0x1007b9a0], 0xa
mov esi, dword [0x1007b99c]
setl byte [ebp - 0x14]
lea edx, [esi - 1]
imul edx, esi
mov edi, dword [0x100721dc]
mov esi, edi
not esi
mov ecx, dword [0x100721d8]
mov ebx, ecx
and ebx, esi
sub ebx, edi
or ecx, edi
add ebx, ecx
not ecx
lea ecx, [ebx + ecx*2]
mov ebx, dword [ebp - 0x10]
add esi, esi
sub ecx, esi
and edx, 1
cmp edx, ecx
mov dword [ebx], eax
sete al
or al, byte [ebp - 0x14]
jne 0x100185f0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x10072388]
mov edx, dword [0x1007238c]
mov esi, ecx
not esi
or esi, edx
add esi, ecx
and ecx, edx
not ecx
add ecx, esi
add ecx, 0x86478407
cmp eax, ecx
mov eax, 0xaab4e8df
mov ecx, 0x1c2dec91
cmove eax, ecx
mov dword [ebx], eax
jmp 0x10017b7c
mov eax, dword [0x100721f0]
mov ecx, dword [0x100721f4]
mov edx, eax
and edx, ecx
mov esi, eax
xor eax, ecx
not ecx
and esi, ecx
sub edx, esi
add eax, edx
add eax, ecx
add eax, 0x56bf3e7e
mov dword [ebx], eax
mov edx, dword [0x1007b998]
cmp dword [0x1007b994], 0xa
setl cl
mov eax, edx
not eax
and eax, 1
lea eax, [edx + eax*2]
mov esi, edx
xor esi, 1
sub eax, esi
add eax, edx
imul eax, edx
test al, 1
sete dl
or dl, cl
and cl, al
add cl, dl
not dl
add dl, cl
add dl, al
test dl, 1
jne 0x100185f0
mov ecx, dword [0x10072390]
mov eax, dword [0x10072394]
mov edx, eax
not edx
mov esi, ecx
and esi, edx
mov edi, ecx
xor edi, eax
sub esi, edi
or eax, ecx
add esi, eax
not eax
add eax, esi
or edx, ecx
sub eax, edx
add eax, 0x56bf3e7d
mov dword [ebx], eax
jmp 0x10017c1e
mov esi, dword [0x1007b990]
cmp dword [0x1007b98c], 0xa
setge al
setl cl
lea edx, [esi + 1]
imul edx, esi
mov esi, dword [0x10072228]
mov edi, dword [0x1007222c]
mov ebx, esi
and ebx, edi
not edi
add ebx, edi
or edi, esi
sub ebx, edi
and edx, 1
cmp edx, ebx
mov ebx, dword [ebp - 0x10]
setne dl
sete ah
mov ch, cl
or dl, cl
or cl, ah
xor ch, ah
not ch
add ch, cl
add dl, ch
or al, ah
add al, dl
mov dword [ebx], 0x37020ce2
add al, 1
test al, 1
jne 0x100185f0
mov eax, dword [0x10072398]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0x37020ce3
mov dword [ebx], eax
jmp 0x10017cb3
mov eax, dword [ebp - 0x2c]
cmp byte [eax], 0
mov eax, 0xad932371
mov ecx, 0x38f19428
cmovne eax, ecx
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov edx, dword [0x1007b988]
mov eax, dword [0x1007224c]
mov ecx, eax
not ecx
or ecx, eax
mov eax, dword [0x10072248]
and ecx, eax
not eax
add eax, ecx
add eax, 0xb
cmp dword [0x1007b984], eax
setl al
setge cl
lea ebx, [edx + 1]
imul ebx, edx
test bl, 1
mov esi, dword [ebp - 0x10]
sete dl
mov ah, cl
and ah, dl
mov ch, al
or ch, dl
add ch, ah
xor al, dl
not al
add al, ch
or cl, dl
add cl, al
mov dword [esi], 0x37020ce2
test cl, 1
jne 0x100185f0
mov eax, dword [ebp - 0x2c]
cmp byte [eax], 0
mov eax, 0xad932371
mov ecx, 0x38f19428
cmovne eax, ecx
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov eax, dword [0x100723a0]
mov ecx, dword [0x100723a4]
mov edx, eax
not edx
and edx, ecx
lea edx, [eax + edx*2]
xor eax, ecx
not eax
add eax, edx
not ecx
add eax, ecx
add eax, 0x37020ce4
mov dword [esi], eax
jmp 0x10017d28
mov ecx, dword [0x10071fd0]
mov eax, dword [0x10071fd4]
mov edx, ecx
not edx
mov esi, eax
not esi
mov edi, edx
and edi, esi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x14], ecx
mov edi, ecx
or edi, esi
not edi
add edi, esi
lea ebx, [esi + esi]
mov dword [ebp - 0x1c], ebx
xor esi, ecx
not esi
add esi, esi
sub edi, esi
mov ecx, dword [ebp - 0x24]
lea ecx, [eax + ecx*2]
mov esi, edx
mov ebx, edx
or esi, eax
mov dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x1c]
lea esi, [esi + eax*2]
sub esi, eax
or eax, dword [ebp - 0x14]
add eax, edi
and edx, 0xc960e821
mov edi, dword [ebp - 0x14]
and eax, edi
sub edi, edx
or ebx, 0x369f17de
lea edx, [edi + ebx]
add edi, ebx
add edi, 0xc960e822
sub ecx, dword [ebp - 0x24]
mov ebx, ecx
not ebx
add ebx, ebx
add ebx, ecx
lea ecx, [edx + edx]
add ecx, 0x92c1d044
lea edx, [ebx + ebx]
add edx, 2
sub ecx, edx
add ecx, ebx
add ecx, 1
sub ecx, edi
add esi, 1
mov edx, ecx
sub edx, esi
mov edi, ecx
or edi, esi
add edi, edx
sub edi, esi
and esi, ecx
not ecx
add ecx, edi
add esi, ecx
not eax
lea ecx, [eax + eax]
sub ecx, ecx
or eax, ecx
add eax, ecx
not ecx
add ecx, eax
add ecx, esi
imul eax, ecx, 0x3a0f7d63
lea ecx, [eax + 0x741efac6]
mov edx, ecx
not edx
mov esi, ecx
and esi, 0xcf9ad512
add eax, eax
add eax, 0xe83df58c
sub eax, esi
and edx, 0xcf9ad512
add edx, eax
xor ecx, 0x30652aed
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0x30652aee
mov edx, ecx
not edx
and edx, 0xfead22f6
lea eax, [edx + eax*2]
add eax, 0x60ca55dc
or ecx, 0xfead22f6
sub eax, ecx
add eax, 0xfead22f6
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x30652aed
mov esi, eax
sub esi, edx
xor eax, 0x30652aed
add eax, esi
and ecx, 0xcf9ad512
add ecx, eax
imul eax, ecx, 0xdc55ec4b
lea ecx, [eax - 0x23aa13b5]
mov edx, ecx
not edx
and ecx, 0xff4cda54
add eax, ecx
add eax, 0xdc55ec4b
and edx, 0xff4cda54
add eax, edx
add eax, 0x1664b57
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x3ca20611
add edx, edx
lea esi, [eax + eax*2]
sub esi, edx
and ecx, 0x3ca20611
lea ecx, [esi + ecx*2]
xor eax, 0x3ca20611
add eax, eax
sub ecx, eax
lea eax, [ecx - 0x3ca20612]
mov edx, eax
not edx
and edx, 0xb325ab
add ecx, edx
add ecx, 0xc35df9ee
or eax, 0xff4cda54
add eax, ecx
add eax, 0xff4cda56
cmp dword [ebp + 8], eax
mov ecx, 0xaf3f499c
mov eax, 0x86478405
cmovg ecx, eax
mov dword [ebp - 0x14], ecx
mov ecx, dword [0x10071fd8]
mov ebx, ecx
not ebx
mov eax, ebx
or eax, 0x5e0e5794
mov edx, ecx
xor edx, 0x5e0e5794
lea esi, [eax + edx]
mov dword [ebp - 0x1c], esi
lea edi, [eax + edx]
add edi, 1
mov esi, ecx
and esi, 0xa1f1a86b
mov eax, edi
or eax, esi
mov edx, dword [ebp - 0x1c]
add edx, eax
add edx, 1
mov eax, edi
xor eax, esi
not eax
add eax, edx
not esi
add eax, esi
or esi, edi
add esi, esi
sub eax, esi
mov esi, dword [0x10071fdc]
mov dword [ebp - 0x24], esi
xor eax, 0xa1f1a86b
not esi
mov dword [ebp - 0x1c], esi
mov edi, eax
xor edi, esi
add edi, esi
mov edx, eax
or edx, esi
sub edi, edx
add edi, eax
mov edx, eax
and edx, esi
sub edi, edx
and edi, eax
mov esi, ecx
neg esi
mov eax, edi
neg eax
mov edx, esi
and edx, eax
sub edx, ecx
sub edx, edi
mov edi, esi
xor edi, eax
add edi, edx
or eax, esi
sub edi, eax
lea eax, [edi + edi]
sub edi, eax
mov eax, ecx
mov edx, dword [ebp - 0x24]
and eax, edx
add eax, ecx
and ebx, edx
add ebx, eax
mov eax, ecx
or eax, edx
sub ebx, eax
xor ecx, edx
lea eax, [ecx + ecx]
sub eax, edx
not ecx
add ecx, eax
sub ecx, dword [ebp - 0x1c]
mov eax, ebx
xor eax, ebx
not eax
and eax, ecx
xor eax, ebx
mov edx, ebx
xor edx, ecx
sub eax, edx
or ecx, ebx
mov edx, edi
and edx, 0x8d30569
lea edx, [edi + edx*2]
not edi
add ecx, eax
and edi, 0x8d30569
lea eax, [edx + edi*2]
sub eax, ecx
imul eax, eax, 0x82fa5cf9
lea ecx, [eax - 0x62c54b9b]
mov edx, ecx
and edx, 0xc96407f9
add eax, edx
add eax, 0x9d3ab465
or ecx, 0x369bf806
add eax, ecx
not ecx
lea eax, [eax + ecx*2]
imul eax, eax, 0x84e7a549
lea ecx, [eax + 0x6e82e55f]
mov edx, ecx
and edx, 0x1d276eb5
add eax, eax
add eax, 0xdd05cabe
sub eax, edx
not ecx
and ecx, 0xe2d8914a
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0x3b8f45b6
mov eax, ecx
xor eax, 0x62d8914a
add eax, eax
lea eax, [eax + edx*2]
add eax, 0x771e8b6c
add edx, edx
add edx, 0x771e8b6c
or edx, 0xc5b12294
sub eax, edx
mov edx, ecx
not edx
or edx, 0xe2d8914a
add edx, eax
mov edi, dword [0x10072270]
mov esi, edi
not esi
mov eax, dword [0x10072274]
mov ebx, esi
and ebx, eax
add ebx, ebx
xor edi, eax
sub ebx, edi
not eax
add eax, ebx
and ecx, 0xe2d8914a
sub eax, esi
add eax, 0xa
cmp dword [0x1007b980], eax
mov edi, dword [0x1007b97c]
setl byte [ebp - 0x1c]
lea esi, [edi + 1]
imul esi, edi
mov edi, dword [0x10072278]
mov ebx, dword [0x1007227c]
mov eax, edi
or edi, ebx
not ebx
and eax, ebx
not edi
add edi, eax
sub edi, ebx
and esi, 1
cmp esi, edi
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x14]
mov dword [eax], esi
lea eax, [ecx + edx - 0x1d276eb5]
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
sete al
or al, byte [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x37020ce2
jne 0x100185f0
mov eax, dword [0x10071fd0]
mov ecx, dword [0x10071fd4]
lea edx, [eax - 0x369f17df]
mov esi, edx
or esi, 0x369f17de
add esi, eax
add esi, 0xc960e821
not edx
add esi, edx
or edx, 0xc960e821
sub esi, edx
mov edx, eax
not edx
mov dword [ebp - 0x14], edx
lea edi, [eax + eax]
lea ebx, [edi + edx*2]
sub ebx, eax
add ebx, 1
mov edi, ecx
not edi
lea ecx, [ecx + edi*2]
add ecx, 1
and ecx, ebx
not ecx
lea ebx, [ecx + ecx]
add ebx, 0xffffffff
lea edx, [ecx + ecx]
add edx, 0xfffffffe
sub ebx, edx
add ecx, ebx
add ecx, 0xffffffff
sub esi, ecx
lea ecx, [edi + edi]
sub ecx, ecx
mov edx, edi
or edx, ecx
add edx, ecx
not ecx
add ecx, edx
not ecx
add ecx, esi
mov ebx, dword [ebp - 0x14]
mov edx, ebx
and edx, edi
add edx, eax
mov esi, eax
xor esi, edi
add esi, edx
or edi, eax
sub esi, edi
mov edx, esi
and edx, eax
mov edi, esi
not edi
and edi, eax
sub edx, edi
mov edi, esi
xor edi, eax
add edi, edx
or esi, eax
not esi
add esi, edi
sub esi, ebx
mov edx, esi
not edx
lea eax, [esi + edx]
mov edi, eax
not edi
and esi, edi
sub esi, edi
or edi, edx
add edi, esi
sub edi, eax
or eax, edx
add eax, edi
mov edx, eax
not edx
add eax, eax
add eax, edx
add eax, ecx
imul eax, eax, 0x3a0f7d63
add eax, 0x741efac6
mov ecx, eax
and ecx, 0xcf9ad512
mov edx, eax
or edx, 0x30652aed
add edx, ecx
xor eax, 0xcf9ad512
lea ecx, [edx + eax]
add eax, edx
add eax, 0x2f124de4
xor eax, 0xcf9ad512
lea eax, [eax + ecx*2]
add eax, 0x5e249bc8
add ecx, ecx
add ecx, 0x5e249bc8
or ecx, 0x9f35aa24
sub eax, ecx
imul eax, eax, 0xdc55ec4b
lea ecx, [eax + 0x67dbf4d7]
mov edx, ecx
and edx, 0xb325ab
lea eax, [eax + edx*2]
add eax, 0x67dbf4d7
not ecx
and ecx, 0xb325ab
lea eax, [eax + ecx*2]
add eax, 0xc2aad443
mov ecx, eax
or ecx, 0xb325ab
mov edx, eax
sub edx, ecx
not eax
sub edx, eax
or eax, 0xff4cda54
add eax, edx
cmp dword [ebp + 8], eax
mov eax, 0xaf3f499c
mov ecx, 0x86478405
cmovg eax, ecx
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov ecx, dword [0x10071fd8]
mov eax, ecx
not eax
mov dword [ebp - 0x14], eax
lea edx, [ecx + eax*2]
add edx, 1
mov esi, edx
and esi, 0x5e0e5794
mov edi, edx
or edi, 0x5e0e5794
add edi, esi
not edx
add edx, edi
lea edi, [edx + esi]
add esi, edx
add esi, 0xa1f1a86d
mov eax, dword [0x10071fdc]
mov dword [ebp - 0x1c], eax
not esi
and esi, ecx
and esi, 0xa1f1a86b
add esi, edi
add esi, 0xa1f1a86d
mov edi, esi
xor edi, 0x21f1a86b
xor esi, 0x5e0e5794
lea esi, [esi + edi*2]
add esi, 1
mov edi, eax
not edi
mov ebx, esi
and ebx, eax
lea edx, [edi + edi]
lea edx, [edx + ebx*2]
mov ebx, esi
xor ebx, edi
add ebx, edx
mov edx, esi
or edx, edi
not edx
lea ebx, [ebx + edx*2]
add ebx, 2
and ebx, esi
mov edx, ecx
neg edx
mov esi, ebx
neg esi
lea eax, [ebx - 1]
and eax, edx
or esi, edx
sub eax, ecx
add eax, esi
not esi
lea eax, [eax + esi*2]
lea esi, [ebx + ebx]
add esi, 0xfffffffe
sub esi, eax
mov eax, ecx
mov edx, dword [ebp - 0x1c]
and eax, edx
and edi, ecx
sub eax, edi
add eax, ecx
mov edi, dword [ebp - 0x14]
and edi, edx
add edi, eax
sub edi, edx
xor ecx, edx
mov eax, edi
xor eax, ecx
lea eax, [edi + eax*2]
mov edx, edi
or edx, ecx
sub eax, edx
mov edx, edi
not edx
or edx, ecx
add edx, eax
and ecx, edi
not ecx
sub ecx, edx
lea eax, [esi + 0x772cfa96]
mov edx, eax
not edx
mov edi, edx
and edi, ecx
lea esi, [esi + edi*2]
add esi, 0x772cfa96
xor eax, ecx
sub esi, eax
sub esi, edx
imul ecx, esi, 0x82fa5cf9
lea eax, [ecx + 0x2e6eb1c8]
mov edx, eax
not edx
mov esi, eax
and esi, 0x369bf806
add ecx, esi
add ecx, 0x2e6eb1c8
and edx, 0xc96407f9
add edx, ecx
xor eax, 0x369bf806
lea ecx, [edx + eax]
add eax, edx
add eax, 0x369bf807
mov edx, eax
and edx, 0x574d4d58
add ecx, edx
add ecx, 0x369bf807
or eax, 0xa8b2b2a7
sub ecx, eax
imul eax, ecx, 0x84e7a549
add eax, 0x140684a
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, dword [0x100723a8]
mov ecx, dword [str.SGw]
mov edx, eax
xor edx, ecx
mov esi, ecx
not esi
or esi, eax
add esi, edx
not eax
or eax, ecx
add eax, esi
add eax, 0x37020ce4
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10017ddf
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 eax, esi
not eax
add eax, esi
add eax, esi
imul eax, eax, 0x321f5a9d
lea ecx, [eax + 0x47474480]
mov edx, ecx
and edx, 0x9ef4b379
add eax, edx
add eax, 0x47474480
not ecx
add eax, ecx
or ecx, 0x9ef4b379
sub eax, ecx
imul eax, eax, 0x86e1fbb5
lea ecx, [eax + 0x6253878d]
add eax, eax
add eax, 0xc4a70f1a
not ecx
add eax, ecx
add eax, 0x239f89f6
cmp eax, edi
mov ecx, 0x86478405
mov edx, 0xaf3f499c
cmove ecx, edx
mov edx, dword [ebp - 0x20]
mov dword [edx], ecx
mov dword [ebx], eax
mov eax, dword [0x10072290]
and eax, dword [0x10072294]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0x37020ce3
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [0x1007b978]
cmp dword [0x1007b974], 0xa
setl cl
mov edx, eax
not edx
add edx, eax
add edx, eax
add edx, 0x1aa301c0
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x100185f0
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 eax, esi
not eax
mov ecx, eax
and ecx, 0x3ea1ef36
add ecx, ecx
mov edx, esi
sub edx, ecx
xor esi, 0xbea1ef36
add esi, edx
add eax, esi
add eax, 0xbea1ef37
lea ecx, [eax + eax]
not eax
add eax, ecx
imul eax, eax, 0x321f5a9d
lea ecx, [eax + 0x643eb53a]
add eax, eax
add eax, 0xc87d6a74
not ecx
add ecx, eax
imul eax, ecx, 0x86e1fbb5
lea ecx, [eax + 0x4b336b6f]
mov edx, ecx
not edx
and edx, 0x3bae9046
add eax, edx
add eax, 0x4b336b6f
or ecx, 0xc4516fb9
add eax, ecx
add eax, 0x3bae9047
cmp eax, edi
mov ecx, 0x86478405
mov edx, 0xaf3f499c
cmove ecx, edx
mov edx, dword [ebp - 0x20]
mov dword [edx], ecx
mov dword [ebx], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x37020ce2
jmp 0x10018464
mov dword [ebx], 0xb4c6136b
mov ecx, dword [0x1007b970]
cmp dword [0x1007b96c], 0xa
setl dl
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
and al, dl
cmp ecx, 1
adc al, 0
test al, 1
je 0x1001865c
nop dword [eax + eax]
mov eax, dword [0x1007b968]
mov ecx, dword [0x10072328]
mov edx, dword [0x1007232c]
mov esi, ecx
xor esi, edx
lea esi, [ecx + esi*2]
mov edi, ecx
or edi, edx
add edi, edi
sub esi, edi
mov edi, ecx
not edi
or edi, edx
add edi, esi
and ecx, edx
add ecx, edi
add ecx, 0xb
cmp dword [0x1007b964], ecx
setge cl
setl dl
mov esi, eax
and esi, 1
mov edi, eax
and edi, 0xfffffffe
sub esi, edi
add esi, eax
mov ebx, eax
xor ebx, 1
add ebx, esi
imul ebx, eax
test bl, 1
sete al
mov ah, dl
xor ah, al
or dl, al
add dl, ah
add dl, bl
add dl, cl
test dl, 1
je 0x100185f0
jmp 0x10018670
mov dword [ebx], 0xb4c6136b
jmp 0x100185bf
mov esi, dword [0x1007b960]
mov ecx, dword [0x10072020]
mov edx, dword [0x10072024]
mov eax, edx
not eax
mov edi, ecx
and edi, eax
sub edi, edx
or ecx, edx
add edi, ecx
not ecx
lea ecx, [edi + ecx*2]
add eax, eax
sub ecx, eax
add ecx, 0xa
cmp dword [0x1007b95c], ecx
setge ch
setl cl
lea edx, [esi - 1]
imul edx, esi
mov ebx, dword [0x10072028]
mov dword [ebp - 0x14], ebx
mov edi, dword [0x1007202c]
not ebx
mov esi, ebx
and esi, edi
or ebx, edi
not edi
mov eax, dword [ebp - 0x14]
and eax, edi
sub eax, esi
or edi, dword [ebp - 0x14]
sub eax, edi
add ebx, eax
and edx, 1
cmp edx, ebx
sete al
setne dl
and dl, cl
add dl, cl
and ch, al
add ch, dl
add ch, al
or cl, al
add cl, ch
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
add cl, 1
test cl, 1
jne 0x10018670
cmp eax, 0xb4c6136a
jle 0x100187b0
cmp eax, 0x1c2dec90
jle 0x10018842
cmp eax, 0x37020ce1
mov ebx, dword [ebp - 0x10]
jle 0x10018967
cmp eax, 0x37020ce2
je 0x10018b4a
cmp eax, 0x56bf3e7d
je 0x10018bae
cmp eax, 0x5e9dd6f8
jne 0x10016f60
mov eax, dword [0x1007b958]
mov ecx, dword [0x10072230]
mov edx, dword [0x10072234]
mov esi, ecx
or esi, edx
not esi
lea esi, [ecx + esi*2]
xor ecx, edx
not ecx
sub ecx, esi
not edx
add ecx, edx
add ecx, 0xa
cmp dword [0x1007b954], ecx
setge cl
setl dl
lea ebx, [eax - 1]
imul ebx, eax
test bl, 1
mov esi, dword [ebp - 0x10]
sete al
mov ah, dl
and ah, al
or dl, al
add dl, ah
add dl, cl
or cl, al
add cl, dl
add cl, 1
test cl, 1
je 0x10017d28
jmp 0x10017d9d
cmp eax, 0xaab4e8de
jg 0x100188be
cmp eax, 0x9a7bdb5b
mov ebx, dword [ebp - 0x10]
jg 0x100189c6
cmp eax, 0x87cf2218
je 0x10018c05
cmp eax, 0x99d5a54f
jne 0x10018e71
mov edx, dword [0x1007b950]
cmp dword [0x1007b94c], 0xa
setl al
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
add ecx, 0x5cda3e62
imul ecx, edx
mov edx, dword [0x100720a8]
mov esi, dword [0x100720ac]
mov edi, edx
or edx, esi
not esi
and edi, esi
not edx
add edx, edi
sub edx, esi
and ecx, 1
cmp ecx, edx
sete cl
setne dl
and dl, al
add dl, al
mov ah, al
or ah, cl
add ah, dl
and al, cl
not al
add al, ah
test al, 1
je 0x10017962
jmp 0x100179d2
cmp eax, 0xe37d9407
mov edi, dword [ebp - 0x10]
jg 0x10018a4a
cmp eax, 0xb4c6136b
je 0x10018c74
cmp eax, 0xca91cc04
jne 0x10016f60
cmp dword [0x1007b948], 0xa
mov edx, dword [0x1007b944]
setl al
mov ecx, edx
not ecx
imul ecx, edx
mov edx, dword [0x10072198]
mov esi, dword [0x1007219c]
mov edi, esi
not edi
lea ebx, [edx + edi]
or edi, edx
sub ebx, edi
mov edi, edx
not edi
add edi, ebx
mov ebx, dword [ebp - 0x10]
and edx, esi
add edx, edi
add edx, 1
neg ecx
and ecx, 1
cmp ecx, edx
sete cl
or cl, al
cmp cl, 1
je 0x10017689
jmp 0x10017734
cmp eax, 0xb23e796d
mov ebx, dword [ebp - 0x10]
jg 0x10018ad7
cmp eax, 0xaab4e8df
je 0x10018cbb
cmp eax, 0xb01fc2e5
jne 0x10016f60
mov ecx, dword [0x1007b940]
mov eax, dword [0x100720c8]
mov edx, dword [0x100720cc]
mov esi, eax
and esi, edx
mov edi, eax
or edi, edx
not edi
add edi, esi
xor eax, edx
add eax, edi
add eax, 0xb
cmp dword [0x1007b93c], eax
setl al
mov edx, ecx
not edx
add edx, 0xc5ea6690
imul edx, ecx
and edx, 1
mov ecx, dword [0x100720d0]
mov esi, dword [0x100720d4]
mov edi, ecx
not edi
or edi, esi
add edi, ecx
and ecx, esi
not ecx
add ecx, edi
add ecx, 2
cmp edx, ecx
sete cl
setne dl
mov ah, al
and ah, dl
mov ch, al
xor ch, cl
add ch, ah
or cl, al
not cl
add cl, ch
or al, dl
add al, cl
add al, 1
test al, 1
je 0x100170d8
jmp 0x10017184
cmp eax, 0x1c2dec91
je 0x10018d22
cmp eax, 0x1f0d8fa9
jne 0x10016f60
mov edx, dword [0x1007b938]
cmp dword [0x1007b934], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x10072080]
mov esi, dword [0x10072084]
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
add cl, 1
test cl, 1
je 0x10017813
jmp 0x10017890
cmp eax, 0x9a7bdb5c
je 0x10018d69
cmp eax, 0x9b1cc97d
jne 0x10016f60
mov ecx, dword [0x1007b930]
mov eax, dword [0x10072140]
mov edx, dword [0x10072144]
mov esi, eax
not esi
and esi, edx
add esi, eax
or eax, edx
sub esi, eax
add esi, 0xa
cmp dword [0x1007b92c], esi
setl al
lea edx, [ecx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x10072148]
mov esi, dword [0x1007214c]
mov edi, ecx
or edi, esi
not edi
add edi, esi
not ecx
or ecx, esi
sub edi, ecx
cmp edx, edi
sete cl
setne dl
or cl, al
and al, dl
add al, cl
not cl
add cl, al
add cl, dl
test cl, 1
jne 0x10016fc2
jmp 0x1001709f
cmp eax, 0xe37d9408
je 0x10018dc8
cmp eax, 0x29a8092
jne 0x10016f60
mov eax, dword [0x1007b928]
mov ecx, dword [0x100720f0]
mov edx, dword [0x100720f4]
mov esi, ecx
xor esi, edx
mov edi, esi
not edi
lea esi, [esi + edi*2]
mov edi, edx
not edi
or edi, ecx
sub esi, edi
not ecx
or ecx, edx
sub esi, ecx
add esi, 0xa
cmp dword [0x1007b924], esi
setge dl
setl cl
mov esi, eax
xor esi, 1
add esi, eax
mov edi, eax
xor edi, 0xfffffffe
lea ebx, [edi + esi]
add ebx, 2
imul ebx, eax
test bl, 1
sete al
mov ah, cl
or ah, al
mov ch, ah
not ch
add ch, ah
add ch, bl
mov ebx, dword [ebp - 0x10]
add ch, dl
and cl, al
sub ch, cl
test ch, 1
je 0x10017761
jmp 0x100177f5
cmp eax, 0xb23e796e
je 0x10018e22
cmp eax, 0xb4b98177
jne 0x10016f60
mov eax, dword [0x100722a8]
mov ecx, dword [0x100722ac]
mov edx, eax
and edx, ecx
not ecx
add edx, ecx
or ecx, eax
sub edx, ecx
add edx, 0xa
cmp dword [0x1007b920], edx
mov edx, dword [0x1007b91c]
setge al
setl cl
mov ebx, 1
sub ebx, edx
imul ebx, edx
test bl, 1
mov ebx, dword [ebp - 0x10]
sete dl
mov ah, cl
or ah, dl
add ah, cl
or al, dl
add al, ah
and cl, dl
not cl
add cl, al
test cl, 1
jne 0x100171c9
jmp 0x10017439
mov edx, dword [0x1007b918]
mov eax, dword [0x100722f4]
mov ecx, dword [0x100722f0]
xor ecx, eax
mov esi, ecx
sub esi, eax
not ecx
add ecx, esi
add eax, ecx
add eax, 0xb
cmp dword [0x1007b914], eax
setl al
lea ecx, [edx - 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x100722f8]
mov esi, dword [0x100722fc]
mov edi, edx
or edi, esi
not edi
add edi, esi
not edx
or edx, esi
sub edi, edx
cmp ecx, edi
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x100185bf
jmp 0x1001865c
mov edx, dword [0x1007b910]
cmp dword [0x1007b90c], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x10072210]
mov esi, dword [0x10072214]
mov edi, esi
not edi
and edi, edx
add edi, esi
or edx, esi
sub edi, edx
cmp ecx, edi
setne cl
sete dl
mov ah, al
xor ah, dl
or al, dl
add dl, ah
add dl, al
not ah
add ah, dl
add ah, cl
test ah, 1
jne 0x10017cb3
jmp 0x10017d14
mov ecx, dword [0x1007b908]
mov edx, dword [0x100721b8]
mov esi, dword [0x100721bc]
mov eax, edx
xor eax, edx
not eax
and eax, esi
xor eax, edx
xor edx, esi
sub eax, edx
add eax, 0xa
cmp dword [0x1007b904], eax
setl al
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, dword [0x100721c0]
mov esi, dword [0x100721c4]
mov edi, esi
not edi
and edi, ecx
lea ebx, [esi + esi]
lea edi, [ebx + edi*2]
mov ebx, dword [ebp - 0x10]
or ecx, esi
not ecx
lea ecx, [edi + ecx*2]
add ecx, 2
and edx, 1
cmp edx, ecx
sete cl
or cl, al
cmp cl, 1
je 0x10017b7c
jmp 0x10017be3
mov eax, dword [str.75_]
mov ecx, dword [0x10072054]
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
cmp dword [0x1007b900], eax
mov eax, dword [0x1007b8fc]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x100178c3
jmp 0x10017933
mov eax, dword [0x100721e0]
mov ecx, dword [0x100721e4]
mov edx, eax
not edx
mov esi, edx
and esi, ecx
or edx, ecx
not ecx
mov edi, eax
and edi, ecx
sub edi, esi
or ecx, eax
sub edi, ecx
mov esi, dword [0x1007b8f8]
lea eax, [edi + edx]
add eax, 0xa
cmp dword [0x1007b8f4], eax
setge al
setl cl
mov edx, esi
not edx
add edx, 0x9b729100
imul edx, esi
test dl, 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 0x10017c1e
jmp 0x10017c82
mov eax, dword [0x10072280]
mov ecx, dword [0x10072284]
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
cmp dword [0x1007b8f0], eax
mov eax, dword [0x1007b8ec]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x10018464
jmp 0x10018520
mov edx, dword [0x1007b8e8]
mov eax, dword [0x10072118]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x1007b8e4], eax
setl al
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x10072120]
mov edi, dword [0x10072124]
mov esi, edx
xor esi, edi
not esi
add esi, edi
not edx
add esi, edx
or edx, edi
add edx, edx
sub esi, edx
cmp ecx, esi
setne cl
sete dl
or al, dl
add al, dl
add al, cl
test al, 1
je 0x100179f0
jmp 0x10017a99
mov edx, dword [0x1007b8e0]
cmp dword [0x1007b8dc], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x10072260]
mov esi, dword [0x10072264]
mov edi, edx
not edi
and edi, esi
not esi
or esi, edx
lea edx, [edi + esi]
add edx, 1
cmp ecx, edx
sete cl
setne dl
or cl, al
and al, dl
add al, cl
not cl
add cl, al
add cl, dl
add cl, 1
test cl, 1
je 0x10017ddf
jmp 0x10018180
mov edx, dword [0x1007b8d8]
cmp dword [0x1007b8d4], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x10072170]
mov esi, dword [0x10072174]
mov edi, esi
not edi
and edi, edx
sub edi, edx
mov ebx, edx
or ebx, esi
add ebx, edi
xor edx, esi
sub ebx, edx
and ecx, 1
cmp ecx, ebx
mov ebx, dword [ebp - 0x10]
sete cl
or cl, al
cmp cl, 1
je 0x10017ab7
jmp 0x10017b3f
cmp eax, 0x97d548e0
jne 0x10016f60
nop dword [eax]
mov ecx, dword [0x1007b8d0]
mov eax, dword [0x100722e0]
mov edx, dword [0x100722e4]
mov esi, eax
and esi, edx
mov edi, eax
xor edi, edx
add edi, esi
or eax, edx
not eax
add eax, edi
add eax, 0xb
cmp dword [0x1007b8cc], eax
setl al
setge dl
mov esi, ecx
or esi, 1
add esi, ecx
mov edi, ecx
not edi
add edi, esi
lea ebx, [ecx + edi]
add ebx, 0xffffffff
imul ebx, ecx
test bl, 1
sete cl
and dl, cl
add dl, al
or al, cl
add dl, al
not al
add al, dl
test al, 1
jne 0x10018e80
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8