41d9fa:	2b 45 08             	sub    0x8(%ebp),%eax
41d9fd:	03 c3                	add    %ebx,%eax
41d9ff:	8d 3c 45 02 00 00 00 	lea    0x2(,%eax,2),%edi
41da06:	89 7d e4             	mov    %edi,-0x1c(%ebp)
41da09:	85 ff                	test   %edi,%edi
41da0b:	0f 8e d4 00 00 00    	jle    0x41dae5
41da11:	57                   	push   %edi
41da12:	56                   	push   %esi
41da13:	ff 15 34 61 42 00    	call   *0x426134
41da19:	8b d8                	mov    %eax,%ebx
41da1b:	89 5d e8             	mov    %ebx,-0x18(%ebp)
41da1e:	85 db                	test   %ebx,%ebx
41da20:	0f 84 bf 00 00 00    	je     0x41dae5
41da26:	8b cb                	mov    %ebx,%ecx
41da28:	39 75 0c             	cmp    %esi,0xc(%ebp)
41da2b:	7e 70                	jle    0x41da9d
41da2d:	8b 45 f0             	mov    -0x10(%ebp),%eax
41da30:	8b 75 fc             	mov    -0x4(%ebp),%esi
41da33:	03 c0                	add    %eax,%eax
41da35:	89 45 ec             	mov    %eax,-0x14(%ebp)
41da38:	8b 55 f8             	mov    -0x8(%ebp),%edx
41da3b:	8d 45 f0             	lea    -0x10(%ebp),%eax
41da3e:	50                   	push   %eax
41da3f:	51                   	push   %ecx
41da40:	68 00 5d 42 00       	push   $0x425d00
41da45:	8b ce                	mov    %esi,%ecx
41da47:	e8 46 e7 ff ff       	call   0x41c192
41da4c:	8b f8                	mov    %eax,%edi
41da4e:	8b 45 f0             	mov    -0x10(%ebp),%eax
41da51:	8b cf                	mov    %edi,%ecx
41da53:	2b ce                	sub    %esi,%ecx
41da55:	d1 f9                	sar    $1,%ecx
41da57:	03 c1                	add    %ecx,%eax
41da59:	29 45 f8             	sub    %eax,-0x8(%ebp)
41da5c:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
41da5f:	56                   	push   %esi
41da60:	ff 75 fc             	push   -0x4(%ebp)
41da63:	53                   	push   %ebx
41da64:	e8 1a 51 00 00       	call   0x422b83
41da69:	03 de                	add    %esi,%ebx
41da6b:	8b 75 ec             	mov    -0x14(%ebp),%esi
41da6e:	56                   	push   %esi
41da6f:	ff 35 a8 4e 42 00    	push   0x424ea8
41da75:	53                   	push   %ebx
41da76:	e8 08 51 00 00       	call   0x422b83
41da7b:	8b 45 f0             	mov    -0x10(%ebp),%eax
41da7e:	03 de                	add    %esi,%ebx
41da80:	83 c4 18             	add    $0x18,%esp
41da83:	83 6d 0c 01          	subl   $0x1,0xc(%ebp)
41da87:	8d 34 47             	lea    (%edi,%eax,2),%esi
41da8a:	89 75 fc             	mov    %esi,-0x4(%ebp)
41da8d:	75 a9                	jne    0x41da38
41da8f:	8b 7d e4             	mov    -0x1c(%ebp),%edi
41da92:	33 f6                	xor    %esi,%esi
41da94:	89 5d f4             	mov    %ebx,-0xc(%ebp)
41da97:	8b 5d e8             	mov    -0x18(%ebp),%ebx
41da9a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41da9d:	8b c1                	mov    %ecx,%eax
41da9f:	2b c3                	sub    %ebx,%eax
41daa1:	83 e0 fe             	and    $0xfffffffe,%eax
41daa4:	2b f8                	sub    %eax,%edi
41daa6:	57                   	push   %edi
41daa7:	ff 75 fc             	push   -0x4(%ebp)
41daaa:	51                   	push   %ecx
41daab:	e8 d3 50 00 00       	call   0x422b83
41dab0:	83 c4 0c             	add    $0xc,%esp
41dab3:	ff 75 e0             	push   -0x20(%ebp)
41dab6:	56                   	push   %esi
41dab7:	68 b1 00 00 00       	push   $0xb1
41dabc:	ff 35 04 5e 42 00    	push   0x425e04
41dac2:	ff 15 bc 62 42 00    	call   *0x4262bc
41dac8:	53                   	push   %ebx
41dac9:	33 f6                	xor    %esi,%esi
41dacb:	46                   	inc    %esi
41dacc:	56                   	push   %esi
41dacd:	68 c2 00 00 00       	push   $0xc2
41dad2:	ff 35 04 5e 42 00    	push   0x425e04
41dad8:	ff 15 bc 62 42 00    	call   *0x4262bc
41dade:	53                   	push   %ebx
41dadf:	ff 15 8c 60 42 00    	call   *0x42608c
41dae5:	5f                   	pop    %edi
41dae6:	8b c6                	mov    %esi,%eax
41dae8:	5e                   	pop    %esi
41dae9:	5b                   	pop    %ebx
41daea:	c9                   	leave
41daeb:	c2 08 00             	ret    $0x8
41daee:	8b ff                	mov    %edi,%edi
41daf0:	55                   	push   %ebp
41daf1:	8b ec                	mov    %esp,%ebp
41daf3:	83 ec 14             	sub    $0x14,%esp
41daf6:	53                   	push   %ebx
41daf7:	56                   	push   %esi
41daf8:	89 4d ec             	mov    %ecx,-0x14(%ebp)
41dafb:	33 f6                	xor    %esi,%esi
41dafd:	8b 0d a8 4e 42 00    	mov    0x424ea8,%ecx
41db03:	ba 80 00 00 00       	mov    $0x80,%edx
41db08:	57                   	push   %edi
41db09:	89 75 fc             	mov    %esi,-0x4(%ebp)
41db0c:	89 75 f8             	mov    %esi,-0x8(%ebp)
41db0f:	e8 73 eb ff ff       	call   0x41c687
41db14:	89 45 f0             	mov    %eax,-0x10(%ebp)
41db17:	8d 45 f8             	lea    -0x8(%ebp),%eax
41db1a:	50                   	push   %eax
41db1b:	8d 45 fc             	lea    -0x4(%ebp),%eax
41db1e:	50                   	push   %eax
41db1f:	68 b0 00 00 00       	push   $0xb0
41db24:	ff 35 04 5e 42 00    	push   0x425e04
41db2a:	ff 15 bc 62 42 00    	call   *0x4262bc
41db30:	56                   	push   %esi
41db31:	56                   	push   %esi
41db32:	68 bd 00 00 00       	push   $0xbd
41db37:	ff 35 04 5e 42 00    	push   0x425e04
41db3d:	ff 15 bc 62 42 00    	call   *0x4262bc
41db43:	8b f8                	mov    %eax,%edi
41db45:	85 ff                	test   %edi,%edi
41db47:	0f 84 9a 00 00 00    	je     0x41dbe7
41db4d:	57                   	push   %edi
41db4e:	ff 15 e8 60 42 00    	call   *0x4260e8
41db54:	8b d8                	mov    %eax,%ebx
41db56:	85 db                	test   %ebx,%ebx
41db58:	0f 84 89 00 00 00    	je     0x41dbe7
41db5e:	8b 55 f8             	mov    -0x8(%ebp),%edx
41db61:	8d 45 f4             	lea    -0xc(%ebp),%eax
41db64:	50                   	push   %eax
41db65:	8b 45 fc             	mov    -0x4(%ebp),%eax
41db68:	2b d0                	sub    %eax,%edx
41db6a:	51                   	push   %ecx
41db6b:	ff 35 a4 4e 42 00    	push   0x424ea4
41db71:	8d 0c 43             	lea    (%ebx,%eax,2),%ecx
41db74:	e8 19 e6 ff ff       	call   0x41c192
41db79:	8b 55 fc             	mov    -0x4(%ebp),%edx
41db7c:	8d 0c 53             	lea    (%ebx,%edx,2),%ecx
41db7f:	3b c1                	cmp    %ecx,%eax
41db81:	75 59                	jne    0x41dbdc
41db83:	8b 45 f8             	mov    -0x8(%ebp),%eax
41db86:	2b c2                	sub    %edx,%eax
41db88:	39 45 f4             	cmp    %eax,-0xc(%ebp)
41db8b:	75 4f                	jne    0x41dbdc
41db8d:	ff 35 a8 4e 42 00    	push   0x424ea8
41db93:	6a 01                	push   $0x1
41db95:	68 c2 00 00 00       	push   $0xc2
41db9a:	ff 35 04 5e 42 00    	push   0x425e04
41dba0:	ff 15 bc 62 42 00    	call   *0x4262bc
41dba6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41dba9:	8b 45 f0             	mov    -0x10(%ebp),%eax
41dbac:	03 c1                	add    %ecx,%eax
41dbae:	50                   	push   %eax
41dbaf:	51                   	push   %ecx
41dbb0:	68 b1 00 00 00       	push   $0xb1
41dbb5:	ff 35 04 5e 42 00    	push   0x425e04
41dbbb:	ff 15 bc 62 42 00    	call   *0x4262bc
41dbc1:	39 75 ec             	cmp    %esi,-0x14(%ebp)
41dbc4:	74 13                	je     0x41dbd9
41dbc6:	56                   	push   %esi
41dbc7:	56                   	push   %esi
41dbc8:	68 b7 00 00 00       	push   $0xb7
41dbcd:	ff 35 04 5e 42 00    	push   0x425e04
41dbd3:	ff 15 bc 62 42 00    	call   *0x4262bc
41dbd9:	33 f6                	xor    %esi,%esi
41dbdb:	46                   	inc    %esi
41dbdc:	57                   	push   %edi
41dbdd:	ff 15 f0 60 42 00    	call   *0x4260f0
41dbe3:	8b c6                	mov    %esi,%eax
41dbe5:	eb 02                	jmp    0x41dbe9
41dbe7:	33 c0                	xor    %eax,%eax
41dbe9:	5f                   	pop    %edi
41dbea:	5e                   	pop    %esi
41dbeb:	5b                   	pop    %ebx
41dbec:	c9                   	leave
41dbed:	c3                   	ret
41dbee:	8b ff                	mov    %edi,%edi
41dbf0:	55                   	push   %ebp
41dbf1:	8b ec                	mov    %esp,%ebp
41dbf3:	51                   	push   %ecx
41dbf4:	51                   	push   %ecx
41dbf5:	8b 55 08             	mov    0x8(%ebp),%edx
41dbf8:	53                   	push   %ebx
41dbf9:	8b d9                	mov    %ecx,%ebx
41dbfb:	33 c9                	xor    %ecx,%ecx
41dbfd:	56                   	push   %esi
41dbfe:	57                   	push   %edi
41dbff:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41dc02:	89 4b 04             	mov    %ecx,0x4(%ebx)
41dc05:	c7 03 84 10 40 00    	movl   $0x401084,(%ebx)
41dc0b:	8b 02                	mov    (%edx),%eax
41dc0d:	89 43 08             	mov    %eax,0x8(%ebx)
41dc10:	89 0a                	mov    %ecx,(%edx)
41dc12:	88 4b 0c             	mov    %cl,0xc(%ebx)
41dc15:	51                   	push   %ecx
41dc16:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41dc19:	e8 14 06 ff ff       	call   0x40e232
41dc1e:	8d 45 fc             	lea    -0x4(%ebp),%eax
41dc21:	33 f6                	xor    %esi,%esi
41dc23:	50                   	push   %eax
41dc24:	56                   	push   %esi
41dc25:	56                   	push   %esi
41dc26:	68 6c 4f 40 00       	push   $0x404f6c
41dc2b:	ff 15 84 90 42 00    	call   *0x429084
41dc31:	85 c0                	test   %eax,%eax
41dc33:	78 5b                	js     0x41dc90
41dc35:	8b 55 fc             	mov    -0x4(%ebp),%edx
41dc38:	85 d2                	test   %edx,%edx
41dc3a:	74 63                	je     0x41dc9f
41dc3c:	8b fa                	mov    %edx,%edi
41dc3e:	8d 4f 02             	lea    0x2(%edi),%ecx
41dc41:	66 8b 07             	mov    (%edi),%ax
41dc44:	83 c7 02             	add    $0x2,%edi
41dc47:	66 3b c6             	cmp    %si,%ax
41dc4a:	75 f5                	jne    0x41dc41
41dc4c:	2b f9                	sub    %ecx,%edi
41dc4e:	8d 4d f8             	lea    -0x8(%ebp),%ecx
41dc51:	d1 ff                	sar    $1,%edi
41dc53:	8d 47 09             	lea    0x9(%edi),%eax
41dc56:	50                   	push   %eax
41dc57:	e8 87 1e ff ff       	call   0x40fae3
41dc5c:	8b 75 f8             	mov    -0x8(%ebp),%esi
41dc5f:	68 4c 26 40 00       	push   $0x40264c
41dc64:	6a 09                	push   $0x9
41dc66:	5a                   	pop    %edx
41dc67:	8d 0c 7e             	lea    (%esi,%edi,2),%ecx
41dc6a:	e8 e5 87 fe ff       	call   0x406454
41dc6f:	85 c0                	test   %eax,%eax
41dc71:	78 12                	js     0x41dc85
41dc73:	8d 45 f8             	lea    -0x8(%ebp),%eax
41dc76:	8d 4b 04             	lea    0x4(%ebx),%ecx
41dc79:	3b c8                	cmp    %eax,%ecx
41dc7b:	74 08                	je     0x41dc85
41dc7d:	56                   	push   %esi
41dc7e:	e8 af 05 ff ff       	call   0x40e232
41dc83:	33 f6                	xor    %esi,%esi
41dc85:	85 f6                	test   %esi,%esi
41dc87:	74 07                	je     0x41dc90
41dc89:	56                   	push   %esi
41dc8a:	ff 15 dc 62 42 00    	call   *0x4262dc
41dc90:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41dc94:	74 09                	je     0x41dc9f
41dc96:	ff 75 fc             	push   -0x4(%ebp)
41dc99:	ff 15 dc 62 42 00    	call   *0x4262dc
41dc9f:	5f                   	pop    %edi
41dca0:	5e                   	pop    %esi
41dca1:	8b c3                	mov    %ebx,%eax
41dca3:	5b                   	pop    %ebx
41dca4:	c9                   	leave
41dca5:	c2 04 00             	ret    $0x4
41dca8:	cc                   	int3
41dca9:	cc                   	int3
41dcaa:	cc                   	int3
41dcab:	cc                   	int3
41dcac:	cc                   	int3
41dcad:	cc                   	int3
41dcae:	cc                   	int3
41dcaf:	cc                   	int3
41dcb0:	8b ff                	mov    %edi,%edi
41dcb2:	55                   	push   %ebp
41dcb3:	8b ec                	mov    %esp,%ebp
41dcb5:	56                   	push   %esi
41dcb6:	8b f1                	mov    %ecx,%esi
41dcb8:	e8 17 00 00 00       	call   0x41dcd4
41dcbd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41dcc1:	74 0a                	je     0x41dccd
41dcc3:	6a 10                	push   $0x10
41dcc5:	56                   	push   %esi
41dcc6:	e8 63 40 00 00       	call   0x421d2e
41dccb:	59                   	pop    %ecx
41dccc:	59                   	pop    %ecx
41dccd:	8b c6                	mov    %esi,%eax
41dccf:	5e                   	pop    %esi
41dcd0:	5d                   	pop    %ebp
41dcd1:	c2 04 00             	ret    $0x4
41dcd4:	8b ff                	mov    %edi,%edi
41dcd6:	56                   	push   %esi
41dcd7:	8b f1                	mov    %ecx,%esi
41dcd9:	c7 06 84 10 40 00    	movl   $0x401084,(%esi)
41dcdf:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
41dce3:	74 09                	je     0x41dcee
41dce5:	ff 76 08             	push   0x8(%esi)
41dce8:	ff 15 dc 62 42 00    	call   *0x4262dc
41dcee:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
41dcf2:	74 09                	je     0x41dcfd
41dcf4:	ff 76 04             	push   0x4(%esi)
41dcf7:	ff 15 dc 62 42 00    	call   *0x4262dc
41dcfd:	5e                   	pop    %esi
41dcfe:	c3                   	ret
41dcff:	8b ff                	mov    %edi,%edi
41dd01:	55                   	push   %ebp
41dd02:	8b ec                	mov    %esp,%ebp
41dd04:	83 ec 1c             	sub    $0x1c,%esp
41dd07:	53                   	push   %ebx
41dd08:	56                   	push   %esi
41dd09:	57                   	push   %edi
41dd0a:	33 db                	xor    %ebx,%ebx
41dd0c:	8b f9                	mov    %ecx,%edi
41dd0e:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41dd11:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41dd14:	53                   	push   %ebx
41dd15:	89 5d f4             	mov    %ebx,-0xc(%ebp)
41dd18:	e8 34 07 00 00       	call   0x41e451
41dd1d:	50                   	push   %eax
41dd1e:	53                   	push   %ebx
41dd1f:	be 3f 00 0f 00       	mov    $0xf003f,%esi
41dd24:	56                   	push   %esi
41dd25:	53                   	push   %ebx
41dd26:	53                   	push   %ebx
41dd27:	53                   	push   %ebx
41dd28:	68 60 26 40 00       	push   $0x402660
41dd2d:	68 01 00 00 80       	push   $0x80000001
41dd32:	ff 15 24 90 42 00    	call   *0x429024
41dd38:	85 c0                	test   %eax,%eax
41dd3a:	0f 85 c9 01 00 00    	jne    0x41df09
41dd40:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41dd43:	89 5d e8             	mov    %ebx,-0x18(%ebp)
41dd46:	e8 06 07 00 00       	call   0x41e451
41dd4b:	53                   	push   %ebx
41dd4c:	50                   	push   %eax
41dd4d:	53                   	push   %ebx
41dd4e:	56                   	push   %esi
41dd4f:	53                   	push   %ebx
41dd50:	53                   	push   %ebx
41dd51:	53                   	push   %ebx
41dd52:	ff 77 08             	push   0x8(%edi)
41dd55:	ff 75 f4             	push   -0xc(%ebp)
41dd58:	ff 15 24 90 42 00    	call   *0x429024
41dd5e:	85 c0                	test   %eax,%eax
41dd60:	0f 85 94 01 00 00    	jne    0x41defa
41dd66:	e8 4a ea fe ff       	call   0x40c7b5
41dd6b:	88 45 ff             	mov    %al,-0x1(%ebp)
41dd6e:	84 c0                	test   %al,%al
41dd70:	74 3f                	je     0x41ddb1
41dd72:	ff 77 08             	push   0x8(%edi)
41dd75:	8d 45 f0             	lea    -0x10(%ebp),%eax
41dd78:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41dd7b:	ff 77 04             	push   0x4(%edi)
41dd7e:	68 b4 26 40 00       	push   $0x4026b4
41dd83:	50                   	push   %eax
41dd84:	e8 f4 06 00 00       	call   0x41e47d
41dd89:	83 c4 10             	add    $0x10,%esp
41dd8c:	85 c0                	test   %eax,%eax
41dd8e:	79 13                	jns    0x41dda3
41dd90:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41dd93:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
41dd96:	74 11                	je     0x41dda9
41dd98:	ff 75 f0             	push   -0x10(%ebp)
41dd9b:	ff 15 dc 62 42 00    	call   *0x4262dc
41dda1:	eb 06                	jmp    0x41dda9
41dda3:	8b 45 f0             	mov    -0x10(%ebp),%eax
41dda6:	89 45 ec             	mov    %eax,-0x14(%ebp)
41dda9:	33 c9                	xor    %ecx,%ecx
41ddab:	8d 55 ec             	lea    -0x14(%ebp),%edx
41ddae:	41                   	inc    %ecx
41ddaf:	eb 14                	jmp    0x41ddc5