411567:	e9 5b 01 00 00       	jmp    0x4116c7
41156c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41156f:	8b 40 08             	mov    0x8(%eax),%eax
411572:	8b 00                	mov    (%eax),%eax
411574:	89 45 f8             	mov    %eax,-0x8(%ebp)
411577:	e9 4b 01 00 00       	jmp    0x4116c7
41157c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41157f:	8b 40 08             	mov    0x8(%eax),%eax
411582:	d9 00                	flds   (%eax)
411584:	e8 37 17 ff ff       	call   0x402cc0
411589:	50                   	push   %eax
41158a:	c1 f8 1f             	sar    $0x1f,%eax
41158d:	3b c2                	cmp    %edx,%eax
41158f:	58                   	pop    %eax
411590:	74 05                	je     0x411597
411592:	e8 21 24 ff ff       	call   0x4039b8
411597:	89 45 f8             	mov    %eax,-0x8(%ebp)
41159a:	e9 28 01 00 00       	jmp    0x4116c7
41159f:	8b 45 fc             	mov    -0x4(%ebp),%eax
4115a2:	8b 40 08             	mov    0x8(%eax),%eax
4115a5:	dd 00                	fldl   (%eax)
4115a7:	e8 14 17 ff ff       	call   0x402cc0
4115ac:	50                   	push   %eax
4115ad:	c1 f8 1f             	sar    $0x1f,%eax
4115b0:	3b c2                	cmp    %edx,%eax
4115b2:	58                   	pop    %eax
4115b3:	74 05                	je     0x4115ba
4115b5:	e8 fe 23 ff ff       	call   0x4039b8
4115ba:	89 45 f8             	mov    %eax,-0x8(%ebp)
4115bd:	e9 05 01 00 00       	jmp    0x4116c7
4115c2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4115c5:	8b 40 08             	mov    0x8(%eax),%eax
4115c8:	df 28                	fildll (%eax)
4115ca:	d8 35 f4 16 41 00    	fdivs  0x4116f4
4115d0:	e8 eb 16 ff ff       	call   0x402cc0
4115d5:	50                   	push   %eax
4115d6:	c1 f8 1f             	sar    $0x1f,%eax
4115d9:	3b c2                	cmp    %edx,%eax
4115db:	58                   	pop    %eax
4115dc:	74 05                	je     0x4115e3
4115de:	e8 d5 23 ff ff       	call   0x4039b8
4115e3:	89 45 f8             	mov    %eax,-0x8(%ebp)
4115e6:	e9 dc 00 00 00       	jmp    0x4116c7
4115eb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4115ee:	8b 40 08             	mov    0x8(%eax),%eax
4115f1:	dd 00                	fldl   (%eax)
4115f3:	e8 c8 16 ff ff       	call   0x402cc0
4115f8:	50                   	push   %eax
4115f9:	c1 f8 1f             	sar    $0x1f,%eax
4115fc:	3b c2                	cmp    %edx,%eax
4115fe:	58                   	pop    %eax
4115ff:	74 05                	je     0x411606
411601:	e8 b2 23 ff ff       	call   0x4039b8
411606:	89 45 f8             	mov    %eax,-0x8(%ebp)
411609:	e9 b9 00 00 00       	jmp    0x4116c7
41160e:	8b 45 fc             	mov    -0x4(%ebp),%eax
411611:	e8 46 fb ff ff       	call   0x41115c
411616:	89 45 f8             	mov    %eax,-0x8(%ebp)
411619:	e9 a9 00 00 00       	jmp    0x4116c7
41161e:	8b 45 fc             	mov    -0x4(%ebp),%eax
411621:	8b 40 08             	mov    0x8(%eax),%eax
411624:	0f bf 00             	movswl (%eax),%eax
411627:	89 45 f8             	mov    %eax,-0x8(%ebp)
41162a:	e9 98 00 00 00       	jmp    0x4116c7
41162f:	8b 45 fc             	mov    -0x4(%ebp),%eax
411632:	8b 40 08             	mov    0x8(%eax),%eax
411635:	0f be 00             	movsbl (%eax),%eax
411638:	89 45 f8             	mov    %eax,-0x8(%ebp)
41163b:	e9 87 00 00 00       	jmp    0x4116c7
411640:	8b 45 fc             	mov    -0x4(%ebp),%eax
411643:	8b 40 08             	mov    0x8(%eax),%eax
411646:	0f b6 00             	movzbl (%eax),%eax
411649:	89 45 f8             	mov    %eax,-0x8(%ebp)
41164c:	eb 79                	jmp    0x4116c7
41164e:	8b 45 fc             	mov    -0x4(%ebp),%eax
411651:	8b 40 08             	mov    0x8(%eax),%eax
411654:	0f b7 00             	movzwl (%eax),%eax
411657:	89 45 f8             	mov    %eax,-0x8(%ebp)
41165a:	eb 6b                	jmp    0x4116c7
41165c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41165f:	8b 40 08             	mov    0x8(%eax),%eax
411662:	8b 00                	mov    (%eax),%eax
411664:	85 c0                	test   %eax,%eax
411666:	79 05                	jns    0x41166d
411668:	e8 4b 23 ff ff       	call   0x4039b8
41166d:	89 45 f8             	mov    %eax,-0x8(%ebp)
411670:	eb 55                	jmp    0x4116c7
411672:	8b 45 fc             	mov    -0x4(%ebp),%eax
411675:	8b 40 08             	mov    0x8(%eax),%eax
411678:	8b 50 04             	mov    0x4(%eax),%edx
41167b:	8b 00                	mov    (%eax),%eax
41167d:	50                   	push   %eax
41167e:	c1 f8 1f             	sar    $0x1f,%eax
411681:	3b c2                	cmp    %edx,%eax
411683:	58                   	pop    %eax
411684:	74 05                	je     0x41168b
411686:	e8 2d 23 ff ff       	call   0x4039b8
41168b:	89 45 f8             	mov    %eax,-0x8(%ebp)
41168e:	eb 37                	jmp    0x4116c7
411690:	8b 45 fc             	mov    -0x4(%ebp),%eax
411693:	8b 40 08             	mov    0x8(%eax),%eax
411696:	e8 35 fc ff ff       	call   0x4112d0
41169b:	89 45 f8             	mov    %eax,-0x8(%ebp)
41169e:	eb 27                	jmp    0x4116c7
4116a0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4116a3:	e8 48 fb ff ff       	call   0x4111f0
4116a8:	89 45 f8             	mov    %eax,-0x8(%ebp)
4116ab:	eb 1a                	jmp    0x4116c7
4116ad:	8d 55 f8             	lea    -0x8(%ebp),%edx
4116b0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4116b3:	e8 d4 fb ff ff       	call   0x41128c
4116b8:	84 c0                	test   %al,%al
4116ba:	75 0b                	jne    0x4116c7
4116bc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4116bf:	e8 2c fb ff ff       	call   0x4111f0
4116c4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4116c7:	33 c0                	xor    %eax,%eax
4116c9:	5a                   	pop    %edx
4116ca:	59                   	pop    %ecx
4116cb:	59                   	pop    %ecx
4116cc:	64 89 10             	mov    %edx,%fs:(%eax)
4116cf:	eb 19                	jmp    0x4116ea
4116d1:	e9 82 28 ff ff       	jmp    0x403f58
4116d6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4116d9:	66 8b 00             	mov    (%eax),%ax
4116dc:	66 ba 03 00          	mov    $0x3,%dx
4116e0:	e8 9b e5 ff ff       	call   0x40fc80
4116e5:	e8 d6 2b ff ff       	call   0x4042c0
4116ea:	8b 45 f8             	mov    -0x8(%ebp),%eax
4116ed:	5f                   	pop    %edi
4116ee:	5e                   	pop    %esi
4116ef:	5b                   	pop    %ebx
4116f0:	59                   	pop    %ecx
4116f1:	59                   	pop    %ecx
4116f2:	5d                   	pop    %ebp
4116f3:	c3                   	ret
4116f4:	00 40 1c             	add    %al,0x1c(%eax)
4116f7:	46                   	inc    %esi
4116f8:	55                   	push   %ebp
4116f9:	8b ec                	mov    %esp,%ebp
4116fb:	83 c4 f4             	add    $0xfffffff4,%esp
4116fe:	33 d2                	xor    %edx,%edx
411700:	89 55 f4             	mov    %edx,-0xc(%ebp)
411703:	33 d2                	xor    %edx,%edx
411705:	55                   	push   %ebp
411706:	68 3f 17 41 00       	push   $0x41173f
41170b:	64 ff 32             	push   %fs:(%edx)
41170e:	64 89 22             	mov    %esp,%fs:(%edx)
411711:	8b d0                	mov    %eax,%edx
411713:	8d 45 f4             	lea    -0xc(%ebp),%eax
411716:	e8 1d 1b 00 00       	call   0x413238
41171b:	8b 45 f4             	mov    -0xc(%ebp),%eax
41171e:	e8 f5 7f ff ff       	call   0x409718
411723:	89 45 f8             	mov    %eax,-0x8(%ebp)
411726:	89 55 fc             	mov    %edx,-0x4(%ebp)
411729:	33 c0                	xor    %eax,%eax
41172b:	5a                   	pop    %edx
41172c:	59                   	pop    %ecx
41172d:	59                   	pop    %ecx
41172e:	64 89 10             	mov    %edx,%fs:(%eax)
411731:	68 46 17 41 00       	push   $0x411746
411736:	8d 45 f4             	lea    -0xc(%ebp),%eax
411739:	e8 2a 31 ff ff       	call   0x404868
41173e:	c3                   	ret
41173f:	e9 c8 2a ff ff       	jmp    0x40420c
411744:	eb f0                	jmp    0x411736
411746:	8b 45 f8             	mov    -0x8(%ebp),%eax
411749:	8b 55 fc             	mov    -0x4(%ebp),%edx
41174c:	8b e5                	mov    %ebp,%esp
41174e:	5d                   	pop    %ebp
41174f:	c3                   	ret
411750:	55                   	push   %ebp
411751:	8b ec                	mov    %esp,%ebp
411753:	83 c4 e0             	add    $0xffffffe0,%esp
411756:	53                   	push   %ebx
411757:	56                   	push   %esi
411758:	57                   	push   %edi
411759:	89 45 fc             	mov    %eax,-0x4(%ebp)
41175c:	8d 45 e0             	lea    -0x20(%ebp),%eax
41175f:	50                   	push   %eax
411760:	e8 b3 d9 ff ff       	call   0x40f118
411765:	6a 05                	push   $0x5
411767:	6a 04                	push   $0x4
411769:	68 00 04 00 00       	push   $0x400
41176e:	8b 45 fc             	mov    -0x4(%ebp),%eax
411771:	50                   	push   %eax
411772:	8d 45 e0             	lea    -0x20(%ebp),%eax
411775:	50                   	push   %eax
411776:	e8 bd d9 ff ff       	call   0x40f138
41177b:	8b 55 fc             	mov    -0x4(%ebp),%edx
41177e:	66 8b 12             	mov    (%edx),%dx
411781:	66 b9 14 00          	mov    $0x14,%cx
411785:	e8 be e4 ff ff       	call   0x40fc48
41178a:	33 c0                	xor    %eax,%eax
41178c:	55                   	push   %ebp
41178d:	68 b0 17 41 00       	push   $0x4117b0
411792:	64 ff 30             	push   %fs:(%eax)
411795:	64 89 20             	mov    %esp,%fs:(%eax)
411798:	dd 45 e8             	fldl   -0x18(%ebp)
41179b:	e8 20 15 ff ff       	call   0x402cc0
4117a0:	89 45 f0             	mov    %eax,-0x10(%ebp)
4117a3:	89 55 f4             	mov    %edx,-0xc(%ebp)
4117a6:	33 c0                	xor    %eax,%eax
4117a8:	5a                   	pop    %edx
4117a9:	59                   	pop    %ecx
4117aa:	59                   	pop    %ecx
4117ab:	64 89 10             	mov    %edx,%fs:(%eax)
4117ae:	eb 27                	jmp    0x4117d7
4117b0:	e9 a3 27 ff ff       	jmp    0x403f58
4117b5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4117b8:	66 8b 00             	mov    (%eax),%ax
4117bb:	66 ba 14 00          	mov    $0x14,%dx
4117bf:	e8 bc e4 ff ff       	call   0x40fc80
4117c4:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4117cb:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
4117d2:	e8 e9 2a ff ff       	call   0x4042c0
4117d7:	8b 45 f0             	mov    -0x10(%ebp),%eax
4117da:	8b 55 f4             	mov    -0xc(%ebp),%edx
4117dd:	5f                   	pop    %edi
4117de:	5e                   	pop    %esi
4117df:	5b                   	pop    %ebx
4117e0:	8b e5                	mov    %ebp,%esp
4117e2:	5d                   	pop    %ebp
4117e3:	c3                   	ret
4117e4:	55                   	push   %ebp
4117e5:	8b ec                	mov    %esp,%ebp
4117e7:	83 c4 e8             	add    $0xffffffe8,%esp
4117ea:	53                   	push   %ebx
4117eb:	8b d8                	mov    %eax,%ebx
4117ed:	8d 45 e8             	lea    -0x18(%ebp),%eax
4117f0:	50                   	push   %eax
4117f1:	e8 22 d9 ff ff       	call   0x40f118
4117f6:	33 c0                	xor    %eax,%eax
4117f8:	55                   	push   %ebp
4117f9:	68 3b 18 41 00       	push   $0x41183b
4117fe:	64 ff 30             	push   %fs:(%eax)
411801:	64 89 20             	mov    %esp,%fs:(%eax)
411804:	8b d3                	mov    %ebx,%edx
411806:	8d 45 e8             	lea    -0x18(%ebp),%eax
411809:	e8 1e ec ff ff       	call   0x41042c
41180e:	8d 45 e8             	lea    -0x18(%ebp),%eax
411811:	ff 15 70 88 6a 00    	call   *0x6a8870
411817:	8d 45 e8             	lea    -0x18(%ebp),%eax
41181a:	e8 7d 00 00 00       	call   0x41189c
41181f:	89 45 f8             	mov    %eax,-0x8(%ebp)
411822:	89 55 fc             	mov    %edx,-0x4(%ebp)
411825:	33 c0                	xor    %eax,%eax
411827:	5a                   	pop    %edx
411828:	59                   	pop    %ecx
411829:	59                   	pop    %ecx
41182a:	64 89 10             	mov    %edx,%fs:(%eax)
41182d:	68 42 18 41 00       	push   $0x411842
411832:	8d 45 e8             	lea    -0x18(%ebp),%eax
411835:	e8 ae e7 ff ff       	call   0x40ffe8
41183a:	c3                   	ret
41183b:	e9 cc 29 ff ff       	jmp    0x40420c
411840:	eb f0                	jmp    0x411832
411842:	8b 45 f8             	mov    -0x8(%ebp),%eax
411845:	8b 55 fc             	mov    -0x4(%ebp),%edx
411848:	5b                   	pop    %ebx
411849:	8b e5                	mov    %ebp,%esp
41184b:	5d                   	pop    %ebp
41184c:	c3                   	ret
41184d:	8d 40 00             	lea    0x0(%eax),%eax
411850:	53                   	push   %ebx
411851:	56                   	push   %esi
411852:	57                   	push   %edi
411853:	83 c4 ec             	add    $0xffffffec,%esp
411856:	8b fa                	mov    %edx,%edi
411858:	8b f0                	mov    %eax,%esi
41185a:	8b d4                	mov    %esp,%edx
41185c:	66 8b 06             	mov    (%esi),%ax
41185f:	e8 3c 5e 00 00       	call   0x4176a0
411864:	8b d8                	mov    %eax,%ebx
411866:	84 db                	test   %bl,%bl
411868:	74 28                	je     0x411892
41186a:	8d 44 24 04          	lea    0x4(%esp),%eax
41186e:	50                   	push   %eax
41186f:	e8 a4 d8 ff ff       	call   0x40f118
411874:	6a 14                	push   $0x14
411876:	8b ce                	mov    %esi,%ecx
411878:	8d 54 24 08          	lea    0x8(%esp),%edx
41187c:	8b 44 24 04          	mov    0x4(%esp),%eax
411880:	8b 30                	mov    (%eax),%esi
411882:	ff 56 1c             	call   *0x1c(%esi)
411885:	8b 44 24 0c          	mov    0xc(%esp),%eax
411889:	89 07                	mov    %eax,(%edi)
41188b:	8b 44 24 10          	mov    0x10(%esp),%eax
41188f:	89 47 04             	mov    %eax,0x4(%edi)
411892:	8b c3                	mov    %ebx,%eax
411894:	83 c4 14             	add    $0x14,%esp
411897:	5f                   	pop    %edi
411898:	5e                   	pop    %esi
411899:	5b                   	pop    %ebx
41189a:	c3                   	ret
41189b:	90                   	nop
41189c:	55                   	push   %ebp
41189d:	8b ec                	mov    %esp,%ebp
41189f:	83 c4 f0             	add    $0xfffffff0,%esp
4118a2:	53                   	push   %ebx
4118a3:	56                   	push   %esi
4118a4:	57                   	push   %edi
4118a5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4118a8:	33 d2                	xor    %edx,%edx
4118aa:	55                   	push   %ebp
4118ab:	68 7f 1c 41 00       	push   $0x411c7f
4118b0:	64 ff 32             	push   %fs:(%edx)
4118b3:	64 89 22             	mov    %esp,%fs:(%edx)
4118b6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4118b9:	66 8b 00             	mov    (%eax),%ax
4118bc:	0f b7 d0             	movzwl %ax,%edx
4118bf:	83 fa 14             	cmp    $0x14,%edx
4118c2:	0f 87 a2 01 00 00    	ja     0x411a6a
4118c8:	ff 24 95 cf 18 41 00 	jmp    *0x4118cf(,%edx,4)
4118cf:	23 19                	and    (%ecx),%ebx
4118d1:	41                   	inc    %ecx
4118d2:	00 6a 1a             	add    %ch,0x1a(%edx)
4118d5:	41                   	inc    %ecx
4118d6:	00 36                	add    %dh,(%esi)
4118d8:	19 41 00             	sbb    %eax,0x0(%ecx)
4118db:	49                   	dec    %ecx
4118dc:	19 41 00             	sbb    %eax,0x0(%ecx)
4118df:	5b                   	pop    %ebx
4118e0:	19 41 00             	sbb    %eax,0x0(%ecx)
4118e3:	71 19                	jno    0x4118fe
4118e5:	41                   	inc    %ecx
4118e6:	00 87 19 41 00 a3    	add    %al,-0x5cffbee7(%edi)
4118ec:	19 41 00             	sbb    %eax,0x0(%ecx)
4118ef:	b9 19 41 00 57       	mov    $0x57004119,%ecx
4118f4:	1a 41 00             	sbb    0x0(%ecx),%al
4118f7:	6a 1a                	push   $0x1a
4118f9:	41                   	inc    %ecx
4118fa:	00 cc                	add    %cl,%ah
4118fc:	19 41 00             	sbb    %eax,0x0(%ecx)
4118ff:	41                   	inc    %ecx
411900:	1a 41 00             	sbb    0x0(%ecx),%al
411903:	57                   	push   %edi
411904:	1a 41 00             	sbb    0x0(%ecx),%al
411907:	6a 1a                	push   $0x1a
411909:	41                   	inc    %ecx
41190a:	00 6a 1a             	add    %ch,0x1a(%edx)
41190d:	41                   	inc    %ecx
41190e:	00 df                	add    %bl,%bh
411910:	19 41 00             	sbb    %eax,0x0(%ecx)
411913:	f2 19 41 00          	repnz sbb %eax,0x0(%ecx)
411917:	06                   	push   %es
411918:	1a 41 00             	sbb    0x0(%ecx),%al
41191b:	1a 1a                	sbb    (%edx),%bl
41191d:	41                   	inc    %ecx
41191e:	00 2d 1a 41 00 c7    	add    %ch,0xc700411a