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
409a44:	99                   	cltd
409a45:	8b c8                	mov    %eax,%ecx
409a47:	a1 88 1f 43 00       	mov    0x431f88,%eax
409a4c:	2b 05 70 1f 43 00    	sub    0x431f70,%eax
409a52:	33 ca                	xor    %edx,%ecx
409a54:	2b ca                	sub    %edx,%ecx
409a56:	99                   	cltd
409a57:	2b c2                	sub    %edx,%eax
409a59:	d1 f8                	sar    $1,%eax
409a5b:	2b c8                	sub    %eax,%ecx
409a5d:	a1 8c 1f 43 00       	mov    0x431f8c,%eax
409a62:	89 0d 9c 1f 43 00    	mov    %ecx,0x431f9c
409a68:	2b 05 74 1f 43 00    	sub    0x431f74,%eax
409a6e:	8b 4d dc             	mov    -0x24(%ebp),%ecx
409a71:	99                   	cltd
409a72:	2b c2                	sub    %edx,%eax
409a74:	d1 f8                	sar    $1,%eax
409a76:	2b c8                	sub    %eax,%ecx
409a78:	2b 4d d4             	sub    -0x2c(%ebp),%ecx
409a7b:	57                   	push   %edi
409a7c:	89 0d a0 1f 43 00    	mov    %ecx,0x431fa0
409a82:	ff 15 0c 33 43 00    	call   *0x43330c
409a88:	8b f0                	mov    %eax,%esi
409a8a:	85 f6                	test   %esi,%esi
409a8c:	0f 84 9b 00 00 00    	je     0x409b2d
409a92:	a1 d0 1f 43 00       	mov    0x431fd0,%eax
409a97:	85 c0                	test   %eax,%eax
409a99:	74 07                	je     0x409aa2
409a9b:	50                   	push   %eax
409a9c:	ff 15 74 30 43 00    	call   *0x433074
409aa2:	56                   	push   %esi
409aa3:	ff 15 70 30 43 00    	call   *0x433070
409aa9:	a3 d0 1f 43 00       	mov    %eax,0x431fd0
409aae:	85 c0                	test   %eax,%eax
409ab0:	74 73                	je     0x409b25
409ab2:	6a 08                	push   $0x8
409ab4:	ff 15 0c 32 43 00    	call   *0x43320c
409aba:	50                   	push   %eax
409abb:	ff 35 d0 1f 43 00    	push   0x431fd0
409ac1:	ff 15 80 30 43 00    	call   *0x433080
409ac7:	6a 05                	push   $0x5
409ac9:	ff 15 0c 32 43 00    	call   *0x43320c
409acf:	50                   	push   %eax
409ad0:	ff 35 d0 1f 43 00    	push   0x431fd0
409ad6:	ff 15 94 30 43 00    	call   *0x433094
409adc:	6a 02                	push   $0x2
409ade:	ff 35 d0 1f 43 00    	push   0x431fd0
409ae4:	ff 15 6c 30 43 00    	call   *0x43306c
409aea:	a1 d4 1f 43 00       	mov    0x431fd4,%eax
409aef:	85 c0                	test   %eax,%eax
409af1:	74 07                	je     0x409afa
409af3:	50                   	push   %eax
409af4:	ff 15 b4 30 43 00    	call   *0x4330b4
409afa:	a1 8c 1f 43 00       	mov    0x431f8c,%eax
409aff:	03 c0                	add    %eax,%eax
409b01:	50                   	push   %eax
409b02:	ff 35 88 1f 43 00    	push   0x431f88
409b08:	56                   	push   %esi
409b09:	ff 15 68 30 43 00    	call   *0x433068
409b0f:	a3 d4 1f 43 00       	mov    %eax,0x431fd4
409b14:	85 c0                	test   %eax,%eax
409b16:	74 0d                	je     0x409b25
409b18:	50                   	push   %eax
409b19:	ff 35 d0 1f 43 00    	push   0x431fd0
409b1f:	ff 15 ac 30 43 00    	call   *0x4330ac
409b25:	56                   	push   %esi
409b26:	57                   	push   %edi
409b27:	ff 15 08 33 43 00    	call   *0x433308
409b2d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409b30:	5f                   	pop    %edi
409b31:	33 cd                	xor    %ebp,%ecx
409b33:	5e                   	pop    %esi
409b34:	e8 f7 68 00 00       	call   0x410430
409b39:	8b e5                	mov    %ebp,%esp
409b3b:	5d                   	pop    %ebp
409b3c:	8b e3                	mov    %ebx,%esp
409b3e:	5b                   	pop    %ebx
409b3f:	c3                   	ret
409b40:	8b ff                	mov    %edi,%edi
409b42:	55                   	push   %ebp
409b43:	8b ec                	mov    %esp,%ebp
409b45:	83 ec 14             	sub    $0x14,%esp
409b48:	a1 64 10 41 00       	mov    0x411064,%eax
409b4d:	33 c5                	xor    %ebp,%eax
409b4f:	89 45 fc             	mov    %eax,-0x4(%ebp)
409b52:	56                   	push   %esi
409b53:	8d 45 ec             	lea    -0x14(%ebp),%eax
409b56:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
409b5d:	50                   	push   %eax
409b5e:	8b f1                	mov    %ecx,%esi
409b60:	c7 45 f0 1a 00 00 00 	movl   $0x1a,-0x10(%ebp)
409b67:	6a 01                	push   $0x1
409b69:	56                   	push   %esi
409b6a:	c7 45 f4 2c 01 00 00 	movl   $0x12c,-0xc(%ebp)
409b71:	c7 45 f8 b9 00 00 00 	movl   $0xb9,-0x8(%ebp)
409b78:	ff 15 78 32 43 00    	call   *0x433278
409b7e:	50                   	push   %eax
409b7f:	ff 15 7c 32 43 00    	call   *0x43327c
409b85:	8b 45 f8             	mov    -0x8(%ebp),%eax
409b88:	2b 45 f0             	sub    -0x10(%ebp),%eax
409b8b:	6a 00                	push   $0x0
409b8d:	50                   	push   %eax
409b8e:	8b 45 f4             	mov    -0xc(%ebp),%eax
409b91:	2b 45 ec             	sub    -0x14(%ebp),%eax
409b94:	50                   	push   %eax
409b95:	ff 75 f0             	push   -0x10(%ebp)
409b98:	ff 75 ec             	push   -0x14(%ebp)
409b9b:	6a 00                	push   $0x0
409b9d:	56                   	push   %esi
409b9e:	ff 15 80 32 43 00    	call   *0x433280
409ba4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409ba7:	33 cd                	xor    %ebp,%ecx
409ba9:	5e                   	pop    %esi
409baa:	e8 81 68 00 00       	call   0x410430
409baf:	c9                   	leave
409bb0:	c3                   	ret
409bb1:	8b ff                	mov    %edi,%edi
409bb3:	55                   	push   %ebp
409bb4:	8b ec                	mov    %esp,%ebp
409bb6:	83 ec 18             	sub    $0x18,%esp
409bb9:	a1 64 10 41 00       	mov    0x411064,%eax
409bbe:	33 c5                	xor    %ebp,%eax
409bc0:	89 45 fc             	mov    %eax,-0x4(%ebp)
409bc3:	56                   	push   %esi
409bc4:	57                   	push   %edi
409bc5:	8d 45 ec             	lea    -0x14(%ebp),%eax
409bc8:	8b f1                	mov    %ecx,%esi
409bca:	50                   	push   %eax
409bcb:	56                   	push   %esi
409bcc:	ff 15 f0 31 43 00    	call   *0x4331f0
409bd2:	a1 7c 1f 43 00       	mov    0x431f7c,%eax
409bd7:	33 ff                	xor    %edi,%edi
409bd9:	6a 02                	push   $0x2
409bdb:	83 c0 02             	add    $0x2,%eax
409bde:	50                   	push   %eax
409bdf:	a1 78 1f 43 00       	mov    0x431f78,%eax
409be4:	83 c0 02             	add    $0x2,%eax
409be7:	50                   	push   %eax
409be8:	57                   	push   %edi
409be9:	57                   	push   %edi
409bea:	57                   	push   %edi
409beb:	56                   	push   %esi
409bec:	ff 15 80 32 43 00    	call   *0x433280
409bf2:	8d 45 ec             	lea    -0x14(%ebp),%eax
409bf5:	50                   	push   %eax
409bf6:	56                   	push   %esi
409bf7:	ff 15 e0 31 43 00    	call   *0x4331e0
409bfd:	6a 02                	push   $0x2
409bff:	8d 45 ec             	lea    -0x14(%ebp),%eax
409c02:	50                   	push   %eax
409c03:	56                   	push   %esi
409c04:	ff 15 48 32 43 00    	call   *0x433248
409c0a:	50                   	push   %eax
409c0b:	57                   	push   %edi
409c0c:	ff 15 84 32 43 00    	call   *0x433284
409c12:	68 cc 00 00 00       	push   $0xcc
409c17:	56                   	push   %esi
409c18:	ff 15 48 32 43 00    	call   *0x433248
409c1e:	50                   	push   %eax
409c1f:	ff 15 14 33 43 00    	call   *0x433314
409c25:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409c28:	57                   	push   %edi
409c29:	ff 35 7c 1f 43 00    	push   0x431f7c
409c2f:	41                   	inc    %ecx
409c30:	ff 35 70 1f 43 00    	push   0x431f70
409c36:	51                   	push   %ecx
409c37:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409c3a:	41                   	inc    %ecx
409c3b:	51                   	push   %ecx
409c3c:	50                   	push   %eax
409c3d:	ff 15 88 32 43 00    	call   *0x433288
409c43:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409c46:	5f                   	pop    %edi
409c47:	33 cd                	xor    %ebp,%ecx
409c49:	5e                   	pop    %esi