40960d:	5d                   	pop    %ebp
40960e:	c2 04 00             	ret    $0x4
409611:	8d 40 00             	lea    0x0(%eax),%eax
409614:	55                   	push   %ebp
409615:	8b ec                	mov    %esp,%ebp
409617:	83 c4 f4             	add    $0xfffffff4,%esp
40961a:	53                   	push   %ebx
40961b:	56                   	push   %esi
40961c:	57                   	push   %edi
40961d:	8b f9                	mov    %ecx,%edi
40961f:	8b f2                	mov    %edx,%esi
409621:	8b d8                	mov    %eax,%ebx
409623:	8d 45 fc             	lea    -0x4(%ebp),%eax
409626:	50                   	push   %eax
409627:	ff 75 10             	push   0x10(%ebp)
40962a:	ff 75 0c             	push   0xc(%ebp)
40962d:	8d 45 f4             	lea    -0xc(%ebp),%eax
409630:	e8 eb fe ff ff       	call   0x409520
409635:	8b 45 f4             	mov    -0xc(%ebp),%eax
409638:	8d 4d fe             	lea    -0x2(%ebp),%ecx
40963b:	66 ba 60 ea          	mov    $0xea60,%dx
40963f:	e8 60 e4 ff ff       	call   0x407aa4
409644:	56                   	push   %esi
409645:	8b cb                	mov    %ebx,%ecx
409647:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
40964b:	66 ba 3c 00          	mov    $0x3c,%dx
40964f:	e8 50 e4 ff ff       	call   0x407aa4
409654:	8b 45 08             	mov    0x8(%ebp),%eax
409657:	50                   	push   %eax
409658:	8b cf                	mov    %edi,%ecx
40965a:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
40965e:	66 ba e8 03          	mov    $0x3e8,%dx
409662:	e8 3d e4 ff ff       	call   0x407aa4
409667:	5f                   	pop    %edi
409668:	5e                   	pop    %esi
409669:	5b                   	pop    %ebx
40966a:	8b e5                	mov    %ebp,%esp
40966c:	5d                   	pop    %ebp
40966d:	c2 0c 00             	ret    $0xc
409670:	53                   	push   %ebx
409671:	56                   	push   %esi
409672:	8b c8                	mov    %eax,%ecx
409674:	0f b7 c1             	movzwl %cx,%eax
409677:	83 e0 03             	and    $0x3,%eax
40967a:	85 c0                	test   %eax,%eax
40967c:	75 21                	jne    0x40969f
40967e:	0f b7 d9             	movzwl %cx,%ebx
409681:	8b c3                	mov    %ebx,%eax
409683:	be 64 00 00 00       	mov    $0x64,%esi
409688:	33 d2                	xor    %edx,%edx
40968a:	f7 f6                	div    %esi
40968c:	85 d2                	test   %edx,%edx
40968e:	75 14                	jne    0x4096a4
409690:	8b c3                	mov    %ebx,%eax
409692:	b9 90 01 00 00       	mov    $0x190,%ecx
409697:	33 d2                	xor    %edx,%edx
409699:	f7 f1                	div    %ecx
40969b:	85 d2                	test   %edx,%edx
40969d:	74 05                	je     0x4096a4
40969f:	33 c0                	xor    %eax,%eax
4096a1:	5e                   	pop    %esi
4096a2:	5b                   	pop    %ebx
4096a3:	c3                   	ret
4096a4:	b0 01                	mov    $0x1,%al
4096a6:	5e                   	pop    %esi
4096a7:	5b                   	pop    %ebx
4096a8:	c3                   	ret
4096a9:	8d 40 00             	lea    0x0(%eax),%eax
4096ac:	55                   	push   %ebp
4096ad:	8b ec                	mov    %esp,%ebp
4096af:	83 c4 f8             	add    $0xfffffff8,%esp
4096b2:	53                   	push   %ebx
4096b3:	56                   	push   %esi
4096b4:	57                   	push   %edi
4096b5:	8b d9                	mov    %ecx,%ebx
4096b7:	8b fa                	mov    %edx,%edi
4096b9:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
4096bd:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
4096c1:	66 8b 45 fe          	mov    -0x2(%ebp),%ax
4096c5:	e8 a6 ff ff ff       	call   0x409670
4096ca:	83 e0 7f             	and    $0x7f,%eax
4096cd:	8d 04 40             	lea    (%eax,%eax,2),%eax
4096d0:	8d 34 c5 dc d0 45 00 	lea    0x45d0dc(,%eax,8),%esi
4096d7:	66 83 7d fe 01       	cmpw   $0x1,-0x2(%ebp)
4096dc:	0f 82 86 00 00 00    	jb     0x409768
4096e2:	66 81 7d fe 0f 27    	cmpw   $0x270f,-0x2(%ebp)
4096e8:	77 7e                	ja     0x409768
4096ea:	66 83 ff 01          	cmp    $0x1,%di
4096ee:	72 78                	jb     0x409768
4096f0:	66 83 ff 0c          	cmp    $0xc,%di
4096f4:	77 72                	ja     0x409768
4096f6:	66 83 fb 01          	cmp    $0x1,%bx
4096fa:	72 6c                	jb     0x409768
4096fc:	0f b7 c7             	movzwl %di,%eax
4096ff:	66 3b 5c 46 fe       	cmp    -0x2(%esi,%eax,2),%bx
409704:	77 62                	ja     0x409768
409706:	0f b7 c7             	movzwl %di,%eax
409709:	48                   	dec    %eax
40970a:	85 c0                	test   %eax,%eax
40970c:	7e 0e                	jle    0x40971c
40970e:	b9 01 00 00 00       	mov    $0x1,%ecx
409713:	66 03 5c 4e fe       	add    -0x2(%esi,%ecx,2),%bx
409718:	41                   	inc    %ecx
409719:	48                   	dec    %eax
40971a:	75 f7                	jne    0x409713
40971c:	0f b7 4d fe          	movzwl -0x2(%ebp),%ecx
409720:	49                   	dec    %ecx
409721:	8b c1                	mov    %ecx,%eax
409723:	be 64 00 00 00       	mov    $0x64,%esi
409728:	99                   	cltd
409729:	f7 fe                	idiv   %esi
40972b:	69 f1 6d 01 00 00    	imul   $0x16d,%ecx,%esi
409731:	8b d1                	mov    %ecx,%edx
409733:	85 d2                	test   %edx,%edx
409735:	79 03                	jns    0x40973a
409737:	83 c2 03             	add    $0x3,%edx
40973a:	c1 fa 02             	sar    $0x2,%edx
40973d:	03 f2                	add    %edx,%esi
40973f:	2b f0                	sub    %eax,%esi
409741:	8b c1                	mov    %ecx,%eax
409743:	b9 90 01 00 00       	mov    $0x190,%ecx
409748:	99                   	cltd
409749:	f7 f9                	idiv   %ecx
40974b:	03 f0                	add    %eax,%esi
40974d:	0f b7 c3             	movzwl %bx,%eax
409750:	03 f0                	add    %eax,%esi
409752:	81 ee 5a 95 0a 00    	sub    $0xa955a,%esi
409758:	89 75 f8             	mov    %esi,-0x8(%ebp)
40975b:	db 45 f8             	fildl  -0x8(%ebp)
40975e:	8b 45 08             	mov    0x8(%ebp),%eax
409761:	dd 18                	fstpl  (%eax)
409763:	9b                   	fwait
409764:	c6 45 fd 01          	movb   $0x1,-0x3(%ebp)
409768:	8a 45 fd             	mov    -0x3(%ebp),%al
40976b:	5f                   	pop    %edi
40976c:	5e                   	pop    %esi
40976d:	5b                   	pop    %ebx
40976e:	59                   	pop    %ecx
40976f:	59                   	pop    %ecx
409770:	5d                   	pop    %ebp
409771:	c2 04 00             	ret    $0x4
409774:	53                   	push   %ebx
409775:	56                   	push   %esi
409776:	57                   	push   %edi
409777:	83 c4 f8             	add    $0xfffffff8,%esp
40977a:	8b f9                	mov    %ecx,%edi
40977c:	8b f2                	mov    %edx,%esi
40977e:	8b d8                	mov    %eax,%ebx
409780:	54                   	push   %esp
409781:	8b cf                	mov    %edi,%ecx
409783:	8b d6                	mov    %esi,%edx
409785:	8b c3                	mov    %ebx,%eax
409787:	e8 20 ff ff ff       	call   0x4096ac
40978c:	84 c0                	test   %al,%al
40978e:	75 0a                	jne    0x40979a
409790:	a1 38 7f 46 00       	mov    0x467f38,%eax
409795:	e8 26 e3 ff ff       	call   0x407ac0
40979a:	dd 04 24             	fldl   (%esp)
40979d:	59                   	pop    %ecx
40979e:	5a                   	pop    %edx
40979f:	5f                   	pop    %edi
4097a0:	5e                   	pop    %esi
4097a1:	5b                   	pop    %ebx
4097a2:	c3                   	ret
4097a3:	90                   	nop
4097a4:	55                   	push   %ebp
4097a5:	8b ec                	mov    %esp,%ebp
4097a7:	83 c4 e8             	add    $0xffffffe8,%esp
4097aa:	53                   	push   %ebx
4097ab:	56                   	push   %esi
4097ac:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4097af:	89 55 f8             	mov    %edx,-0x8(%ebp)
4097b2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4097b5:	8b 5d 08             	mov    0x8(%ebp),%ebx
4097b8:	ff 75 10             	push   0x10(%ebp)
4097bb:	ff 75 0c             	push   0xc(%ebp)
4097be:	8d 45 e8             	lea    -0x18(%ebp),%eax
4097c1:	e8 5a fd ff ff       	call   0x409520
4097c6:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4097c9:	85 c9                	test   %ecx,%ecx
4097cb:	7f 24                	jg     0x4097f1
4097cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4097d0:	66 c7 00 00 00       	movw   $0x0,(%eax)
4097d5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4097d8:	66 c7 00 00 00       	movw   $0x0,(%eax)
4097dd:	8b 45 f4             	mov    -0xc(%ebp),%eax
4097e0:	66 c7 00 00 00       	movw   $0x0,(%eax)
4097e5:	66 c7 03 00 00       	movw   $0x0,(%ebx)
4097ea:	33 d2                	xor    %edx,%edx
4097ec:	e9 f2 00 00 00       	jmp    0x4098e3
4097f1:	8b c1                	mov    %ecx,%eax
4097f3:	be 07 00 00 00       	mov    $0x7,%esi
4097f8:	99                   	cltd
4097f9:	f7 fe                	idiv   %esi
4097fb:	42                   	inc    %edx
4097fc:	66 89 13             	mov    %dx,(%ebx)
4097ff:	49                   	dec    %ecx
409800:	66 bb 01 00          	mov    $0x1,%bx
409804:	81 f9 b1 3a 02 00    	cmp    $0x23ab1,%ecx
40980a:	7c 13                	jl     0x40981f
40980c:	81 e9 b1 3a 02 00    	sub    $0x23ab1,%ecx
409812:	66 81 c3 90 01       	add    $0x190,%bx
409817:	81 f9 b1 3a 02 00    	cmp    $0x23ab1,%ecx
40981d:	7d ed                	jge    0x40980c
40981f:	8d 45 f2             	lea    -0xe(%ebp),%eax
409822:	50                   	push   %eax
409823:	8d 45 f0             	lea    -0x10(%ebp),%eax
409826:	66 ba ac 8e          	mov    $0x8eac,%dx
40982a:	91                   	xchg   %eax,%ecx
40982b:	e8 74 e2 ff ff       	call   0x407aa4
409830:	66 83 7d f0 04       	cmpw   $0x4,-0x10(%ebp)
409835:	75 0a                	jne    0x409841
409837:	66 ff 4d f0          	decw   -0x10(%ebp)
40983b:	66 81 45 f2 ac 8e    	addw   $0x8eac,-0xe(%ebp)
409841:	66 6b 45 f0 64       	imul   $0x64,-0x10(%ebp),%ax
409846:	66 03 d8             	add    %ax,%bx
409849:	8d 45 f2             	lea    -0xe(%ebp),%eax
40984c:	50                   	push   %eax
40984d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409850:	0f b7 45 f2          	movzwl -0xe(%ebp),%eax
409854:	66 ba b5 05          	mov    $0x5b5,%dx
409858:	e8 47 e2 ff ff       	call   0x407aa4
40985d:	66 8b 45 f0          	mov    -0x10(%ebp),%ax
409861:	c1 e0 02             	shl    $0x2,%eax
409864:	66 03 d8             	add    %ax,%bx
409867:	8d 45 f2             	lea    -0xe(%ebp),%eax
40986a:	50                   	push   %eax
40986b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40986e:	0f b7 45 f2          	movzwl -0xe(%ebp),%eax
409872:	66 ba 6d 01          	mov    $0x16d,%dx
409876:	e8 29 e2 ff ff       	call   0x407aa4
40987b:	66 83 7d f0 04       	cmpw   $0x4,-0x10(%ebp)
409880:	75 0a                	jne    0x40988c
409882:	66 ff 4d f0          	decw   -0x10(%ebp)
409886:	66 81 45 f2 6d 01    	addw   $0x16d,-0xe(%ebp)
40988c:	66 03 5d f0          	add    -0x10(%ebp),%bx
409890:	8b c3                	mov    %ebx,%eax
409892:	e8 d9 fd ff ff       	call   0x409670
409897:	8b d0                	mov    %eax,%edx
409899:	33 c0                	xor    %eax,%eax
40989b:	8a c2                	mov    %dl,%al
40989d:	8d 04 40             	lea    (%eax,%eax,2),%eax
4098a0:	8d 34 c5 dc d0 45 00 	lea    0x45d0dc(,%eax,8),%esi
4098a7:	66 b8 01 00          	mov    $0x1,%ax
4098ab:	0f b7 c8             	movzwl %ax,%ecx
4098ae:	66 8b 4c 4e fe       	mov    -0x2(%esi,%ecx,2),%cx
4098b3:	66 89 4d f0          	mov    %cx,-0x10(%ebp)
4098b7:	66 8b 4d f2          	mov    -0xe(%ebp),%cx
4098bb:	66 3b 4d f0          	cmp    -0x10(%ebp),%cx
4098bf:	72 0b                	jb     0x4098cc
4098c1:	66 8b 4d f0          	mov    -0x10(%ebp),%cx
4098c5:	66 29 4d f2          	sub    %cx,-0xe(%ebp)
4098c9:	40                   	inc    %eax
4098ca:	eb df                	jmp    0x4098ab
4098cc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4098cf:	66 89 19             	mov    %bx,(%ecx)
4098d2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4098d5:	66 89 01             	mov    %ax,(%ecx)
4098d8:	66 8b 45 f2          	mov    -0xe(%ebp),%ax
4098dc:	40                   	inc    %eax
4098dd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4098e0:	66 89 01             	mov    %ax,(%ecx)
4098e3:	8b c2                	mov    %edx,%eax
4098e5:	5e                   	pop    %esi
4098e6:	5b                   	pop    %ebx
4098e7:	8b e5                	mov    %ebp,%esp
4098e9:	5d                   	pop    %ebp
4098ea:	c2 0c 00             	ret    $0xc
4098ed:	8d 40 00             	lea    0x0(%eax),%eax
4098f0:	55                   	push   %ebp
4098f1:	8b ec                	mov    %esp,%ebp
4098f3:	51                   	push   %ecx
4098f4:	56                   	push   %esi
4098f5:	8b f0                	mov    %eax,%esi
4098f7:	ff 75 0c             	push   0xc(%ebp)
4098fa:	ff 75 08             	push   0x8(%ebp)
4098fd:	8d 45 fe             	lea    -0x2(%ebp),%eax
409900:	50                   	push   %eax
409901:	8b c6                	mov    %esi,%eax
409903:	e8 9c fe ff ff       	call   0x4097a4
409908:	5e                   	pop    %esi
409909:	59                   	pop    %ecx
40990a:	5d                   	pop    %ebp
40990b:	c2 08 00             	ret    $0x8
40990e:	8b c0                	mov    %eax,%eax
409910:	55                   	push   %ebp
409911:	8b ec                	mov    %esp,%ebp
409913:	53                   	push   %ebx
409914:	8b d8                	mov    %eax,%ebx
409916:	ff 75 0c             	push   0xc(%ebp)
409919:	ff 75 08             	push   0x8(%ebp)
40991c:	8d 43 04             	lea    0x4(%ebx),%eax
40991f:	50                   	push   %eax
409920:	8d 4b 06             	lea    0x6(%ebx),%ecx
409923:	8d 53 02             	lea    0x2(%ebx),%edx
409926:	8b c3                	mov    %ebx,%eax
409928:	e8 77 fe ff ff       	call   0x4097a4
40992d:	66 ff 4b 04          	decw   0x4(%ebx)
409931:	ff 75 0c             	push   0xc(%ebp)
409934:	ff 75 08             	push   0x8(%ebp)
409937:	8d 43 0e             	lea    0xe(%ebx),%eax
40993a:	50                   	push   %eax
40993b:	8d 4b 0c             	lea    0xc(%ebx),%ecx
40993e:	8d 53 0a             	lea    0xa(%ebx),%edx
409941:	8d 43 08             	lea    0x8(%ebx),%eax
409944:	e8 cb fc ff ff       	call   0x409614
409949:	5b                   	pop    %ebx
40994a:	5d                   	pop    %ebp
40994b:	c2 08 00             	ret    $0x8
40994e:	8b c0                	mov    %eax,%eax
409950:	53                   	push   %ebx
409951:	83 c4 f8             	add    $0xfffffff8,%esp
409954:	8b d8                	mov    %eax,%ebx
409956:	66 8b 4b 06          	mov    0x6(%ebx),%cx
40995a:	66 8b 53 02          	mov    0x2(%ebx),%dx
40995e:	66 8b 03             	mov    (%ebx),%ax
409961:	e8 0e fe ff ff       	call   0x409774
409966:	dd 1c 24             	fstpl  (%esp)
409969:	9b dd 04 24          	fldl   (%esp)
40996d:	d8 1d bc 99 40 00    	fcomps 0x4099bc
409973:	df e0                	fnstsw %ax
409975:	9e                   	sahf
409976:	72 1f                	jb     0x409997
409978:	66 8b 43 0e          	mov    0xe(%ebx),%ax
40997c:	50                   	push   %eax
40997d:	66 8b 4b 0c          	mov    0xc(%ebx),%cx
409981:	66 8b 53 0a          	mov    0xa(%ebx),%dx
409985:	66 8b 43 08          	mov    0x8(%ebx),%ax
409989:	e8 46 fc ff ff       	call   0x4095d4
40998e:	dc 04 24             	faddl  (%esp)
409991:	dd 1c 24             	fstpl  (%esp)
409994:	9b                   	fwait
409995:	eb 1d                	jmp    0x4099b4
409997:	66 8b 43 0e          	mov    0xe(%ebx),%ax
40999b:	50                   	push   %eax
40999c:	66 8b 4b 0c          	mov    0xc(%ebx),%cx
4099a0:	66 8b 53 0a          	mov    0xa(%ebx),%dx
4099a4:	66 8b 43 08          	mov    0x8(%ebx),%ax
4099a8:	e8 27 fc ff ff       	call   0x4095d4
4099ad:	dc 2c 24             	fsubrl (%esp)
4099b0:	dd 1c 24             	fstpl  (%esp)
4099b3:	9b dd 04 24          	fldl   (%esp)
4099b7:	59                   	pop    %ecx
4099b8:	5a                   	pop    %edx
4099b9:	5b                   	pop    %ebx
4099ba:	c3                   	ret
4099bb:	00 00                	add    %al,(%eax)
4099bd:	00 00                	add    %al,(%eax)
4099bf:	00 55 8b             	add    %dl,-0x75(%ebp)
4099c2:	ec                   	in     (%dx),%al