4107ea:	89 7d f0             	mov    %edi,-0x10(%ebp)
4107ed:	52                   	push   %edx
4107ee:	8b 08                	mov    (%eax),%ecx
4107f0:	6a 01                	push   $0x1
4107f2:	50                   	push   %eax
4107f3:	ff 51 0c             	call   *0xc(%ecx)
4107f6:	85 c0                	test   %eax,%eax
4107f8:	0f 84 37 ff ff ff    	je     0x410735
4107fe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410801:	85 c9                	test   %ecx,%ecx
410803:	74 09                	je     0x41080e
410805:	8b 01                	mov    (%ecx),%eax
410807:	51                   	push   %ecx
410808:	ff 50 08             	call   *0x8(%eax)
41080b:	89 7d fc             	mov    %edi,-0x4(%ebp)
41080e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
410811:	85 c9                	test   %ecx,%ecx
410813:	74 09                	je     0x41081e
410815:	8b 01                	mov    (%ecx),%eax
410817:	51                   	push   %ecx
410818:	ff 50 08             	call   *0x8(%eax)
41081b:	89 7d f8             	mov    %edi,-0x8(%ebp)
41081e:	ff 15 24 23 41 00    	call   *0x412324
410824:	5f                   	pop    %edi
410825:	5e                   	pop    %esi
410826:	5b                   	pop    %ebx
410827:	c9                   	leave
410828:	c3                   	ret
410829:	55                   	push   %ebp
41082a:	8b ec                	mov    %esp,%ebp
41082c:	83 ec 10             	sub    $0x10,%esp
41082f:	53                   	push   %ebx
410830:	56                   	push   %esi
410831:	57                   	push   %edi
410832:	8b fa                	mov    %edx,%edi
410834:	8b d9                	mov    %ecx,%ebx
410836:	e8 ca f9 ff ff       	call   0x410205
41083b:	33 c9                	xor    %ecx,%ecx
41083d:	3b c3                	cmp    %ebx,%eax
41083f:	8d 45 f0             	lea    -0x10(%ebp),%eax
410842:	50                   	push   %eax
410843:	68 34 48 41 00       	push   $0x414834
410848:	0f 42 d9             	cmovb  %ecx,%ebx
41084b:	33 f6                	xor    %esi,%esi
41084d:	6a 01                	push   $0x1
41084f:	56                   	push   %esi
410850:	68 a0 25 41 00       	push   $0x4125a0
410855:	89 37                	mov    %esi,(%edi)
410857:	ff 15 28 23 41 00    	call   *0x412328
41085d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
410860:	85 c9                	test   %ecx,%ecx
410862:	74 7f                	je     0x4108e3
410864:	8b 01                	mov    (%ecx),%eax
410866:	8d 55 fc             	lea    -0x4(%ebp),%edx
410869:	56                   	push   %esi
41086a:	52                   	push   %edx
41086b:	68 90 25 41 00       	push   $0x412590
410870:	51                   	push   %ecx
410871:	ff 50 0c             	call   *0xc(%eax)
410874:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410877:	85 c9                	test   %ecx,%ecx
410879:	74 68                	je     0x4108e3
41087b:	8b 01                	mov    (%ecx),%eax
41087d:	51                   	push   %ecx
41087e:	ff 50 14             	call   *0x14(%eax)
410881:	21 75 f8             	and    %esi,-0x8(%ebp)
410884:	eb 28                	jmp    0x4108ae
410886:	8b 45 f4             	mov    -0xc(%ebp),%eax
410889:	57                   	push   %edi
41088a:	68 40 25 41 00       	push   $0x412540
41088f:	6a 00                	push   $0x0
410891:	8b 08                	mov    (%eax),%ecx
410893:	6a 00                	push   $0x0
410895:	50                   	push   %eax
410896:	ff 51 20             	call   *0x20(%ecx)
410899:	83 3f 00             	cmpl   $0x0,(%edi)
41089c:	74 0c                	je     0x4108aa
41089e:	3b f3                	cmp    %ebx,%esi
4108a0:	74 23                	je     0x4108c5
4108a2:	8b cf                	mov    %edi,%ecx
4108a4:	46                   	inc    %esi
4108a5:	e8 54 1b ff ff       	call   0x4023fe
4108aa:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4108ae:	8b 45 fc             	mov    -0x4(%ebp),%eax
4108b1:	8d 55 f8             	lea    -0x8(%ebp),%edx
4108b4:	52                   	push   %edx
4108b5:	8d 55 f4             	lea    -0xc(%ebp),%edx
4108b8:	52                   	push   %edx
4108b9:	8b 08                	mov    (%eax),%ecx
4108bb:	6a 01                	push   $0x1
4108bd:	50                   	push   %eax
4108be:	ff 51 0c             	call   *0xc(%ecx)
4108c1:	85 c0                	test   %eax,%eax
4108c3:	74 c1                	je     0x410886
4108c5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4108c8:	85 c9                	test   %ecx,%ecx
4108ca:	74 0a                	je     0x4108d6
4108cc:	8b 01                	mov    (%ecx),%eax
4108ce:	51                   	push   %ecx
4108cf:	ff 50 08             	call   *0x8(%eax)
4108d2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4108d6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4108d9:	85 c9                	test   %ecx,%ecx
4108db:	74 06                	je     0x4108e3
4108dd:	8b 01                	mov    (%ecx),%eax
4108df:	51                   	push   %ecx
4108e0:	ff 50 08             	call   *0x8(%eax)
4108e3:	5f                   	pop    %edi
4108e4:	5e                   	pop    %esi
4108e5:	5b                   	pop    %ebx
4108e6:	c9                   	leave
4108e7:	c3                   	ret
4108e8:	55                   	push   %ebp
4108e9:	8b ec                	mov    %esp,%ebp
4108eb:	53                   	push   %ebx
4108ec:	8b 5d 08             	mov    0x8(%ebp),%ebx
4108ef:	56                   	push   %esi
4108f0:	57                   	push   %edi
4108f1:	8b f9                	mov    %ecx,%edi
4108f3:	3b 5f 0c             	cmp    0xc(%edi),%ebx
4108f6:	0f 92 c1             	setb   %cl
4108f9:	e8 2d 4f ff ff       	call   0x40582b
4108fe:	8b 47 04             	mov    0x4(%edi),%eax
410901:	8b 75 10             	mov    0x10(%ebp),%esi
410904:	8b 04 98             	mov    (%eax,%ebx,4),%eax
410907:	89 70 10             	mov    %esi,0x10(%eax)
41090a:	3b 5f 0c             	cmp    0xc(%edi),%ebx
41090d:	0f 92 c1             	setb   %cl
410910:	e8 16 4f ff ff       	call   0x40582b
410915:	8b 47 04             	mov    0x4(%edi),%eax
410918:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41091b:	8b 04 98             	mov    (%eax,%ebx,4),%eax
41091e:	89 48 14             	mov    %ecx,0x14(%eax)
410921:	0f b6 45 14          	movzbl 0x14(%ebp),%eax
410925:	c1 e8 03             	shr    $0x3,%eax
410928:	0f af c1             	imul   %ecx,%eax
41092b:	0f af c6             	imul   %esi,%eax
41092e:	99                   	cltd
41092f:	8b d8                	mov    %eax,%ebx
410931:	33 da                	xor    %edx,%ebx
410933:	2b da                	sub    %edx,%ebx
410935:	f6 c3 0f             	test   $0xf,%bl
410938:	74 06                	je     0x410940
41093a:	83 e3 f0             	and    $0xfffffff0,%ebx
41093d:	83 c3 10             	add    $0x10,%ebx
410940:	8b 75 08             	mov    0x8(%ebp),%esi
410943:	3b 77 0c             	cmp    0xc(%edi),%esi
410946:	0f 92 c1             	setb   %cl
410949:	e8 dd 4e ff ff       	call   0x40582b
41094e:	8b 47 04             	mov    0x4(%edi),%eax
410951:	5f                   	pop    %edi
410952:	8b 04 b0             	mov    (%eax,%esi,4),%eax
410955:	5e                   	pop    %esi
410956:	89 58 18             	mov    %ebx,0x18(%eax)
410959:	5b                   	pop    %ebx
41095a:	5d                   	pop    %ebp
41095b:	c2 10 00             	ret    $0x10
41095e:	55                   	push   %ebp
41095f:	8b ec                	mov    %esp,%ebp
410961:	8b 45 08             	mov    0x8(%ebp),%eax
410964:	89 41 18             	mov    %eax,0x18(%ecx)
410967:	5d                   	pop    %ebp
410968:	c2 04 00             	ret    $0x4
41096b:	55                   	push   %ebp
41096c:	8b ec                	mov    %esp,%ebp
41096e:	8b 45 08             	mov    0x8(%ebp),%eax
410971:	89 41 10             	mov    %eax,0x10(%ecx)
410974:	5d                   	pop    %ebp
410975:	c2 04 00             	ret    $0x4
410978:	55                   	push   %ebp
410979:	8b ec                	mov    %esp,%ebp
41097b:	8b 45 08             	mov    0x8(%ebp),%eax
41097e:	89 41 14             	mov    %eax,0x14(%ecx)
410981:	5d                   	pop    %ebp
410982:	c2 04 00             	ret    $0x4
410985:	56                   	push   %esi
410986:	6a 50                	push   $0x50
410988:	5a                   	pop    %edx
410989:	8b f1                	mov    %ecx,%esi
41098b:	e8 e9 4f ff ff       	call   0x405979
410990:	ba a0 00 00 00       	mov    $0xa0,%edx
410995:	89 06                	mov    %eax,(%esi)
410997:	e8 dd 4f ff ff       	call   0x405979
41099c:	89 46 04             	mov    %eax,0x4(%esi)
41099f:	33 c0                	xor    %eax,%eax
4109a1:	89 46 0c             	mov    %eax,0xc(%esi)
4109a4:	89 46 10             	mov    %eax,0x10(%esi)
4109a7:	89 46 14             	mov    %eax,0x14(%esi)
4109aa:	89 46 18             	mov    %eax,0x18(%esi)
4109ad:	8b c6                	mov    %esi,%eax
4109af:	5e                   	pop    %esi
4109b0:	c3                   	ret
4109b1:	53                   	push   %ebx
4109b2:	56                   	push   %esi
4109b3:	57                   	push   %edi
4109b4:	51                   	push   %ecx
4109b5:	8b f1                	mov    %ecx,%esi
4109b7:	e8 93 00 00 00       	call   0x410a4f
4109bc:	33 db                	xor    %ebx,%ebx
4109be:	8b fb                	mov    %ebx,%edi
4109c0:	39 5e 0c             	cmp    %ebx,0xc(%esi)
4109c3:	76 20                	jbe    0x4109e5
4109c5:	3b 7e 0c             	cmp    0xc(%esi),%edi
4109c8:	0f 92 c1             	setb   %cl
4109cb:	e8 5b 4e ff ff       	call   0x40582b
4109d0:	8b 46 04             	mov    0x4(%esi),%eax
4109d3:	8b 0c b8             	mov    (%eax,%edi,4),%ecx
4109d6:	85 c9                	test   %ecx,%ecx
4109d8:	74 05                	je     0x4109df
4109da:	e8 42 03 00 00       	call   0x410d21
4109df:	47                   	inc    %edi
4109e0:	3b 7e 0c             	cmp    0xc(%esi),%edi
4109e3:	72 e3                	jb     0x4109c8
4109e5:	8b 0e                	mov    (%esi),%ecx
4109e7:	85 c9                	test   %ecx,%ecx
4109e9:	74 05                	je     0x4109f0
4109eb:	e8 2a fa ff ff       	call   0x41041a
4109f0:	5f                   	pop    %edi
4109f1:	89 5e 04             	mov    %ebx,0x4(%esi)
4109f4:	89 5e 0c             	mov    %ebx,0xc(%esi)
4109f7:	89 5e 08             	mov    %ebx,0x8(%esi)
4109fa:	5e                   	pop    %esi
4109fb:	5b                   	pop    %ebx
4109fc:	c3                   	ret
4109fd:	55                   	push   %ebp
4109fe:	8b ec                	mov    %esp,%ebp
410a00:	53                   	push   %ebx
410a01:	56                   	push   %esi
410a02:	8b 75 08             	mov    0x8(%ebp),%esi
410a05:	8b d9                	mov    %ecx,%ebx
410a07:	57                   	push   %edi
410a08:	6a 05                	push   $0x5
410a0a:	58                   	pop    %eax
410a0b:	6a 14                	push   $0x14
410a0d:	33 ff                	xor    %edi,%edi
410a0f:	89 46 0c             	mov    %eax,0xc(%esi)
410a12:	59                   	pop    %ecx
410a13:	89 46 04             	mov    %eax,0x4(%esi)
410a16:	89 7e 08             	mov    %edi,0x8(%esi)
410a19:	e8 bd 50 ff ff       	call   0x405adb
410a1e:	89 06                	mov    %eax,(%esi)
410a20:	8b 43 0c             	mov    0xc(%ebx),%eax
410a23:	85 c0                	test   %eax,%eax
410a25:	74 1f                	je     0x410a46
410a27:	3b f8                	cmp    %eax,%edi
410a29:	0f 92 c1             	setb   %cl
410a2c:	e8 fa 4d ff ff       	call   0x40582b
410a31:	8b 43 04             	mov    0x4(%ebx),%eax
410a34:	8b ce                	mov    %esi,%ecx
410a36:	ff 34 b8             	push   (%eax,%edi,4)
410a39:	e8 61 19 ff ff       	call   0x40239f
410a3e:	8b 43 0c             	mov    0xc(%ebx),%eax
410a41:	47                   	inc    %edi
410a42:	3b f8                	cmp    %eax,%edi
410a44:	72 e3                	jb     0x410a29
410a46:	5f                   	pop    %edi
410a47:	8b c6                	mov    %esi,%eax
410a49:	5e                   	pop    %esi
410a4a:	5b                   	pop    %ebx
410a4b:	5d                   	pop    %ebp
410a4c:	c2 04 00             	ret    $0x4
410a4f:	56                   	push   %esi
410a50:	8b f1                	mov    %ecx,%esi
410a52:	57                   	push   %edi
410a53:	8b 4e 34             	mov    0x34(%esi),%ecx
410a56:	85 c9                	test   %ecx,%ecx
410a58:	74 06                	je     0x410a60
410a5a:	8b 01                	mov    (%ecx),%eax
410a5c:	51                   	push   %ecx
410a5d:	ff 50 24             	call   *0x24(%eax)
410a60:	8b 4e 34             	mov    0x34(%esi),%ecx
410a63:	33 ff                	xor    %edi,%edi
410a65:	85 c9                	test   %ecx,%ecx
410a67:	74 09                	je     0x410a72
410a69:	8b 01                	mov    (%ecx),%eax
410a6b:	51                   	push   %ecx
410a6c:	ff 50 08             	call   *0x8(%eax)
410a6f:	89 7e 34             	mov    %edi,0x34(%esi)
410a72:	8b 4e 18             	mov    0x18(%esi),%ecx
410a75:	85 c9                	test   %ecx,%ecx
410a77:	74 09                	je     0x410a82
410a79:	8b 01                	mov    (%ecx),%eax
410a7b:	51                   	push   %ecx
410a7c:	ff 50 08             	call   *0x8(%eax)
410a7f:	89 7e 18             	mov    %edi,0x18(%esi)
410a82:	8d 4e 1c             	lea    0x1c(%esi),%ecx
410a85:	e8 74 19 ff ff       	call   0x4023fe
410a8a:	8d 4e 20             	lea    0x20(%esi),%ecx
410a8d:	e8 6c 19 ff ff       	call   0x4023fe
410a92:	8b 4e 24             	mov    0x24(%esi),%ecx
410a95:	85 c9                	test   %ecx,%ecx
410a97:	74 09                	je     0x410aa2
410a99:	8b 01                	mov    (%ecx),%eax
410a9b:	51                   	push   %ecx
410a9c:	ff 50 08             	call   *0x8(%eax)
410a9f:	89 7e 24             	mov    %edi,0x24(%esi)
410aa2:	8d 4e 28             	lea    0x28(%esi),%ecx
410aa5:	e8 54 19 ff ff       	call   0x4023fe
410aaa:	8d 4e 2c             	lea    0x2c(%esi),%ecx
410aad:	e8 4c 19 ff ff       	call   0x4023fe
410ab2:	8d 4e 30             	lea    0x30(%esi),%ecx
410ab5:	e8 44 19 ff ff       	call   0x4023fe
410aba:	89 7e 34             	mov    %edi,0x34(%esi)
410abd:	ff 15 24 23 41 00    	call   *0x412324
410ac3:	5f                   	pop    %edi
410ac4:	5e                   	pop    %esi
410ac5:	c2 04 00             	ret    $0x4
410ac8:	55                   	push   %ebp
410ac9:	8b ec                	mov    %esp,%ebp
410acb:	81 ec c8 00 00 00    	sub    $0xc8,%esp
410ad1:	53                   	push   %ebx
410ad2:	56                   	push   %esi
410ad3:	57                   	push   %edi
410ad4:	6a 00                	push   $0x0
410ad6:	8b d9                	mov    %ecx,%ebx
410ad8:	ff 15 30 23 41 00    	call   *0x412330
410ade:	8d 73 18             	lea    0x18(%ebx),%esi
410ae1:	56                   	push   %esi
410ae2:	68 54 48 41 00       	push   $0x414854
410ae7:	6a 01                	push   $0x1
410ae9:	6a 00                	push   $0x0
410aeb:	68 60 25 41 00       	push   $0x412560
410af0:	ff 15 28 23 41 00    	call   *0x412328
410af6:	8b 0e                	mov    (%esi),%ecx
410af8:	85 c9                	test   %ecx,%ecx
410afa:	0f 84 8b 01 00 00    	je     0x410c8b
410b00:	8b 01                	mov    (%ecx),%eax
410b02:	8d 7b 1c             	lea    0x1c(%ebx),%edi
410b05:	57                   	push   %edi
410b06:	68 40 25 41 00       	push   $0x412540
410b0b:	51                   	push   %ecx
410b0c:	ff 10                	call   *(%eax)
410b0e:	8b 0f                	mov    (%edi),%ecx
410b10:	85 c9                	test   %ecx,%ecx
410b12:	0f 84 73 01 00 00    	je     0x410c8b
410b18:	8b 01                	mov    (%ecx),%eax
410b1a:	51                   	push   %ecx
410b1b:	ff 50 04             	call   *0x4(%eax)
410b1e:	8d 73 20             	lea    0x20(%ebx),%esi
410b21:	85 f6                	test   %esi,%esi
410b23:	74 0a                	je     0x410b2f
410b25:	8b 4d 08             	mov    0x8(%ebp),%ecx
410b28:	8b d6                	mov    %esi,%edx
410b2a:	e8 fa fc ff ff       	call   0x410829
410b2f:	83 3e 00             	cmpl   $0x0,(%esi)
410b32:	0f 84 53 01 00 00    	je     0x410c8b
410b38:	8d 73 24             	lea    0x24(%ebx),%esi
410b3b:	56                   	push   %esi
410b3c:	68 44 48 41 00       	push   $0x414844
410b41:	6a 01                	push   $0x1