40965e:	89 75 f8             	mov    %esi,-0x8(%ebp)
409661:	c7 45 fc 74 17 40 00 	movl   $0x401774,-0x4(%ebp)
409668:	ff 15 04 32 43 00    	call   *0x433204
40966e:	0f b7 c0             	movzwl %ax,%eax
409671:	5e                   	pop    %esi
409672:	c9                   	leave
409673:	c3                   	ret
409674:	8b ff                	mov    %edi,%edi
409676:	55                   	push   %ebp
409677:	8b ec                	mov    %esp,%ebp
409679:	83 ec 14             	sub    $0x14,%esp
40967c:	a1 64 10 41 00       	mov    0x411064,%eax
409681:	33 c5                	xor    %ebp,%eax
409683:	89 45 fc             	mov    %eax,-0x4(%ebp)
409686:	56                   	push   %esi
409687:	57                   	push   %edi
409688:	8d 45 ec             	lea    -0x14(%ebp),%eax
40968b:	50                   	push   %eax
40968c:	51                   	push   %ecx
40968d:	ff 15 f0 31 43 00    	call   *0x4331f0
409693:	8b 45 f8             	mov    -0x8(%ebp),%eax
409696:	8d 75 ec             	lea    -0x14(%ebp),%esi
409699:	2b 05 3c 1f 43 00    	sub    0x431f3c,%eax
40969f:	bf 40 1f 43 00       	mov    $0x431f40,%edi
4096a4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4096a7:	33 cd                	xor    %ebp,%ecx
4096a9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4096aa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4096ab:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4096ac:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4096ad:	5f                   	pop    %edi
4096ae:	a3 44 1f 43 00       	mov    %eax,0x431f44
4096b3:	5e                   	pop    %esi
4096b4:	e8 77 6d 00 00       	call   0x410430
4096b9:	c9                   	leave
4096ba:	c3                   	ret
4096bb:	8b ff                	mov    %edi,%edi
4096bd:	55                   	push   %ebp
4096be:	8b ec                	mov    %esp,%ebp
4096c0:	83 ec 70             	sub    $0x70,%esp
4096c3:	a1 64 10 41 00       	mov    0x411064,%eax
4096c8:	33 c5                	xor    %ebp,%eax
4096ca:	89 45 fc             	mov    %eax,-0x4(%ebp)
4096cd:	56                   	push   %esi
4096ce:	57                   	push   %edi
4096cf:	6a 02                	push   $0x2
4096d1:	8d 45 90             	lea    -0x70(%ebp),%eax
4096d4:	8b f1                	mov    %ecx,%esi
4096d6:	50                   	push   %eax
4096d7:	ff 15 a4 31 43 00    	call   *0x4331a4
4096dd:	50                   	push   %eax
4096de:	ff 15 78 30 43 00    	call   *0x433078
4096e4:	f7 d8                	neg    %eax
4096e6:	6a 20                	push   $0x20
4096e8:	1b c0                	sbb    %eax,%eax
4096ea:	33 ff                	xor    %edi,%edi
4096ec:	21 45 90             	and    %eax,-0x70(%ebp)
4096ef:	33 c0                	xor    %eax,%eax
4096f1:	66 89 45 f0          	mov    %ax,-0x10(%ebp)
4096f5:	8d 45 b0             	lea    -0x50(%ebp),%eax
4096f8:	50                   	push   %eax
4096f9:	68 f8 2a 00 00       	push   $0x2af8
4096fe:	57                   	push   %edi
4096ff:	ff 15 88 31 43 00    	call   *0x433188
409705:	50                   	push   %eax
409706:	ff 15 20 33 43 00    	call   *0x433320
40970c:	85 c0                	test   %eax,%eax
40970e:	75 16                	jne    0x409726
409710:	6a ff                	push   $0xffffffff
409712:	68 e4 14 40 00       	push   $0x4014e4
409717:	8d 45 b0             	lea    -0x50(%ebp),%eax
40971a:	6a 20                	push   $0x20
40971c:	50                   	push   %eax
40971d:	ff 15 e4 33 43 00    	call   *0x4333e4
409723:	83 c4 10             	add    $0x10,%esp
409726:	a1 1c 19 43 00       	mov    0x43191c,%eax
40972b:	85 c0                	test   %eax,%eax
40972d:	74 07                	je     0x409736
40972f:	50                   	push   %eax
409730:	ff 15 b4 30 43 00    	call   *0x4330b4
409736:	6a 48                	push   $0x48
409738:	56                   	push   %esi
409739:	ff 15 8c 32 43 00    	call   *0x43328c
40973f:	50                   	push   %eax
409740:	6a 09                	push   $0x9
409742:	ff 15 80 31 43 00    	call   *0x433180
409748:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40974b:	f7 d8                	neg    %eax
40974d:	51                   	push   %ecx
40974e:	6a 02                	push   $0x2
409750:	57                   	push   %edi
409751:	57                   	push   %edi
409752:	57                   	push   %edi
409753:	ff 75 90             	push   -0x70(%ebp)
409756:	57                   	push   %edi
409757:	57                   	push   %edi
409758:	57                   	push   %edi
409759:	68 90 01 00 00       	push   $0x190
40975e:	57                   	push   %edi
40975f:	57                   	push   %edi
409760:	57                   	push   %edi
409761:	50                   	push   %eax
409762:	ff 15 9c 30 43 00    	call   *0x43309c
409768:	6a 48                	push   $0x48
40976a:	56                   	push   %esi
40976b:	a3 1c 19 43 00       	mov    %eax,0x43191c
409770:	ff 15 8c 32 43 00    	call   *0x43328c
409776:	50                   	push   %eax
409777:	6a 09                	push   $0x9
409779:	ff 15 80 31 43 00    	call   *0x433180
40977f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409782:	03 c0                	add    %eax,%eax
409784:	5f                   	pop    %edi
409785:	33 cd                	xor    %ebp,%ecx
409787:	a3 3c 1f 43 00       	mov    %eax,0x431f3c
40978c:	5e                   	pop    %esi
40978d:	e8 9e 6c 00 00       	call   0x410430
409792:	c9                   	leave
409793:	c3                   	ret
409794:	8b ff                	mov    %edi,%edi
409796:	55                   	push   %ebp
409797:	8b ec                	mov    %esp,%ebp
409799:	51                   	push   %ecx
40979a:	53                   	push   %ebx
40979b:	56                   	push   %esi
40979c:	57                   	push   %edi
40979d:	6a ec                	push   $0xffffffec
40979f:	ff 35 10 19 43 00    	push   0x431910
4097a5:	8b d9                	mov    %ecx,%ebx
4097a7:	ff 15 fc 32 43 00    	call   *0x4332fc
4097ad:	6a 68                	push   $0x68
4097af:	ff 35 10 19 43 00    	push   0x431910
4097b5:	8b f0                	mov    %eax,%esi
4097b7:	81 e6 00 00 40 00    	and    $0x400000,%esi
4097bd:	ff 15 14 33 43 00    	call   *0x433314
4097c3:	8b f8                	mov    %eax,%edi
4097c5:	85 ff                	test   %edi,%edi
4097c7:	0f 84 ea 00 00 00    	je     0x4098b7
4097cd:	6a ec                	push   $0xffffffec
4097cf:	57                   	push   %edi
4097d0:	ff 15 fc 32 43 00    	call   *0x4332fc
4097d6:	0b c6                	or     %esi,%eax
4097d8:	50                   	push   %eax
4097d9:	6a ec                	push   $0xffffffec
4097db:	57                   	push   %edi
4097dc:	ff 15 f8 32 43 00    	call   *0x4332f8
4097e2:	a1 50 26 43 00       	mov    0x432650,%eax
4097e7:	85 c0                	test   %eax,%eax
4097e9:	0f 84 c8 00 00 00    	je     0x4098b7
4097ef:	6a 04                	push   $0x4
4097f1:	5f                   	pop    %edi
4097f2:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4097f5:	89 7d fc             	mov    %edi,-0x4(%ebp)
4097f8:	51                   	push   %ecx
4097f9:	68 34 26 43 00       	push   $0x432634
4097fe:	33 f6                	xor    %esi,%esi
409800:	56                   	push   %esi
409801:	56                   	push   %esi
409802:	68 94 17 40 00       	push   $0x401794
409807:	50                   	push   %eax
409808:	ff 15 24 30 43 00    	call   *0x433024
40980e:	85 c0                	test   %eax,%eax
409810:	79 0a                	jns    0x40981c
409812:	c7 05 34 26 43 00 c8 	movl   $0xc8,0x432634
409819:	00 00 00
40981c:	8d 45 fc             	lea    -0x4(%ebp),%eax
40981f:	89 7d fc             	mov    %edi,-0x4(%ebp)
409822:	50                   	push   %eax
409823:	68 30 26 43 00       	push   $0x432630
409828:	56                   	push   %esi
409829:	56                   	push   %esi
40982a:	68 a8 17 40 00       	push   $0x4017a8
40982f:	ff 35 50 26 43 00    	push   0x432650
409835:	ff 15 24 30 43 00    	call   *0x433024
40983b:	85 c0                	test   %eax,%eax
40983d:	79 0a                	jns    0x409849
40983f:	c7 05 30 26 43 00 02 	movl   $0x2,0x432630
409846:	00 00 00
409849:	8d 45 fc             	lea    -0x4(%ebp),%eax
40984c:	89 7d fc             	mov    %edi,-0x4(%ebp)
40984f:	50                   	push   %eax
409850:	68 54 26 43 00       	push   $0x432654
409855:	56                   	push   %esi
409856:	56                   	push   %esi
409857:	68 c0 17 40 00       	push   $0x4017c0
40985c:	ff 35 50 26 43 00    	push   0x432650
409862:	ff 15 24 30 43 00    	call   *0x433024
409868:	85 c0                	test   %eax,%eax
40986a:	79 0a                	jns    0x409876
40986c:	c7 05 54 26 43 00 32 	movl   $0x32,0x432654
409873:	00 00 00
409876:	8b 15 c4 1f 43 00    	mov    0x431fc4,%edx
40987c:	33 c9                	xor    %ecx,%ecx
40987e:	56                   	push   %esi
40987f:	e8 9a 3a 00 00       	call   0x40d31e
409884:	53                   	push   %ebx
409885:	ff 35 10 19 43 00    	push   0x431910
40988b:	ff 15 f4 31 43 00    	call   *0x4331f4
409891:	ff 35 10 19 43 00    	push   0x431910
409897:	ff 15 70 32 43 00    	call   *0x433270
40989d:	6a 69                	push   $0x69
40989f:	ff 35 10 19 43 00    	push   0x431910
4098a5:	ff 15 14 33 43 00    	call   *0x433314
4098ab:	50                   	push   %eax
4098ac:	ff 15 28 33 43 00    	call   *0x433328
4098b2:	33 c0                	xor    %eax,%eax
4098b4:	40                   	inc    %eax
4098b5:	eb 02                	jmp    0x4098b9
4098b7:	33 c0                	xor    %eax,%eax
4098b9:	5f                   	pop    %edi
4098ba:	5e                   	pop    %esi
4098bb:	5b                   	pop    %ebx
4098bc:	c9                   	leave
4098bd:	c3                   	ret
4098be:	8b ff                	mov    %edi,%edi
4098c0:	55                   	push   %ebp
4098c1:	8b ec                	mov    %esp,%ebp
4098c3:	83 ec 40             	sub    $0x40,%esp
4098c6:	a1 64 10 41 00       	mov    0x411064,%eax
4098cb:	33 c5                	xor    %ebp,%eax
4098cd:	89 45 fc             	mov    %eax,-0x4(%ebp)
4098d0:	53                   	push   %ebx
4098d1:	56                   	push   %esi
4098d2:	57                   	push   %edi
4098d3:	33 db                	xor    %ebx,%ebx
4098d5:	8b f1                	mov    %ecx,%esi
4098d7:	53                   	push   %ebx
4098d8:	ff 15 f0 32 43 00    	call   *0x4332f0
4098de:	53                   	push   %ebx
4098df:	53                   	push   %ebx
4098e0:	6a 31                	push   $0x31
4098e2:	56                   	push   %esi
4098e3:	8b f8                	mov    %eax,%edi
4098e5:	ff 15 10 33 43 00    	call   *0x433310
4098eb:	8b f0                	mov    %eax,%esi
4098ed:	85 f6                	test   %esi,%esi
4098ef:	74 0a                	je     0x4098fb
4098f1:	56                   	push   %esi
4098f2:	57                   	push   %edi
4098f3:	ff 15 ac 30 43 00    	call   *0x4330ac
4098f9:	8b f0                	mov    %eax,%esi
4098fb:	8d 45 c0             	lea    -0x40(%ebp),%eax
4098fe:	50                   	push   %eax
4098ff:	57                   	push   %edi
409900:	ff 15 98 30 43 00    	call   *0x433098
409906:	85 f6                	test   %esi,%esi
409908:	74 08                	je     0x409912
40990a:	56                   	push   %esi
40990b:	57                   	push   %edi
40990c:	ff 15 ac 30 43 00    	call   *0x4330ac
409912:	57                   	push   %edi
409913:	53                   	push   %ebx
409914:	ff 15 08 33 43 00    	call   *0x433308
40991a:	8b 45 c0             	mov    -0x40(%ebp),%eax
40991d:	5f                   	pop    %edi
40991e:	5e                   	pop    %esi
40991f:	5b                   	pop    %ebx
409920:	83 f8 0c             	cmp    $0xc,%eax
409923:	7f 03                	jg     0x409928
409925:	6a 0c                	push   $0xc
409927:	58                   	pop    %eax
409928:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40992b:	33 cd                	xor    %ebp,%ecx
40992d:	e8 fe 6a 00 00       	call   0x410430
409932:	c9                   	leave
409933:	c3                   	ret
409934:	8b ff                	mov    %edi,%edi
409936:	53                   	push   %ebx
409937:	8b dc                	mov    %esp,%ebx
409939:	51                   	push   %ecx
40993a:	51                   	push   %ecx
40993b:	83 e4 f8             	and    $0xfffffff8,%esp
40993e:	83 c4 04             	add    $0x4,%esp
409941:	55                   	push   %ebp
409942:	8b 6b 04             	mov    0x4(%ebx),%ebp
409945:	89 6c 24 04          	mov    %ebp,0x4(%esp)
409949:	8b ec                	mov    %esp,%ebp
40994b:	83 ec 30             	sub    $0x30,%esp
40994e:	a1 64 10 41 00       	mov    0x411064,%eax
409953:	33 c5                	xor    %ebp,%eax
409955:	89 45 fc             	mov    %eax,-0x4(%ebp)
409958:	56                   	push   %esi
409959:	57                   	push   %edi
40995a:	8d 45 ec             	lea    -0x14(%ebp),%eax
40995d:	8b f9                	mov    %ecx,%edi
40995f:	50                   	push   %eax
409960:	57                   	push   %edi
409961:	ff 15 f0 31 43 00    	call   *0x4331f0
409967:	8b 45 f4             	mov    -0xc(%ebp),%eax
40996a:	99                   	cltd
40996b:	f7 3d b0 10 41 00    	idivl  0x4110b0
409971:	89 45 e4             	mov    %eax,-0x1c(%ebp)
409974:	db 45 e4             	fildl  -0x1c(%ebp)
409977:	dd 5d e0             	fstpl  -0x20(%ebp)
40997a:	dd 45 e0             	fldl   -0x20(%ebp)
40997d:	dd 05 e0 19 40 00    	fldl   0x4019e0
409983:	dc c1                	fadd   %st,%st(1)
409985:	d9 c9                	fxch   %st(1)
409987:	e8 6f 71 00 00       	call   0x410afb
40998c:	8b f0                	mov    %eax,%esi
40998e:	8b 45 f8             	mov    -0x8(%ebp),%eax
409991:	6a 0a                	push   $0xa
409993:	99                   	cltd
409994:	59                   	pop    %ecx
409995:	f7 f9                	idiv   %ecx
409997:	89 35 70 1f 43 00    	mov    %esi,0x431f70
40999d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4099a0:	db 45 e4             	fildl  -0x1c(%ebp)
4099a3:	dd 5d e0             	fstpl  -0x20(%ebp)
4099a6:	dc 45 e0             	faddl  -0x20(%ebp)
4099a9:	e8 4d 71 00 00       	call   0x410afb
4099ae:	8b ce                	mov    %esi,%ecx
4099b0:	8b d0                	mov    %eax,%edx
4099b2:	0f af 0d b0 10 41 00 	imul   0x4110b0,%ecx
4099b9:	89 15 74 1f 43 00    	mov    %edx,0x431f74
4099bf:	41                   	inc    %ecx
4099c0:	89 0d 78 1f 43 00    	mov    %ecx,0x431f78
4099c6:	6b ca 0a             	imul   $0xa,%edx,%ecx
4099c9:	41                   	inc    %ecx
4099ca:	89 0d 7c 1f 43 00    	mov    %ecx,0x431f7c
4099d0:	8d 4e 05             	lea    0x5(%esi),%ecx
4099d3:	6b c1 03             	imul   $0x3,%ecx,%eax
4099d6:	33 f6                	xor    %esi,%esi
4099d8:	89 35 98 1f 43 00    	mov    %esi,0x431f98
4099de:	89 35 b0 1f 43 00    	mov    %esi,0x431fb0
4099e4:	89 35 b4 1f 43 00    	mov    %esi,0x431fb4
4099ea:	89 35 b8 1f 43 00    	mov    %esi,0x431fb8
4099f0:	a3 88 1f 43 00       	mov    %eax,0x431f88
4099f5:	8d 04 55 04 00 00 00 	lea    0x4(,%edx,2),%eax
4099fc:	a3 8c 1f 43 00       	mov    %eax,0x431f8c
409a01:	66 a1 80 26 43 00    	mov    0x432680,%ax
409a07:	66 a3 c4 1f 43 00    	mov    %ax,0x431fc4
409a0d:	8d 45 d8             	lea    -0x28(%ebp),%eax
409a10:	50                   	push   %eax
409a11:	57                   	push   %edi
409a12:	89 35 bc 1f 43 00    	mov    %esi,0x431fbc
409a18:	89 75 d8             	mov    %esi,-0x28(%ebp)
409a1b:	89 75 dc             	mov    %esi,-0x24(%ebp)
409a1e:	ff 15 74 32 43 00    	call   *0x433274
409a24:	8d 45 d0             	lea    -0x30(%ebp),%eax
409a27:	89 75 d0             	mov    %esi,-0x30(%ebp)
409a2a:	50                   	push   %eax
409a2b:	6a 01                	push   $0x1
409a2d:	57                   	push   %edi
409a2e:	89 75 d4             	mov    %esi,-0x2c(%ebp)
409a31:	ff 15 78 32 43 00    	call   *0x433278
409a37:	50                   	push   %eax
409a38:	ff 15 74 32 43 00    	call   *0x433274
409a3e:	8b 45 d8             	mov    -0x28(%ebp),%eax
409a41:	2b 45 d0             	sub    -0x30(%ebp),%eax