407208:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
40720d:	53                   	push   %ebx
40720e:	56                   	push   %esi
40720f:	57                   	push   %edi
407210:	33 ff                	xor    %edi,%edi
407212:	89 45 f0             	mov    %eax,-0x10(%ebp)
407215:	89 bd 6c ff ff ff    	mov    %edi,-0x94(%ebp)
40721b:	ff 75 08             	push   0x8(%ebp)
40721e:	8d 8d e8 fe ff ff    	lea    -0x118(%ebp),%ecx
407224:	89 7d fc             	mov    %edi,-0x4(%ebp)
407227:	e8 52 fe ff ff       	call   0x40707e
40722c:	8b 35 7c 03 4b 00    	mov    0x4b037c,%esi
407232:	57                   	push   %edi
407233:	57                   	push   %edi
407234:	ff b5 e8 fe ff ff    	push   -0x118(%ebp)
40723a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40723e:	ff d6                	call   *%esi
407240:	8b d8                	mov    %eax,%ebx
407242:	3b df                	cmp    %edi,%ebx
407244:	75 3a                	jne    0x407280
407246:	8d 85 ec fe ff ff    	lea    -0x114(%ebp),%eax
40724c:	39 85 e8 fe ff ff    	cmp    %eax,-0x118(%ebp)
407252:	74 0c                	je     0x407260
407254:	ff b5 e8 fe ff ff    	push   -0x118(%ebp)
40725a:	e8 3f f1 00 00       	call   0x41639e
40725f:	59                   	pop    %ecx
407260:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
407266:	39 85 6c ff ff ff    	cmp    %eax,-0x94(%ebp)
40726c:	74 0b                	je     0x407279
40726e:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
407274:	e8 51 a1 ff ff       	call   0x4013ca
407279:	33 c0                	xor    %eax,%eax
40727b:	e9 8a 00 00 00       	jmp    0x40730a
407280:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
407283:	50                   	push   %eax
407284:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
40728a:	e8 1d a1 ff ff       	call   0x4013ac
40728f:	53                   	push   %ebx
407290:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
407296:	ff b5 e8 fe ff ff    	push   -0x118(%ebp)
40729c:	ff d6                	call   *%esi
40729e:	ff 15 fc 70 4a 00    	call   *0x4a70fc
4072a4:	8b 35 a4 03 4b 00    	mov    0x4b03a4,%esi
4072aa:	57                   	push   %edi
4072ab:	57                   	push   %edi
4072ac:	6a ff                	push   $0xffffffff
4072ae:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
4072b4:	57                   	push   %edi
4072b5:	50                   	push   %eax
4072b6:	ff d6                	call   *%esi
4072b8:	39 7d 10             	cmp    %edi,0x10(%ebp)
4072bb:	8b d8                	mov    %eax,%ebx
4072bd:	74 16                	je     0x4072d5
4072bf:	ff 15 fc 70 4a 00    	call   *0x4a70fc
4072c5:	53                   	push   %ebx
4072c6:	ff 75 0c             	push   0xc(%ebp)
4072c9:	6a ff                	push   $0xffffffff
4072cb:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
4072d1:	57                   	push   %edi
4072d2:	50                   	push   %eax
4072d3:	ff d6                	call   *%esi
4072d5:	8d 85 ec fe ff ff    	lea    -0x114(%ebp),%eax
4072db:	39 85 e8 fe ff ff    	cmp    %eax,-0x118(%ebp)
4072e1:	74 0c                	je     0x4072ef
4072e3:	ff b5 e8 fe ff ff    	push   -0x118(%ebp)
4072e9:	e8 b0 f0 00 00       	call   0x41639e
4072ee:	59                   	pop    %ecx
4072ef:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
4072f5:	39 85 6c ff ff ff    	cmp    %eax,-0x94(%ebp)
4072fb:	74 0b                	je     0x407308
4072fd:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
407303:	e8 c2 a0 ff ff       	call   0x4013ca
407308:	8b c3                	mov    %ebx,%eax
40730a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40730d:	5f                   	pop    %edi
40730e:	5e                   	pop    %esi
40730f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407316:	8b 4d f0             	mov    -0x10(%ebp),%ecx
407319:	5b                   	pop    %ebx
40731a:	e8 bf 08 01 00       	call   0x417bde
40731f:	c9                   	leave
407320:	c2 0c 00             	ret    $0xc
407323:	ff 35 78 03 4b 00    	push   0x4b0378
407329:	68 f8 71 40 00       	push   $0x4071f8
40732e:	68 f4 70 4a 00       	push   $0x4a70f4
407333:	e8 9e 9e ff ff       	call   0x4011d6
407338:	83 c4 0c             	add    $0xc,%esp
40733b:	ff 25 f4 70 4a 00    	jmp    *0x4a70f4
407341:	b8 68 29 48 00       	mov    $0x482968,%eax
407346:	e8 31 09 01 00       	call   0x417c7c
40734b:	81 ec 88 00 00 00    	sub    $0x88,%esp
407351:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
407356:	53                   	push   %ebx
407357:	56                   	push   %esi
407358:	33 f6                	xor    %esi,%esi
40735a:	89 45 f0             	mov    %eax,-0x10(%ebp)
40735d:	57                   	push   %edi
40735e:	89 b5 6c ff ff ff    	mov    %esi,-0x94(%ebp)
407364:	56                   	push   %esi
407365:	56                   	push   %esi
407366:	56                   	push   %esi
407367:	56                   	push   %esi
407368:	ff 75 14             	push   0x14(%ebp)
40736b:	89 75 fc             	mov    %esi,-0x4(%ebp)
40736e:	ff 75 10             	push   0x10(%ebp)
407371:	56                   	push   %esi
407372:	ff 15 fc 70 4a 00    	call   *0x4a70fc
407378:	8b 3d a0 03 4b 00    	mov    0x4b03a0,%edi
40737e:	50                   	push   %eax
40737f:	ff d7                	call   *%edi
407381:	8b d8                	mov    %eax,%ebx
407383:	53                   	push   %ebx
407384:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
40738a:	e8 1d a0 ff ff       	call   0x4013ac
40738f:	ff 15 fc 70 4a 00    	call   *0x4a70fc
407395:	56                   	push   %esi
407396:	56                   	push   %esi
407397:	53                   	push   %ebx
407398:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
40739e:	ff 75 14             	push   0x14(%ebp)
4073a1:	ff 75 10             	push   0x10(%ebp)
4073a4:	56                   	push   %esi
4073a5:	50                   	push   %eax
4073a6:	ff d7                	call   *%edi
4073a8:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
4073ac:	75 03                	jne    0x4073b1
4073ae:	83 cb ff             	or     $0xffffffff,%ebx
4073b1:	ff 75 18             	push   0x18(%ebp)
4073b4:	53                   	push   %ebx
4073b5:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
4073bb:	ff 75 0c             	push   0xc(%ebp)
4073be:	ff 75 08             	push   0x8(%ebp)
4073c1:	ff 15 74 03 4b 00    	call   *0x4b0374
4073c7:	8b f0                	mov    %eax,%esi
4073c9:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
4073cf:	39 85 6c ff ff ff    	cmp    %eax,-0x94(%ebp)
4073d5:	74 0b                	je     0x4073e2
4073d7:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
4073dd:	e8 e8 9f ff ff       	call   0x4013ca
4073e2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4073e5:	5f                   	pop    %edi
4073e6:	8b c6                	mov    %esi,%eax
4073e8:	5e                   	pop    %esi
4073e9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4073f0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4073f3:	5b                   	pop    %ebx
4073f4:	e8 e5 07 01 00       	call   0x417bde
4073f9:	c9                   	leave
4073fa:	c2 14 00             	ret    $0x14
4073fd:	55                   	push   %ebp
4073fe:	8b ec                	mov    %esp,%ebp
407400:	ff 35 70 03 4b 00    	push   0x4b0370
407406:	68 41 73 40 00       	push   $0x407341
40740b:	68 e4 70 4a 00       	push   $0x4a70e4
407410:	e8 c1 9d ff ff       	call   0x4011d6
407415:	83 c4 0c             	add    $0xc,%esp
407418:	5d                   	pop    %ebp
407419:	ff 25 e4 70 4a 00    	jmp    *0x4a70e4
40741f:	56                   	push   %esi
407420:	8b f1                	mov    %ecx,%esi
407422:	e8 af fd ff ff       	call   0x4071d6
407427:	56                   	push   %esi
407428:	c7 06 2c 00 00 00    	movl   $0x2c,(%esi)
40742e:	e8 b9 fa ff ff       	call   0x406eec
407433:	85 c0                	test   %eax,%eax
407435:	7d 07                	jge    0x40743e
407437:	c6 05 c4 a5 4a 00 01 	movb   $0x1,0x4aa5c4
40743e:	8b c6                	mov    %esi,%eax
407440:	5e                   	pop    %esi
407441:	c3                   	ret
407442:	56                   	push   %esi
407443:	ff 35 d8 cb 4a 00    	push   0x4acbd8
407449:	8b f1                	mov    %ecx,%esi
40744b:	56                   	push   %esi
40744c:	e8 82 fb ff ff       	call   0x406fd3
407451:	8d 4e 20             	lea    0x20(%esi),%ecx
407454:	5e                   	pop    %esi
407455:	e9 cf fa ff ff       	jmp    0x406f29
40745a:	8b 41 04             	mov    0x4(%ecx),%eax
40745d:	c3                   	ret
40745e:	8b 41 08             	mov    0x8(%ecx),%eax
407461:	c3                   	ret
407462:	8b 4c 24 04          	mov    0x4(%esp),%ecx
407466:	8b 01                	mov    (%ecx),%eax
407468:	85 c0                	test   %eax,%eax
40746a:	75 05                	jne    0x407471
40746c:	e8 da df 02 00       	call   0x43544b
407471:	8b 10                	mov    (%eax),%edx
407473:	89 11                	mov    %edx,(%ecx)
407475:	83 c0 08             	add    $0x8,%eax
407478:	c2 04 00             	ret    $0x4
40747b:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40747f:	8b 01                	mov    (%ecx),%eax
407481:	85 c0                	test   %eax,%eax
407483:	75 05                	jne    0x40748a
407485:	e8 c1 df 02 00       	call   0x43544b
40748a:	8b 50 04             	mov    0x4(%eax),%edx
40748d:	89 11                	mov    %edx,(%ecx)
40748f:	83 c0 08             	add    $0x8,%eax
407492:	c2 04 00             	ret    $0x4
407495:	85 c9                	test   %ecx,%ecx
407497:	75 03                	jne    0x40749c
407499:	33 c0                	xor    %eax,%eax
40749b:	c3                   	ret
40749c:	8b 41 1c             	mov    0x1c(%ecx),%eax
40749f:	c3                   	ret
4074a0:	83 c1 1c             	add    $0x1c,%ecx
4074a3:	e9 1e 73 03 00       	jmp    0x43e7c6
4074a8:	e8 3a a2 03 00       	call   0x4416e7
4074ad:	85 c0                	test   %eax,%eax
4074af:	74 07                	je     0x4074b8
4074b1:	8b 10                	mov    (%eax),%edx
4074b3:	8b c8                	mov    %eax,%ecx
4074b5:	ff 62 74             	jmp    *0x74(%edx)
4074b8:	33 c0                	xor    %eax,%eax
4074ba:	c3                   	ret
4074bb:	ff 74 24 0c          	push   0xc(%esp)
4074bf:	ff 74 24 0c          	push   0xc(%esp)
4074c3:	ff 74 24 0c          	push   0xc(%esp)
4074c7:	ff 71 1c             	push   0x1c(%ecx)
4074ca:	ff 15 c8 07 4b 00    	call   *0x4b07c8
4074d0:	c2 0c 00             	ret    $0xc
4074d3:	8b 44 24 04          	mov    0x4(%esp),%eax
4074d7:	c3                   	ret
4074d8:	ff 74 24 04          	push   0x4(%esp)
4074dc:	83 c1 08             	add    $0x8,%ecx
4074df:	51                   	push   %ecx
4074e0:	ff 15 bc 03 4b 00    	call   *0x4b03bc
4074e6:	c2 04 00             	ret    $0x4
4074e9:	e8 13 64 06 00       	call   0x46d901
4074ee:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4074f2:	89 48 0c             	mov    %ecx,0xc(%eax)
4074f5:	c2 04 00             	ret    $0x4
4074f8:	ff 74 24 04          	push   0x4(%esp)
4074fc:	ff 71 1c             	push   0x1c(%ecx)
4074ff:	ff 15 bc 07 4b 00    	call   *0x4b07bc
407505:	c2 04 00             	ret    $0x4
407508:	8b 41 08             	mov    0x8(%ecx),%eax
40750b:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40750f:	8d 04 88             	lea    (%eax,%ecx,4),%eax
407512:	c2 04 00             	ret    $0x4
407515:	e8 e7 63 06 00       	call   0x46d901
40751a:	8b 40 08             	mov    0x8(%eax),%eax
40751d:	c3                   	ret
40751e:	56                   	push   %esi
40751f:	8b f1                	mov    %ecx,%esi
407521:	8b 06                	mov    (%esi),%eax
407523:	83 e8 10             	sub    $0x10,%eax
407526:	83 78 0c 01          	cmpl   $0x1,0xc(%eax)
40752a:	7e 08                	jle    0x407534
40752c:	ff 70 04             	push   0x4(%eax)
40752f:	e8 f6 9d ff ff       	call   0x40132a
407534:	8b 06                	mov    (%esi),%eax
407536:	5e                   	pop    %esi
407537:	c3                   	ret
407538:	8b c1                	mov    %ecx,%eax
40753a:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40753e:	89 08                	mov    %ecx,(%eax)
407540:	8b 4c 24 08          	mov    0x8(%esp),%ecx
407544:	89 48 04             	mov    %ecx,0x4(%eax)
407547:	c2 08 00             	ret    $0x8
40754a:	8b 01                	mov    (%ecx),%eax
40754c:	3b 44 24 04          	cmp    0x4(%esp),%eax
407550:	75 0e                	jne    0x407560
407552:	8b 41 04             	mov    0x4(%ecx),%eax
407555:	3b 44 24 08          	cmp    0x8(%esp),%eax
407559:	75 05                	jne    0x407560
40755b:	33 c0                	xor    %eax,%eax
40755d:	40                   	inc    %eax
40755e:	eb 02                	jmp    0x407562
407560:	33 c0                	xor    %eax,%eax
407562:	c2 08 00             	ret    $0x8
407565:	8b 01                	mov    (%ecx),%eax
407567:	c3                   	ret
407568:	ff 71 1c             	push   0x1c(%ecx)
40756b:	ff 15 a0 07 4b 00    	call   *0x4b07a0
407571:	c3                   	ret
407572:	55                   	push   %ebp
407573:	8b ec                	mov    %esp,%ebp
407575:	ff 75 18             	push   0x18(%ebp)
407578:	ff 75 14             	push   0x14(%ebp)
40757b:	ff 75 10             	push   0x10(%ebp)
40757e:	ff 75 0c             	push   0xc(%ebp)
407581:	ff 75 08             	push   0x8(%ebp)
407584:	ff 71 1c             	push   0x1c(%ecx)
407587:	e8 40 e2 03 00       	call   0x4457cc
40758c:	5d                   	pop    %ebp
40758d:	c2 14 00             	ret    $0x14
407590:	ff 15 9c 07 4b 00    	call   *0x4b079c
407596:	50                   	push   %eax
407597:	e8 06 d7 03 00       	call   0x444ca2
40759c:	c3                   	ret
40759d:	ff 74 24 04          	push   0x4(%esp)
4075a1:	ff 71 28             	push   0x28(%ecx)
4075a4:	ff 15 d4 02 4b 00    	call   *0x4b02d4
4075aa:	c2 04 00             	ret    $0x4
4075ad:	ff 71 28             	push   0x28(%ecx)
4075b0:	ff 15 d0 02 4b 00    	call   *0x4b02d0
4075b6:	c3                   	ret
4075b7:	6a 10                	push   $0x10
4075b9:	ff 74 24 0c          	push   0xc(%esp)
4075bd:	ff 74 24 0c          	push   0xc(%esp)
4075c1:	e8 da 13 01 00       	call   0x4189a0
4075c6:	83 c4 0c             	add    $0xc,%esp
4075c9:	f7 d8                	neg    %eax
4075cb:	1b c0                	sbb    %eax,%eax
4075cd:	40                   	inc    %eax
4075ce:	c3                   	ret
4075cf:	8b c1                	mov    %ecx,%eax
4075d1:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4075d5:	0f bf d1             	movswl %cx,%edx
4075d8:	c1 e9 10             	shr    $0x10,%ecx
4075db:	0f bf c9             	movswl %cx,%ecx
4075de:	89 10                	mov    %edx,(%eax)
4075e0:	89 48 04             	mov    %ecx,0x4(%eax)
4075e3:	c2 04 00             	ret    $0x4
4075e6:	ff 74 24 08          	push   0x8(%esp)
4075ea:	ff 74 24 08          	push   0x8(%esp)
4075ee:	ff 71 04             	push   0x4(%ecx)
4075f1:	ff 15 7c 07 4b 00    	call   *0x4b077c
4075f7:	c2 08 00             	ret    $0x8
4075fa:	ff 74 24 08          	push   0x8(%esp)
4075fe:	ff 74 24 08          	push   0x8(%esp)
407602:	ff 71 04             	push   0x4(%ecx)
407605:	ff 15 78 07 4b 00    	call   *0x4b0778
40760b:	c2 08 00             	ret    $0x8
40760e:	ff 74 24 08          	push   0x8(%esp)
407612:	ff 74 24 08          	push   0x8(%esp)
407616:	ff 71 04             	push   0x4(%ecx)
407619:	ff 15 64 08 4b 00    	call   *0x4b0864
40761f:	c2 08 00             	ret    $0x8
407622:	ff 74 24 10          	push   0x10(%esp)
407626:	ff 74 24 10          	push   0x10(%esp)
40762a:	ff 74 24 10          	push   0x10(%esp)
40762e:	ff 74 24 10          	push   0x10(%esp)
407632:	ff 71 04             	push   0x4(%ecx)
407635:	ff 15 74 07 4b 00    	call   *0x4b0774
40763b:	c2 10 00             	ret    $0x10
40763e:	ff 71 1c             	push   0x1c(%ecx)
407641:	ff 15 d8 07 4b 00    	call   *0x4b07d8
407647:	50                   	push   %eax
407648:	e8 55 d6 03 00       	call   0x444ca2
40764d:	c3                   	ret
40764e:	33 c0                	xor    %eax,%eax
407650:	c2 04 00             	ret    $0x4
407653:	8b 01                	mov    (%ecx),%eax
407655:	ff a0 4c 01 00 00    	jmp    *0x14c(%eax)
40765b:	8b 01                	mov    (%ecx),%eax
40765d:	ff a0 50 01 00 00    	jmp    *0x150(%eax)
407663:	e9 ee 7f 04 00       	jmp    0x44f656