Function at 0x10028c20
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2c
mov edx, dword [0x10075370]
mov eax, dword [0x1006db14]
mov esi, dword [0x1006db18]
mov ecx, eax
and ecx, esi
mov edi, esi
not edi
and edi, eax
sub edi, ecx
not eax
or eax, esi
add eax, edi
add eax, ecx
add eax, 0xb
cmp dword [0x1007536c], eax
setl al
setge ah
lea esi, [edx - 1]
imul esi, edx
mov ecx, dword [0x1006db1c]
mov edi, dword [0x1006db20]
mov ebx, edi
not ebx
and ebx, ecx
mov edx, ecx
not edx
add edx, ebx
and ecx, edi
add ecx, edx
add ecx, 1
and esi, 1
cmp esi, ecx
sete cl
mov dl, ah
and dl, cl
mov ch, al
or ch, cl
add ch, dl
xor al, cl
not al
add al, ch
mov esi, dword [ebp + 0xc]
or ah, cl
add ah, al
mov edi, dword [ebp + 8]
test ah, 1
je 0x10028d48
push eax
mov dword [ebp - 0x18], esp
push eax
mov eax, esp
sub edi, esi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], eax
sete byte [eax]
push eax
mov esi, esp
mov eax, dword [0x1006db24]
mov ecx, dword [0x1006db28]
mov edx, ecx
not edx
and edx, eax
add edx, ecx
or eax, ecx
sub eax, edx
add eax, 0xbf7c5cb0
mov dword [ebp - 0x20], esi
mov dword [esi], eax
push eax
mov dword [ebp - 0x10], esp
mov edx, dword [0x10075368]
cmp dword [0x10075364], 0xa
setl byte [ebp - 0x14]
lea ecx, [edx - 1]
imul ecx, edx
mov esi, dword [0x1006db3c]
mov edx, dword [0x1006db40]
mov ebx, esi
and ebx, edx
sub ebx, esi
mov edi, esi
not edi
mov eax, edi
and eax, edx
add eax, ebx
or edi, edx
not edx
or edx, esi
mov esi, dword [ebp + 0xc]
add edx, eax
sub edx, edi
mov edi, dword [ebp + 8]
and ecx, 1
cmp ecx, edx
mov ecx, dword [ebp - 0x10]
sete al
or al, byte [ebp - 0x14]
mov dword [ecx], 0x4291f932
add al, 1
test al, 1
je 0x10029d10
push eax
push eax
mov eax, esp
cmp edi, esi
sete byte [eax]
push eax
mov eax, esp
mov ecx, dword [0x1006ddfc]
mov edx, ecx
not edx
lea ecx, [ecx + edx - 0x4083a34f]
mov dword [eax], ecx
push eax
mov eax, esp
mov dword [eax], 0x4291f932
jmp 0x10028cad
mov edx, dword [0x10075360]
cmp dword [0x1007535c], 0xa
setge al
setl cl
lea ebx, [edx - 1]
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
or ah, dl
add ah, al
or al, dl
add al, ah
and cl, dl
sub al, cl
test al, 1
je 0x10028d80
jmp 0x10029a00
mov eax, dword [0x1006dd04]
mov ecx, dword [0x1006dd08]
mov edx, eax
or edx, ecx
not eax
or eax, ecx
not ecx
add ecx, edx
add eax, ecx
add eax, 0xc
mov edx, dword [0x10075358]
cmp dword [0x10075354], eax
setl al
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
and cl, al
add cl, al
mov ah, al
or ah, dl
add ah, cl
and al, dl
sub ah, al
mov dword [edi], 0xdf48cbe6
test ah, 1
jne 0x10029a00
mov eax, dword [0x1006de54]
mov ecx, dword [0x1006de58]
mov edx, ecx
not edx
mov esi, eax
and esi, edx
add esi, esi
xor ecx, eax
sub ecx, esi
add ecx, edx
add eax, ecx
add eax, 0xdf48cbe7
mov dword [edi], eax
jmp 0x10028db6
mov dword [edi], 0x4291f932
cmp dword [0x10075350], 0xa
mov eax, dword [0x1007534c]
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x10029a00
mov eax, dword [0x1006de7c]
mov ecx, dword [0x1006de80]
mov edx, eax
not edx
mov esi, edx
or esi, ecx
sub edx, esi
and eax, ecx
add eax, edx
add eax, 0x4291f932
mov dword [edi], eax
jmp 0x10028e30
mov esi, dword [ebp + 8]
mov eax, esi
and eax, 0x7004c453
lea eax, [esi + eax*2]
mov ecx, esi
xor ecx, 0x7004c453
lea edx, [eax + ecx*2]
lea eax, [esi + esi]
or eax, 0xe00988a6
sub edx, eax
lea eax, [edx - 0x7004c454]
mov ecx, eax
not ecx
mov esi, eax
and esi, 0x7004c453
add edx, edx
add edx, 0x1ff67758
sub edx, esi
and ecx, 0x7004c453
add ecx, edx
xor eax, 0x8ffb3bac
lea edx, [ecx + eax]
add ecx, eax
add ecx, 0x7004c455
mov edi, dword [ebp + 0xc]
mov eax, edi
neg eax
not ecx
mov esi, ecx
and esi, 0xfeb8100f
add edx, esi
add edx, 0x7004c455
or ecx, 0x147eff0
sub edx, ecx
lea ecx, [edx + 0x28fdfe0]
mov esi, ecx
not esi
and esi, eax
lea esi, [esi + esi*2]
add edx, esi
add edx, 0x28fdfe0
lea edx, [edx + edi*2]
mov esi, ecx
xor esi, eax
sub esi, edx
or ecx, eax
lea edx, [esi + ecx]
lea eax, [esi + ecx]
add eax, 0x6ebe28e2
mov ecx, eax
and ecx, 0x9c1f09f8
mov esi, eax
and esi, 0x63e0f607
sub esi, ecx
add edx, esi
add edx, 0x6ebe28e2
not eax
or eax, 0x9c1f09f8
add eax, edx
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x9c1f09f9
mov ecx, eax
not ecx
and eax, 0x700618d1
add eax, edx
add eax, 0x9c1f09f9
and ecx, 0x700618d1
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x1ff3ce5d
mov ecx, eax
and ecx, 0x63e0f607
add ecx, edx
add ecx, 0x1ff3ce5d
mov edx, eax
not edx
add edx, ecx
and eax, 0x9c1f09f8
add eax, edx
add eax, 0x63e0f609
push eax
push 0x1007241b
push 0x1007242c
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [0x1006dd74]
mov eax, dword [str.Gg]
mov esi, ecx
and esi, eax
sub esi, ecx
mov edx, ecx
not edx
mov edi, edx
and edi, eax
add edi, esi
or edx, eax
not eax
or eax, ecx
add eax, edi
sub eax, edx
add eax, 0xf999a91f
mov esi, dword [0x10075348]
cmp dword [0x10075344], 0xa
setl cl
lea edx, [esi - 1]
imul edx, esi
mov esi, dword [0x1006dd8c]
mov edi, dword [0x1006dd90]
mov ebx, esi
or ebx, edi
not esi
or esi, edi
not edi
add edi, ebx
add esi, edi
add esi, 2
mov edi, dword [ebp - 0x10]
and edx, 1
cmp edx, esi
mov edx, dword [ebp - 0x20]
mov dword [edx], eax
sete al
or al, cl
mov dword [edi], 0xdf48cbe6
jne 0x10029a00
mov edx, dword [ebp - 0x30]
lea eax, [edx + 0x700618d2]
mov ecx, eax
not ecx
and eax, 0x63e0f607
add edx, edx
add edx, 0xe00c31a4
sub edx, eax
or ecx, 0x63e0f607
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0x9c1f09f9
mov edx, ecx
and edx, 0x700618d1
add edx, eax
add edx, 0x9c1f09f9
mov eax, ecx
xor eax, 0x700618d1
add eax, edx
not ecx
add eax, ecx
or ecx, 0x8ff9e72e
sub eax, ecx
lea ecx, [eax + 0x1ff3ce5d]
mov edx, ecx
not edx
mov esi, edx
and esi, 0x9c1f09f8
add eax, esi
add eax, 0x1ff3ce5d
xor ecx, 0x63e0f607
add ecx, eax
or edx, 0x9c1f09f8
sub ecx, edx
add ecx, 0x63e0f608
push ecx
push 0x1007241b
push 0x1007242c
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [0x1006de6c]
mov ecx, dword [0x1006de70]
mov edx, ecx
not edx
or edx, ecx
and edx, eax
sub edx, eax
add edx, 0xf999a91f
mov eax, dword [ebp - 0x20]
mov dword [eax], edx
mov dword [edi], 0xdf48cbe6
jmp 0x10028e7d
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0x7d06344a
mov eax, 0xe0390424
mov ecx, 0xc7233dd3
cmovl eax, ecx
mov ecx, dword [0x1006dbec]
mov edx, dword [0x1006dbf0]
mov esi, ecx
not esi
and esi, edx
add esi, ecx
or ecx, edx
sub esi, ecx
add esi, 0xa
cmp dword [0x10075340], esi
mov esi, dword [0x1007533c]
setl cl
mov edx, esi
and edx, 0x7ffffffe
add edx, edx
mov edi, esi
sub edi, edx
mov edx, esi
not edx
add edx, edi
add edx, esi
add edx, 0x267469c0
imul edx, esi
mov esi, dword [0x1006dbf8]
mov edi, esi
not edi
or edi, esi
and edx, 1
not edi
and edi, dword [0x1006dbf4]
cmp edx, edi
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
sete al
or al, cl
jne 0x10029a00
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1006de1c]
mov edx, dword [0x1006de20]
mov esi, ecx
and esi, edx
add esi, esi
mov edi, ecx
sub edi, esi
not ecx
mov esi, ecx
and esi, edx
sub edi, esi
add edi, edx
or ecx, edx
add ecx, edi
add ecx, 0x7d06344b
cmp eax, ecx
mov eax, 0xe0390424
mov ecx, 0xc7233dd3
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x100290dd
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1006dcac]
mov edx, dword [0x1006dcb0]
mov esi, ecx
not esi
and esi, edx
not edx
or edx, ecx
lea ecx, [esi + edx]
add ecx, 0xb260d710
cmp eax, ecx
mov eax, 0x57fea178
mov ecx, 0xb2fd653a
cmove eax, ecx
mov dword [edi], eax
mov edx, dword [0x1006dcb4]
mov eax, dword [0x1006dcb8]
mov ecx, edx
or ecx, eax
not ecx
add ecx, eax
not edx
or edx, eax
mov eax, dword [0x10075338]
sub ecx, edx
add ecx, 0xa
cmp dword [0x10075334], ecx
setl cl
mov edx, eax
not edx
lea ebx, [edx + eax]
not ebx
add ebx, edx
imul ebx, eax
test bl, 1
sete al
or al, cl
jne 0x10029a00
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0xb260d70f
mov eax, 0x57fea178
mov ecx, 0xb2fd653a
cmove eax, ecx
mov dword [edi], eax
jmp 0x100291ae
mov edx, dword [0x10075330]
cmp dword [0x1007532c], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x1006dba4]
mov esi, dword [0x1006dba8]
mov edi, edx
xor edi, edx
not edi
and edi, esi
xor edi, edx
xor edx, esi
sub edi, edx
and ecx, 1
cmp ecx, edi
mov edi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x18]
mov dword [edx], ecx
sete cl
or cl, al
mov dword [edi], 0x5979d081
jne 0x10029a00
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov edx, dword [0x1006de0c]
mov ecx, dword [0x1006de10]
mov esi, edx
or esi, ecx
mov eax, edx
xor eax, ecx
not eax
add eax, esi
not ecx
add eax, ecx
or ecx, edx
sub eax, ecx
add eax, 0x5979d082
mov dword [edi], eax
jmp 0x10029247
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1006dbbc]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0xf999a920
cmp eax, ecx
mov eax, 0x1f49d1ad
mov ecx, 0xe98458b5
cmovl eax, ecx
mov dword [esi], eax
mov edx, dword [0x10075328]
cmp dword [0x10075324], 0xa
setl al
setge cl
mov esi, edx
or esi, 1
add esi, edx
mov edi, edx
xor edi, 0xfffffffe
add edi, esi
mov esi, edx
not esi
and esi, 1
lea ebx, [esi + edi]
add ebx, 1
mov esi, dword [ebp - 0x10]
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
and ah, dl
add ah, al
or al, dl
add al, ah
add al, bl
or cl, dl
add cl, al
test cl, 1
jne 0x10029a00
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0xf999a91f
mov eax, 0x1f49d1ad
mov ecx, 0xe98458b5
cmovl eax, ecx
mov dword [esi], eax
jmp 0x100292d0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0x7d06344a
mov eax, 0x57fea178
mov ecx, 0xe76e6676
cmove eax, ecx
mov dword [edi], eax
mov eax, dword [0x1006dc14]
mov ecx, dword [0x1006dc18]
mov edx, ecx
not edx
and edx, eax
add edx, ecx
or eax, ecx
sub edx, eax
mov eax, dword [0x10075320]
add edx, 0xa
cmp dword [0x1007531c], edx
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x10029a00
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1006de24]
mov edx, dword [0x1006de28]
mov edi, edx
not edi
mov ebx, ecx
and ebx, edi
mov esi, ecx
xor esi, edx
not esi
add esi, ebx
sub esi, edi
mov edi, dword [ebp - 0x10]
not ecx
add esi, ecx
or ecx, edx
sub esi, ecx
add esi, 0x7d06344a
cmp eax, esi
mov eax, 0x57fea178
mov ecx, 0xe76e6676
cmove eax, ecx
mov dword [edi], eax
jmp 0x10029369
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1006dc34]
mov edx, dword [0x1006dc38]
mov esi, ecx
and esi, edx
mov edi, ecx
xor edi, edx
add edi, esi
or ecx, edx
sub ecx, edi
add ecx, 0xf999a91f
cmp eax, ecx
mov ecx, 0x57fea178
mov eax, 0x291c5679
cmove ecx, eax
mov dword [ebp - 0x14], ecx
mov esi, dword [0x10075318]
cmp dword [0x10075314], 0xa
setl byte [ebp - 0x1c]
lea edx, [esi - 1]
imul edx, esi
mov ecx, dword [0x1006dc44]
mov edi, dword [0x1006dc48]
mov ebx, ecx
xor ebx, edi
mov esi, ecx
or esi, edi
not esi
lea esi, [ebx + esi*2]
mov ebx, edi
not ebx
sub esi, ebx
sub esi, ebx
or ebx, ecx
add ebx, esi
not ecx
or ecx, edi
mov edi, dword [ebp - 0x10]
sub ebx, ecx
and edx, 1
cmp edx, ebx
mov eax, dword [ebp - 0x14]
mov dword [edi], eax
sete al
or al, byte [ebp - 0x1c]
jne 0x10029a00
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1006de2c]
mov edx, dword [0x1006de30]
mov esi, ecx
or ecx, edx
not edx
and esi, edx
not ecx
add ecx, ecx
lea ecx, [ecx + esi*2]
add edx, edx
sub ecx, edx
add ecx, 0xf999a91f
cmp eax, ecx
mov eax, 0x57fea178
mov ecx, 0x291c5679
cmove eax, ecx
mov dword [edi], eax
jmp 0x10029408
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1006dc5c]
mov edx, dword [0x1006dc60]
mov esi, ecx
and esi, edx
mov edi, edx
not edi
and edi, ecx
lea esi, [edi + esi*2]
mov edi, dword [ebp - 0x10]
not ecx
lea esi, [esi + ecx*2]
or ecx, edx
sub esi, ecx
add esi, 0xbf7c5cb1
cmp eax, esi
mov eax, 0x91941706
mov ecx, 0x230bff0e
cmovl eax, ecx
mov dword [edi], eax
mov eax, dword [0x1006dc64]
mov ecx, dword [0x1006dc68]
mov esi, eax
not esi
lea edx, [eax + esi*2]
or esi, ecx
sub esi, edx
and eax, ecx
mov edx, dword [0x10075310]
not eax
add eax, esi
add eax, 0xa
cmp dword [0x1007530c], eax
setl al
mov ecx, edx
and ecx, 0xfffffffe
add ecx, edx
mov esi, edx
not esi
add esi, ecx
mov ecx, edx
and ecx, 1
add ecx, esi
add ecx, 2
imul ecx, edx
test cl, 1
sete dl
or dl, al
and al, cl
add al, dl
not dl
add dl, al
add dl, cl
test dl, 1
jne 0x10029a00
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [0x1006de34]
mov esi, dword [0x1006de38]
mov ecx, edx
or ecx, esi
not ecx
add ecx, esi
not edx
or edx, esi
sub ecx, edx
add ecx, 0xbf7c5cb0
cmp eax, ecx
mov eax, 0x91941706
mov ecx, 0x230bff0e
cmovl eax, ecx
mov dword [edi], eax
jmp 0x100294da
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0xbf7c5cb0
mov eax, 0x57fea178
mov ecx, 0x22c38631
cmove eax, ecx
mov dword [edx], eax
mov ecx, dword [0x10075308]
cmp dword [0x10075304], 0xa
setl al
setge dl
mov esi, ecx
and esi, 1
add esi, ecx
mov ebx, ecx
not ebx
add ebx, esi
imul ebx, ecx
test bl, 1
sete cl
and cl, dl
add cl, al
test cl, 1
jne 0x10029a00
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1006de3c]
mov edx, dword [0x1006de40]
mov esi, ecx
and esi, edx
mov edi, ecx
or edi, edx
sub edi, esi
xor ecx, edx
not ecx
add ecx, edi
add ecx, 0xbf7c5cb1
mov edx, dword [ebp - 0x10]
cmp eax, ecx
mov eax, 0x57fea178
mov ecx, 0x22c38631
cmove eax, ecx
mov dword [edx], eax
jmp 0x100295b9
mov eax, dword [0x1006dcd4]
mov ecx, dword [0x1006dcd8]
mov edx, ecx
not edx
and edx, eax
mov esi, eax
not esi
add esi, edx
and eax, ecx
add eax, esi
add eax, 0xc22c4448
mov dword [edi], eax
mov eax, dword [0x1006dcdc]
mov edx, dword [0x1006dce0]
mov ecx, eax
not ecx
mov esi, ecx
and esi, edx
xor eax, edx
not eax
add eax, esi
or ecx, edx
sub eax, ecx
mov ecx, dword [0x10075300]
add eax, 0xa
cmp dword [0x100752fc], eax
setl al
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x10029a00
mov eax, dword [0x1006de4c]
mov ecx, dword [0x1006de50]
mov edx, eax
not edx
and edx, ecx
add edx, eax
or eax, ecx
sub edx, eax
add edx, 0xc22c4447
mov dword [edi], edx
jmp 0x10029648
mov eax, dword [ebp - 0x2c]
cmp byte [eax], 0
mov eax, 0x7d06344a
mov ecx, 0xb260d70f
cmovne eax, ecx
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov ecx, dword [0x100752f8]
mov eax, dword [0x1006dd30]
mov edx, eax
not edx
or edx, eax
mov eax, dword [0x1006dd2c]
and edx, eax
sub edx, eax
add edx, 0xa
cmp dword [0x100752f4], edx
setl al
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, dword [0x1006dd38]
mov esi, ecx
not esi
or esi, ecx
mov ecx, dword [0x1006dd34]
and esi, ecx
sub esi, ecx
and edx, 1
cmp edx, esi
mov ecx, dword [0x1006dd24]
mov edx, ecx
not edx
lea ecx, [ecx + edx - 0x20b73419]
mov dword [edi], ecx
sete cl
or cl, al
jne 0x10029a00
mov eax, dword [ebp - 0x2c]
cmp byte [eax], 0
mov eax, 0x7d06344a
mov ecx, 0xb260d70f
cmovne eax, ecx
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov eax, dword [0x1006de60]
mov ecx, eax
not ecx
or ecx, eax
not ecx
and ecx, dword [0x1006de5c]
add ecx, 0xdf48cbe6
mov dword [edi], ecx
jmp 0x100296d1
mov eax, dword [ebp + 8]
add eax, eax
push eax
push 0x10072402
push 0x1007240c
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov edx, dword [0x1006db08]
mov ecx, edx
not ecx
mov dword [ebp - 0x28], ecx
and ecx, 0xe79c6bee
mov esi, edx
and esi, 0x18639411
lea edi, [ecx + esi]
add ecx, edi
not edi
add edi, ecx
mov eax, dword [0x1006db04]
mov dword [ebp - 0x14], eax
lea ecx, [esi + edi]
add ecx, 1
not eax
xor ecx, 0xe79c6bee
mov edi, eax
xor edi, ecx
mov ebx, ecx
sub ebx, edi
mov esi, eax
or esi, ecx
add esi, ebx
add esi, edi
sub esi, ecx
mov ecx, esi
not ecx
lea esi, [esi + ecx*2]
add esi, 1
lea ecx, [esi + esi]
not esi
add esi, ecx
lea ecx, [esi + esi]
add ecx, 2
mov edi, ecx
or edi, 0xfa66fb64
lea esi, [edi + esi*2]
add esi, 2
mov edi, ecx
xor edi, 0x599049b
add edi, esi
not ecx
add edi, ecx
or ecx, 0xfa66fb64
sub edi, ecx
mov esi, eax
mov dword [ebp - 0x1c], eax
mov ecx, eax
and ecx, 0x52a52b99
and esi, 0x2d5ad466
lea ecx, [esi + ecx*2]
mov eax, dword [ebp - 0x14]
mov ebx, eax
and ebx, 0x52a52b99
lea ecx, [ecx + ebx*2]
add ecx, 0x5ab5a8ce
mov dword [ebp - 0x24], ecx
mov ebx, eax
and ebx, 0xd2a52b99
or ebx, esi
mov esi, dword [ebp - 0x1c]
or esi, 0xd2a52b99
sub ebx, esi
add ebx, 0xd2a52b99
mov esi, ecx
and esi, ebx
mov eax, ecx
or eax, ebx
mov ecx, eax
sub ecx, esi
add ecx, eax
xor ebx, dword [ebp - 0x24]
sub ecx, ebx
xor ecx, 0x2d5ad466
lea eax, [ecx + ecx]
sub eax, ecx
mov esi, dword [ebp - 0x28]
or eax, esi
mov ecx, eax
not ecx
add eax, ecx
add eax, ecx
lea edi, [edi + eax*2]
mov ecx, dword [ebp - 0x1c]
and ecx, 0x698e66d9
mov eax, dword [ebp - 0x14]
and eax, 0x16719926
or eax, ecx
mov dword [ebp - 0x14], eax
mov eax, esi
and eax, 0x96719926
mov ecx, esi
or ecx, 0x698e66d9
sub ecx, eax
and esi, 0x698e66d9
add ecx, esi
add ecx, 0x96719927
mov eax, edx
and eax, 0x96719926
mov esi, edx
xor esi, 0x96719926
mov ebx, eax
sub ebx, esi
or edx, 0x96719926
add edx, ebx
sub edx, eax
mov eax, ecx
and eax, edx
mov esi, ecx
xor esi, edx
add esi, eax
or edx, ecx
add edx, edx
sub edx, esi
xor edx, dword [ebp - 0x14]
add edx, edx
sub edi, edx
mov eax, 0x6622e97d
sub eax, edi
add eax, eax
sub eax, edi
add eax, edi
add eax, 2
lea ecx, [edi + eax]
add ecx, 2
mov eax, 0xcc45d301
sub eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x66656e1
add edx, eax
and ecx, 0xf999a91e
add ecx, edx
xor eax, 0x66656e1
add eax, ecx
add eax, 0xa11e7cca
mov ecx, eax
not ecx
and ecx, 0xa784d3aa
or eax, 0xa784d3aa
sub eax, ecx
add eax, 0x587b2c56
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov eax, dword [0x1006dd4c]
mov ecx, dword [0x1006dd50]
mov edx, ecx
not edx
and edx, eax
add edx, edx
mov esi, eax
sub esi, edx
mov edx, eax
not edx
and edx, ecx
sub esi, edx
mov edx, eax
xor edx, ecx
add edx, esi
and eax, ecx
not eax
add eax, edx
add eax, 0xdf48cbe7
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [0x1006dd54]
mov ecx, dword [0x1006dd58]
mov esi, eax
and esi, ecx
mov edx, eax
or edx, ecx
not ecx
mov edi, eax
and edi, ecx
sub edi, esi
not edx
add edx, edi
sub edx, ecx
sub edx, ecx
or ecx, eax
mov esi, dword [0x100752f0]
lea eax, [edx + ecx]
add eax, 0xa
cmp dword [0x100752ec], eax
setge al
setl cl
lea edx, [esi - 1]
imul edx, esi
test dl, 1
sete dl
mov ah, cl
and ah, dl
add ah, dl
or cl, dl
add ah, cl
not cl
add cl, ah
add cl, al
test cl, 1
je 0x10029a63
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edx, dword [0x100752e8]
mov eax, edx
mov ecx, dword [0x1006ddec]
mov esi, dword [0x1006ddf0]
mov edi, ecx
not edi
or edi, ecx
and edi, esi
sub edi, esi
add edi, 0xa
cmp dword [0x100752e4], edi
not eax
setl cl
and eax, 0xfffffffe
lea eax, [eax + edx*2]
mov esi, edx
or esi, 0xfffffffe
sub eax, esi
add eax, 1
imul eax, edx
test al, 1
sete dl
mov ch, cl
and ch, dl
add ch, cl
mov dh, cl
xor dh, dl
add dh, ch
or dl, cl
add dl, dh
or al, cl
add al, dl
add al, 1
test al, 1
je 0x10029a00
jmp 0x10029d10
mov eax, dword [ebp + 8]
add eax, eax
push eax
push 0x10072402
push 0x1007240c
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ebx, dword [0x1006db08]
mov dword [ebp - 0x24], ebx
mov ecx, ebx
mov edx, ebx
mov edi, ebx
not ebx
and ecx, 0x18639411
and edx, 0x679c6bee
lea ecx, [ecx + edx*2]
mov edx, ebx
and edx, 0x18639411
add edx, ecx
mov eax, dword [0x1006db04]
or edi, 0x18639411
sub edx, edi
mov dword [ebp - 0x28], edx
mov ecx, eax
and ecx, 0xd2a52b99
mov edx, eax
xor edx, 0xd2a52b99
add edx, ecx
mov ecx, eax
mov dword [ebp - 0x14], eax
not ecx
mov dword [ebp - 0x1c], ecx
mov edi, ecx
and edi, 0x2d5ad466
lea esi, [edx + edi*2]
mov edx, eax
or edx, 0x2d5ad466
add edx, esi
mov esi, ecx
or esi, 0xd2a52b99
sub edx, esi
add edx, 0xa54a5734
or edx, edi
mov esi, edx
xor esi, 0xd2a52b99
xor edx, 0x2d5ad466
lea edi, [esi + edx*2]
add edi, 1
mov eax, edi
mov esi, dword [ebp - 0x24]
and eax, esi
mov dword [ebp - 0x38], eax
mov eax, esi
and eax, 0x96719926
add eax, esi
mov dword [ebp - 0x34], eax
xor esi, 0xe79c6bee
mov ecx, dword [ebp - 0x28]
lea eax, [ecx + esi]
add eax, 0x18639412
add esi, ecx
not eax
and eax, ebx
and eax, 0x679c6bee
add eax, esi
add eax, 0x18639412
xor eax, 0x679c6bee
or eax, dword [ebp - 0x1c]
not eax
add eax, eax
mov esi, eax
not esi
mov ecx, eax
or ecx, esi
and ecx, 0xfa66fb64
mov edx, eax
sub edx, ecx
mov ecx, eax
or eax, 0xfa66fb64
add eax, edx
add eax, esi
and ecx, 0xfa66fb64
add eax, ecx
add eax, 0xfa66fb65
mov ecx, eax
xor ecx, 0xfa66fb64
mov edx, eax
sub edx, ecx
mov ecx, eax
or eax, 0xfa66fb64
add eax, edx
not ecx
or ecx, 0x599049b
add eax, ecx
add eax, 0x599049d
mov ecx, edi
and ecx, ebx
mov edx, dword [ebp - 0x38]
lea ecx, [edx + ecx*2]
mov edx, edi
or edx, ebx
add edx, ecx
not edi
lea ecx, [edx + edi*2]
or edi, ebx
sub ecx, edi
add ecx, 1
mov edx, ecx
not edx
mov esi, edx
sub esi, ecx
sub esi, edx
sub esi, edx
add esi, edx
add esi, esi
mov edi, 2
sub edi, esi
mov ecx, eax
not ecx
and ecx, edi
or edi, eax
sub esi, ecx
mov ecx, dword [ebp - 0x1c]
mov eax, ecx
mov edx, dword [ebp - 0x14]
or eax, edx
and eax, 0x16719926
or ecx, 0x16719926
add eax, ecx
add eax, 0xd31ccdb4
and edx, 0x16719926
or edx, eax
mov dword [ebp - 0x14], edx
mov eax, ebx
and eax, 0x96719926
add eax, dword [ebp - 0x34]
and ebx, 0x698e66d9
mov dword [ebp - 0x1c], ebx
add eax, ebx
add eax, 1
mov ecx, ebx
not ecx
mov edx, ecx
and edx, eax
lea edx, [ebx + edx*2]
mov ebx, dword [ebp - 0x1c]
xor ebx, eax
sub edx, ebx
mov ebx, dword [ebp - 0x1c]
or ebx, eax
add edx, ebx
not ebx
add ebx, edx
or ecx, eax
sub ebx, ecx
xor ebx, dword [ebp - 0x14]
mov ecx, 2
sub ecx, esi
sub ecx, edi
add ebx, ebx
lea eax, [esi + edi]
add eax, 0xfffffffd
mov edx, ecx
or ecx, ebx
or eax, ebx
mov esi, ebx
neg esi
add esi, esi
sub edx, esi
not ecx
add ecx, edx
sub ecx, eax
lea eax, [ecx + ecx*2]
mov edx, ecx
sub edx, eax
add edx, ecx
mov eax, edx
and eax, 0x7999a91e
lea eax, [edx + eax*2]
mov ecx, edx
not ecx
and ecx, 0x66656e1
lea eax, [eax + ecx*2]
xor edx, 0x66656e1
add edx, edx
sub eax, edx
imul eax, eax, 0xa2cc93f1
mov edx, 0x6786fcd1
sub edx, eax
mov ecx, edx
and ecx, 0xc6f21ef6
and edx, 0x390de109
sub edx, ecx
sub edx, eax
add eax, 0x9879032e
or eax, 0xc6f21ef6
add eax, edx
add eax, ecx
imul ecx, eax, 0x797a02ef
lea eax, [ecx + 0x1a987fb8]
mov edx, eax
not edx
mov esi, edx
and esi, 0xa784d3aa
add ecx, esi
add ecx, 0x1a987fb8
xor eax, 0x587b2c55
add eax, ecx
or edx, 0xa784d3aa
sub eax, edx
add eax, 0x587b2c56
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xdf48cbe6
jmp 0x10029786
mov esi, dword [0x100752e0]
mov edx, esi
not edx
cmp dword [0x100752dc], 0xa
setl al
setge ah
add edx, 0x6de544b6
imul edx, esi
mov esi, dword [0x1006db5c]
mov edi, dword [0x1006db60]
mov dword [ebp - 0x14], edi
not edi
mov ecx, esi
and ecx, edi
mov ebx, esi
xor ebx, dword [ebp - 0x14]
not ebx
add ebx, ecx
sub ebx, edi
not esi
add ebx, esi
or esi, dword [ebp - 0x14]
sub ebx, esi
and edx, 1
cmp edx, ebx
sete cl
mov dl, ah
and dl, cl
mov ch, al
or ch, cl
add ch, dl
xor al, cl
not al
add al, ch
or ah, cl
add ah, al
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
add ah, 1
test ah, 1
jne 0x10029d10
cmp ecx, 0xe98458b4
jle 0x10029e40
cmp ecx, 0x291c5678
jg 0x10029eb0
cmp ecx, 0x22c38630
jg 0x10029f95
cmp ecx, 0xe98458b5
je 0x1002a0f0
cmp ecx, 0x1f49d1ad
jne 0x10028d80
mov eax, dword [0x1006dbd4]
mov ecx, dword [0x1006dbd8]
mov esi, ecx
not esi
mov edi, eax
and edi, esi
mov edx, eax
xor edx, ecx
not edx
add edx, edi
sub edx, esi
not eax
add edx, eax
or eax, ecx
sub edx, eax
add edx, 0xa
cmp dword [0x100752d8], edx
mov edx, dword [0x100752d4]
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x1006dbdc]
mov esi, dword [0x1006dbe0]
mov edi, edx
or edi, esi
not edi
add edi, esi
not edx
or edx, esi
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
mov edx, eax
and dl, cl
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 0x100290dd
jmp 0x10029166
cmp ecx, 0xc7233dd2
jle 0x10029f3d
cmp ecx, 0xe0390423
jg 0x1002a03d
cmp ecx, 0xc7233dd3
je 0x1002a153
cmp ecx, 0xdf48cbe6
jne 0x10028d80
mov edx, dword [0x100752d0]
cmp dword [0x100752cc], 0xa
setge al
setl cl
lea ebx, [edx + 1]
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
or ah, dl
add ah, al
or al, dl
add al, ah
and cl, dl
not cl
add cl, al
test cl, 1
mov edi, dword [ebp - 0x10]
je 0x10028e30
jmp 0x10028e5b
cmp ecx, 0x57fea177
jle 0x1002a0b5
cmp ecx, 0x57fea178
je 0x1002a1cf
cmp ecx, 0x5979d081
jne 0x10028d80
mov edx, dword [0x100752c8]
mov ecx, edx
not ecx
mov eax, dword [0x1006dbac]
mov esi, dword [0x1006dbb0]
mov edi, eax
not edi
or edi, eax
and edi, esi
sub edi, esi
add edi, 0xa
cmp dword [0x100752c4], edi
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
mov ah, al
and ah, dl
add ah, al
mov dh, al
xor dh, dl
add dh, ah
or dl, al
add dl, dh
or cl, al
add cl, dl
test cl, 1
mov esi, dword [ebp - 0x10]
je 0x100292d0
jmp 0x1002934b
cmp ecx, 0x91941706
je 0x1002a233
cmp ecx, 0xb2fd653a
je 0x1002a2d1
cmp ecx, 0xc22c4447
jne 0x10028d80
mov ecx, dword [0x100752c0]
cmp dword [0x100752bc], 0xa
setl dl
mov eax, ecx
not eax
or eax, ecx
add eax, ecx
imul eax, ecx
test al, 1
sete al
or al, dl
add al, 1
test al, 1
mov edi, dword [ebp - 0x10]
je 0x10028db6
jmp 0x10028e0a
cmp ecx, 0x22c38631
je 0x1002a316
cmp ecx, 0x230bff0e
jne 0x10028d80
mov eax, dword [0x1006dc9c]
mov edx, dword [0x1006dca0]
mov ecx, eax
not ecx
mov esi, ecx
and esi, edx
lea edi, [eax + esi*2]
mov esi, eax
xor esi, edx
sub edi, esi
mov esi, dword [0x100752b8]
or eax, edx
not eax
add eax, edi
or ecx, edx
sub eax, ecx
add eax, 0xa
cmp dword [0x100752b4], eax
setl al
lea ecx, [esi + 1]
imul ecx, esi
mov edi, dword [0x1006dca4]
mov esi, dword [0x1006dca8]
mov edx, edi
not edx
mov ebx, edx
and ebx, esi
xor edi, esi
not edi
add edi, edi
lea edi, [edi + ebx*2]
or edx, esi
add edx, edx
sub edi, edx
and ecx, 1
cmp ecx, edi
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
mov edi, dword [ebp - 0x10]
jne 0x100291ae
jmp 0x10029229
cmp ecx, 0xe0390424
je 0x1002a37f
cmp ecx, 0xe76e6676
jne 0x10028d80
mov edx, dword [0x100752b0]
cmp dword [0x100752ac], 0xa
setl byte [ebp - 0x14]
mov ecx, edx
not ecx
add ecx, 0xdd934cc0
imul ecx, edx
mov esi, dword [0x1006dd6c]
mov edi, dword [0x1006dd70]
mov eax, esi
not eax
mov ebx, eax
and ebx, edi
lea ebx, [esi + ebx*2]
mov edx, esi
xor edx, edi
sub ebx, edx
or esi, edi
not esi
add esi, ebx
or eax, edi
sub esi, eax
and ecx, 1
cmp ecx, esi
sete al
or al, byte [ebp - 0x14]
cmp al, 1
mov edi, dword [ebp - 0x10]
je 0x10028e7d
jmp 0x1002901e
cmp ecx, 0x4291f932
jne 0x1002a3df
mov eax, dword [0x100752a8]
cmp dword [0x100752a4], 0xa
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
mov edi, dword [ebp - 0x10]
je 0x10029247
jmp 0x1002929a
cmp dword [0x100752a0], 0xa
mov edx, dword [0x1007529c]
setl al
mov ecx, edx
not ecx
add ecx, 0x2f7fa414
imul ecx, edx
mov edx, dword [0x1006dc54]
mov esi, dword [0x1006dc58]
mov edi, edx
and edi, esi
mov ebx, edx
xor ebx, esi
add ebx, edi
or edx, esi
sub ebx, edx
and ecx, 1
cmp ecx, ebx
sete cl
mov edx, eax
and dl, cl
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
mov edi, dword [ebp - 0x10]
jne 0x100294da
jmp 0x1002957e
mov edx, dword [0x10075298]
mov eax, dword [0x1006dc24]
mov ecx, dword [0x1006dc28]
mov esi, ecx
not esi
and esi, eax
add esi, ecx
or eax, ecx
sub esi, eax
add esi, 0xa
cmp dword [0x10075294], esi
setl al
lea esi, [edx - 1]
imul esi, edx
mov edx, dword [0x1006dc2c]
mov ebx, dword [0x1006dc30]
mov ecx, edx
and ecx, ebx
mov dword [ebp - 0x14], ecx
mov ecx, ebx
not ecx
mov edi, ebx
or edi, ecx
and edi, edx
or edx, ebx
sub edx, edi
add edx, ecx
mov ecx, dword [ebp - 0x14]
add ecx, edx
add ecx, 1
and esi, 1
cmp esi, ecx
sete cl
mov edx, eax
xor dl, cl
and al, cl
not al
add al, dl
test al, 1
mov edi, dword [ebp - 0x10]
je 0x10029408
jmp 0x1002949a
mov edx, dword [0x10075290]
cmp dword [0x1007528c], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x1006dccc]
mov edi, dword [0x1006dcd0]
mov esi, edx
and esi, edi
mov ebx, edi
not ebx
and ebx, edx
not edx
or edx, edi
sub ebx, esi
add edx, ebx
add edx, esi
add edx, 1
and ecx, 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
mov edi, dword [ebp - 0x10]
je 0x10029648
jmp 0x100296ad
mov edx, dword [0x10075288]
mov eax, dword [0x1006dc74]
mov ecx, dword [0x1006dc78]
mov esi, eax
not esi
and esi, ecx
add esi, eax
or eax, ecx
sub eax, esi
add eax, 0xa
cmp dword [0x10075284], eax
setl al
mov ecx, edx
not ecx
and ecx, 1
lea ecx, [ecx + ecx*2]
add ecx, edx
mov esi, edx
xor esi, 1
add esi, esi
sub ecx, esi
add ecx, edx
imul ecx, edx
mov edx, dword [0x1006dc7c]
mov esi, dword [0x1006dc80]
mov edi, esi
not edi
and edi, edx
add edi, edi
mov ebx, edx
sub ebx, edi
mov edi, edx
not edi
and edi, esi
sub ebx, edi
mov edi, edx
xor edi, esi
add edi, ebx
and edx, esi
sub edi, edx
and ecx, 1
cmp ecx, edi
setne dl
sete cl
mov ah, al
and ah, cl
mov ch, al
and ch, dl
add ch, ah
or cl, al
add ch, cl
not cl
add cl, ch
or al, dl
add al, cl
test al, 1
mov edx, dword [ebp - 0x10]
jne 0x100295b9
jmp 0x10029608
mov eax, dword [0x1006dd3c]
mov ecx, dword [0x1006dd40]
mov edx, eax
not edx
mov esi, edx
or esi, ecx
sub edx, esi
and eax, ecx
add eax, edx
add eax, 0xa
cmp dword [0x10075280], eax
mov eax, dword [0x1007527c]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x10029786
jmp 0x10029a63
mov eax, dword [0x1006dd14]
mov ecx, dword [0x1006dd18]
mov esi, ecx
not esi
mov edi, eax
and edi, esi
mov edx, eax
xor edx, ecx
not edx
add edx, edi
sub edx, esi
not eax
add edx, eax
or eax, ecx
sub edx, eax
mov ecx, dword [0x10075278]
add edx, 0xa
cmp dword [0x10075274], edx
setl al
mov edx, ecx
not edx
add edx, ecx
add edx, ecx
add edx, 0x55cffad8
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
and dl, cl
xor al, cl
not dl
sub dl, al
test dl, 1
mov edi, dword [ebp - 0x10]
je 0x100296d1
jmp 0x1002974e
cmp dword [0x10075270], 0xa
mov edx, dword [0x1007526c]
setl al
mov ecx, edx
and ecx, 0x7ffffffe
lea ecx, [edx + ecx*2]
mov esi, edx
not esi
add esi, ecx
lea ecx, [edx + esi]
add ecx, 0xcad065c2
imul ecx, edx
and ecx, 1
mov edx, dword [0x1006dc04]
mov esi, dword [0x1006dc08]
mov edi, esi
not edi
and edi, edx
add edi, esi
or edx, esi
sub edi, edx
cmp ecx, edi
sete cl
or cl, al
cmp cl, 1
mov edi, dword [ebp - 0x10]
je 0x10029369
jmp 0x100293be
cmp ecx, 0x291c5679
jne 0x10028d80
nop dword [eax + eax]
mov edx, dword [0x10075268]
cmp dword [0x10075264], 0xa
setl al
mov ecx, edx
and ecx, 1
add ecx, ecx
mov esi, edx
sub esi, ecx
mov ecx, edx
or ecx, 1
add ecx, esi
add ecx, edx
add ecx, edx
add ecx, 2
imul ecx, edx
and ecx, 1
sete dl
mov ah, al
and ah, dl
and cl, al
add cl, ah
add cl, al
or al, dl
add al, cl
test al, 1
je 0x1002a3f0
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8