Function at 0x100641d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x34
mov eax, dword [0x10085224]
mov ecx, dword [0x10085228]
lea edx, [eax + ecx]
mov esi, eax
xor esi, ecx
sub edx, esi
and eax, ecx
mov ecx, dword [0x10086be8]
not eax
lea eax, [edx + eax*2]
add eax, 0xc
cmp dword [0x10086be4], eax
setl al
setge dl
lea ebx, [ecx - 1]
imul ebx, ecx
test bl, 1
sete cl
and cl, dl
add cl, al
add cl, 1
test cl, 1
jne 0x10064a83
push eax
mov dword [ebp - 0x20], esp
mov eax, dword [0x100851ec]
mov edx, dword [0x100851f0]
mov ecx, eax
mov dword [ebp - 0x30], eax
not ecx
mov edi, ecx
mov dword [ebp - 0x10], ecx
mov esi, edx
not esi
mov ecx, esi
sub ecx, edx
add ecx, esi
add ecx, edx
sub ecx, esi
and ecx, eax
and edx, edi
mov ebx, edx
not ebx
and ebx, ecx
mov edi, edx
or edi, ecx
add edi, ebx
mov eax, edx
and eax, ecx
not ecx
add ecx, edi
not eax
sub eax, ecx
lea ebx, [eax + 1]
add eax, eax
add eax, 2
sub ebx, eax
mov eax, dword [ebp - 0x10]
and eax, esi
lea ecx, [eax + eax*2]
add eax, eax
sub ecx, eax
lea eax, [ebx + 1]
mov edi, eax
and edi, 0x2af03a37
add ebx, ebx
add ebx, 2
sub ebx, edi
mov edi, eax
xor edi, 0xd50fc5c8
add edi, ebx
or eax, 0xd50fc5c8
sub edi, eax
lea eax, [ecx + edi]
add edi, ecx
add edi, 0xd50fc5c8
not edi
mov ecx, edi
and ecx, 0xd50fc5c8
add eax, ecx
add eax, 0xd50fc5c8
mov ecx, edi
and ecx, 0x2af03a37
add ecx, eax
sub ecx, edi
add edx, edx
mov eax, dword [ebp - 0x10]
or eax, esi
sub eax, edx
or esi, dword [ebp - 0x30]
add esi, esi
sub eax, esi
lea edx, [eax - 2]
lea esi, [eax + eax]
add esi, 0xfffffffc
sub esi, edx
mov eax, esi
and eax, 0xd2af102b
mov edi, esi
and edi, 0x2d50efd4
lea eax, [eax + edi*2]
mov edi, esi
not edi
and edi, 0x52af102b
lea eax, [eax + edi*2]
mov edi, edx
not edi
xor esi, 0x52af102b
add esi, esi
sub eax, esi
or edx, edi
and edx, 0x2d50efd4
or edi, 0xd2af102b
add edx, edi
add edx, 1
mov esi, eax
or esi, edx
mov edi, esi
sub edi, edx
add edi, esi
not eax
or eax, edx
add eax, edi
add eax, 1
mov esi, eax
xor esi, 0x2d50efd4
mov edx, eax
xor edx, 0xd2af102b
add edx, esi
mov esi, eax
or esi, 0xd2af102b
sub edx, esi
not eax
sub edx, eax
or eax, 0xd2af102b
add eax, edx
mov edx, 0xd50fc5c8
sub edx, ecx
or edx, eax
sub eax, ecx
add eax, edx
not edx
add edx, eax
imul eax, edx, 0xca84ecbb
add eax, 0xc27ec5d3
mov ecx, eax
and ecx, 0x4d759694
mov esi, eax
sub esi, ecx
sub esi, ecx
mov edx, eax
or edx, 0x4d759694
add edx, esi
xor eax, 0xb28a696b
add eax, edx
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xa5d57b40
not eax
lea eax, [eax + edx*2]
add eax, 0x4baaf680
imul eax, eax, 0x3629878d
add eax, 0x34498c09
mov ecx, eax
and ecx, 0x6e19203c
sub ecx, eax
mov edx, eax
or edx, 0x91e6dfc3
add edx, ecx
mov ecx, eax
or ecx, 0x6e19203c
add ecx, edx
and eax, 0x91e6dfc3
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x91e6dfc4
mov ecx, eax
not ecx
lea esi, [ecx + ecx]
lea edx, [esi + edx*2]
add edx, 0x23cdbf88
or ecx, 0x1035e0d1
sub edx, ecx
and eax, 0x1035e0d1
lea ecx, [edx + eax]
add eax, edx
add eax, 0x1035e0d2
mov edx, eax
and edx, 0x91e6dfc3
add ecx, edx
add ecx, 0x1035e0d2
not eax
and eax, 0x91e6dfc3
add eax, ecx
add eax, 0xdc32407a
mov edi, dword [ebp + 8]
mov dword [edi], eax
mov eax, dword [0x10085234]
mov ecx, dword [str.N_7:_]
mov edx, eax
and edx, ecx
add edx, edx
sub edx, eax
sub edx, eax
mov esi, eax
xor esi, ecx
add esi, edx
mov edx, ecx
not edx
or edx, eax
add edx, esi
not eax
or eax, ecx
sub edx, eax
mov dword [edi + 4], edx
movaps xmm0, xmmword [0x100761d0]
movups xmmword [edi + 8], xmm0
movaps xmm0, xmmword [0x100761e0]
movups xmmword [edi + 0x18], xmm0
movaps xmm0, xmmword [str._________._0123456789:_____ABCDEFGHIJKLMNOPQRSTUVWXYZ____abcdefghijklmnopqrstuvwxyz]
movups xmmword [edi + 0x28], xmm0
movaps xmm0, xmmword [0x10076200]
movups xmmword [edi + 0x38], xmm0
movaps xmm0, xmmword [0x10076210]
movups xmmword [edi + 0x48], xmm0
movaps xmm0, xmmword [0x10076220]
movups xmmword [edi + 0x58], xmm0
movaps xmm0, xmmword [0x10076230]
movups xmmword [edi + 0x68], xmm0
movaps xmm0, xmmword [0x10076240]
movups xmmword [edi + 0x78], xmm0
movaps xmm0, xmmword [0x10076250]
movups xmmword [edi + 0x88], xmm0
movaps xmm0, xmmword [0x10076260]
movups xmmword [edi + 0x98], xmm0
movaps xmm0, xmmword [0x10076270]
movups xmmword [edi + 0xa8], xmm0
movaps xmm0, xmmword [0x10076280]
movups xmmword [edi + 0xb8], xmm0
movaps xmm0, xmmword [0x10076290]
movups xmmword [edi + 0xc8], xmm0
movaps xmm0, xmmword [0x100762a0]
movups xmmword [edi + 0xd8], xmm0
movaps xmm0, xmmword [0x100762b0]
movups xmmword [edi + 0xe8], xmm0
movaps xmm0, xmmword [0x100762c0]
movups xmmword [edi + 0xf8], xmm0
push eax
mov eax, esp
mov dword [ebp - 0x34], eax
mov dword [eax], 0x629217c2
push eax
mov dword [ebp - 0x30], esp
mov ecx, dword [0x10085204]
mov dword [ebp - 0x14], ecx
mov edi, dword [0x10085208]
mov eax, ecx
not eax
mov edx, eax
mov dword [ebp - 0x18], eax
mov ebx, edi
sub ebx, edi
sub ebx, edi
lea esi, [ecx + edx]
add esi, ecx
lea eax, [ecx + ecx]
mov dword [ebp - 0x10], eax
sub esi, eax
mov eax, edi
not eax
mov dword [ebp - 0x28], eax
add ebx, eax
add ebx, edi
mov ecx, esi
not ecx
mov edx, ecx
and edx, ebx
mov eax, esi
or eax, ebx
add eax, edx
xor esi, ebx
not esi
add esi, eax
or ecx, ebx
sub esi, ecx
not esi
lea eax, [esi + esi]
not eax
lea ecx, [eax + esi*2]
lea edx, [ecx + eax]
add eax, ecx
add eax, 2
lea esi, [edx + edx]
add esi, 4
sub esi, eax
mov eax, dword [ebp - 0x28]
lea eax, [edi + eax*2]
or edi, dword [ebp - 0x18]
add eax, edi
add eax, 2
mov ebx, eax
not ebx
add ebx, ebx
add ebx, eax
lea eax, [ebx + ebx]
add eax, 2
mov ecx, eax
not ecx
mov edx, esi
and edx, ecx
lea edx, [edx + edx*2]
add edx, esi
lea ebx, [edx + ebx*2]
add ebx, 2
mov edx, esi
or edx, eax
add edx, edx
sub ebx, edx
add ecx, ecx
sub ebx, ecx
not esi
or esi, eax
lea eax, [ebx + esi]
mov dword [ebp - 0x1c], eax
lea eax, [ebx + esi]
add eax, 0xfffffffe
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x18]
mov esi, edx
mov eax, dword [ebp - 0x28]
and esi, eax
mov ecx, edx
or ecx, eax
mov edi, eax
mov eax, esi
sub eax, ecx
not ecx
add ecx, ecx
sub eax, ecx
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
sub ecx, ebx
add ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, edx
xor ecx, edi
not ecx
add ecx, eax
not esi
add esi, ecx
mov eax, esi
not eax
mov ecx, esi
and ecx, 0x32c1a8ff
sub ecx, eax
mov edx, esi
and edx, 0xcd3e5700
add edx, eax
and eax, 0x32c1a8ff
lea eax, [ecx + eax*2]
mov ecx, esi
xor ecx, 0xcd3e5700
add eax, ecx
add eax, 0xcd3e5701
xor esi, 0x32c1a8ff
sub edx, esi
mov ecx, eax
and ecx, edx
lea esi, [ecx + ecx*2]
mov edi, eax
sub edi, esi
add edi, edx
mov esi, eax
or esi, edx
add esi, edi
xor edx, eax
not edx
add edx, esi
add ecx, edx
add ecx, 1
mov eax, 1
mov esi, dword [ebp - 0x1c]
sub eax, esi
mov edx, eax
xor edx, 0xda2b220d
sub edx, esi
mov esi, dword [ebp - 0x24]
and esi, 0x25d4ddf2
add esi, edx
and eax, 0xda2b220d
add eax, esi
xor ecx, 0x4d3e5700
add ecx, ecx
sub eax, ecx
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx + ebx*2]
lea edx, [ebx + ebx*2]
sub ecx, edx
or ecx, dword [ebp - 0x28]
not ecx
lea edx, [ecx + ecx]
sub edx, ecx
mov ecx, edx
mov esi, edx
and esi, 0xcc54cec8
lea edi, [esi + edx]
xor edx, 0xcc54cec8
sub edi, edx
not esi
lea edx, [edi + esi*2]
add edx, 0xcc54ceca
lea esi, [eax + 2]
not ecx
and ecx, 0x33ab3137
or edx, ecx
mov ecx, edx
and ecx, 0xcc54cec8
xor edx, 0x4c54cec8
add edx, ecx
not ecx
add ecx, edx
not esi
mov edx, esi
and edx, 0x3f396c2c
add eax, edx
add eax, 2
mov edx, esi
and edx, 0xc0c693d3
add edx, eax
sub edx, esi
lea eax, [edx + ecx*2]
add eax, 0x3f396c2e
mov ecx, eax
and ecx, 0x3f396c2c
mov edx, eax
xor edx, 0x3f396c2c
or eax, 0xc0c693d3
add eax, edx
add eax, ecx
imul eax, eax, 0xd5c7a53b
lea ecx, [eax - 0x7160a4ea]
mov edx, ecx
and edx, 0xfc1917dc
add edx, eax
or ecx, 0x3e6e823
sub edx, ecx
imul eax, edx, 0x2b63ebf3
lea ecx, [eax - 0x70368bc6]
mov edx, ecx
not edx
and edx, 0x35059e38
lea eax, [edx + eax*2]
add eax, 0x1f92e874
or ecx, 0x35059e38
sub eax, ecx
add eax, 0x82cc99d4
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
push eax
mov dword [ebp - 0x28], esp
mov ecx, dword [0x1008520c]
mov eax, dword [0x10085210]
mov edx, eax
not edx
mov dword [ebp - 0x18], edx
mov esi, ecx
and esi, eax
mov edi, eax
mov dword [ebp - 0x14], eax
mov eax, ecx
xor eax, edx
lea edx, [esi + esi*2]
add edx, eax
not eax
lea eax, [eax + eax*2]
add eax, edx
mov edx, ecx
or edx, edi
lea edx, [edx + edx*2]
sub eax, edx
and eax, ecx
mov edx, eax
neg edx
mov edi, edx
and edi, 0x4be1ca60
add edi, edi
sub edi, eax
add eax, 0xffffffff
and eax, 0x341e359f
lea eax, [edi + eax*2]
xor edx, 0x341e359f
add edx, edx
sub eax, edx
mov edx, eax
and edx, 0x7247c708
add edx, eax
not eax
or eax, 0x8db838f7
lea edi, [edx + eax]
add eax, edx
add eax, 0x8db838f8
lea edx, [ecx + ecx]
mov ebx, edx
not ebx
and ebx, eax
add edi, edi
add edi, 0x1b7071f0
sub edi, ebx
lea ebx, [edi + ecx*2]
mov edi, eax
xor edi, edx
add edi, ebx
or eax, edx
sub edi, eax
mov dword [ebp - 0x1c], ecx
mov edx, ecx
mov ebx, dword [ebp - 0x18]
and edx, ebx
add esi, esi
sub edx, esi
not ecx
mov dword [ebp - 0x10], ecx
mov eax, ecx
or eax, ebx
add eax, eax
sub edx, eax
mov eax, ecx
and eax, dword [ebp - 0x14]
add edx, 0xfffffffe
or edx, eax
mov esi, edx
not esi
mov ecx, esi
and ecx, 0x54760c66
mov eax, esi
and eax, 0xab89f399
sub ecx, eax
mov eax, edx
xor eax, 0xab89f399
add eax, ecx
mov ecx, esi
or ecx, 0xab89f399
add ecx, eax
add ecx, 1
mov eax, edx
and eax, 0xab89f399
mov ebx, edx
and ebx, 0x54760c66
lea eax, [eax + ebx*2]
and esi, 0x2b89f399
lea eax, [eax + esi*2]
xor edx, 0x2b89f399
add edx, edx
sub eax, edx
mov edx, ecx
not edx
and edx, eax
mov esi, ecx
or esi, eax
add esi, edx
not eax
or eax, ecx
add eax, esi
add eax, 1
mov ecx, eax
xor ecx, 0x2b89f399
mov edx, eax
or edx, 0x2b89f399
add edx, ecx
not eax
or eax, 0x2b89f399
add eax, edx
lea eax, [edi + eax*2]
add eax, 0x1b33dfd9
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
lea edi, [esi + ecx*2]
mov edx, eax
and edx, edi
sub edx, eax
add edx, edi
mov ecx, eax
or ecx, edi
not edi
mov ebx, eax
or ebx, edi
add ebx, edx
add ebx, ecx
mov dword [ebp - 0x24], ebx
and edi, eax
mov ecx, dword [ebp - 0x18]
lea eax, [ecx + ecx]
add ecx, eax
sub ecx, eax
mov edx, esi
sub edx, esi
sub edx, esi
add edx, esi
or edx, ecx
mov esi, dword [ebp - 0x1c]
mov ebx, esi
and ebx, edx
mov ecx, dword [ebp - 0x10]
mov eax, ecx
or eax, edx
and ecx, edx
mov dword [ebp - 0x10], ecx
xor edx, esi
sub esi, ebx
add esi, eax
lea ecx, [ebx + esi]
add ecx, 1
mov esi, dword [ebp - 0x10]
add esi, edx
not edx
add edx, esi
sub edx, eax
mov ebx, dword [ebp - 0x24]
lea esi, [ebx + edi]
or edx, ecx
lea eax, [edx + edx*2]
mov ecx, eax
neg ecx
lea edx, [edi + ebx]
add edx, 0x46ab8119
mov edi, edx
not edi
and edi, ecx
add esi, edi
add esi, 0x46ab8119
sub esi, eax
mov edi, edx
or edi, ecx
add edi, esi
xor ecx, edx
not ecx
add ecx, edi
mov esi, dword [ebp - 0x28]
lea edx, [eax + ecx]
add eax, ecx
add eax, 1
lea ecx, [edx + edx]
add ecx, 2
mov edx, eax
or edx, 0xb9547ee9
sub ecx, edx
not edx
add edx, ecx
xor eax, 0xb9547ee9
add eax, edx
imul eax, eax, 0x907316d
add eax, 0x864e75d7
mov ecx, eax
and ecx, 0x6b5a75e4
add ecx, ecx
mov edx, eax
sub edx, ecx
or eax, 0x94a58a1b
add edx, eax
add edx, eax
imul eax, edx, 0x805f8065
add eax, 0x80da0a0b
mov ecx, eax
and ecx, 0x7e2cad2c
or eax, 0x7e2cad2c
add eax, ecx
mov ecx, eax
and ecx, 0xd59e0358
or eax, 0xd59e0358
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x54c3f94f
mov ecx, eax
and ecx, 0x81d352d3
add ecx, edx
add ecx, 0x54c3f94f
mov edx, eax
xor edx, 0x7e2cad2c
sub ecx, edx
mov edx, eax
or edx, 0x7e2cad2c
add edx, ecx
sub edx, eax
add edx, 0x81d352d4
mov dword [esi], edx
push eax
mov ebx, esp
mov dword [ebx], 0
push eax
mov edi, esp
mov eax, dword [0x1008524c]
mov ecx, dword [0x10085250]
mov edx, eax
or eax, ecx
not ecx
and edx, ecx
sub eax, edx
add eax, ecx
add eax, 0x67f0c6ed
mov dword [edi], eax
mov eax, dword [0x10085254]
mov ecx, dword [0x10085258]
mov edx, eax
not edx
mov esi, edx
and esi, ecx
or eax, ecx
not eax
add eax, esi
mov esi, dword [0x10086be0]
sub eax, edx
add eax, 0xa
cmp dword [0x10086bdc], eax
setge al
setl cl
lea edx, [esi - 1]
imul edx, esi
test dl, 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 0x10065254
push eax
mov edx, dword [0x100851ec]
mov dword [ebp - 0x20], edx
mov eax, dword [0x100851f0]
mov dword [ebp - 0x10], eax
mov ecx, edx
not ecx
lea eax, [ecx + ecx]
mov ebx, eax
sub ebx, edx
sub ebx, eax
lea esi, [ebx - 1]
mov edi, esi
mov edx, dword [ebp - 0x10]
and edi, edx
add edi, ebx
add edi, 0xffffffff
neg ebx
and ebx, edx
add ebx, edi
or esi, edx
sub ebx, esi
mov edi, edx
not edi
mov edx, ecx
mov esi, dword [ebp - 0x20]
or edx, esi
and esi, edi
or esi, ebx
and edx, edi
sub eax, ecx
mov ebx, dword [ebp - 0x10]
or ecx, ebx
add ecx, edx
add ecx, 1
mov edx, ecx
not edx
add edx, edx
add ecx, edx
add ecx, 1
not ecx
add ecx, esi
add edi, edi
lea edx, [ebx + edi]
add edx, 1
mov esi, eax
or esi, edx
mov edi, esi
sub edi, edx
add edi, esi
not eax
or eax, edx
lea edx, [eax + edi]
add edx, 1
mov esi, edx
not esi
and edx, 0xd2af102b
mov eax, esi
and eax, 0x2d50efd4
mov edi, esi
and edi, 0xd2af102b
lea eax, [edi + eax*2]
sub eax, esi
or eax, edx
mov edx, eax
and edx, 0x2d50efd4
mov edi, eax
xor edi, 0x2d50efd4
sub edi, edx
sub edi, edx
mov esi, eax
or esi, 0x2d50efd4
add esi, edi
xor eax, 0xd2af102b
add eax, esi
add edx, eax
add edx, 1
mov eax, ecx
neg eax
mov esi, edx
not esi
mov edi, eax
and edi, esi
add edi, ecx
add edi, edx
mov ecx, eax
or ecx, edx
add ecx, edi
or esi, eax
add esi, ecx
and eax, edx
add eax, esi
imul ecx, eax, 0xca84ecbb
lea eax, [ecx - 0x357b1345]
xor eax, 0xb28a696b
lea eax, [eax + ecx*2]
add eax, 0x9509d976
add ecx, ecx
add ecx, 0x9509d976
or ecx, 0x6514d2d6
sub eax, ecx
lea ecx, [eax - 1]
mov edx, ecx
and edx, 0x585fe4ab
add edx, edx
sub edx, ecx
mov esi, ecx
xor esi, 0x585fe4ab
add esi, edx
or ecx, 0xa7a01b54
add ecx, esi
neg eax
or eax, 0x585fe4ab
sub ecx, eax
imul edx, ecx, 0x3629878d
lea eax, [edx - 0x1215dc55]
mov ecx, eax
and ecx, 0x91e6dfc3
lea edx, [edx + edx - 0x242bb8aa]
sub edx, ecx
sub edx, ecx
not eax
or eax, 0x91e6dfc3
add eax, edx
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x91e6dfc4
mov ecx, eax
not ecx
mov esi, ecx
and esi, 0x1035e0d1
add edx, esi
add edx, 0x91e6dfc4
xor eax, 0xefca1f2e
add eax, edx
or ecx, 0x1035e0d1
sub eax, ecx
add eax, 0x7e4f010e
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
mov dword [ecx + 4], 0
movaps xmm0, xmmword [0x100761d0]
movups xmmword [ecx + 8], xmm0
movaps xmm0, xmmword [0x100761e0]
movups xmmword [ecx + 0x18], xmm0
movaps xmm0, xmmword [str._________._0123456789:_____ABCDEFGHIJKLMNOPQRSTUVWXYZ____abcdefghijklmnopqrstuvwxyz]
movups xmmword [ecx + 0x28], xmm0
movaps xmm0, xmmword [0x10076200]
movups xmmword [ecx + 0x38], xmm0
movaps xmm0, xmmword [0x10076210]
movups xmmword [ecx + 0x48], xmm0
movaps xmm0, xmmword [0x10076220]
movups xmmword [ecx + 0x58], xmm0
movaps xmm0, xmmword [0x10076230]
movups xmmword [ecx + 0x68], xmm0
movaps xmm0, xmmword [0x10076240]
movups xmmword [ecx + 0x78], xmm0
movaps xmm0, xmmword [0x10076250]
movups xmmword [ecx + 0x88], xmm0
movaps xmm0, xmmword [0x10076260]
movups xmmword [ecx + 0x98], xmm0
movaps xmm0, xmmword [0x10076270]
movups xmmword [ecx + 0xa8], xmm0
movaps xmm0, xmmword [0x10076280]
movups xmmword [ecx + 0xb8], xmm0
movaps xmm0, xmmword [0x10076290]
movups xmmword [ecx + 0xc8], xmm0
movaps xmm0, xmmword [0x100762a0]
movups xmmword [ecx + 0xd8], xmm0
movaps xmm0, xmmword [0x100762b0]
movups xmmword [ecx + 0xe8], xmm0
movaps xmm0, xmmword [0x100762c0]
movups xmmword [ecx + 0xf8], xmm0
push eax
mov eax, esp
mov ecx, dword [0x1008542c]
mov edx, dword [0x10085430]
mov esi, ecx
not esi
and esi, edx
mov edi, ecx
or edi, edx
add edi, esi
xor ecx, edx
not ecx
add ecx, edi
not edx
add ecx, edx
add ecx, 0x629217c4
mov dword [eax], ecx
push eax
mov dword [ebp - 0x30], esp
mov edi, dword [0x10085204]
mov dword [ebp - 0x10], edi
mov esi, dword [0x10085208]
not edi
mov edx, esi
not edx
mov dword [ebp - 0x20], edx
mov eax, edi
and eax, esi
add eax, eax
mov ebx, edi
or ebx, edx
lea ecx, [ebx + ebx]
sub ecx, eax
add ecx, ebx
lea eax, [ecx + esi*2]
add eax, 2
mov edx, esi
not eax
lea ebx, [eax + eax]
sub ebx, eax
mov eax, dword [ebp - 0x10]
lea eax, [eax + edi*2]
add eax, edi
mov dword [ebp - 0x28], eax
mov esi, dword [ebp - 0x20]
lea eax, [edx + esi*2]
add eax, 1
or eax, edi
mov dword [ebp - 0x34], eax
mov ecx, edi
and ecx, esi
mov esi, ecx
not esi
add ecx, esi
add ecx, esi
lea esi, [ebx + ebx]
lea eax, [esi + ebx*2]
not esi
add esi, esi
lea edi, [esi + ebx*2]
add edi, eax
mov eax, edi
xor eax, 0xfffffffe
lea edx, [ecx + ecx]
add edx, 2
mov ebx, edx
not ebx
and ebx, eax
lea eax, [ebx + ecx*2]
add eax, 2
sub eax, edi
mov dword [ebp - 0x18], eax
or edi, edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
add eax, ecx
add eax, 2
mov edx, eax
mov esi, dword [ebp - 0x20]
and edx, esi
mov ecx, eax
sub ecx, edx
sub ecx, edx
add ecx, esi
xor eax, esi
not eax
add eax, ecx
add eax, edx
add eax, 1
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xcd3e5700
or ecx, 0xcd3e5700
lea esi, [edx + edx*2]
sub esi, ecx
sub esi, ecx
not ecx
add ecx, ecx
sub esi, ecx
not edx
lea ecx, [esi + edx*2]
and eax, 0x32c1a8ff
mov edx, eax
and edx, ecx
lea esi, [eax + eax]
sub esi, edx
mov edx, eax
or edx, ecx
add edx, esi
mov esi, eax
xor esi, ecx
not esi
lea edx, [edx + esi*2]
not ecx
add edx, ecx
or ecx, eax
lea eax, [ecx + ecx*2]
sub edx, eax
mov ecx, dword [ebp - 0x18]
lea eax, [ecx + edi]
add ecx, edi
add ecx, 0xffffffff
and ecx, 0xda2b220d
sub ecx, eax
neg eax
xor edx, 0x4d3e5700
and eax, 0xda2b220d
add eax, ecx
lea ecx, [edx + edx]
mov esi, ecx
neg esi
add edx, edx
add edx, 0xffffffff
or edx, esi
and edx, eax
sub edx, ecx
mov eax, edx
not eax
and eax, 0x25d4ddf2
add eax, eax
lea eax, [eax + edx*2]
xor edx, 0xda2b220d
lea ecx, [eax + edx]
add eax, edx
add eax, 2
mov ebx, dword [ebp - 0x34]
mov edx, ebx
not edx
mov esi, edx
sub esi, ebx
lea edi, [ebx + ebx*2]
sub esi, edi
add edx, edx
sub esi, edx
lea edi, [esi + ebx*2]
lea edx, [esi + ebx*2]
add edx, 0xfffffffe
mov esi, 1
sub esi, edi
mov edi, edx
and edi, 0x33ab3137
mov ebx, esi
or ebx, 0xcc54cec8
add ebx, edi
and esi, 0x33ab3137
add esi, ebx
add esi, 1
and edx, 0xcc54cec8
mov edi, esi
not edi
and edi, edx
mov ebx, esi
or ebx, edx
add ebx, edi
and esi, edx
not edx
add edx, ebx
add esi, edx
add esi, 1
mov edx, esi
not edx
mov edi, edx
and edi, 0x4c54cec8
xor esi, 0x4c54cec8
sub esi, edi
or edx, 0x33ab3137
add edx, esi
mov esi, eax
xor esi, 0x3f396c2c
add ecx, esi
add ecx, 2
mov esi, eax
or esi, 0xc0c693d3
sub ecx, esi
not eax
mov esi, eax
or esi, 0x3f396c2c
add esi, ecx
add eax, eax
or eax, 0x818d27a6
sub esi, eax
lea eax, [esi - 0x3f396c2e]
mov ecx, eax
not ecx
lea edi, [edx + edx]
add edi, 0x98a99d92
and ecx, edi
lea ecx, [ecx + esi*2]
add ecx, 0x818d27a4
lea ecx, [ecx + edx*2]
add ecx, 0x98a99d92
or eax, edi
sub ecx, eax
imul eax, ecx, 0xd5c7a53b
mov ecx, 0x43416200
sub ecx, eax
mov eax, ecx
not eax
lea eax, [eax + eax*2]
mov edx, eax
sub edx, ecx
sub edx, eax
imul ecx, edx, 0x2b63ebf3
lea eax, [ecx + 0x35059e38]
mov edx, eax
and edx, 0x2cc99d4
lea ecx, [ecx + edx*2]
add ecx, 0x35059e38
mov edx, eax
not edx
and edx, 0x7d33662b
lea ecx, [ecx + edx*2]
xor eax, 0x7d33662b
add eax, eax
sub ecx, eax
add ecx, 0x4dc6fb9c
mov eax, dword [ebp - 0x30]
mov dword [eax], ecx
push eax
mov dword [ebp - 0x30], esp
mov edx, dword [0x1008520c]
mov edi, dword [0x10085210]
mov esi, edi
not esi
mov dword [ebp - 0x10], esi
mov eax, edx
and eax, esi
mov ecx, edx
xor ecx, esi
lea eax, [eax + ecx*2]
mov ecx, edx
or ecx, esi
sub eax, ecx
and eax, edx
mov esi, eax
neg esi
mov ecx, esi
and ecx, 0x7247c708
add ecx, ecx
sub esi, ecx
add eax, eax
add eax, 0xfffffffe
or eax, 0x1b7071ee
sub esi, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], edx
mov ebx, edx
not ebx
lea eax, [edx + ebx*2]
add eax, 1
mov ecx, eax
mov esi, edi
and ecx, edi
mov edx, eax
and edx, dword [ebp - 0x10]
lea ecx, [ecx + edx*2]
mov edx, eax
not edx
and edx, edi
lea edx, [ecx + edx*2]
xor eax, edi
mov dword [ebp - 0x34], edi
add eax, eax
sub edx, eax
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x28], eax
lea esi, [edi + eax]
add esi, 1
mov edi, dword [ebp - 0x20]
mov ecx, edi
and ecx, esi
sub ecx, esi
mov eax, edi
or eax, esi
add eax, ecx
or ebx, esi
add eax, ebx
add eax, 1
mov esi, edx
or esi, eax
mov ecx, edx
xor ecx, eax
not ecx
add ecx, esi
mov esi, eax
not esi
or esi, edx
sub ecx, esi
add ecx, edx
and edx, eax
sub ecx, edx
xor ecx, 0x54760c66
mov eax, ecx
and eax, 0xab89f399
xor ecx, 0x2b89f399
add ecx, eax
not eax
add eax, ecx
mov esi, dword [ebp - 0x18]
lea ecx, [esi + edi*2]
add ecx, ecx
add ecx, 0x96a66584
lea eax, [ecx + eax*2]
lea ecx, [esi + edi*2 + 0x4b5332c2]
not ecx
lea edx, [eax + ecx]
add eax, ecx
add eax, 3
mov ecx, eax
not ecx
and ecx, 0xb4accd3b
lea ebx, [ecx + edx*2]
add ebx, 6
or eax, 0xb4accd3b
sub ebx, eax
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x34]
add esi, ecx
lea eax, [esi + ecx*2]
sub eax, ecx
lea ecx, [eax + 1]
add eax, eax
add eax, 2
sub eax, ecx
mov edx, eax
sub edx, eax
sub edx, eax
mov ecx, 0xfffffffe
sub ecx, esi
add edx, eax
or ecx, eax
add ecx, edx
add ecx, eax
add ecx, 1
mov edx, ecx
not edx
mov eax, edx
sub eax, ecx
add eax, edx
add edx, edx
sub eax, edx
lea ecx, [ebx - 0x4b5332c4]
mov edx, ecx
and edx, eax
lea esi, [ebx + ebx]
add esi, 0x69599a78
sub esi, edx
sub esi, edx
sub esi, eax
not ecx
or ecx, eax
add ecx, esi
lea edi, [edx + ecx]
add edi, 1
mov ebx, dword [ebp - 0x28]
sub ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x20]
mov eax, esi
and eax, ebx
mov ecx, esi
xor ecx, ebx
mov edx, ebx
or ebx, esi
not edx
and esi, edx
add esi, esi
sub ecx, esi
add ecx, ebx
add ecx, ebx
lea ecx, [ecx + edx*2]
add ecx, 2
mov edx, ecx
not edx
and edx, eax
mov esi, eax
or esi, ecx
sub esi, edx
not eax
or eax, ecx
sub esi, eax
lea ecx, [esi + esi*2]
mov eax, 3
sub eax, ecx
mov ecx, edi
and ecx, 0x46ab8116
or edi, 0x46ab8116
lea edx, [ecx + edi]
add ecx, edi
add ecx, 1
mov esi, eax
not esi
and esi, ecx
add edx, esi
add edx, 1
add edx, eax
mov esi, ecx
xor esi, eax
sub edx, esi
or eax, ecx
add eax, edx
sub eax, ecx
mov ecx, eax
not ecx
lea eax, [ecx + eax*2]
imul eax, eax, 0x907316d
add eax, 0xc7aad3a2
mov ecx, eax
and ecx, 0x94a58a1b
or eax, 0x94a58a1b
add eax, ecx
imul ecx, eax, 0x805f8065
lea eax, [ecx - 0x54c3f94e]
mov edx, eax
and edx, 0x81d352d3
lea edx, [edx + edx*2]
add edx, ecx
add edx, 0xab3c06b2
add ecx, ecx
add ecx, 0x56780d64
or ecx, 0xfc595a58
sub edx, ecx
not eax
or eax, 0x7e2cad2c
lea ecx, [edx + eax]
add eax, edx
add eax, 0xa4e8042c
mov edx, eax
and edx, 0x7e2cad2c
add ecx, edx
add ecx, 0xa4e8042c
not eax
add ecx, eax
or eax, 0x7e2cad2c
sub ecx, eax
add ecx, 0x81d352d4
mov eax, dword [ebp - 0x30]
mov dword [eax], ecx
push eax
mov eax, esp
mov ecx, dword [0x10085434]
mov edx, dword [0x10085438]
mov edi, ecx
or edi, edx
sub edi, edx
sub edi, edx
mov esi, ecx
xor esi, edx
add esi, edi
not ecx
sub esi, ecx
or ecx, edx
lea ecx, [ecx + ecx*2]
add ecx, esi
add ecx, 2
mov dword [eax], ecx
push eax
mov eax, esp
mov ecx, dword [0x1008543c]
mov edx, dword [0x10085440]
mov esi, ecx
or esi, edx
mov edi, esi
not edi
lea esi, [esi + edi*2]
mov edi, ecx
xor edi, edx
not edi
sub edi, esi
and ecx, edx
not ecx
add ecx, edi
add ecx, 0x67f0c6ec
mov dword [eax], ecx
jmp 0x10064225
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x18], ebx
nop word [eax + eax]
mov edi, dword [ebp - 0x10]
mov eax, dword [0x10085274]
mov ecx, dword [0x10085278]
mov esi, ecx
not esi
and esi, eax
sub esi, eax
not eax
sub esi, eax
or eax, ecx
mov edx, dword [0x10086bd8]
add eax, esi
add eax, 0xa
cmp dword [0x10086bd4], eax
setl cl
mov eax, edx
and eax, 0xfffffffe
add eax, edx
mov esi, edx
or esi, 1
sub eax, esi
add eax, 2
imul eax, edx
test al, 1
sete dl
mov ch, cl
or ch, dl
add ch, cl
xor cl, dl
not cl
add cl, ch
add cl, al
mov eax, dword [edi]
add cl, 1
test cl, 1
jne 0x10065263
cmp eax, 0x25329b17
jg 0x10065350
cmp eax, 0xd1c665e6
mov ebx, dword [ebp - 0x20]
jle 0x100653d0
cmp eax, 0xd1c665e7
je 0x100654ac
cmp eax, 0xdc3909a
jne 0x10065636
mov esi, dword [0x10086bd0]
mov edx, esi
cmp dword [0x10086bcc], 0xa
not edx
setl al
setge cl
mov edi, esi
and edi, 1
lea edi, [esi + edi*2]
and edx, 0x7ffffffe
lea edx, [edi + edx*2]
mov edi, esi
xor edi, 0x7ffffffe
add edi, edi
sub edx, edi
add edx, 1
imul edx, esi
test dl, 1
sete ah
and cl, ah
or ah, al
add ah, cl
or dl, al
add dl, ah
test dl, 1
je 0x10065970
jmp 0x10065a07
cmp eax, 0x67f0c6eb
mov ebx, dword [ebp - 0x20]
jg 0x10065450
cmp eax, 0x25329b18
je 0x10065508
cmp eax, 0x39d392b0
jne 0x10065650
mov edx, dword [0x10086bc8]
cmp dword [0x10086bc4], 0xa
setl al
mov ecx, edx
not ecx
add ecx, 0xfffffffe
imul ecx, edx
and ecx, 1
mov edx, dword [0x100852fc]
mov esi, dword [0x10085300]
mov edi, edx
not edi
and edi, esi
add edi, edx
or edx, esi
sub edi, edx
cmp ecx, edi
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x10065730
jmp 0x1006579b
cmp eax, 0xbba5aed2
je 0x10065554
cmp eax, 0xcb0ca208
jne 0x10065650
mov edx, dword [0x10086bc0]
cmp dword [0x10086bbc], 0xa
setl al
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
add ecx, 0x92310f30
imul ecx, edx
and ecx, 1
mov edx, dword [0x100853e4]
mov esi, dword [0x100853e8]
mov edi, esi
not edi
or edi, esi
and edi, edx
sub edi, edx
cmp ecx, edi
setne cl
sete dl
mov ah, al
or ah, dl
add ah, al
xor al, dl
not al
add al, ah
add al, cl
test al, 1
jne 0x100656a0
jmp 0x100656f5
cmp eax, 0x67f0c6ec
je 0x100655cf
cmp eax, 0x7badd9c3
jne 0x10065650
mov eax, dword [0x10086bb8]
mov ecx, dword [0x1008536c]
mov edx, dword [0x10085370]
mov esi, ecx
or esi, edx
sub esi, edx
not ecx
or ecx, edx
add ecx, esi
add ecx, 0xb
cmp dword [0x10086bb4], ecx
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x10065ad0
jmp 0x10065b1c
mov edx, dword [0x10086bb0]
cmp dword [0x10086bac], 0xa
setl al
mov ecx, edx
not ecx
add ecx, 0xa2ba15e8
imul ecx, edx
and ecx, 1
mov edx, dword [0x1008539c]
mov esi, dword [0x100853a0]
mov edi, edx
or edi, esi
not edi
add edi, edx
not esi
or esi, edx
sub edi, esi
cmp ecx, edi
sete cl
setne dl
mov ah, al
and ah, dl
or dl, al
add dl, ah
and cl, al
sub dl, cl
test dl, 1
je 0x10065b50
jmp 0x100664d6
mov edx, dword [0x10086ba8]
cmp dword [0x10086ba4], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x1008534c]
mov esi, dword [0x10085350]
mov edi, esi
not edi
and edi, edx
not edx
or edx, esi
add edx, edx
lea edx, [edx + edi*2]
xor edx, 0xfffffffe
cmp ecx, edx
sete cl
or cl, al
cmp cl, 1
je 0x10065a30
jmp 0x10065a9b
mov esi, dword [0x10086ba0]
cmp dword [0x10086b9c], 0xa
setl al
setge ah
lea edx, [esi + esi]
mov edi, esi
not edi
add edx, edi
add edx, 0x8d148e40
imul edx, esi
mov ecx, dword [0x100852d4]
mov edi, dword [0x100852d8]
mov esi, ecx
not esi
mov dword [ebp - 0x14], esi
and esi, edi
lea esi, [esi + esi*2]
mov ebx, ecx
or ebx, edi
not edi
or edi, ecx
sub ecx, esi
add ebx, ecx
add edi, edi
sub ebx, edi
mov ecx, dword [ebp - 0x14]
lea ecx, [ebx + ecx*2]
mov ebx, dword [ebp - 0x20]
and edx, 1
cmp edx, ecx
sete cl
mov dl, ah
and dl, cl
or al, cl
add dl, al
not al
add al, dl
add al, ah
add al, 1
test al, 1
je 0x10065890
jmp 0x1006592d
mov eax, dword [0x10086b98]
mov ecx, dword [0x100852a4]
mov edx, dword [0x100852a8]
mov esi, ecx
and esi, edx
lea edi, [ecx + ecx]
sub edi, esi
mov esi, ecx
xor esi, edx
not esi
lea esi, [edi + esi*2]
not edx
add esi, edx
or edx, ecx
lea ecx, [edx + edx*2]
sub esi, ecx
add esi, 0xa
cmp dword [0x10086b94], esi
setl cl
setge ch
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
and ch, al
mov ah, cl
or ah, al
add ah, ch
add ah, dl
and cl, al
not cl
add cl, ah
test cl, 1
jne 0x100657e0
jmp 0x10065855
cmp eax, 0xf6cc037d
je 0x10066dc0
nop word cs:[eax + eax]
nop dword [eax + eax]
mov eax, dword [0x10086b90]
mov ecx, dword [0x10085294]
mov edx, dword [0x10085298]
mov esi, ecx
xor esi, edx
mov edi, ecx
or edi, edx
not edi
add edi, esi
and ecx, edx
add ecx, edi
add ecx, 0xb
cmp dword [0x10086b8c], ecx
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
je 0x10065650
jmp 0x10066480
mov eax, dword [0x100853ec]
mov ecx, dword [0x100853f0]
mov edx, eax
not edx
mov esi, edx
and esi, ecx
or eax, ecx
not eax
add eax, esi
sub eax, edx
add eax, 0x67f0c6ec
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
cmp dword [0x10086b88], 0xa
mov eax, dword [0x10086b84]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
mov edx, ecx
and dl, al
or cl, al
add cl, dl
not dl
add dl, cl
test dl, 1
je 0x10066480
mov eax, dword [0x1008547c]
mov edx, dword [0x10085480]
mov ecx, edx
not ecx
mov esi, eax
and esi, ecx
lea esi, [esi + esi*2]
xor edx, eax
not edx
lea edx, [edx + edx*2]
add edx, esi
or ecx, eax
lea eax, [ecx + ecx*2]
sub edx, eax
add edx, 0x67f0c6ec
mov eax, dword [ebp - 0x10]
mov dword [eax], edx
jmp 0x100656a0
mov eax, dword [ebx]
cmp eax, 0x629217c2
mov eax, 0x25329b18
mov ecx, 0xd1c665e7
cmove eax, ecx
mov esi, dword [0x10086b80]
cmp dword [0x10086b7c], 0xa
setl byte [ebp - 0x14]
lea edx, [esi - 1]
imul edx, esi
mov edi, dword [0x10085318]
mov esi, edi
not esi
mov ecx, dword [0x10085314]
mov ebx, ecx
and ebx, esi
lea ebx, [ebx + ebx*2]
xor edi, ecx
not edi
lea edi, [edi + edi*2]
add edi, ebx
mov ebx, dword [ebp - 0x20]
or esi, ecx
lea ecx, [esi + esi*2]
sub edi, ecx
and edx, 1
cmp edx, edi
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
sete al
or al, byte [ebp - 0x14]
jne 0x10066480
mov eax, dword [ebx]
mov ecx, dword [0x10085454]
mov edx, dword [0x10085458]
mov esi, edx
not esi
and esi, ecx
add esi, edx
or ecx, edx
sub esi, ecx
add esi, 0x629217c2
cmp eax, esi
mov eax, 0x25329b18
mov ecx, 0xd1c665e7
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10065730
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebx], eax
mov eax, dword [0x100852b4]
mov ecx, dword [0x100852b8]
mov edx, ecx
not edx
or edx, ecx
and edx, eax
sub edx, eax
add edx, 0xbba5aed2
mov eax, dword [ebp - 0x10]
mov dword [eax], edx
mov eax, dword [0x100852bc]
mov ecx, dword [0x100852c0]
mov edx, eax
or edx, ecx
not edx
lea edx, [eax + edx*2]
xor eax, ecx
add eax, edx
add eax, ecx
add eax, 0xc
cmp dword [0x10086b78], eax
mov ecx, dword [0x10086b74]
setl al
lea edx, [ecx - 1]
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
add dl, cl
mov ah, al
xor ah, cl
add ah, dl
or al, cl
add al, ah
test al, 1
jne 0x10066480
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebx], eax
mov eax, dword [0x10085444]
mov ecx, dword [0x10085448]
mov edx, eax
not edx
and edx, ecx
add edx, eax
or eax, ecx
sub edx, eax
add edx, 0xbba5aed2
mov eax, dword [ebp - 0x10]
mov dword [eax], edx
jmp 0x100657e0
mov eax, dword [ebx]
cmp eax, 0x629217c2
mov ecx, 0x39d392b0
mov eax, 0xdc3909a
cmovl ecx, eax
mov dword [ebp - 0x14], ecx
mov esi, dword [0x100852e4]
mov ecx, dword [0x100852e8]
mov edx, esi
and edx, ecx
mov edi, esi
not edi
and edi, ecx
not ecx
or ecx, esi
mov ebx, dword [0x10086b70]
sub edi, edx
add ecx, edi
add ecx, edx
add ecx, 0xb
cmp dword [0x10086b6c], ecx
setl cl
setge dl
lea esi, [ebx + 1]
imul esi, ebx
mov edi, dword [0x100852ec]
mov ebx, edi
not ebx
mov eax, dword [0x100852f0]
and ebx, eax
and edi, eax
not eax
add eax, ebx
mov ebx, dword [ebp - 0x20]
add eax, edi
add eax, 1
and esi, 1
cmp esi, eax
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
mov dword [eax], esi
setne al
sete ah
and dl, ah
mov ch, cl
or ch, ah
add ch, dl
add ch, al
and cl, ah
not cl
add cl, ch
test cl, 1
jne 0x10066480
mov eax, dword [ebx]
mov ecx, dword [0x1008544c]
mov edx, dword [0x10085450]
mov esi, edx
not esi
and esi, ecx
sub esi, ecx
not ecx
sub esi, ecx
or ecx, edx
add ecx, esi
add ecx, 0x629217c2
cmp eax, ecx
mov eax, 0x39d392b0
mov ecx, 0xdc3909a
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10065890
mov eax, dword [ebx]
mov ecx, dword [0x1008532c]
mov edx, dword [0x10085330]
mov esi, edx
not esi
and esi, ecx
not ecx
or ecx, edx
add ecx, esi
add ecx, 0x4dc5dd1e
cmp eax, ecx
mov eax, 0x25329b18
mov ecx, 0xf6cc037d
cmove eax, ecx
mov ecx, dword [0x10085334]
mov edx, dword [0x10085338]
mov esi, ecx
and esi, edx
mov edi, ecx
xor edi, edx
add edi, esi
mov esi, dword [0x10086b68]
or ecx, edx
sub edi, ecx
add edi, 0xa
cmp dword [0x10086b64], edi
setl byte [ebp - 0x14]
lea edx, [esi - 1]
imul edx, esi
mov esi, dword [0x1008533c]
mov edi, esi
not edi
mov ebx, dword [0x10085340]
mov ecx, edi
and ecx, ebx
or esi, ebx
mov ebx, dword [ebp - 0x20]
not esi
add esi, ecx
sub esi, edi
and edx, 1
cmp edx, esi
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
sete al
or al, byte [ebp - 0x14]
jne 0x10066480
mov eax, dword [ebx]
cmp eax, 0x4dc5dd1d
mov eax, 0x25329b18
mov ecx, 0xf6cc037d
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10065970
mov esi, dword [0x10086b60]
cmp dword [0x10086b5c], 0xa
setl ch
setge cl
mov edx, esi
not edx
add edx, esi
add edx, esi
add edx, 2
imul edx, esi
mov eax, dword [0x10085364]
mov edi, dword [0x10085368]
mov ebx, edi
not ebx
and ebx, eax
mov esi, eax
not esi
and esi, edi
add esi, esi
lea esi, [esi + ebx*2]
xor eax, edi
add eax, eax
sub esi, eax
and edx, 1
cmp edx, esi
setne al
sete dl
and cl, dl
or dl, ch
add dl, cl
or al, ch
add al, dl
mov ecx, dword [ebp - 0x10]
mov dword [ecx], 0x7badd9c3
add al, 1
test al, 1
jne 0x10066480
mov eax, dword [0x10085464]
mov ecx, dword [0x10085468]
mov edx, eax
not edx
and edx, ecx
lea edx, [eax + edx*2]
sub edx, ecx
sub edx, ecx
xor eax, ecx
not eax
add eax, edx
add eax, ecx
add eax, 0x7badd9c4
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10065a30
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xcb0ca208
mov eax, dword [0x10085384]
or eax, dword [0x10085388]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10086b58], eax
mov eax, dword [0x10086b54]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
mov edx, ecx
and dl, al
xor cl, al
not cl
not dl
add dl, cl
test dl, 1
jne 0x10066480
mov ecx, dword [0x1008546c]
mov edx, dword [0x10085470]
mov eax, ecx
xor eax, ecx
not eax
and eax, edx
xor eax, ecx
xor ecx, edx
sub eax, ecx
add eax, 0xcb0ca208
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10065ad0
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
mov dword [ebp - 0x1c], edx
cmp ecx, dword [ebp + 0x10]
mov eax, 0
cmovae ecx, eax
mov edi, ecx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp + 8]
movzx edx, byte [eax + edx + 8]
mov dword [ebp - 0x2c], edx
xor eax, eax
mov ecx, dword [ebp - 0x18]
sub eax, dword [ecx]
lea ecx, [eax + eax]
sub eax, ecx
add eax, edx
imul eax, eax, 0xea72b6e3
lea ecx, [eax - 1]
mov edx, ecx
and edx, 0xe29f6a90
sub edx, eax
neg eax
xor eax, 0x1d60956f
add eax, edx
or ecx, 0xe29f6a90
sub eax, ecx
imul edx, eax, 0x8b55c135
mov ecx, edx
and ecx, 0x6c59fa21
imul eax, eax, 0xa201439f
sub eax, ecx
mov esi, edx
mov ebx, edx
mov dword [ebp - 0x24], edx
not esi
add eax, esi
mov ecx, esi
or ecx, 0x6c59fa21
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x6c59fa23
mov ecx, eax
and ecx, 0x93a605de
add ecx, edx
add ecx, 0x6c59fa23
mov edx, eax
xor edx, 0x6c59fa21
sub ecx, edx
mov edx, eax
or edx, 0x6c59fa21
add edx, ecx
sub edx, eax
mov dword [ebp - 0x40], edx
mov ecx, esi
and ecx, 0x86408b7a
mov edx, esi
mov dword [ebp - 0x38], esi
and edx, 0x79bf7485
mov eax, ebx
or eax, esi
and eax, 0x86408b7a
or eax, edx
sub edx, ecx
mov ecx, esi
or ecx, 0x79bf7485
add ecx, edx
add ecx, 0x86408b7b
sub eax, esi
mov edx, ecx
or edx, eax
mov esi, ecx
not ecx
or ecx, eax
not eax
and esi, eax
lea esi, [esi + esi*2]
sub esi, edx
add eax, eax
sub esi, eax
add ecx, esi
add ecx, 0xffffffff
mov eax, ecx
xor eax, 0x86408b7a
mov edx, dword [ebp + 0xc]
movzx edi, byte [edx + edi]
mov dword [ebp - 0x3c], edi
not edi
mov esi, eax
xor esi, edi
mov ebx, esi
sub ebx, edi
sub ebx, edi
mov edx, eax
or edx, edi
add edx, ebx
add edx, esi
xor ecx, 0x79bf7485
sub edx, ecx
or ecx, edi
lea ecx, [ecx + ecx*2]
lea esi, [edx + ecx]
add esi, 2
mov ecx, esi
and ecx, eax
mov ebx, esi
or ebx, eax
mov edx, ecx
sub edx, ebx
not ebx
add ebx, ebx
sub edx, ebx
xor eax, esi
not eax
add eax, edx
not ecx
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xffffffff
mov esi, dword [ebp - 0x40]
lea ecx, [esi - 0x6c59fa21]
and eax, ecx
add eax, esi
add eax, 0x93a605df
neg edx
or edx, ecx
sub eax, edx
mov ecx, eax
not ecx
and ecx, 0x2acbd528
add ecx, ecx
lea ecx, [ecx + eax*2]
xor eax, 0xd5342ad7
lea edx, [ecx + eax]
add ecx, eax
add ecx, 1
mov eax, ecx
and eax, edi
add edx, eax
add edx, 1
mov eax, ecx
not eax
mov ebx, dword [ebp - 0x3c]
and eax, ebx
add eax, edx
add eax, ebx
xor ecx, ebx
sub eax, ecx
mov ecx, eax
and ecx, 0x2acbd528
lea edx, [ecx + ecx*2]
lea esi, [eax + eax]
sub esi, edx
xor eax, 0xd5342ad7
add eax, esi
add eax, ecx
mov ecx, edi
and ecx, 0xa6bad1b4
mov edx, ebx
xor edx, 0x59452e4b
add edx, ecx
and ebx, 0x4b
add edx, ebx
add ecx, edx
add ecx, 1
or ecx, ebx
mov edx, ecx
and edx, 0x59452e4b
mov esi, ecx
xor esi, 0x59452e4b
lea esi, [esi + edx*2]
or ecx, 0x59452e4b
sub esi, ecx
sub esi, ecx
not ecx
add ecx, ecx
sub esi, ecx
not edx
lea ecx, [esi + edx*2]
mov esi, dword [ebp - 0x24]
mov edx, esi
and edx, edi
or edi, dword [ebp - 0x38]
add edx, edi
not edi
add edi, edx
sub edi, esi
lea edx, [edi + edi]
add edi, edx
sub edi, edx
mov edx, edi
not edx
add edx, edi
lea esi, [edx + edi]
add edx, edi
add edx, 1
lea edi, [edx + edx]
not edx
lea ebx, [edx + edx*2]
sub edi, ebx
add esi, esi
add esi, 2
sub edi, esi
lea esi, [edi + edx*2]
mov edx, 1
sub edx, esi
lea esi, [eax + ecx]
add eax, ecx
add eax, 0x99daa082
mov ecx, eax
not ecx
and ecx, edx
add ecx, esi
add ecx, 0x99daa082
and edx, eax
add edx, ecx
mov eax, edx
not eax
mov ecx, eax
and ecx, 0x66255f7f
sub edx, ecx
or eax, 0x99daa080
add eax, edx
imul ecx, eax, 0x8e46520b
lea eax, [ecx + 0x641de2f5]
mov edx, eax
xor edx, 0x2b5c2626
add edx, ecx
add edx, 0x641de2f5
mov ecx, eax
or ecx, 0xd4a3d9d9
sub edx, ecx
not eax
mov ecx, eax
or ecx, 0x2b5c2626
add ecx, edx
add eax, eax
or eax, 0xa947b3b2
sub ecx, eax
lea eax, [ecx + 0x7deb8d8c]
mov edx, eax
not edx
and edx, 0x7a9854a2
lea ecx, [edx + ecx*2]
add ecx, 0xfbd71b18
or eax, 0x7a9854a2
sub ecx, eax
imul eax, ecx, 0xc60229a3
mov ecx, 0xf1eb9fce
sub ecx, eax
mov eax, ecx
not eax
lea edx, [eax + eax*2]
mov eax, edx
sub eax, ecx
sub eax, edx
mov ecx, eax
xor ecx, 0xffffff00
movzx esi, al
add esi, ecx
mov edx, eax
not edx
mov ebx, edx
or ebx, 0xffffff00
lea edi, [esi + ebx]
mov dword [ebp - 0x24], edi
lea edi, [ebx + esi]
add edi, 1
mov esi, edi
and esi, eax
mov ebx, edi
and ebx, edx
sub esi, ebx
mov ebx, dword [ebp - 0x24]
add ebx, esi
add ebx, 1
mov esi, edi
xor esi, eax
add esi, ebx
or edi, eax
sub esi, edi
mov ebx, eax
xor ebx, 0xff
mov edi, ebx
and ebx, edx
and edi, eax
add ebx, ebx
sub edi, ebx
or ecx, eax
add ecx, ecx
sub edi, ecx
lea ecx, [edi + esi*2]
lea edx, [edi + esi*2]
add edx, 0xfffffffe
lea esi, [ecx + ecx]
add esi, 0xfffffffc
mov ecx, esi
sub ecx, edx
sub ecx, esi
mov edx, ecx
or edx, eax
add edx, ecx
not ecx
or ecx, eax
add ecx, edx
imul eax, ecx, 0xff3a9c25
lea ecx, [eax - 0x6c6c74bf]
or ecx, 0x5a20efe5
add eax, ecx
add eax, 0x93938b41
not ecx
add ecx, eax
imul eax, ecx, 0xac33e053
lea ecx, [eax + 0x5d690792]
and ecx, 0xdd72d53
add eax, ecx
add eax, 0x5d690792
not ecx
lea edx, [eax + ecx]
lea eax, [ecx + eax - 0xdd72d52]
mov dword [ebp - 0x24], eax
mov esi, dword [ebp + 8]
mov al, byte [esi + edx - 0xdd72d4a]
mov ecx, dword [ebp - 0x1c]
mov byte [esi + ecx + 8], al
mov eax, dword [ebp - 0x2c]
mov byte [esi + edx - 0xdd72d4a], al
lea eax, [ecx + ecx]
lea edx, [ecx + ecx]
add edx, 0x1c982c94
xor edx, 0xe367d36b
lea edx, [edx + eax*2]
add edx, 0x39305928
add eax, eax
add eax, 0x39305928
or eax, 0xc6cfa6d6
sub edx, eax
lea eax, [edx - 0x42086914]
xor eax, 0xfffffffe
lea eax, [eax + edx*2]
add eax, 0x7bef2dd8
add edx, edx
add edx, 0x7bef2dd8
or edx, 0xfffffffc
sub eax, edx
lea edx, [eax - 1]
and edx, 0xf727f015
lea edi, [eax + eax - 2]
sub edi, edx
sub edi, edx
neg eax
or eax, 0xf727f015
add eax, edi
lea esi, [eax + edx]
mov dword [ebp - 0x2c], esi
lea esi, [edx + eax]
add esi, 0x8d80fec
mov edx, ecx
not edx
mov edi, edx
and edi, 1
mov ebx, ecx
xor ebx, 1
add ebx, edi
mov edi, ecx
and edi, 1
add ebx, edi
add ebx, 0xffffffff
or ebx, edi
mov eax, ebx
and eax, 0x3b409650
mov edi, ebx
and edi, 0x44bf69af
add edi, edi
sub eax, edi
mov edi, ebx
or ebx, 0x3b409650
add eax, ebx
lea ecx, [ebx + eax]
add ecx, 0x897ed360
not edi
and edi, 0xc4bf69af
mov ebx, ecx
not ebx
and ebx, edi
mov eax, edi
or eax, ecx
sub eax, ebx
not edi
or edi, ecx
not edi
add edi, eax
mov eax, edi
and eax, 0x3b409650
sub eax, edi
mov ecx, edi
xor ecx, 0x3b409650
add ecx, eax
or edi, 0x3b409650
add edi, ecx
mov eax, esi
and eax, 0xb0193d8c
mov ecx, dword [ebp - 0x2c]
add eax, ecx
add eax, 0x8d80fec
mov ecx, esi
xor ecx, 0x4fe6c273
sub eax, ecx
mov ebx, esi
or ebx, 0x4fe6c273
add ebx, eax
sub ebx, esi
lea eax, [ebx + ebx]
add eax, 0x9fcd84e6
lea eax, [eax + edi*2]
add ebx, 0x4fe6c273
not ebx
lea esi, [eax + ebx]
lea ecx, [ebx + eax]
add ecx, 0x399810ee
mov eax, edx
and eax, 0x4c10a791
mov edi, edx
and edi, 0xb3ef586e
lea ebx, [edi + edi*2]
add ebx, eax
add edx, edx
or edx, 0x98214f22
sub ebx, edx
mov edx, dword [ebp - 0x1c]
mov eax, edx
or eax, 0x4c10a791
lea edi, [ebx + eax]
add eax, ebx
add eax, 0x98214f23
mov ebx, edx
and ebx, 0xb3ef586e
mov edx, eax
and edx, ebx
or eax, ebx
add eax, edx
mov edx, 0x67deb0dc
sub edx, edi
sub eax, edi
or edx, ebx
sub eax, edx
mov edx, ecx
not edx
and edx, 0x49646cc2
add edx, edx
lea edx, [edx + esi*2]
add edx, 0x733021dc
xor ecx, 0xb69b933d
lea edi, [edx + ecx]
lea esi, [ecx + edx]
add esi, 1
add eax, 0x67deb0dc
mov edx, eax
xor edx, 0x4c10a790
xor eax, 0xb3ef586f
lea ecx, [eax + edx]
add eax, ecx
mov ebx, esi
and ebx, eax
add edi, ebx
add edi, 1
not eax
mov ebx, esi
not ebx
and ebx, eax
add ebx, edi
sub edx, ecx
add edx, ebx
xor eax, esi
sub edx, eax
mov eax, edx
and eax, 0x49646cc2
lea ecx, [eax + eax*2]
lea esi, [edx + edx]
sub esi, ecx
xor edx, 0xb69b933d
add edx, esi
lea ecx, [edx + eax]
add eax, edx
add eax, 1
mov edx, eax
and edx, 1
add ecx, edx
add ecx, 1
not eax
mov edx, eax
and edx, 0xfffffffe
sub ecx, edx
add ecx, eax
imul eax, ecx, 0xa8b98835
mov ecx, 0x97dfb416
sub ecx, eax
lea eax, [ecx + ecx*2]
not ecx
lea eax, [eax + ecx*2]
neg eax
imul ecx, eax, 0x69338a1d
lea eax, [ecx - 0x2f8ed4db]
mov edx, eax
not edx
and edx, 0xef50320
add ecx, edx
add ecx, 0xd0712b25
and eax, 0xef50320
add eax, ecx
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x14]
lea esi, [edx + edx*2]
sub esi, edx
sub esi, edx
mov ebx, edx
not ebx
mov dword [ebp - 0x2c], ebx
mov ecx, edx
and ecx, 0x4c3fcdb5
mov edi, ebx
or edi, 0xb3c0324a
add edi, ecx
mov ecx, ebx
and ecx, 0x4c3fcdb5
lea eax, [ecx + edi]
add eax, 1
and edx, 0xb3c0324a
mov ecx, eax
not ecx
and ecx, edx
mov edi, eax
or edi, edx
add edi, ecx
and eax, edx
not edx
add edx, edi
add eax, edx
add eax, 1
mov ecx, eax
not ecx
mov edi, ecx
and edi, 0xb3c0324a
xor eax, 0xb3c0324a
sub eax, edi
or ecx, 0x4c3fcdb5
add eax, ecx
add eax, 0xb3c0324b
mov ecx, eax
not ecx
add ecx, ecx
mov edi, ecx
sub edi, eax
sub edi, ecx
mov eax, edi
neg eax
and eax, 0xfffffffe
add eax, edi
add eax, 0xffffffff
lea ecx, [eax + eax*2]
add eax, ecx
sub ecx, eax
lea eax, [esi + ecx]
add ecx, esi
add ecx, 0x975ac71c
mov esi, ecx
not esi
and esi, 1
add eax, esi
add eax, 0x975ac71c
or ecx, 0xfffffffe
lea esi, [eax + ecx]
add eax, ecx
add eax, 2
mov ecx, eax
and ecx, 0x68a538e2
add ecx, esi
add ecx, 2
not eax
or eax, 0x975ac71d
lea esi, [ecx + eax]
add eax, ecx
add eax, 0x68a538e4
mov edx, dword [ebp - 0x2c]
mov ecx, edx
mov ebx, dword [ebp - 0x14]
or ecx, ebx
and ecx, 0xfffffffe
mov edi, ebx
and edi, 1
or edi, ecx
lea ecx, [esi + esi]
add ecx, 0xd14a71c8
mov esi, ecx
sub esi, eax
sub esi, ecx
mov eax, ebx
sub eax, edi
mov ecx, esi
or ecx, eax
add ecx, esi
not esi
or esi, eax
add esi, ecx
mov ecx, edx
and ecx, 0x5eec586c
mov eax, ebx
and eax, 0xa113a793
or eax, ecx
mov edx, eax
and edx, 0xa113a793
xor eax, 0xa113a793
add eax, edx
not edx
add edx, eax
mov eax, 0x57e7e5ee
sub eax, esi
not edx
lea ecx, [edx + eax*2]
sub ecx, eax
mov eax, ecx
not eax
and eax, 0xa8181a10
lea eax, [eax + ecx*2]
or ecx, 0xa8181a10
sub eax, ecx
imul eax, eax, 0x5deff0df
mov ecx, 0x77b25b31
sub ecx, eax
and ecx, 0xd76cf57e
sub ecx, eax
add eax, 0x884da4ce
and eax, 0xd76cf57e
add eax, ecx
add eax, 0x77b25b31
mov ecx, eax
not ecx
mov edx, ecx
sub edx, eax
add edx, ecx
add ecx, ecx
sub edx, ecx
mov ebx, dword [0x1008521c]
lea eax, [ebx + ebx]
add eax, ebx
mov edi, ebx
not edi
add eax, edi
add eax, edi
mov esi, 0xfffffffe
sub esi, eax
mov eax, ebx
and eax, 0x5ed69ec6
add eax, eax
sub eax, ebx
or ebx, 0xded69ec6
lea ecx, [eax + ebx]
add ebx, eax
add ebx, 0x2129613a
and edi, 0x21296139
mov eax, edi
and eax, ebx
add ecx, ecx
add ecx, 0x4252c274
sub ecx, eax
mov eax, edi
or eax, ebx
add eax, ecx
not ebx
add eax, ebx
or ebx, edi
add eax, ebx
add eax, 2
mov ecx, eax
and ecx, 0x21296139
mov edi, eax
or edi, 0xded69ec6
add edi, ecx
sub edi, eax
mov eax, esi
and eax, edi
sub eax, edi
or esi, edi
add esi, eax
sub esi, edi
lea eax, [esi + esi*2]
not esi
lea eax, [eax + esi*2]
neg eax
imul eax, eax, 0xaf9a38cf
lea esi, [eax - 0x49d307cf]
mov ecx, esi
or ecx, 0xe581ddc7
add eax, ecx
add eax, 0xb62cf831
mov ecx, esi
xor ecx, 0xe581ddc7
add ecx, eax
not esi
sub ecx, esi
or esi, 0xe581ddc7
lea eax, [esi + esi*2]
add eax, ecx
imul eax, eax, 0x9c4831d1
lea ecx, [eax - 0x62c30fc3]
mov esi, ecx
not esi
and esi, 0x218ed989
lea eax, [esi + eax*2]
add eax, 0x3a79e07a
or ecx, 0x218ed989
sub eax, ecx
imul ecx, edx, 0x3d2fcb1f
add ecx, 0x94fea442
add eax, 0xde712677
mov esi, dword [ebp - 0x1c]
cmp esi, eax
mov eax, 0x629217c2
mov edx, 0x4dc5dd1d
cmove eax, edx
mov edx, dword [ebp - 0x34]
mov dword [edx], eax
mov eax, dword [ebp - 0x30]
mov dword [eax], esi
mov eax, dword [ebp - 0x28]
mov dword [eax], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov dword [eax], ecx
mov eax, dword [0x100853a4]
mov ecx, dword [0x100853a8]
mov edx, ecx
not edx
and edx, eax
add edx, ecx
or eax, ecx
sub edx, eax
add edx, 0xcb0ca208
mov eax, dword [ebp - 0x10]
mov dword [eax], edx
mov edx, dword [0x10086b50]
cmp dword [0x10086b4c], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x100853b4]
mov esi, dword [0x100853b8]
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
sete dl
mov ecx, eax
and cl, dl
mov ah, cl
add ah, al
add ah, dl
mov ch, al
or ch, dl
add ch, ah
xor al, dl
not al
add al, ch
not cl
add cl, al
test cl, 1
je 0x100664d6
nop word cs:[eax + eax]
nop dword [eax]
mov edx, dword [0x10086b48]
cmp dword [0x10086b44], 0xa
setl al
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
add ecx, 0xc74a0edc
imul ecx, edx
mov edx, dword [0x1008541c]
mov esi, dword [0x10085420]
mov edi, edx
not edi
and edi, esi
lea ebx, [esi + esi]
sub ebx, edi
and edx, esi
not esi
add esi, ebx
not edx
add edx, esi
add edx, 2
and ecx, 1
cmp ecx, edx
sete cl
or cl, al
je 0x10066480
jmp 0x10065260
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
cmp ecx, dword [ebp + 0x10]
mov eax, 0
cmovae ecx, eax
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp + 8]
movzx eax, byte [eax + ecx + 8]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x18]
add eax, dword [ecx]
imul eax, eax, 0xea72b6e3
lea ecx, [eax + eax*2]
not eax
lea eax, [ecx + eax*2]
mov ecx, 0xfffffffe
sub ecx, eax
mov eax, ecx
and eax, 0xe29f6a90
lea edx, [ecx + ecx*2]
sub edx, eax
mov eax, ecx
xor eax, 0x1d60956f
lea eax, [edx + eax*2]
or ecx, 0x1d60956f
lea ecx, [ecx + ecx*2]
sub eax, ecx
imul eax, eax, 0x8b55c135
lea ecx, [eax + 0x74aa3ecb]
mov edx, ecx
not edx
and edx, 0xac279fd0
add eax, edx
add eax, 0x74aa3ecb
and ecx, 0xac279fd0
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xa7b0c060
mov ecx, eax
and ecx, 0x6c59fa21
add edx, ecx
add edx, 0xa7b0c060
not ecx
lea esi, [edx + ecx]
lea ecx, [ecx + edx + 0x6c59fa22]
mov edx, ecx
not edx
mov edi, edx
and edi, 0x6c59fa21
lea edi, [edi + edi*2]
add esi, esi
add esi, 0xd8b3f444
mov ebx, esi
sub ebx, edi
or ecx, 0x6c59fa21
add ecx, ebx
or esi, 0x274c0bbc
sub ecx, esi
lea ecx, [ecx + edx*2]
mov dword [ebp - 0x24], ecx
mov ecx, eax
mov dword [ebp - 0x38], eax
mov ebx, eax
not ebx
and ecx, 0x79bf7485
mov edx, ebx
or edx, 0x86408b7a
add edx, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
movzx edi, byte [eax + ecx]
mov ecx, edi
not ecx
lea esi, [ecx + ecx]
or ecx, ebx
mov dword [ebp - 0x40], ecx
and ebx, 0x79bf7485
lea eax, [ebx + edx]
add eax, 1
mov ecx, dword [ebp - 0x38]
and ecx, 0x86408b7a
mov ebx, eax
not ebx
and ebx, ecx
mov edx, eax
or edx, ecx
add edx, ebx
and eax, ecx
not ecx
add ecx, edx
add eax, ecx
add eax, 1
mov edx, eax
not edx
mov ebx, edx
and ebx, 0x86408b7a
xor eax, 0x86408b7a
sub eax, ebx
or edx, 0x79bf7485
lea ebx, [eax + edx]
add eax, edx
add eax, 0x86408b7b
mov ecx, esi
mov dword [ebp - 0x3c], esi
sub esi, edi
not ecx
add ecx, esi
mov edx, eax
not edx
and edx, ecx
add edx, ebx
add edx, 0x86408b7b
mov ebx, eax
xor ebx, ecx
add ebx, edx
or ecx, eax
sub ebx, ecx
and ebx, eax
add ebx, dword [ebp - 0x24]
lea ecx, [edi + ebx]
add ecx, 0xbe71db07
add ebx, edi
mov eax, ecx
and eax, 0x2acbd528
lea eax, [ebx + eax*2]
add eax, 0xbe71db07
mov edx, ecx
not edx
and edx, 0x55342ad7
lea eax, [eax + edx*2]
xor ecx, 0x55342ad7
add ecx, ecx
sub eax, ecx
mov edx, dword [ebp - 0x3c]
lea ecx, [edi + edx]
add ecx, 1
add edx, edi
not ecx
or ecx, 0xa6bad1b4
add ecx, edx
add ecx, 2
mov edx, edi
and edx, 0x4b
mov ebx, edi
and ebx, 0xffffffb4
sub edx, ebx
add edx, edi
mov ebx, edi
xor ebx, 0x59452e4b
add ebx, edx
or edi, 0x59452e4b
sub ebx, edi
or ebx, ecx
mov ecx, ebx
not ecx
mov edx, ecx
and edx, 0x59452e4b
xor ebx, 0x59452e4b
add ebx, edx
mov edx, ecx
and edx, 0xa6bad1b4
add edx, ebx
sub edx, ecx
lea ecx, [eax + edx]
add eax, edx
add eax, 0xd5342ad8
mov esi, dword [ebp - 0x40]
mov edx, esi
not edx
lea edx, [esi + edx*2]
add edx, 1
not edx
mov esi, edx
neg esi
lea edi, [edx - 1]
or esi, edi
or eax, 0x66255f7f
add ecx, eax
add ecx, 0xd5342ad8
not eax
add eax, ecx
add eax, 0x99daa082
and eax, esi
sub eax, edx
mov ecx, eax
and ecx, 0x66255f7f
add eax, ecx
not ecx
add ecx, eax
imul eax, ecx, 0x8e46520b
lea ecx, [eax + 0x4dd5f45a]
not ecx
lea edx, [ecx + eax*2]
add edx, 0x9babe8b4
lea eax, [ecx + eax*2]
add eax, 0x16443d57
mov ecx, eax
not ecx
and ecx, 0xd4a3d9d9
lea ecx, [ecx + edx*2]
add ecx, 0xf530a946
or eax, 0xd4a3d9d9
sub ecx, eax
imul eax, ecx, 0xc60229a3
mov ecx, 0xf1eb9fce
sub ecx, eax
and ecx, 0x69cfd526
sub ecx, eax
add eax, 0xe146031
and eax, 0x69cfd526
add ecx, eax
add ecx, 0xf1eb9fce
mov edx, ecx
not edx
mov eax, edx
sub eax, ecx
add eax, edx
add edx, edx
sub eax, edx
mov ecx, eax
xor ecx, 0xffffff00
and ecx, eax
mov edi, eax
xor edi, 0xff
mov edx, edi
and edx, eax
or edx, ecx
mov esi, eax
not esi
add edx, esi
add edx, ecx
lea ecx, [edx + edx]
add ecx, 2
not ecx
lea ebx, [ecx + edx*2 + 2]
lea edx, [ebx + ecx]
add ecx, ebx
add ecx, 2
mov ebx, eax
and ebx, 0x7fffff00
add ebx, ebx
sub edi, ebx
mov ebx, eax
or ebx, 0xff
add edi, ebx
add edi, ebx
add edi, 0xfffffe02
mov ebx, edi
and ebx, eax
and esi, edi
sub esi, ebx
not edi
or edi, eax
add esi, edi
add esi, 1
xor edx, 0xfffffffe
mov edi, esi
not edi
and edi, edx
sub edi, ecx
sub edi, esi
mov ebx, edx
xor ebx, esi
sub edi, ebx
or esi, edx
add esi, edi
lea edi, [ecx + esi]
add edi, 0xffffffff
add ecx, esi
sub edx, esi
mov esi, edi
and esi, eax
add edx, esi
neg ecx
add edx, eax
or ecx, eax
not ecx
add ecx, edx
sub ecx, edi
lea eax, [ecx + ecx*2]
not ecx
lea eax, [eax + ecx*2]
neg eax
imul eax, eax, 0xc563db
lea ecx, [eax - 0x18ac7b6]
mov edx, ecx
and edx, 0x5a20efe5
add edx, eax
add edx, 0xfe75384a
not ecx
add edx, ecx
or ecx, 0x5a20efe5
sub edx, ecx
lea eax, [edx - 0x6ba710e4]
mov ecx, eax
or ecx, 0x5a20efe5
add ecx, edx
add ecx, 0x9458ef1c
mov edx, eax
xor edx, 0x5a20efe5
add edx, ecx
not eax
sub edx, eax
or eax, 0x5a20efe5
lea eax, [eax + eax*2]
add eax, edx
imul eax, eax, 0xac33e053
lea ecx, [eax - 0x58cd6699]
mov edx, ecx
not edx
and edx, 0xdd72d53
lea edx, [edx + eax*2]
add edx, 0x4e6532ce
or ecx, 0xdd72d53
sub edx, ecx
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp + 8]
mov al, byte [ecx + edx - 0xdd72d4b]
mov esi, dword [ebp - 0x1c]
mov byte [ecx + esi + 8], al
mov eax, dword [ebp - 0x2c]
mov byte [ecx + edx - 0xdd72d4b], al
lea eax, [esi + esi]
add eax, 0x1c982c94
mov ecx, eax
and ecx, 0xe367d36a
lea ecx, [ecx + esi*2]
add ecx, 0x1c982c94
mov edi, esi
not eax
mov edx, eax
and edx, 0x1c982c94
sub ecx, edx
lea esi, [ecx + eax]
lea edx, [ecx + eax]
add edx, 0xf727f017
mov ecx, edx
and ecx, 0xf727f014
lea eax, [esi + ecx*2]
add eax, 0xf727f017
or edx, 0xf727f015
sub eax, edx
sub eax, edx
not edx
add edx, edx
sub eax, edx
not ecx
lea edx, [eax + ecx*2]
mov dword [ebp - 0x2c], edx
lea ecx, [eax + ecx*2]
add ecx, 0x8d80feb
mov edx, edi
mov esi, edi
and esi, 1
xor edi, 1
mov eax, esi
not eax
and eax, edi
mov ebx, esi
or ebx, edi
add ebx, eax
xor edx, 0xfffffffe
add edx, ebx
and edi, esi
lea eax, [edi + edx]
add eax, 1
mov esi, eax
not esi
or esi, eax
and esi, 0xc4bf69af
mov edi, eax
and edi, 0x3b409650
or esi, edi
sub esi, eax
mov eax, esi
xor eax, edi
lea ebx, [esi + edi]
sub ebx, eax
mov eax, esi
or eax, edi
add eax, ebx
and esi, edi
not esi
lea esi, [eax + esi*2]
add esi, 2
mov edi, ecx
not edi
mov eax, edi
and eax, 0x4fe6c273
lea eax, [eax + eax*2]
mov edx, dword [ebp - 0x2c]
add edx, edx
add edx, 0x11b01fd6
mov ebx, edx
sub ebx, eax
or ecx, 0x4fe6c273
add ecx, ebx
or edx, 0x60327b18
sub ecx, edx
lea edx, [ecx + edi*2]
lea ecx, [ecx + edi*2]
add ecx, 0x4fe6c273
xor esi, 0x3b409650
mov eax, ecx
not eax
lea edi, [esi + esi]
mov ebx, eax
and ebx, edi
add edx, ebx
add edx, 0x4fe6c273
lea edx, [edx + esi*2]
or ecx, edi
not ecx
add ecx, edx
sub ecx, eax
mov edi, dword [ebp - 0x1c]
mov eax, edi
not eax
mov edx, eax
or edx, edi
mov esi, eax
and esi, 0x4c10a791
and edx, 0x4c10a791
add edx, esi
add edx, 0xb3ef586f
and edi, 0xb3ef586e
and eax, 0xb3ef586e
mov esi, edi
sub esi, eax
not edi
add esi, edi
add esi, 0xb3ef586f
or esi, edx
mov edx, esi
xor edx, 0x4c10a790
add edx, edx
mov eax, esi
or esi, 0xb3ef586f
sub edx, esi
not eax
mov esi, eax
or esi, 0x4c10a790
add esi, edx
add eax, eax
or eax, 0x67deb0de
sub esi, eax
lea edx, [ecx + esi]
lea eax, [ecx + esi]
add eax, 0x615c5b2e
mov ecx, eax
and ecx, 0x49646cc2
lea ecx, [edx + ecx*2]
add ecx, 0x615c5b2e
mov edx, eax
not edx
and edx, 0x369b933d
lea ecx, [ecx + edx*2]
xor eax, 0x369b933d
add eax, eax
sub ecx, eax
lea eax, [ecx - 0x49646cc2]
mov edx, eax
not edx
and edx, 0xfffffffe
add ecx, edx
add ecx, 0xb69b933e
or eax, 1
add eax, ecx
imul eax, eax, 0xa8b98835
mov ecx, 0x466ca3ac
sub ecx, eax
not ecx
imul edx, ecx, 0x69338a1d
add edx, 0xc0bc97c
mov eax, edx
and eax, 0x710afcdf
add eax, eax
mov ecx, edx
sub ecx, eax
not edx
add edx, edx
or edx, 0x1dea0640
sub ecx, edx
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x14]
mov eax, edx
not eax
mov dword [ebp - 0x1c], eax
and eax, 0x4c3fcdb5
mov ecx, edx
and ecx, 0xb3c0324a
or ecx, eax
mov eax, ecx
xor ecx, 0x4c3fcdb5
mov esi, ecx
or esi, 0xfffffffe
add esi, ecx
xor eax, 0xb3c0324a
add eax, esi
add eax, 1
not eax
mov ebx, eax
sub ebx, eax
sub ebx, eax
add ebx, eax
add ebx, eax
mov esi, edx
sub esi, edx
sub esi, edx
mov eax, ebx
not eax
mov edi, eax
sub edi, ebx
add edi, eax
add eax, eax
sub edi, eax
mov eax, esi
and eax, edi
add eax, eax
sub eax, esi
add eax, edi
mov ecx, esi
xor ecx, edi
add ecx, eax
mov ebx, edi
not ebx
or ebx, esi
add ebx, ecx
not esi
or esi, edi
sub ebx, esi
mov esi, ebx
neg esi
mov eax, esi
and eax, 0x975ac71d
add esi, esi
sub esi, eax
sub esi, eax
add ebx, 0xffffffff
or ebx, 0x975ac71d
add ebx, esi
lea ecx, [ebx + eax]
lea esi, [eax + ebx]
add esi, 0x975ac71e
mov eax, esi
not eax
mov edi, eax
and edi, 1
add ecx, edi
add ecx, 0x975ac71e
xor esi, 0xfffffffe
add esi, ecx
or eax, 1
sub esi, eax
mov ecx, dword [ebp - 0x1c]
mov eax, ecx
mov edx, dword [ebp - 0x14]
or eax, edx
and eax, 0xfffffffe
or ecx, 0xfffffffe
add ecx, eax
mov eax, edx
xor eax, 0xfffffffe
lea edi, [ecx + eax]
add eax, ecx
add eax, 3
lea ebx, [edi + edi]
add ebx, 6
sub ebx, eax
mov edi, ebx
not edi
lea eax, [ebx + ebx]
mov dword [ebp - 0x38], eax
add edi, eax
mov ecx, 0x975ac71c
sub ecx, esi
not edi
lea eax, [esi + 0x68a538e3]
mov edx, eax
and edx, edi
sub edx, esi
sub ebx, dword [ebp - 0x38]
add ebx, edx
or edi, ecx
not edi
add edi, ebx
sub edi, eax
lea eax, [edi - 0x68a538e4]
not eax
lea ecx, [edi + edi*2]
add ecx, 0xc6105554
lea eax, [ecx + eax*2]
mov esi, 0xfffffffe
sub esi, eax
mov edx, dword [ebp - 0x14]
mov eax, edx
and eax, 0xa113a793
mov ecx, edx
or ecx, 0xa113a793
add ecx, eax
xor edx, 0xa113a793
add edx, ecx
mov eax, dword [ebp - 0x1c]
sub edx, eax
mov edi, eax
or eax, 0xa113a793
lea eax, [eax + eax*2]
add eax, edx
add eax, 0xbdd8b0dc
and edi, 0x5eec586c
mov ecx, edi
or ecx, eax
not ecx
add ecx, ecx
mov edx, edi
xor edx, eax
not edx
sub edx, ecx
and edi, eax
not edi
add edi, edx
mov ecx, edi
not ecx
and ecx, 0xa113a793
add ecx, edi
mov eax, edi
xor eax, 0xa113a793
add eax, ecx
mov ecx, esi
and ecx, 0xa8181a10
add ecx, esi
or esi, 0x57e7e5ef
sub ecx, esi
or edi, 0xa113a793
sub edi, eax
lea eax, [ecx + edi]
lea edx, [ecx + edi]
add edx, 0xafcfcbde
mov ecx, edx
not ecx
and ecx, 0x57e7e5ef
add ecx, ecx
lea eax, [ecx + eax*2]
add eax, 0x5f9f97bc
xor edx, 0xa8181a10
add edx, eax
mov edi, dword [0x1008521c]
mov ebx, edi
not ebx
lea esi, [ebx + ebx]
sub esi, edi
sub esi, ebx
sub esi, ebx
mov eax, ebx
and eax, 0x21296139
add ebx, eax
mov ecx, edi
xor ecx, 0xded69ec6
sub ebx, ecx
not eax
lea eax, [ebx + eax*2]
add eax, 0x2129613b
and edi, 0xded69ec6
or edi, eax
mov ebx, edi
not ebx
mov eax, ebx
and eax, 0xded69ec6
lea eax, [eax + eax*2]
mov ecx, edi
sub ecx, eax
mov eax, edi
xor eax, 0xded69ec6
add eax, ecx
mov ecx, edi
or ecx, 0xded69ec6
add ecx, eax
add edi, edi
or edi, 0x4252c272
sub ecx, edi
lea edi, [ecx + ebx*2]
mov ebx, esi
and ebx, edi
mov ecx, esi
sub ecx, ebx
mov eax, esi
not eax
and eax, edi
add eax, ecx
sub eax, edi
not edi
or edi, esi
add edi, eax
add edi, ebx
mov eax, edi
and eax, 0xffffff01
add eax, edi
or edi, 0xfe
sub eax, edi
imul eax, eax, 0x5065c731
lea ecx, [eax + 0x2ac2d39e]
mov esi, ecx
not esi
and esi, 0xe581ddc7
lea eax, [esi + eax*2]
add eax, 0x5585a73c
or ecx, 0xe581ddc7
sub eax, ecx
mov esi, dword [ebp - 0x2c]
add esi, 0xef5031e
imul ecx, edx, 0x5deff0df
add ecx, 0x6e8b3a7d
not ecx
imul ecx, ecx, 0xc2d034e1
add ecx, 0xc2d034e1
imul eax, eax, 0x9c4831d1
cmp esi, eax
mov eax, 0x629217c2
mov edx, 0x4dc5dd1d
cmove eax, edx
mov edx, dword [ebp - 0x34]
mov dword [edx], eax
mov eax, dword [ebp - 0x30]
mov dword [eax], esi
mov eax, dword [ebp - 0x28]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
add eax, 0xf228d2ad
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xcb0ca208
jmp 0x10065b50
mov edx, dword [0x10086b40]
cmp dword [0x10086b3c], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x100853d4]
mov esi, dword [0x100853d8]
mov edi, edx
and edi, esi
lea ebx, [edx + edx]
sub ebx, edi
mov edi, edx
xor edi, esi
not edi
lea edi, [ebx + edi*2]
not esi
add edi, esi
or esi, edx
lea edx, [esi + esi*2]
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
or cl, al
cmp cl, 1
jne 0x10066dc0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret