47209f:	85 ff                	test   %edi,%edi
4720a1:	0f 88 0c 01 00 00    	js     0x4721b3
4720a7:	8b 03                	mov    (%ebx),%eax
4720a9:	ff 75 f0             	push   -0x10(%ebp)
4720ac:	53                   	push   %ebx
4720ad:	8b 70 18             	mov    0x18(%eax),%esi
4720b0:	8b ce                	mov    %esi,%ecx
4720b2:	ff 15 2c 81 4a 00    	call   *0x4a812c
4720b8:	ff d6                	call   *%esi
4720ba:	8b f8                	mov    %eax,%edi
4720bc:	89 7d f8             	mov    %edi,-0x8(%ebp)
4720bf:	85 ff                	test   %edi,%edi
4720c1:	0f 88 ec 00 00 00    	js     0x4721b3
4720c7:	8b 45 f0             	mov    -0x10(%ebp),%eax
4720ca:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
4720ce:	8b 40 20             	mov    0x20(%eax),%eax
4720d1:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
4720d5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4720d8:	8d 45 ec             	lea    -0x14(%ebp),%eax
4720db:	50                   	push   %eax
4720dc:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4720df:	50                   	push   %eax
4720e0:	6a 01                	push   $0x1
4720e2:	6a ff                	push   $0xffffffff
4720e4:	6a 08                	push   $0x8
4720e6:	ff 15 70 7e 4a 00    	call   *0x4a7e70
4720ec:	8b f8                	mov    %eax,%edi
4720ee:	89 7d f8             	mov    %edi,-0x8(%ebp)
4720f1:	85 ff                	test   %edi,%edi
4720f3:	78 12                	js     0x472107
4720f5:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
4720f9:	74 0c                	je     0x472107
4720fb:	bf c7 04 07 80       	mov    $0x800704c7,%edi
472100:	b0 01                	mov    $0x1,%al
472102:	89 7d f8             	mov    %edi,-0x8(%ebp)
472105:	eb 03                	jmp    0x47210a
472107:	8a 45 ff             	mov    -0x1(%ebp),%al
47210a:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
47210e:	84 c0                	test   %al,%al
472110:	74 36                	je     0x472148
472112:	8b 33                	mov    (%ebx),%esi
472114:	8d 45 f4             	lea    -0xc(%ebp),%eax
472117:	50                   	push   %eax
472118:	e8 4f a3 fb ff       	call   0x42c46c
47211d:	8b 0e                	mov    (%esi),%ecx
47211f:	50                   	push   %eax
472120:	68 10 fe 40 00       	push   $0x40fe10
472125:	53                   	push   %ebx
472126:	ff 15 2c 81 4a 00    	call   *0x4a812c
47212c:	ff 16                	call   *(%esi)
47212e:	85 c0                	test   %eax,%eax
472130:	78 13                	js     0x472145
472132:	8b 45 f4             	mov    -0xc(%ebp),%eax
472135:	50                   	push   %eax
472136:	8b 08                	mov    (%eax),%ecx
472138:	8b 71 24             	mov    0x24(%ecx),%esi
47213b:	8b ce                	mov    %esi,%ecx
47213d:	ff 15 2c 81 4a 00    	call   *0x4a812c
472143:	ff d6                	call   *%esi
472145:	8b 7d f8             	mov    -0x8(%ebp),%edi
472148:	85 ff                	test   %edi,%edi
47214a:	78 49                	js     0x472195
47214c:	8b 45 f0             	mov    -0x10(%ebp),%eax
47214f:	83 78 1c 01          	cmpl   $0x1,0x1c(%eax)
472153:	74 40                	je     0x472195
472155:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
472159:	75 20                	jne    0x47217b
47215b:	8b 33                	mov    (%ebx),%esi
47215d:	8d 45 f4             	lea    -0xc(%ebp),%eax
472160:	50                   	push   %eax
472161:	e8 06 a3 fb ff       	call   0x42c46c
472166:	8b 0e                	mov    (%esi),%ecx
472168:	50                   	push   %eax
472169:	68 10 fe 40 00       	push   $0x40fe10
47216e:	53                   	push   %ebx
47216f:	ff 15 2c 81 4a 00    	call   *0x4a812c
472175:	ff 16                	call   *(%esi)
472177:	85 c0                	test   %eax,%eax
472179:	78 17                	js     0x472192
47217b:	8b 45 f4             	mov    -0xc(%ebp),%eax
47217e:	8d 55 f8             	lea    -0x8(%ebp),%edx
472181:	52                   	push   %edx
472182:	50                   	push   %eax
472183:	8b 08                	mov    (%eax),%ecx
472185:	8b 71 20             	mov    0x20(%ecx),%esi
472188:	8b ce                	mov    %esi,%ecx
47218a:	ff 15 2c 81 4a 00    	call   *0x4a812c
472190:	ff d6                	call   *%esi
472192:	8b 7d f8             	mov    -0x8(%ebp),%edi
472195:	8b 4d f4             	mov    -0xc(%ebp),%ecx
472198:	85 c9                	test   %ecx,%ecx
47219a:	74 17                	je     0x4721b3
47219c:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4721a0:	8b 01                	mov    (%ecx),%eax
4721a2:	51                   	push   %ecx
4721a3:	8b 70 08             	mov    0x8(%eax),%esi
4721a6:	8b ce                	mov    %esi,%ecx
4721a8:	ff 15 2c 81 4a 00    	call   *0x4a812c
4721ae:	ff d6                	call   *%esi
4721b0:	8b 7d f8             	mov    -0x8(%ebp),%edi
4721b3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4721b6:	85 c9                	test   %ecx,%ecx
4721b8:	74 14                	je     0x4721ce
4721ba:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4721be:	8b 01                	mov    (%ecx),%eax
4721c0:	51                   	push   %ecx
4721c1:	8b 70 08             	mov    0x8(%eax),%esi
4721c4:	8b ce                	mov    %esi,%ecx
4721c6:	ff 15 2c 81 4a 00    	call   *0x4a812c
4721cc:	ff d6                	call   *%esi
4721ce:	85 db                	test   %ebx,%ebx
4721d0:	74 10                	je     0x4721e2
4721d2:	8b 0b                	mov    (%ebx),%ecx
4721d4:	53                   	push   %ebx
4721d5:	8b 71 08             	mov    0x8(%ecx),%esi
4721d8:	8b ce                	mov    %esi,%ecx
4721da:	ff 15 2c 81 4a 00    	call   *0x4a812c
4721e0:	ff d6                	call   *%esi
4721e2:	8b c7                	mov    %edi,%eax
4721e4:	5f                   	pop    %edi
4721e5:	5e                   	pop    %esi
4721e6:	5b                   	pop    %ebx
4721e7:	c9                   	leave
4721e8:	c2 04 00             	ret    $0x4
4721eb:	8b ff                	mov    %edi,%edi
4721ed:	53                   	push   %ebx
4721ee:	57                   	push   %edi
4721ef:	8b f9                	mov    %ecx,%edi
4721f1:	8d 5f 04             	lea    0x4(%edi),%ebx
4721f4:	c7 07 a8 5e 40 00    	movl   $0x405ea8,(%edi)
4721fa:	8b cb                	mov    %ebx,%ecx
4721fc:	e8 95 fa ff ff       	call   0x471c96
472201:	8b 0d 38 65 4a 00    	mov    0x4a6538,%ecx
472207:	c7 47 18 01 00 00 00 	movl   $0x1,0x18(%edi)
47220e:	c7 07 94 5e 40 00    	movl   $0x405e94,(%edi)
472214:	c7 03 cc 5e 40 00    	movl   $0x405ecc,(%ebx)
47221a:	85 c9                	test   %ecx,%ecx
47221c:	74 12                	je     0x472230
47221e:	8b 01                	mov    (%ecx),%eax
472220:	56                   	push   %esi
472221:	51                   	push   %ecx
472222:	8b 70 04             	mov    0x4(%eax),%esi
472225:	8b ce                	mov    %esi,%ecx
472227:	ff 15 2c 81 4a 00    	call   *0x4a812c
47222d:	ff d6                	call   *%esi
47222f:	5e                   	pop    %esi
472230:	83 67 1c 00          	andl   $0x0,0x1c(%edi)
472234:	8b c7                	mov    %edi,%eax
472236:	83 67 20 00          	andl   $0x0,0x20(%edi)
47223a:	c7 07 80 5e 40 00    	movl   $0x405e80,(%edi)
472240:	5f                   	pop    %edi
472241:	c7 03 cc 5e 40 00    	movl   $0x405ecc,(%ebx)
472247:	5b                   	pop    %ebx
472248:	c3                   	ret
472249:	cc                   	int3
47224a:	cc                   	int3
47224b:	cc                   	int3
47224c:	cc                   	int3
47224d:	cc                   	int3
47224e:	cc                   	int3
47224f:	cc                   	int3
472250:	8b ff                	mov    %edi,%edi
472252:	55                   	push   %ebp
472253:	8b ec                	mov    %esp,%ebp
472255:	56                   	push   %esi
472256:	57                   	push   %edi
472257:	8b f9                	mov    %ecx,%edi
472259:	ff 77 20             	push   0x20(%edi)
47225c:	c7 07 18 5f 40 00    	movl   $0x405f18,(%edi)
472262:	c7 47 04 48 5e 40 00 	movl   $0x405e48,0x4(%edi)
472269:	ff 15 88 72 4a 00    	call   *0x4a7288
47226f:	8d 4f 04             	lea    0x4(%edi),%ecx
472272:	c7 47 18 01 00 00 c0 	movl   $0xc0000001,0x18(%edi)
472279:	e8 fa f9 ff ff       	call   0x471c78
47227e:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
472282:	74 08                	je     0x47228c
472284:	57                   	push   %edi
472285:	ff 15 10 74 4a 00    	call   *0x4a7410
47228b:	59                   	pop    %ecx
47228c:	8b c7                	mov    %edi,%eax
47228e:	5f                   	pop    %edi
47228f:	5e                   	pop    %esi
472290:	5d                   	pop    %ebp
472291:	c2 04 00             	ret    $0x4
472294:	cc                   	int3
472295:	cc                   	int3
472296:	cc                   	int3
472297:	cc                   	int3
472298:	cc                   	int3
472299:	cc                   	int3
47229a:	cc                   	int3
47229b:	cc                   	int3
47229c:	cc                   	int3
47229d:	cc                   	int3
47229e:	cc                   	int3
47229f:	cc                   	int3
4722a0:	8b ff                	mov    %edi,%edi
4722a2:	55                   	push   %ebp
4722a3:	8b ec                	mov    %esp,%ebp
4722a5:	56                   	push   %esi
4722a6:	57                   	push   %edi
4722a7:	8b f9                	mov    %ecx,%edi
4722a9:	ff 77 20             	push   0x20(%edi)
4722ac:	c7 07 80 5e 40 00    	movl   $0x405e80,(%edi)
4722b2:	c7 47 04 cc 5e 40 00 	movl   $0x405ecc,0x4(%edi)
4722b9:	ff 15 88 72 4a 00    	call   *0x4a7288
4722bf:	8d 4f 04             	lea    0x4(%edi),%ecx
4722c2:	c7 47 18 01 00 00 c0 	movl   $0xc0000001,0x18(%edi)
4722c9:	e8 aa f9 ff ff       	call   0x471c78
4722ce:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4722d2:	74 08                	je     0x4722dc
4722d4:	57                   	push   %edi
4722d5:	ff 15 10 74 4a 00    	call   *0x4a7410
4722db:	59                   	pop    %ecx
4722dc:	8b c7                	mov    %edi,%eax
4722de:	5f                   	pop    %edi
4722df:	5e                   	pop    %esi
4722e0:	5d                   	pop    %ebp
4722e1:	c2 04 00             	ret    $0x4
4722e4:	cc                   	int3
4722e5:	cc                   	int3
4722e6:	cc                   	int3
4722e7:	cc                   	int3
4722e8:	cc                   	int3
4722e9:	cc                   	int3
4722ea:	cc                   	int3
4722eb:	cc                   	int3
4722ec:	cc                   	int3
4722ed:	cc                   	int3
4722ee:	cc                   	int3
4722ef:	cc                   	int3
4722f0:	8b ff                	mov    %edi,%edi
4722f2:	55                   	push   %ebp
4722f3:	8b ec                	mov    %esp,%ebp
4722f5:	53                   	push   %ebx
4722f6:	57                   	push   %edi
4722f7:	8b 7d 08             	mov    0x8(%ebp),%edi
4722fa:	83 cb ff             	or     $0xffffffff,%ebx
4722fd:	f0 0f c1 5f 18       	lock xadd %ebx,0x18(%edi)
472302:	4b                   	dec    %ebx
472303:	75 32                	jne    0x472337
472305:	56                   	push   %esi
472306:	85 ff                	test   %edi,%edi
472308:	74 13                	je     0x47231d
47230a:	8b 07                	mov    (%edi),%eax
47230c:	6a 01                	push   $0x1
47230e:	8b 70 10             	mov    0x10(%eax),%esi
472311:	8b ce                	mov    %esi,%ecx
472313:	ff 15 2c 81 4a 00    	call   *0x4a812c
472319:	8b cf                	mov    %edi,%ecx
47231b:	ff d6                	call   *%esi
47231d:	a1 38 65 4a 00       	mov    0x4a6538,%eax
472322:	85 c0                	test   %eax,%eax
472324:	74 10                	je     0x472336
472326:	8b 08                	mov    (%eax),%ecx
472328:	50                   	push   %eax
472329:	8b 71 08             	mov    0x8(%ecx),%esi
47232c:	8b ce                	mov    %esi,%ecx
47232e:	ff 15 2c 81 4a 00    	call   *0x4a812c
472334:	ff d6                	call   *%esi
472336:	5e                   	pop    %esi
472337:	5f                   	pop    %edi
472338:	8b c3                	mov    %ebx,%eax
47233a:	5b                   	pop    %ebx
47233b:	5d                   	pop    %ebp
47233c:	c2 04 00             	ret    $0x4
47233f:	cc                   	int3
472340:	8b ff                	mov    %edi,%edi
472342:	55                   	push   %ebp
472343:	8b ec                	mov    %esp,%ebp
472345:	8b 4d 08             	mov    0x8(%ebp),%ecx
472348:	33 c0                	xor    %eax,%eax
47234a:	40                   	inc    %eax
47234b:	f0 0f c1 41 18       	lock xadd %eax,0x18(%ecx)
472350:	40                   	inc    %eax
472351:	5d                   	pop    %ebp
472352:	c2 04 00             	ret    $0x4
472355:	cc                   	int3
472356:	cc                   	int3
472357:	cc                   	int3
472358:	cc                   	int3
472359:	cc                   	int3
47235a:	cc                   	int3
47235b:	cc                   	int3
47235c:	cc                   	int3
47235d:	cc                   	int3
47235e:	cc                   	int3
47235f:	cc                   	int3
472360:	8b ff                	mov    %edi,%edi
472362:	55                   	push   %ebp
472363:	8b ec                	mov    %esp,%ebp
472365:	8b 4d 0c             	mov    0xc(%ebp),%ecx
472368:	ba 70 fd 40 00       	mov    $0x40fd70,%edx
47236d:	56                   	push   %esi
47236e:	8b 75 10             	mov    0x10(%ebp),%esi
472371:	57                   	push   %edi
472372:	33 ff                	xor    %edi,%edi
472374:	89 3e                	mov    %edi,(%esi)
472376:	e8 89 71 fb ff       	call   0x429504
47237b:	85 c0                	test   %eax,%eax
47237d:	75 30                	jne    0x4723af
47237f:	ba 78 34 41 00       	mov    $0x413478,%edx
472384:	e8 7b 71 fb ff       	call   0x429504
472389:	85 c0                	test   %eax,%eax
47238b:	74 07                	je     0x472394
47238d:	8b 45 08             	mov    0x8(%ebp),%eax
472390:	89 06                	mov    %eax,(%esi)
472392:	eb 14                	jmp    0x4723a8
472394:	51                   	push   %ecx
472395:	56                   	push   %esi
472396:	51                   	push   %ecx
472397:	8b 4d 08             	mov    0x8(%ebp),%ecx
47239a:	8d 49 04             	lea    0x4(%ecx),%ecx
47239d:	e8 97 fa ff ff       	call   0x471e39
4723a2:	8b f8                	mov    %eax,%edi
4723a4:	85 ff                	test   %edi,%edi
4723a6:	78 1c                	js     0x4723c4
4723a8:	8b 06                	mov    (%esi),%eax
4723aa:	50                   	push   %eax
4723ab:	8b 08                	mov    (%eax),%ecx
4723ad:	eb 08                	jmp    0x4723b7
4723af:	8b 55 08             	mov    0x8(%ebp),%edx
4723b2:	89 16                	mov    %edx,(%esi)
4723b4:	52                   	push   %edx
4723b5:	8b 0a                	mov    (%edx),%ecx
4723b7:	8b 71 04             	mov    0x4(%ecx),%esi
4723ba:	8b ce                	mov    %esi,%ecx
4723bc:	ff 15 2c 81 4a 00    	call   *0x4a812c
4723c2:	ff d6                	call   *%esi
4723c4:	8b c7                	mov    %edi,%eax
4723c6:	5f                   	pop    %edi
4723c7:	5e                   	pop    %esi
4723c8:	5d                   	pop    %ebp
4723c9:	c2 0c 00             	ret    $0xc
4723cc:	cc                   	int3
4723cd:	cc                   	int3
4723ce:	cc                   	int3
4723cf:	cc                   	int3
4723d0:	8b ff                	mov    %edi,%edi
4723d2:	55                   	push   %ebp
4723d3:	8b ec                	mov    %esp,%ebp
4723d5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4723d8:	ba 70 fd 40 00       	mov    $0x40fd70,%edx
4723dd:	56                   	push   %esi
4723de:	8b 75 10             	mov    0x10(%ebp),%esi
4723e1:	57                   	push   %edi
4723e2:	33 ff                	xor    %edi,%edi
4723e4:	89 3e                	mov    %edi,(%esi)
4723e6:	e8 19 71 fb ff       	call   0x429504
4723eb:	85 c0                	test   %eax,%eax