40c8f1:	53                   	push   %ebx
40c8f2:	53                   	push   %ebx
40c8f3:	53                   	push   %ebx
40c8f4:	53                   	push   %ebx
40c8f5:	53                   	push   %ebx
40c8f6:	e8 60 b3 ff ff       	call   0x407c5b
40c8fb:	cc                   	int3
40c8fc:	8b ff                	mov    %edi,%edi
40c8fe:	55                   	push   %ebp
40c8ff:	8b ec                	mov    %esp,%ebp
40c901:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40c905:	7f 04                	jg     0x40c90b
40c907:	32 c0                	xor    %al,%al
40c909:	5d                   	pop    %ebp
40c90a:	c3                   	ret
40c90b:	57                   	push   %edi
40c90c:	8b 7d 0c             	mov    0xc(%ebp),%edi
40c90f:	8b 04 bd 4c fd 41 00 	mov    0x41fd4c(,%edi,4),%eax
40c916:	2b 04 bd 48 fd 41 00 	sub    0x41fd48(,%edi,4),%eax
40c91d:	39 45 10             	cmp    %eax,0x10(%ebp)
40c920:	7e 18                	jle    0x40c93a
40c922:	ff 75 08             	push   0x8(%ebp)
40c925:	e8 af fd ff ff       	call   0x40c6d9
40c92a:	59                   	pop    %ecx
40c92b:	84 c0                	test   %al,%al
40c92d:	74 0f                	je     0x40c93e
40c92f:	83 ff 01             	cmp    $0x1,%edi
40c932:	75 0a                	jne    0x40c93e
40c934:	83 7d 10 1d          	cmpl   $0x1d,0x10(%ebp)
40c938:	7f 04                	jg     0x40c93e
40c93a:	b0 01                	mov    $0x1,%al
40c93c:	eb 02                	jmp    0x40c940
40c93e:	32 c0                	xor    %al,%al
40c940:	5f                   	pop    %edi
40c941:	5d                   	pop    %ebp
40c942:	c3                   	ret
40c943:	8b ff                	mov    %edi,%edi
40c945:	55                   	push   %ebp
40c946:	8b ec                	mov    %esp,%ebp
40c948:	5d                   	pop    %ebp
40c949:	e9 cc fd ff ff       	jmp    0x40c71a
40c94e:	68 80 70 00 00       	push   $0x7080
40c953:	b9 9c 44 42 00       	mov    $0x42449c,%ecx
40c958:	e8 39 3c 00 00       	call   0x410596
40c95d:	6a 01                	push   $0x1
40c95f:	b9 a0 44 42 00       	mov    $0x4244a0,%ecx
40c964:	e8 2d 3c 00 00       	call   0x410596
40c969:	68 f0 f1 ff ff       	push   $0xfffff1f0
40c96e:	b9 a4 44 42 00       	mov    $0x4244a4,%ecx
40c973:	e8 1e 3c 00 00       	call   0x410596
40c978:	c7 05 a8 44 42 00 80 	movl   $0x423280,0x4244a8
40c97f:	32 42 00
40c982:	33 c0                	xor    %eax,%eax
40c984:	c3                   	ret
40c985:	b8 a0 44 42 00       	mov    $0x4244a0,%eax
40c98a:	c3                   	ret
40c98b:	b8 a4 44 42 00       	mov    $0x4244a4,%eax
40c990:	c3                   	ret
40c991:	b8 9c 44 42 00       	mov    $0x42449c,%eax
40c996:	c3                   	ret
40c997:	a1 a8 44 42 00       	mov    0x4244a8,%eax
40c99c:	c3                   	ret
40c99d:	8b ff                	mov    %edi,%edi
40c99f:	55                   	push   %ebp
40c9a0:	8b ec                	mov    %esp,%ebp
40c9a2:	8b 4d 08             	mov    0x8(%ebp),%ecx
40c9a5:	85 c9                	test   %ecx,%ecx
40c9a7:	75 15                	jne    0x40c9be
40c9a9:	e8 59 b3 ff ff       	call   0x407d07
40c9ae:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40c9b4:	e8 75 b2 ff ff       	call   0x407c2e
40c9b9:	6a 16                	push   $0x16
40c9bb:	58                   	pop    %eax
40c9bc:	5d                   	pop    %ebp
40c9bd:	c3                   	ret
40c9be:	a1 a0 44 42 00       	mov    0x4244a0,%eax
40c9c3:	89 01                	mov    %eax,(%ecx)
40c9c5:	33 c0                	xor    %eax,%eax
40c9c7:	5d                   	pop    %ebp
40c9c8:	c3                   	ret
40c9c9:	8b ff                	mov    %edi,%edi
40c9cb:	55                   	push   %ebp
40c9cc:	8b ec                	mov    %esp,%ebp
40c9ce:	8b 4d 08             	mov    0x8(%ebp),%ecx
40c9d1:	85 c9                	test   %ecx,%ecx
40c9d3:	75 15                	jne    0x40c9ea
40c9d5:	e8 2d b3 ff ff       	call   0x407d07
40c9da:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40c9e0:	e8 49 b2 ff ff       	call   0x407c2e
40c9e5:	6a 16                	push   $0x16
40c9e7:	58                   	pop    %eax
40c9e8:	5d                   	pop    %ebp
40c9e9:	c3                   	ret
40c9ea:	a1 a4 44 42 00       	mov    0x4244a4,%eax
40c9ef:	89 01                	mov    %eax,(%ecx)
40c9f1:	33 c0                	xor    %eax,%eax
40c9f3:	5d                   	pop    %ebp
40c9f4:	c3                   	ret
40c9f5:	8b ff                	mov    %edi,%edi
40c9f7:	55                   	push   %ebp
40c9f8:	8b ec                	mov    %esp,%ebp
40c9fa:	8b 4d 08             	mov    0x8(%ebp),%ecx
40c9fd:	85 c9                	test   %ecx,%ecx
40c9ff:	75 15                	jne    0x40ca16
40ca01:	e8 01 b3 ff ff       	call   0x407d07
40ca06:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40ca0c:	e8 1d b2 ff ff       	call   0x407c2e
40ca11:	6a 16                	push   $0x16
40ca13:	58                   	pop    %eax
40ca14:	5d                   	pop    %ebp
40ca15:	c3                   	ret
40ca16:	a1 9c 44 42 00       	mov    0x42449c,%eax
40ca1b:	89 01                	mov    %eax,(%ecx)
40ca1d:	33 c0                	xor    %eax,%eax
40ca1f:	5d                   	pop    %ebp
40ca20:	c3                   	ret
40ca21:	8b ff                	mov    %edi,%edi
40ca23:	55                   	push   %ebp
40ca24:	8b ec                	mov    %esp,%ebp
40ca26:	83 ec 0c             	sub    $0xc,%esp
40ca29:	56                   	push   %esi
40ca2a:	8b 75 08             	mov    0x8(%ebp),%esi
40ca2d:	85 f6                	test   %esi,%esi
40ca2f:	75 16                	jne    0x40ca47
40ca31:	e8 d1 b2 ff ff       	call   0x407d07
40ca36:	6a 16                	push   $0x16
40ca38:	5e                   	pop    %esi
40ca39:	89 30                	mov    %esi,(%eax)
40ca3b:	e8 ee b1 ff ff       	call   0x407c2e
40ca40:	8b c6                	mov    %esi,%eax
40ca42:	e9 22 01 00 00       	jmp    0x40cb69
40ca47:	57                   	push   %edi
40ca48:	6a 09                	push   $0x9
40ca4a:	83 c8 ff             	or     $0xffffffff,%eax
40ca4d:	8b fe                	mov    %esi,%edi
40ca4f:	59                   	pop    %ecx
40ca50:	f3 ab                	rep stos %eax,%es:(%edi)
40ca52:	8b 7d 0c             	mov    0xc(%ebp),%edi
40ca55:	85 ff                	test   %edi,%edi
40ca57:	75 11                	jne    0x40ca6a
40ca59:	e8 a9 b2 ff ff       	call   0x407d07
40ca5e:	6a 16                	push   $0x16
40ca60:	5e                   	pop    %esi
40ca61:	89 30                	mov    %esi,(%eax)
40ca63:	e8 c6 b1 ff ff       	call   0x407c2e
40ca68:	eb 33                	jmp    0x40ca9d
40ca6a:	8b 4f 04             	mov    0x4(%edi),%ecx
40ca6d:	8b 07                	mov    (%edi),%eax
40ca6f:	89 45 f4             	mov    %eax,-0xc(%ebp)
40ca72:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40ca75:	83 f9 ff             	cmp    $0xffffffff,%ecx
40ca78:	7f 09                	jg     0x40ca83
40ca7a:	7c 17                	jl     0x40ca93
40ca7c:	3d 40 57 ff ff       	cmp    $0xffff5740,%eax
40ca81:	72 10                	jb     0x40ca93
40ca83:	6a 07                	push   $0x7
40ca85:	5a                   	pop    %edx
40ca86:	3b ca                	cmp    %edx,%ecx
40ca88:	7c 1a                	jl     0x40caa4
40ca8a:	7f 07                	jg     0x40ca93
40ca8c:	3d cf 26 41 93       	cmp    $0x934126cf,%eax
40ca91:	76 11                	jbe    0x40caa4
40ca93:	e8 6f b2 ff ff       	call   0x407d07
40ca98:	6a 16                	push   $0x16
40ca9a:	5e                   	pop    %esi
40ca9b:	89 30                	mov    %esi,(%eax)
40ca9d:	8b c6                	mov    %esi,%eax
40ca9f:	e9 c4 00 00 00       	jmp    0x40cb68
40caa4:	53                   	push   %ebx
40caa5:	8d 45 ff             	lea    -0x1(%ebp),%eax
40caa8:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
40caac:	50                   	push   %eax
40caad:	8d 45 f4             	lea    -0xc(%ebp),%eax
40cab0:	50                   	push   %eax
40cab1:	e8 b8 00 00 00       	call   0x40cb6e
40cab6:	8b 5d f4             	mov    -0xc(%ebp),%ebx
40cab9:	59                   	pop    %ecx
40caba:	59                   	pop    %ecx
40cabb:	6a 00                	push   $0x0
40cabd:	89 46 14             	mov    %eax,0x14(%esi)
40cac0:	b8 80 51 01 00       	mov    $0x15180,%eax
40cac5:	50                   	push   %eax
40cac6:	ff 75 f8             	push   -0x8(%ebp)
40cac9:	53                   	push   %ebx
40caca:	e8 c1 b5 00 00       	call   0x418090
40cacf:	89 46 1c             	mov    %eax,0x1c(%esi)
40cad2:	b9 80 51 01 00       	mov    $0x15180,%ecx
40cad7:	f7 e9                	imul   %ecx
40cad9:	b9 7c fd 41 00       	mov    $0x41fd7c,%ecx
40cade:	2b d8                	sub    %eax,%ebx
40cae0:	8b 45 f8             	mov    -0x8(%ebp),%eax
40cae3:	1b c2                	sbb    %edx,%eax
40cae5:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
40cae9:	89 45 f8             	mov    %eax,-0x8(%ebp)
40caec:	75 05                	jne    0x40caf3
40caee:	b9 48 fd 41 00       	mov    $0x41fd48,%ecx
40caf3:	8b 56 1c             	mov    0x1c(%esi),%edx
40caf6:	33 c0                	xor    %eax,%eax
40caf8:	40                   	inc    %eax
40caf9:	39 51 04             	cmp    %edx,0x4(%ecx)
40cafc:	7d 06                	jge    0x40cb04
40cafe:	40                   	inc    %eax
40caff:	39 14 81             	cmp    %edx,(%ecx,%eax,4)
40cb02:	7c fa                	jl     0x40cafe
40cb04:	48                   	dec    %eax
40cb05:	89 46 10             	mov    %eax,0x10(%esi)
40cb08:	6a 00                	push   $0x0
40cb0a:	2b 14 81             	sub    (%ecx,%eax,4),%edx
40cb0d:	b8 80 51 01 00       	mov    $0x15180,%eax
40cb12:	50                   	push   %eax
40cb13:	89 56 0c             	mov    %edx,0xc(%esi)
40cb16:	ff 77 04             	push   0x4(%edi)
40cb19:	ff 37                	push   (%edi)
40cb1b:	e8 70 b5 00 00       	call   0x418090
40cb20:	6a 07                	push   $0x7
40cb22:	83 c0 04             	add    $0x4,%eax
40cb25:	8b 7d f8             	mov    -0x8(%ebp),%edi
40cb28:	59                   	pop    %ecx
40cb29:	99                   	cltd
40cb2a:	f7 f9                	idiv   %ecx
40cb2c:	6a 00                	push   $0x0
40cb2e:	b8 10 0e 00 00       	mov    $0xe10,%eax
40cb33:	89 56 18             	mov    %edx,0x18(%esi)
40cb36:	50                   	push   %eax
40cb37:	57                   	push   %edi
40cb38:	53                   	push   %ebx
40cb39:	e8 52 b5 00 00       	call   0x418090
40cb3e:	b9 10 0e 00 00       	mov    $0xe10,%ecx
40cb43:	89 46 08             	mov    %eax,0x8(%esi)
40cb46:	f7 e9                	imul   %ecx
40cb48:	6a 00                	push   $0x0
40cb4a:	2b d8                	sub    %eax,%ebx
40cb4c:	6a 3c                	push   $0x3c
40cb4e:	1b fa                	sbb    %edx,%edi
40cb50:	57                   	push   %edi
40cb51:	53                   	push   %ebx
40cb52:	e8 39 b5 00 00       	call   0x418090
40cb57:	83 66 20 00          	andl   $0x0,0x20(%esi)
40cb5b:	89 46 04             	mov    %eax,0x4(%esi)
40cb5e:	6b c0 3c             	imul   $0x3c,%eax,%eax
40cb61:	2b d8                	sub    %eax,%ebx
40cb63:	33 c0                	xor    %eax,%eax
40cb65:	89 1e                	mov    %ebx,(%esi)
40cb67:	5b                   	pop    %ebx
40cb68:	5f                   	pop    %edi
40cb69:	5e                   	pop    %esi
40cb6a:	8b e5                	mov    %ebp,%esp
40cb6c:	5d                   	pop    %ebp
40cb6d:	c3                   	ret
40cb6e:	8b ff                	mov    %edi,%edi
40cb70:	55                   	push   %ebp
40cb71:	8b ec                	mov    %esp,%ebp
40cb73:	51                   	push   %ecx
40cb74:	53                   	push   %ebx
40cb75:	8b 5d 08             	mov    0x8(%ebp),%ebx
40cb78:	b8 80 33 e1 01       	mov    $0x1e13380,%eax
40cb7d:	56                   	push   %esi
40cb7e:	57                   	push   %edi
40cb7f:	6a 00                	push   $0x0
40cb81:	8b 73 04             	mov    0x4(%ebx),%esi
40cb84:	8b 3b                	mov    (%ebx),%edi
40cb86:	50                   	push   %eax
40cb87:	56                   	push   %esi
40cb88:	57                   	push   %edi
40cb89:	e8 02 b5 00 00       	call   0x418090
40cb8e:	ba 80 33 e1 01       	mov    $0x1e13380,%edx
40cb93:	8d 48 46             	lea    0x46(%eax),%ecx
40cb96:	8d 41 ba             	lea    -0x46(%ecx),%eax
40cb99:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40cb9c:	f7 ea                	imul   %edx
40cb9e:	51                   	push   %ecx
40cb9f:	2b f8                	sub    %eax,%edi
40cba1:	89 3b                	mov    %edi,(%ebx)
40cba3:	1b f2                	sbb    %edx,%esi
40cba5:	89 73 04             	mov    %esi,0x4(%ebx)
40cba8:	e8 f2 fa ff ff       	call   0x40c69f
40cbad:	bf 80 51 01 00       	mov    $0x15180,%edi
40cbb2:	f7 ef                	imul   %edi
40cbb4:	59                   	pop    %ecx
40cbb5:	29 03                	sub    %eax,(%ebx)
40cbb7:	8b 03                	mov    (%ebx),%eax
40cbb9:	19 53 04             	sbb    %edx,0x4(%ebx)
40cbbc:	8b 4b 04             	mov    0x4(%ebx),%ecx
40cbbf:	85 c9                	test   %ecx,%ecx
40cbc1:	7f 32                	jg     0x40cbf5
40cbc3:	7c 04                	jl     0x40cbc9
40cbc5:	85 c0                	test   %eax,%eax
40cbc7:	73 2c                	jae    0x40cbf5
40cbc9:	8b 75 fc             	mov    -0x4(%ebp),%esi
40cbcc:	ba 80 33 e1 01       	mov    $0x1e13380,%edx
40cbd1:	03 c2                	add    %edx,%eax
40cbd3:	89 03                	mov    %eax,(%ebx)
40cbd5:	83 d1 00             	adc    $0x0,%ecx
40cbd8:	4e                   	dec    %esi
40cbd9:	56                   	push   %esi
40cbda:	89 4b 04             	mov    %ecx,0x4(%ebx)
40cbdd:	e8 f7 fa ff ff       	call   0x40c6d9
40cbe2:	59                   	pop    %ecx
40cbe3:	84 c0                	test   %al,%al
40cbe5:	74 22                	je     0x40cc09
40cbe7:	01 3b                	add    %edi,(%ebx)
40cbe9:	8b 45 0c             	mov    0xc(%ebp),%eax
40cbec:	83 53 04 00          	adcl   $0x0,0x4(%ebx)
40cbf0:	c6 00 01             	movb   $0x1,(%eax)
40cbf3:	eb 14                	jmp    0x40cc09
40cbf5:	8b 75 fc             	mov    -0x4(%ebp),%esi
40cbf8:	56                   	push   %esi
40cbf9:	e8 db fa ff ff       	call   0x40c6d9
40cbfe:	59                   	pop    %ecx
40cbff:	84 c0                	test   %al,%al
40cc01:	74 06                	je     0x40cc09
40cc03:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40cc06:	c6 01 01             	movb   $0x1,(%ecx)
40cc09:	5f                   	pop    %edi
40cc0a:	8b c6                	mov    %esi,%eax
40cc0c:	5e                   	pop    %esi
40cc0d:	5b                   	pop    %ebx
40cc0e:	8b e5                	mov    %ebp,%esp
40cc10:	5d                   	pop    %ebp
40cc11:	c3                   	ret
40cc12:	8b ff                	mov    %edi,%edi
40cc14:	55                   	push   %ebp
40cc15:	8b ec                	mov    %esp,%ebp
40cc17:	5d                   	pop    %ebp
40cc18:	e9 04 fe ff ff       	jmp    0x40ca21
40cc1d:	8b ff                	mov    %edi,%edi
40cc1f:	55                   	push   %ebp
40cc20:	8b ec                	mov    %esp,%ebp
40cc22:	51                   	push   %ecx
40cc23:	53                   	push   %ebx
40cc24:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cc27:	33 db                	xor    %ebx,%ebx
40cc29:	50                   	push   %eax
40cc2a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40cc2d:	e8 6b fd ff ff       	call   0x40c99d
40cc32:	59                   	pop    %ecx
40cc33:	85 c0                	test   %eax,%eax
40cc35:	0f 85 be 01 00 00    	jne    0x40cdf9
40cc3b:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
40cc3e:	0f 84 6e 01 00 00    	je     0x40cdb2
40cc44:	56                   	push   %esi
40cc45:	8b 75 08             	mov    0x8(%ebp),%esi
40cc48:	57                   	push   %edi
40cc49:	33 ff                	xor    %edi,%edi
40cc4b:	47                   	inc    %edi
40cc4c:	8b 4e 14             	mov    0x14(%esi),%ecx
40cc4f:	3b 0d 88 32 42 00    	cmp    0x423288,%ecx
40cc55:	75 0c                	jne    0x40cc63
40cc57:	3b 0d 94 32 42 00    	cmp    0x423294,%ecx
40cc5d:	0f 84 27 01 00 00    	je     0x40cd8a