429fe5:	56                   	push   %esi
429fe6:	8b 75 08             	mov    0x8(%ebp),%esi
429fe9:	83 c9 ff             	or     $0xffffffff,%ecx
429fec:	8b 06                	mov    (%esi),%eax
429fee:	f0 0f c1 08          	lock xadd %ecx,(%eax)
429ff2:	75 15                	jne    0x42a009
429ff4:	57                   	push   %edi
429ff5:	bf 70 55 45 00       	mov    $0x455570,%edi
429ffa:	39 3e                	cmp    %edi,(%esi)
429ffc:	74 0a                	je     0x42a008
429ffe:	ff 36                	push   (%esi)
42a000:	e8 b5 08 00 00       	call   0x42a8ba
42a005:	59                   	pop    %ecx
42a006:	89 3e                	mov    %edi,(%esi)
42a008:	5f                   	pop    %edi
42a009:	5e                   	pop    %esi
42a00a:	5d                   	pop    %ebp
42a00b:	c2 04 00             	ret    $0x4
42a00e:	68 70 1a 44 00       	push   $0x441a70
42a013:	68 f0 19 44 00       	push   $0x4419f0
42a018:	e8 bd b6 00 00       	call   0x4356da
42a01d:	59                   	pop    %ecx
42a01e:	59                   	pop    %ecx
42a01f:	c3                   	ret
42a020:	8b ff                	mov    %edi,%edi
42a022:	55                   	push   %ebp
42a023:	8b ec                	mov    %esp,%ebp
42a025:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
42a029:	74 12                	je     0x42a03d
42a02b:	83 3d c4 69 45 00 00 	cmpl   $0x0,0x4569c4
42a032:	74 05                	je     0x42a039
42a034:	e8 d7 9c ff ff       	call   0x423d10
42a039:	b0 01                	mov    $0x1,%al
42a03b:	5d                   	pop    %ebp
42a03c:	c3                   	ret
42a03d:	68 70 1a 44 00       	push   $0x441a70
42a042:	68 f0 19 44 00       	push   $0x4419f0
42a047:	e8 f6 b6 00 00       	call   0x435742
42a04c:	59                   	pop    %ecx
42a04d:	59                   	pop    %ecx
42a04e:	5d                   	pop    %ebp
42a04f:	c3                   	ret
42a050:	8b ff                	mov    %edi,%edi
42a052:	55                   	push   %ebp
42a053:	8b ec                	mov    %esp,%ebp
42a055:	8b 4d 10             	mov    0x10(%ebp),%ecx
42a058:	8b 45 0c             	mov    0xc(%ebp),%eax
42a05b:	81 e1 ff ff f7 ff    	and    $0xfff7ffff,%ecx
42a061:	23 c1                	and    %ecx,%eax
42a063:	56                   	push   %esi
42a064:	8b 75 08             	mov    0x8(%ebp),%esi
42a067:	a9 e0 fc f0 fc       	test   $0xfcf0fce0,%eax
42a06c:	74 24                	je     0x42a092
42a06e:	85 f6                	test   %esi,%esi
42a070:	74 0d                	je     0x42a07f
42a072:	6a 00                	push   $0x0
42a074:	6a 00                	push   $0x0
42a076:	e8 7d b8 00 00       	call   0x4358f8
42a07b:	59                   	pop    %ecx
42a07c:	59                   	pop    %ecx
42a07d:	89 06                	mov    %eax,(%esi)
42a07f:	e8 ac 99 ff ff       	call   0x423a30
42a084:	6a 16                	push   $0x16
42a086:	5e                   	pop    %esi
42a087:	89 30                	mov    %esi,(%eax)
42a089:	e8 f5 58 ff ff       	call   0x41f983
42a08e:	8b c6                	mov    %esi,%eax
42a090:	eb 1a                	jmp    0x42a0ac
42a092:	51                   	push   %ecx
42a093:	ff 75 0c             	push   0xc(%ebp)
42a096:	85 f6                	test   %esi,%esi
42a098:	74 09                	je     0x42a0a3
42a09a:	e8 59 b8 00 00       	call   0x4358f8
42a09f:	89 06                	mov    %eax,(%esi)
42a0a1:	eb 05                	jmp    0x42a0a8
42a0a3:	e8 50 b8 00 00       	call   0x4358f8
42a0a8:	59                   	pop    %ecx
42a0a9:	59                   	pop    %ecx
42a0aa:	33 c0                	xor    %eax,%eax
42a0ac:	5e                   	pop    %esi
42a0ad:	5d                   	pop    %ebp
42a0ae:	c3                   	ret
42a0af:	6a 08                	push   $0x8
42a0b1:	68 70 31 45 00       	push   $0x453170
42a0b6:	e8 55 08 ff ff       	call   0x41a910
42a0bb:	e8 09 05 00 00       	call   0x42a5c9
42a0c0:	8b 70 0c             	mov    0xc(%eax),%esi
42a0c3:	85 f6                	test   %esi,%esi
42a0c5:	74 1e                	je     0x42a0e5
42a0c7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42a0cb:	8b ce                	mov    %esi,%ecx
42a0cd:	ff 15 5c e2 43 00    	call   *0x43e25c
42a0d3:	ff d6                	call   *%esi
42a0d5:	eb 07                	jmp    0x42a0de
42a0d7:	33 c0                	xor    %eax,%eax
42a0d9:	40                   	inc    %eax
42a0da:	c3                   	ret
42a0db:	8b 65 e8             	mov    -0x18(%ebp),%esp
42a0de:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42a0e5:	e8 6f d2 ff ff       	call   0x427359
42a0ea:	cc                   	int3
42a0eb:	8b ff                	mov    %edi,%edi
42a0ed:	55                   	push   %ebp
42a0ee:	8b ec                	mov    %esp,%ebp
42a0f0:	56                   	push   %esi
42a0f1:	8b 75 0c             	mov    0xc(%ebp),%esi
42a0f4:	85 f6                	test   %esi,%esi
42a0f6:	74 1b                	je     0x42a113
42a0f8:	6a e0                	push   $0xffffffe0
42a0fa:	33 d2                	xor    %edx,%edx
42a0fc:	58                   	pop    %eax
42a0fd:	f7 f6                	div    %esi
42a0ff:	3b 45 10             	cmp    0x10(%ebp),%eax
42a102:	73 0f                	jae    0x42a113
42a104:	e8 27 99 ff ff       	call   0x423a30
42a109:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
42a10f:	33 c0                	xor    %eax,%eax
42a111:	eb 42                	jmp    0x42a155
42a113:	53                   	push   %ebx
42a114:	8b 5d 08             	mov    0x8(%ebp),%ebx
42a117:	57                   	push   %edi
42a118:	85 db                	test   %ebx,%ebx
42a11a:	74 0b                	je     0x42a127
42a11c:	53                   	push   %ebx
42a11d:	e8 75 bb 00 00       	call   0x435c97
42a122:	59                   	pop    %ecx
42a123:	8b f8                	mov    %eax,%edi
42a125:	eb 02                	jmp    0x42a129
42a127:	33 ff                	xor    %edi,%edi
42a129:	0f af 75 10          	imul   0x10(%ebp),%esi
42a12d:	56                   	push   %esi
42a12e:	53                   	push   %ebx
42a12f:	e8 ae 64 00 00       	call   0x4305e2
42a134:	8b d8                	mov    %eax,%ebx
42a136:	59                   	pop    %ecx
42a137:	59                   	pop    %ecx
42a138:	85 db                	test   %ebx,%ebx
42a13a:	74 15                	je     0x42a151
42a13c:	3b fe                	cmp    %esi,%edi
42a13e:	73 11                	jae    0x42a151
42a140:	2b f7                	sub    %edi,%esi
42a142:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
42a145:	56                   	push   %esi
42a146:	6a 00                	push   $0x0
42a148:	50                   	push   %eax
42a149:	e8 c2 1a ff ff       	call   0x41bc10
42a14e:	83 c4 0c             	add    $0xc,%esp
42a151:	5f                   	pop    %edi
42a152:	8b c3                	mov    %ebx,%eax
42a154:	5b                   	pop    %ebx
42a155:	5e                   	pop    %esi
42a156:	5d                   	pop    %ebp
42a157:	c3                   	ret
42a158:	8b ff                	mov    %edi,%edi
42a15a:	55                   	push   %ebp
42a15b:	8b ec                	mov    %esp,%ebp
42a15d:	51                   	push   %ecx
42a15e:	51                   	push   %ecx
42a15f:	66 8b 45 08          	mov    0x8(%ebp),%ax
42a163:	b9 ff ff 00 00       	mov    $0xffff,%ecx
42a168:	56                   	push   %esi
42a169:	66 8b 75 0c          	mov    0xc(%ebp),%si
42a16d:	0f b7 d6             	movzwl %si,%edx
42a170:	66 3b c1             	cmp    %cx,%ax
42a173:	74 47                	je     0x42a1bc
42a175:	b9 00 01 00 00       	mov    $0x100,%ecx
42a17a:	66 3b c1             	cmp    %cx,%ax
42a17d:	73 10                	jae    0x42a18f
42a17f:	0f b7 c8             	movzwl %ax,%ecx
42a182:	a1 94 51 45 00       	mov    0x455194,%eax
42a187:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
42a18b:	23 c2                	and    %edx,%eax
42a18d:	eb 2f                	jmp    0x42a1be
42a18f:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
42a193:	33 c0                	xor    %eax,%eax
42a195:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
42a199:	8d 45 fc             	lea    -0x4(%ebp),%eax
42a19c:	50                   	push   %eax
42a19d:	6a 01                	push   $0x1
42a19f:	8d 45 f8             	lea    -0x8(%ebp),%eax
42a1a2:	50                   	push   %eax
42a1a3:	6a 01                	push   $0x1
42a1a5:	e8 20 bb 00 00       	call   0x435cca
42a1aa:	83 c4 10             	add    $0x10,%esp
42a1ad:	85 c0                	test   %eax,%eax
42a1af:	74 0b                	je     0x42a1bc
42a1b1:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
42a1b5:	0f b7 ce             	movzwl %si,%ecx
42a1b8:	23 c1                	and    %ecx,%eax
42a1ba:	eb 02                	jmp    0x42a1be
42a1bc:	33 c0                	xor    %eax,%eax
42a1be:	5e                   	pop    %esi
42a1bf:	c9                   	leave
42a1c0:	c3                   	ret
42a1c1:	8b ff                	mov    %edi,%edi
42a1c3:	55                   	push   %ebp
42a1c4:	8b ec                	mov    %esp,%ebp
42a1c6:	56                   	push   %esi
42a1c7:	8b 75 0c             	mov    0xc(%ebp),%esi
42a1ca:	8b 06                	mov    (%esi),%eax
42a1cc:	3b 05 a8 6d 45 00    	cmp    0x456da8,%eax
42a1d2:	74 17                	je     0x42a1eb
42a1d4:	8b 4d 08             	mov    0x8(%ebp),%ecx
42a1d7:	a1 60 55 45 00       	mov    0x455560,%eax
42a1dc:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
42a1e2:	75 07                	jne    0x42a1eb
42a1e4:	e8 65 a1 00 00       	call   0x43434e
42a1e9:	89 06                	mov    %eax,(%esi)
42a1eb:	5e                   	pop    %esi
42a1ec:	5d                   	pop    %ebp
42a1ed:	c3                   	ret
42a1ee:	8b ff                	mov    %edi,%edi
42a1f0:	55                   	push   %ebp
42a1f1:	8b ec                	mov    %esp,%ebp
42a1f3:	8b 45 10             	mov    0x10(%ebp),%eax
42a1f6:	56                   	push   %esi
42a1f7:	8b 75 0c             	mov    0xc(%ebp),%esi
42a1fa:	8b 0e                	mov    (%esi),%ecx
42a1fc:	3b 0c 85 a8 6d 45 00 	cmp    0x456da8(,%eax,4),%ecx
42a203:	74 17                	je     0x42a21c
42a205:	8b 4d 08             	mov    0x8(%ebp),%ecx
42a208:	a1 60 55 45 00       	mov    0x455560,%eax
42a20d:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
42a213:	75 07                	jne    0x42a21c
42a215:	e8 34 a1 00 00       	call   0x43434e
42a21a:	89 06                	mov    %eax,(%esi)
42a21c:	5e                   	pop    %esi
42a21d:	5d                   	pop    %ebp
42a21e:	c3                   	ret
42a21f:	8b ff                	mov    %edi,%edi
42a221:	55                   	push   %ebp
42a222:	8b ec                	mov    %esp,%ebp
42a224:	56                   	push   %esi
42a225:	8b 75 0c             	mov    0xc(%ebp),%esi
42a228:	8b 06                	mov    (%esi),%eax
42a22a:	3b 05 98 71 45 00    	cmp    0x457198,%eax
42a230:	74 17                	je     0x42a249
42a232:	8b 4d 08             	mov    0x8(%ebp),%ecx
42a235:	a1 60 55 45 00       	mov    0x455560,%eax
42a23a:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
42a240:	75 07                	jne    0x42a249
42a242:	e8 a1 86 00 00       	call   0x4328e8
42a247:	89 06                	mov    %eax,(%esi)
42a249:	5e                   	pop    %esi
42a24a:	5d                   	pop    %ebp
42a24b:	c3                   	ret
42a24c:	8b ff                	mov    %edi,%edi
42a24e:	55                   	push   %ebp
42a24f:	8b ec                	mov    %esp,%ebp
42a251:	8b 45 10             	mov    0x10(%ebp),%eax
42a254:	56                   	push   %esi
42a255:	8b 75 0c             	mov    0xc(%ebp),%esi
42a258:	8b 0e                	mov    (%esi),%ecx
42a25a:	3b 0c 85 98 71 45 00 	cmp    0x457198(,%eax,4),%ecx
42a261:	74 17                	je     0x42a27a
42a263:	8b 4d 08             	mov    0x8(%ebp),%ecx
42a266:	a1 60 55 45 00       	mov    0x455560,%eax
42a26b:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
42a271:	75 07                	jne    0x42a27a
42a273:	e8 70 86 00 00       	call   0x4328e8
42a278:	89 06                	mov    %eax,(%esi)
42a27a:	5e                   	pop    %esi
42a27b:	5d                   	pop    %ebp
42a27c:	c3                   	ret
42a27d:	6a 08                	push   $0x8
42a27f:	68 90 31 45 00       	push   $0x453190
42a284:	e8 87 06 ff ff       	call   0x41a910
42a289:	8b 45 08             	mov    0x8(%ebp),%eax
42a28c:	ff 30                	push   (%eax)
42a28e:	e8 0e c6 ff ff       	call   0x4268a1
42a293:	59                   	pop    %ecx
42a294:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42a298:	8b 45 0c             	mov    0xc(%ebp),%eax
42a29b:	8b 00                	mov    (%eax),%eax
42a29d:	8b 00                	mov    (%eax),%eax
42a29f:	8b 40 48             	mov    0x48(%eax),%eax
42a2a2:	f0 ff 00             	lock incl (%eax)
42a2a5:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42a2ac:	e8 12 00 00 00       	call   0x42a2c3
42a2b1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42a2b4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
42a2bb:	59                   	pop    %ecx
42a2bc:	5f                   	pop    %edi
42a2bd:	5e                   	pop    %esi
42a2be:	5b                   	pop    %ebx
42a2bf:	c9                   	leave
42a2c0:	c2 0c 00             	ret    $0xc
42a2c3:	8b 45 10             	mov    0x10(%ebp),%eax
42a2c6:	ff 30                	push   (%eax)
42a2c8:	e8 24 c6 ff ff       	call   0x4268f1
42a2cd:	59                   	pop    %ecx
42a2ce:	c3                   	ret
42a2cf:	6a 08                	push   $0x8
42a2d1:	68 d0 31 45 00       	push   $0x4531d0
42a2d6:	e8 35 06 ff ff       	call   0x41a910
42a2db:	8b 45 08             	mov    0x8(%ebp),%eax
42a2de:	ff 30                	push   (%eax)
42a2e0:	e8 bc c5 ff ff       	call   0x4268a1
42a2e5:	59                   	pop    %ecx
42a2e6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42a2ea:	8b 45 0c             	mov    0xc(%ebp),%eax
42a2ed:	8b 00                	mov    (%eax),%eax
42a2ef:	8b 00                	mov    (%eax),%eax
42a2f1:	8b 48 48             	mov    0x48(%eax),%ecx
42a2f4:	85 c9                	test   %ecx,%ecx
42a2f6:	74 18                	je     0x42a310
42a2f8:	83 c8 ff             	or     $0xffffffff,%eax
42a2fb:	f0 0f c1 01          	lock xadd %eax,(%ecx)
42a2ff:	75 0f                	jne    0x42a310
42a301:	81 f9 70 55 45 00    	cmp    $0x455570,%ecx
42a307:	74 07                	je     0x42a310
42a309:	51                   	push   %ecx
42a30a:	e8 ab 05 00 00       	call   0x42a8ba
42a30f:	59                   	pop    %ecx
42a310:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42a317:	e8 12 00 00 00       	call   0x42a32e
42a31c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42a31f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
42a326:	59                   	pop    %ecx
42a327:	5f                   	pop    %edi
42a328:	5e                   	pop    %esi
42a329:	5b                   	pop    %ebx
42a32a:	c9                   	leave
42a32b:	c2 0c 00             	ret    $0xc
42a32e:	8b 45 10             	mov    0x10(%ebp),%eax
42a331:	ff 30                	push   (%eax)
42a333:	e8 b9 c5 ff ff       	call   0x4268f1
42a338:	59                   	pop    %ecx
42a339:	c3                   	ret
42a33a:	6a 08                	push   $0x8
42a33c:	68 f0 31 45 00       	push   $0x4531f0
42a341:	e8 ca 05 ff ff       	call   0x41a910
42a346:	8b 45 08             	mov    0x8(%ebp),%eax
42a349:	ff 30                	push   (%eax)
42a34b:	e8 51 c5 ff ff       	call   0x4268a1
42a350:	59                   	pop    %ecx
42a351:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42a355:	6a 00                	push   $0x0
42a357:	8b 45 0c             	mov    0xc(%ebp),%eax
42a35a:	8b 00                	mov    (%eax),%eax
42a35c:	ff 30                	push   (%eax)
42a35e:	e8 1b 02 00 00       	call   0x42a57e
42a363:	59                   	pop    %ecx
42a364:	59                   	pop    %ecx
42a365:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42a36c:	e8 12 00 00 00       	call   0x42a383
42a371:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42a374:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
42a37b:	59                   	pop    %ecx
42a37c:	5f                   	pop    %edi