40d2b3:	8b 46 14             	mov    0x14(%esi),%eax
40d2b6:	50                   	push   %eax
40d2b7:	e8 b8 8f ff ff       	call   0x406274
40d2bc:	8b 46 20             	mov    0x20(%esi),%eax
40d2bf:	e8 fc 5f ff ff       	call   0x4032c0
40d2c4:	84 db                	test   %bl,%bl
40d2c6:	7e 07                	jle    0x40d2cf
40d2c8:	8b c6                	mov    %esi,%eax
40d2ca:	e8 a5 63 ff ff       	call   0x403674
40d2cf:	5e                   	pop    %esi
40d2d0:	5b                   	pop    %ebx
40d2d1:	c3                   	ret
40d2d2:	8b c0                	mov    %eax,%eax
40d2d4:	8b 40 10             	mov    0x10(%eax),%eax
40d2d7:	50                   	push   %eax
40d2d8:	e8 5f 91 ff ff       	call   0x40643c
40d2dd:	c3                   	ret
40d2de:	8b c0                	mov    %eax,%eax
40d2e0:	8b 40 10             	mov    0x10(%eax),%eax
40d2e3:	50                   	push   %eax
40d2e4:	e8 6b 91 ff ff       	call   0x406454
40d2e9:	c3                   	ret
40d2ea:	8b c0                	mov    %eax,%eax
40d2ec:	8b 40 14             	mov    0x14(%eax),%eax
40d2ef:	50                   	push   %eax
40d2f0:	e8 5f 91 ff ff       	call   0x406454
40d2f5:	c3                   	ret
40d2f6:	8b c0                	mov    %eax,%eax
40d2f8:	8b 50 18             	mov    0x18(%eax),%edx
40d2fb:	52                   	push   %edx
40d2fc:	8b 40 10             	mov    0x10(%eax),%eax
40d2ff:	50                   	push   %eax
40d300:	e8 87 91 ff ff       	call   0x40648c
40d305:	c3                   	ret
40d306:	8b c0                	mov    %eax,%eax
40d308:	8b 50 18             	mov    0x18(%eax),%edx
40d30b:	52                   	push   %edx
40d30c:	8b 40 14             	mov    0x14(%eax),%eax
40d30f:	50                   	push   %eax
40d310:	e8 77 91 ff ff       	call   0x40648c
40d315:	c3                   	ret
40d316:	8b c0                	mov    %eax,%eax
40d318:	53                   	push   %ebx
40d319:	56                   	push   %esi
40d31a:	57                   	push   %edi
40d31b:	55                   	push   %ebp
40d31c:	51                   	push   %ecx
40d31d:	8b f8                	mov    %eax,%edi
40d31f:	b3 01                	mov    $0x1,%bl
40d321:	e8 f6 8f ff ff       	call   0x40631c
40d326:	8b f0                	mov    %eax,%esi
40d328:	3b 77 24             	cmp    0x24(%edi),%esi
40d32b:	74 7c                	je     0x40d3a9
40d32d:	8b c7                	mov    %edi,%eax
40d32f:	e8 a0 ff ff ff       	call   0x40d2d4
40d334:	8b 6f 28             	mov    0x28(%edi),%ebp
40d337:	8b d4                	mov    %esp,%edx
40d339:	8b 47 20             	mov    0x20(%edi),%eax
40d33c:	e8 0f fe ff ff       	call   0x40d150
40d341:	8b 04 24             	mov    (%esp),%eax
40d344:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
40d348:	0f 97 c3             	seta   %bl
40d34b:	84 db                	test   %bl,%bl
40d34d:	74 22                	je     0x40d371
40d34f:	8d 47 0c             	lea    0xc(%edi),%eax
40d352:	e8 69 fd ff ff       	call   0x40d0c0
40d357:	eb 18                	jmp    0x40d371
40d359:	8d 47 0c             	lea    0xc(%edi),%eax
40d35c:	ba ff ff 00 00       	mov    $0xffff,%edx
40d361:	e8 7a fd ff ff       	call   0x40d0e0
40d366:	85 c0                	test   %eax,%eax
40d368:	74 07                	je     0x40d371
40d36a:	8b c7                	mov    %edi,%eax
40d36c:	e8 97 ff ff ff       	call   0x40d308
40d371:	8d 47 0c             	lea    0xc(%edi),%eax
40d374:	ba 01 00 ff ff       	mov    $0xffff0001,%edx
40d379:	e8 62 fd ff ff       	call   0x40d0e0
40d37e:	3d ff ff 00 00       	cmp    $0xffff,%eax
40d383:	75 d4                	jne    0x40d359
40d385:	8b c7                	mov    %edi,%eax
40d387:	e8 48 ff ff ff       	call   0x40d2d4
40d38c:	84 db                	test   %bl,%bl
40d38e:	74 08                	je     0x40d398
40d390:	8d 47 0c             	lea    0xc(%edi),%eax
40d393:	e8 34 fd ff ff       	call   0x40d0cc
40d398:	89 77 24             	mov    %esi,0x24(%edi)
40d39b:	8d 47 28             	lea    0x28(%edi),%eax
40d39e:	e8 1d fd ff ff       	call   0x40d0c0
40d3a3:	48                   	dec    %eax
40d3a4:	3b c5                	cmp    %ebp,%eax
40d3a6:	0f 94 c3             	sete   %bl
40d3a9:	ff 47 1c             	incl   0x1c(%edi)
40d3ac:	8b c3                	mov    %ebx,%eax
40d3ae:	5a                   	pop    %edx
40d3af:	5d                   	pop    %ebp
40d3b0:	5f                   	pop    %edi
40d3b1:	5e                   	pop    %esi
40d3b2:	5b                   	pop    %ebx
40d3b3:	c3                   	ret
40d3b4:	53                   	push   %ebx
40d3b5:	51                   	push   %ecx
40d3b6:	8b d8                	mov    %eax,%ebx
40d3b8:	8b d4                	mov    %esp,%edx
40d3ba:	8b 43 20             	mov    0x20(%ebx),%eax
40d3bd:	e8 8e fd ff ff       	call   0x40d150
40d3c2:	ff 4b 1c             	decl   0x1c(%ebx)
40d3c5:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
40d3c9:	75 20                	jne    0x40d3eb
40d3cb:	33 c0                	xor    %eax,%eax
40d3cd:	89 43 24             	mov    %eax,0x24(%ebx)
40d3d0:	8d 43 0c             	lea    0xc(%ebx),%eax
40d3d3:	ba ff ff 00 00       	mov    $0xffff,%edx
40d3d8:	e8 03 fd ff ff       	call   0x40d0e0
40d3dd:	8b c3                	mov    %ebx,%eax
40d3df:	e8 08 ff ff ff       	call   0x40d2ec
40d3e4:	8b c3                	mov    %ebx,%eax
40d3e6:	e8 f5 fe ff ff       	call   0x40d2e0
40d3eb:	8b 04 24             	mov    (%esp),%eax
40d3ee:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
40d3f2:	75 0a                	jne    0x40d3fe
40d3f4:	8b d4                	mov    %esp,%edx
40d3f6:	8b 43 20             	mov    0x20(%ebx),%eax
40d3f9:	e8 ca fd ff ff       	call   0x40d1c8
40d3fe:	5a                   	pop    %edx
40d3ff:	5b                   	pop    %ebx
40d400:	c3                   	ret
40d401:	8d 40 00             	lea    0x0(%eax),%eax
40d404:	53                   	push   %ebx
40d405:	56                   	push   %esi
40d406:	51                   	push   %ecx
40d407:	8b f0                	mov    %eax,%esi
40d409:	8b d4                	mov    %esp,%edx
40d40b:	8b 46 20             	mov    0x20(%esi),%eax
40d40e:	e8 3d fd ff ff       	call   0x40d150
40d413:	8b 04 24             	mov    (%esp),%eax
40d416:	ff 40 0c             	incl   0xc(%eax)
40d419:	8b 04 24             	mov    (%esp),%eax
40d41c:	83 78 0c 01          	cmpl   $0x1,0xc(%eax)
40d420:	0f 97 c3             	seta   %bl
40d423:	e8 f4 8e ff ff       	call   0x40631c
40d428:	3b 46 24             	cmp    0x24(%esi),%eax
40d42b:	74 3d                	je     0x40d46a
40d42d:	84 db                	test   %bl,%bl
40d42f:	75 39                	jne    0x40d46a
40d431:	8b c6                	mov    %esi,%eax
40d433:	e8 c0 fe ff ff       	call   0x40d2f8
40d438:	eb 24                	jmp    0x40d45e
40d43a:	8d 46 0c             	lea    0xc(%esi),%eax
40d43d:	e8 7e fc ff ff       	call   0x40d0c0
40d442:	3d ff ff 00 00       	cmp    $0xffff,%eax
40d447:	75 07                	jne    0x40d450
40d449:	8b c6                	mov    %esi,%eax
40d44b:	e8 9c fe ff ff       	call   0x40d2ec
40d450:	6a 00                	push   $0x0
40d452:	e8 1d fb ff ff       	call   0x40cf74
40d457:	8b c6                	mov    %esi,%eax
40d459:	e8 9a fe ff ff       	call   0x40d2f8
40d45e:	8d 46 0c             	lea    0xc(%esi),%eax
40d461:	e8 66 fc ff ff       	call   0x40d0cc
40d466:	85 c0                	test   %eax,%eax
40d468:	7e d0                	jle    0x40d43a
40d46a:	5a                   	pop    %edx
40d46b:	5e                   	pop    %esi
40d46c:	5b                   	pop    %ebx
40d46d:	c3                   	ret
40d46e:	8b c0                	mov    %eax,%eax
40d470:	53                   	push   %ebx
40d471:	51                   	push   %ecx
40d472:	8b d8                	mov    %eax,%ebx
40d474:	8b d4                	mov    %esp,%edx
40d476:	8b 43 20             	mov    0x20(%ebx),%eax
40d479:	e8 d2 fc ff ff       	call   0x40d150
40d47e:	8b 04 24             	mov    (%esp),%eax
40d481:	ff 48 0c             	decl   0xc(%eax)
40d484:	8b 04 24             	mov    (%esp),%eax
40d487:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
40d48b:	75 48                	jne    0x40d4d5
40d48d:	8b d4                	mov    %esp,%edx
40d48f:	8b 43 20             	mov    0x20(%ebx),%eax
40d492:	e8 31 fd ff ff       	call   0x40d1c8
40d497:	e8 80 8e ff ff       	call   0x40631c
40d49c:	3b 43 24             	cmp    0x24(%ebx),%eax
40d49f:	74 34                	je     0x40d4d5
40d4a1:	8d 43 0c             	lea    0xc(%ebx),%eax
40d4a4:	e8 17 fc ff ff       	call   0x40d0c0
40d4a9:	8b c8                	mov    %eax,%ecx
40d4ab:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
40d4b1:	75 09                	jne    0x40d4bc
40d4b3:	8b c3                	mov    %ebx,%eax
40d4b5:	e8 32 fe ff ff       	call   0x40d2ec
40d4ba:	eb 19                	jmp    0x40d4d5
40d4bc:	85 c9                	test   %ecx,%ecx
40d4be:	7f 15                	jg     0x40d4d5
40d4c0:	8b c1                	mov    %ecx,%eax
40d4c2:	b9 ff ff 00 00       	mov    $0xffff,%ecx
40d4c7:	99                   	cltd
40d4c8:	f7 f9                	idiv   %ecx
40d4ca:	85 d2                	test   %edx,%edx
40d4cc:	75 07                	jne    0x40d4d5
40d4ce:	8b c3                	mov    %ebx,%eax
40d4d0:	e8 17 fe ff ff       	call   0x40d2ec
40d4d5:	5a                   	pop    %edx
40d4d6:	5b                   	pop    %ebx
40d4d7:	c3                   	ret
40d4d8:	8b 10                	mov    (%eax),%edx
40d4da:	33 c9                	xor    %ecx,%ecx
40d4dc:	89 08                	mov    %ecx,(%eax)
40d4de:	8b c2                	mov    %edx,%eax
40d4e0:	e8 db 5d ff ff       	call   0x4032c0
40d4e5:	c3                   	ret
40d4e6:	8b c0                	mov    %eax,%eax
40d4e8:	53                   	push   %ebx
40d4e9:	56                   	push   %esi
40d4ea:	57                   	push   %edi
40d4eb:	8b f9                	mov    %ecx,%edi
40d4ed:	8b f2                	mov    %edx,%esi
40d4ef:	8b d8                	mov    %eax,%ebx
40d4f1:	85 db                	test   %ebx,%ebx
40d4f3:	74 0b                	je     0x40d500
40d4f5:	57                   	push   %edi
40d4f6:	56                   	push   %esi
40d4f7:	53                   	push   %ebx
40d4f8:	8b 03                	mov    (%ebx),%eax
40d4fa:	ff 10                	call   *(%eax)
40d4fc:	85 c0                	test   %eax,%eax
40d4fe:	74 04                	je     0x40d504
40d500:	33 c0                	xor    %eax,%eax
40d502:	eb 02                	jmp    0x40d506
40d504:	b0 01                	mov    $0x1,%al
40d506:	5f                   	pop    %edi
40d507:	5e                   	pop    %esi
40d508:	5b                   	pop    %ebx
40d509:	c3                   	ret
40d50a:	8b c0                	mov    %eax,%eax
40d50c:	55                   	push   %ebp
40d50d:	8b ec                	mov    %esp,%ebp
40d50f:	6a 00                	push   $0x0
40d511:	53                   	push   %ebx
40d512:	56                   	push   %esi
40d513:	57                   	push   %edi
40d514:	8b f9                	mov    %ecx,%edi
40d516:	8b f2                	mov    %edx,%esi
40d518:	8b d8                	mov    %eax,%ebx
40d51a:	33 c0                	xor    %eax,%eax
40d51c:	55                   	push   %ebp
40d51d:	68 83 d5 40 00       	push   $0x40d583
40d522:	64 ff 30             	push   %fs:(%eax)
40d525:	64 89 20             	mov    %esp,%fs:(%eax)
40d528:	85 db                	test   %ebx,%ebx
40d52a:	74 39                	je     0x40d565
40d52c:	8d 45 fc             	lea    -0x4(%ebp),%eax
40d52f:	e8 ec 83 ff ff       	call   0x405920
40d534:	8b c8                	mov    %eax,%ecx
40d536:	ba 94 d5 40 00       	mov    $0x40d594,%edx
40d53b:	8b c3                	mov    %ebx,%eax
40d53d:	e8 32 5e ff ff       	call   0x403374
40d542:	84 c0                	test   %al,%al
40d544:	74 10                	je     0x40d556
40d546:	8b cf                	mov    %edi,%ecx
40d548:	8b d6                	mov    %esi,%edx
40d54a:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d54d:	e8 96 ff ff ff       	call   0x40d4e8
40d552:	84 c0                	test   %al,%al
40d554:	75 13                	jne    0x40d569
40d556:	8b cf                	mov    %edi,%ecx
40d558:	8b d6                	mov    %esi,%edx
40d55a:	8b c3                	mov    %ebx,%eax
40d55c:	e8 13 5e ff ff       	call   0x403374
40d561:	84 c0                	test   %al,%al
40d563:	75 04                	jne    0x40d569
40d565:	33 c0                	xor    %eax,%eax
40d567:	eb 02                	jmp    0x40d56b
40d569:	b0 01                	mov    $0x1,%al
40d56b:	8b d8                	mov    %eax,%ebx
40d56d:	33 c0                	xor    %eax,%eax
40d56f:	5a                   	pop    %edx
40d570:	59                   	pop    %ecx
40d571:	59                   	pop    %ecx
40d572:	64 89 10             	mov    %edx,%fs:(%eax)
40d575:	68 8a d5 40 00       	push   $0x40d58a
40d57a:	8d 45 fc             	lea    -0x4(%ebp),%eax
40d57d:	e8 9e 83 ff ff       	call   0x405920
40d582:	c3                   	ret
40d583:	e9 cc 64 ff ff       	jmp    0x403a54
40d588:	eb f0                	jmp    0x40d57a
40d58a:	8b c3                	mov    %ebx,%eax
40d58c:	5f                   	pop    %edi
40d58d:	5e                   	pop    %esi
40d58e:	5b                   	pop    %ebx
40d58f:	59                   	pop    %ecx
40d590:	5d                   	pop    %ebp
40d591:	c3                   	ret
40d59a:	00 00                	add    %al,(%eax)
40d59c:	c0 00 00             	rolb   $0x0,(%eax)
40d59f:	00 00                	add    %al,(%eax)
40d5a1:	00 00                	add    %al,(%eax)
40d5a3:	46                   	inc    %esi
40d5a4:	55                   	push   %ebp
40d5a5:	8b ec                	mov    %esp,%ebp
40d5a7:	83 c4 f4             	add    $0xfffffff4,%esp
40d5aa:	53                   	push   %ebx
40d5ab:	8b d8                	mov    %eax,%ebx
40d5ad:	52                   	push   %edx
40d5ae:	e8 99 8e ff ff       	call   0x40644c
40d5b3:	89 45 f4             	mov    %eax,-0xc(%ebp)
40d5b6:	33 c0                	xor    %eax,%eax
40d5b8:	55                   	push   %ebp
40d5b9:	68 16 d6 40 00       	push   $0x40d616
40d5be:	64 ff 30             	push   %fs:(%eax)
40d5c1:	64 89 20             	mov    %esp,%fs:(%eax)
40d5c4:	d9 7d fe             	fnstcw -0x2(%ebp)
40d5c7:	33 c0                	xor    %eax,%eax
40d5c9:	55                   	push   %ebp
40d5ca:	68 f8 d5 40 00       	push   $0x40d5f8
40d5cf:	64 ff 30             	push   %fs:(%eax)
40d5d2:	64 89 20             	mov    %esp,%fs:(%eax)
40d5d5:	8b c3                	mov    %ebx,%eax
40d5d7:	e8 34 6f ff ff       	call   0x404510
40d5dc:	50                   	push   %eax
40d5dd:	e8 32 8e ff ff       	call   0x406414
40d5e2:	89 45 f8             	mov    %eax,-0x8(%ebp)
40d5e5:	33 c0                	xor    %eax,%eax
40d5e7:	5a                   	pop    %edx
40d5e8:	59                   	pop    %ecx
40d5e9:	59                   	pop    %ecx
40d5ea:	64 89 10             	mov    %edx,%fs:(%eax)
40d5ed:	68 ff d5 40 00       	push   $0x40d5ff
40d5f2:	db e2                	fnclex
40d5f4:	d9 6d fe             	fldcw  -0x2(%ebp)
40d5f7:	c3                   	ret
40d5f8:	e9 57 64 ff ff       	jmp    0x403a54
40d5fd:	eb f3                	jmp    0x40d5f2
40d5ff:	33 c0                	xor    %eax,%eax
40d601:	5a                   	pop    %edx
40d602:	59                   	pop    %ecx
40d603:	59                   	pop    %ecx
40d604:	64 89 10             	mov    %edx,%fs:(%eax)
40d607:	68 1d d6 40 00       	push   $0x40d61d
40d60c:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d60f:	50                   	push   %eax
40d610:	e8 37 8e ff ff       	call   0x40644c
40d615:	c3                   	ret
40d616:	e9 39 64 ff ff       	jmp    0x403a54
40d61b:	eb ef                	jmp    0x40d60c
40d61d:	8b 45 f8             	mov    -0x8(%ebp),%eax
40d620:	5b                   	pop    %ebx
40d621:	8b e5                	mov    %ebp,%esp
40d623:	5d                   	pop    %ebp
40d624:	c3                   	ret
40d625:	8d 40 00             	lea    0x0(%eax),%eax