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
40d628:	1d 00 00 00 04       	sbb    $0x4000000,%eax
40d62d:	93                   	xchg   %eax,%ebx
40d62e:	46                   	inc    %esi
40d62f:	00 68 47             	add    %ch,0x47(%eax)
40d632:	47                   	inc    %edi
40d633:	00 fc                	add    %bh,%ah
40d635:	92                   	xchg   %eax,%edx
40d636:	46                   	inc    %esi
40d637:	00 78 46             	add    %bh,0x46(%eax)
40d63a:	47                   	inc    %edi
40d63b:	00 f4                	add    %dh,%ah
40d63d:	92                   	xchg   %eax,%edx
40d63e:	46                   	inc    %esi
40d63f:	00 f0                	add    %dh,%al
40d641:	44                   	inc    %esp
40d642:	47                   	inc    %edi
40d643:	00 ec                	add    %ch,%ah
40d645:	92                   	xchg   %eax,%edx
40d646:	46                   	inc    %esi
40d647:	00 b4 47 47 00 e4 92 	add    %dh,-0x6d1bffb9(%edi,%eax,2)
40d64e:	46                   	inc    %esi
40d64f:	00 e4                	add    %ah,%ah
40d651:	47                   	inc    %edi
40d652:	47                   	inc    %edi
40d653:	00 dc                	add    %bl,%ah
40d655:	92                   	xchg   %eax,%edx
40d656:	46                   	inc    %esi
40d657:	00 ac 45 47 00 d4 92 	add    %ch,-0x6d2bffb9(%ebp,%eax,2)
40d65e:	46                   	inc    %esi
40d65f:	00 60 46             	add    %ah,0x46(%eax)
40d662:	47                   	inc    %edi
40d663:	00 cc                	add    %cl,%ah
40d665:	92                   	xchg   %eax,%edx
40d666:	46                   	inc    %esi
40d667:	00 a8 44 47 00 c4    	add    %ch,-0x3bffb8bc(%eax)
40d66d:	92                   	xchg   %eax,%edx
40d66e:	46                   	inc    %esi
40d66f:	00 b0 46 47 00 bc    	add    %dh,-0x43ffb8ba(%eax)
40d675:	92                   	xchg   %eax,%edx
40d676:	46                   	inc    %esi
40d677:	00 00                	add    %al,(%eax)
40d679:	47                   	inc    %edi
40d67a:	47                   	inc    %edi
40d67b:	00 b4 92 46 00 34 46 	add    %dh,0x46340046(%edx,%edx,4)
40d682:	47                   	inc    %edi
40d683:	00 ac 92 46 00 3c 46 	add    %ch,0x463c0046(%edx,%edx,4)
40d68a:	47                   	inc    %edi
40d68b:	00 a4 92 46 00 58 48 	add    %ah,0x48580046(%edx,%edx,4)
40d692:	47                   	inc    %edi
40d693:	00 9c 92 46 00 38 46 	add    %bl,0x46380046(%edx,%edx,4)
40d69a:	47                   	inc    %edi
40d69b:	00 94 92 46 00 d4 48 	add    %dl,0x48d40046(%edx,%edx,4)
40d6a2:	47                   	inc    %edi
40d6a3:	00 8c 92 46 00 40 47 	add    %cl,0x47400046(%edx,%edx,4)
40d6aa:	47                   	inc    %edi
40d6ab:	00 84 92 46 00 1c 47 	add    %al,0x471c0046(%edx,%edx,4)
40d6b2:	47                   	inc    %edi
40d6b3:	00 7c 92 46          	add    %bh,0x46(%edx,%edx,4)
40d6b7:	00 e8                	add    %ch,%al
40d6b9:	48                   	dec    %eax
40d6ba:	47                   	inc    %edi
40d6bb:	00 74 92 46          	add    %dh,0x46(%edx,%edx,4)
40d6bf:	00 98 48 47 00 6c    	add    %bl,0x6c004748(%eax)
40d6c5:	92                   	xchg   %eax,%edx
40d6c6:	46                   	inc    %esi
40d6c7:	00 4c 46 47          	add    %cl,0x47(%esi,%eax,2)
40d6cb:	00 64 92 46          	add    %ah,0x46(%edx,%edx,4)
40d6cf:	00 60 48             	add    %ah,0x48(%eax)
40d6d2:	47                   	inc    %edi
40d6d3:	00 5c 92 46          	add    %bl,0x46(%edx,%edx,4)
40d6d7:	00 70 48             	add    %dh,0x48(%eax)
40d6da:	47                   	inc    %edi
40d6db:	00 54 92 46          	add    %dl,0x46(%edx,%edx,4)
40d6df:	00 94 45 47 00 4c 92 	add    %dl,-0x6db3ffb9(%ebp,%eax,2)
40d6e6:	46                   	inc    %esi
40d6e7:	00 58 45             	add    %bl,0x45(%eax)
40d6ea:	47                   	inc    %edi
40d6eb:	00 44 92 46          	add    %al,0x46(%edx,%edx,4)
40d6ef:	00 18                	add    %bl,(%eax)
40d6f1:	47                   	inc    %edi
40d6f2:	47                   	inc    %edi
40d6f3:	00 3c 92             	add    %bh,(%edx,%edx,4)
40d6f6:	46                   	inc    %esi
40d6f7:	00 ac 47 47 00 34 92 	add    %ch,-0x6dcbffb9(%edi,%eax,2)
40d6fe:	46                   	inc    %esi
40d6ff:	00 b4 44 47 00 2c 92 	add    %dh,-0x6dd3ffb9(%esp,%eax,2)
40d706:	46                   	inc    %esi
40d707:	00 54 48 47          	add    %dl,0x47(%eax,%ecx,2)
40d70b:	00 24 92             	add    %ah,(%edx,%edx,4)
40d70e:	46                   	inc    %esi
40d70f:	00 48 46             	add    %cl,0x46(%eax)
40d712:	47                   	inc    %edi
40d713:	00 28                	add    %ch,(%eax)
40d715:	00 00                	add    %al,(%eax)
40d717:	00 1c 92             	add    %bl,(%edx,%edx,4)
40d71a:	46                   	inc    %esi
40d71b:	00 34 48             	add    %dh,(%eax,%ecx,2)
40d71e:	47                   	inc    %edi
40d71f:	00 00                	add    %al,(%eax)
40d721:	00 00                	add    %al,(%eax)
40d723:	00 18                	add    %bl,(%eax)
40d725:	92                   	xchg   %eax,%edx
40d726:	46                   	inc    %esi
40d727:	00 fc                	add    %bh,%ah
40d729:	44                   	inc    %esp
40d72a:	47                   	inc    %edi
40d72b:	00 00                	add    %al,(%eax)
40d72d:	00 00                	add    %al,(%eax)
40d72f:	00 14 92             	add    %dl,(%edx,%edx,4)
40d732:	46                   	inc    %esi
40d733:	00 98 47 47 00 00    	add    %bl,0x4747(%eax)
40d739:	00 00                	add    %al,(%eax)
40d73b:	00 10                	add    %dl,(%eax)
40d73d:	92                   	xchg   %eax,%edx
40d73e:	46                   	inc    %esi
40d73f:	00 c0                	add    %al,%al
40d741:	44                   	inc    %esp
40d742:	47                   	inc    %edi
40d743:	00 00                	add    %al,(%eax)
40d745:	00 00                	add    %al,(%eax)
40d747:	00 0c 92             	add    %cl,(%edx,%edx,4)
40d74a:	46                   	inc    %esi
40d74b:	00 70 45             	add    %dh,0x45(%eax)
40d74e:	47                   	inc    %edi
40d74f:	00 00                	add    %al,(%eax)
40d751:	00 00                	add    %al,(%eax)
40d753:	00 08                	add    %cl,(%eax)
40d755:	92                   	xchg   %eax,%edx
40d756:	46                   	inc    %esi
40d757:	00 68 45             	add    %ch,0x45(%eax)
40d75a:	47                   	inc    %edi
40d75b:	00 00                	add    %al,(%eax)
40d75d:	00 00                	add    %al,(%eax)
40d75f:	00 04 92             	add    %al,(%edx,%edx,4)
40d762:	46                   	inc    %esi
40d763:	00 18                	add    %bl,(%eax)
40d765:	45                   	inc    %ebp
40d766:	47                   	inc    %edi
40d767:	00 00                	add    %al,(%eax)
40d769:	00 00                	add    %al,(%eax)
40d76b:	00 00                	add    %al,(%eax)
40d76d:	92                   	xchg   %eax,%edx
40d76e:	46                   	inc    %esi
40d76f:	00 44 46 47          	add    %al,0x47(%esi,%eax,2)
40d773:	00 00                	add    %al,(%eax)
40d775:	00 00                	add    %al,(%eax)
40d777:	00 fc                	add    %bh,%ah
40d779:	91                   	xchg   %eax,%ecx
40d77a:	46                   	inc    %esi
40d77b:	00 3c 47             	add    %bh,(%edi,%eax,2)
40d77e:	47                   	inc    %edi
40d77f:	00 00                	add    %al,(%eax)
40d781:	00 00                	add    %al,(%eax)
40d783:	00 f8                	add    %bh,%al
40d785:	91                   	xchg   %eax,%ecx
40d786:	46                   	inc    %esi
40d787:	00 6c 45 47          	add    %ch,0x47(%ebp,%eax,2)
40d78b:	00 00                	add    %al,(%eax)
40d78d:	00 00                	add    %al,(%eax)
40d78f:	00 f4                	add    %dh,%ah
40d791:	91                   	xchg   %eax,%ecx
40d792:	46                   	inc    %esi
40d793:	00 10                	add    %dl,(%eax)
40d795:	47                   	inc    %edi
40d796:	47                   	inc    %edi
40d797:	00 00                	add    %al,(%eax)
40d799:	00 00                	add    %al,(%eax)
40d79b:	00 f0                	add    %dh,%al
40d79d:	91                   	xchg   %eax,%ecx
40d79e:	46                   	inc    %esi
40d79f:	00 e0                	add    %ah,%al
40d7a1:	47                   	inc    %edi
40d7a2:	47                   	inc    %edi
40d7a3:	00 00                	add    %al,(%eax)
40d7a5:	00 00                	add    %al,(%eax)