41dd86:	68 c9 dd 41 00       	push   $0x41ddc9
41dd8b:	64 ff 30             	push   %fs:(%eax)
41dd8e:	64 89 20             	mov    %esp,%fs:(%eax)
41dd91:	8b 45 f8             	mov    -0x8(%ebp),%eax
41dd94:	50                   	push   %eax
41dd95:	8b 45 f4             	mov    -0xc(%ebp),%eax
41dd98:	50                   	push   %eax
41dd99:	8b 45 ec             	mov    -0x14(%ebp),%eax
41dd9c:	50                   	push   %eax
41dd9d:	e8 82 8a fe ff       	call   0x406824
41dda2:	89 45 f0             	mov    %eax,-0x10(%ebp)
41dda5:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
41dda9:	75 05                	jne    0x41ddb0
41ddab:	e8 a4 fe ff ff       	call   0x41dc54
41ddb0:	33 c0                	xor    %eax,%eax
41ddb2:	5a                   	pop    %edx
41ddb3:	59                   	pop    %ecx
41ddb4:	59                   	pop    %ecx
41ddb5:	64 89 10             	mov    %edx,%fs:(%eax)
41ddb8:	68 d0 dd 41 00       	push   $0x41ddd0
41ddbd:	8b 45 ec             	mov    -0x14(%ebp),%eax
41ddc0:	50                   	push   %eax
41ddc1:	6a 00                	push   $0x0
41ddc3:	e8 cc 8f fe ff       	call   0x406d94
41ddc8:	c3                   	ret
41ddc9:	e9 7e 61 fe ff       	jmp    0x403f4c
41ddce:	eb ed                	jmp    0x41ddbd
41ddd0:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
41ddd4:	74 64                	je     0x41de3a
41ddd6:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ddd9:	50                   	push   %eax
41ddda:	8b 45 e8             	mov    -0x18(%ebp),%eax
41dddd:	50                   	push   %eax
41ddde:	e8 79 8b fe ff       	call   0x40695c
41dde3:	8b d8                	mov    %eax,%ebx
41dde5:	8b 45 f0             	mov    -0x10(%ebp),%eax
41dde8:	50                   	push   %eax
41dde9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41ddec:	50                   	push   %eax
41dded:	e8 6a 8b fe ff       	call   0x40695c
41ddf2:	8b f0                	mov    %eax,%esi
41ddf4:	68 20 00 cc 00       	push   $0xcc0020
41ddf9:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41ddfc:	50                   	push   %eax
41ddfd:	8b 45 d0             	mov    -0x30(%ebp),%eax
41de00:	50                   	push   %eax
41de01:	6a 00                	push   $0x0
41de03:	6a 00                	push   $0x0
41de05:	8b 45 e8             	mov    -0x18(%ebp),%eax
41de08:	50                   	push   %eax
41de09:	8b 45 f8             	mov    -0x8(%ebp),%eax
41de0c:	50                   	push   %eax
41de0d:	8b 45 f4             	mov    -0xc(%ebp),%eax
41de10:	50                   	push   %eax
41de11:	6a 00                	push   $0x0
41de13:	6a 00                	push   $0x0
41de15:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41de18:	50                   	push   %eax
41de19:	e8 ae 8b fe ff       	call   0x4069cc
41de1e:	85 db                	test   %ebx,%ebx
41de20:	74 0a                	je     0x41de2c
41de22:	53                   	push   %ebx
41de23:	8b 45 e8             	mov    -0x18(%ebp),%eax
41de26:	50                   	push   %eax
41de27:	e8 30 8b fe ff       	call   0x40695c
41de2c:	85 f6                	test   %esi,%esi
41de2e:	74 0a                	je     0x41de3a
41de30:	56                   	push   %esi
41de31:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41de34:	50                   	push   %eax
41de35:	e8 22 8b fe ff       	call   0x40695c
41de3a:	33 c0                	xor    %eax,%eax
41de3c:	5a                   	pop    %edx
41de3d:	59                   	pop    %ecx
41de3e:	59                   	pop    %ecx
41de3f:	64 89 10             	mov    %edx,%fs:(%eax)
41de42:	68 61 de 41 00       	push   $0x41de61
41de47:	8b 45 e8             	mov    -0x18(%ebp),%eax
41de4a:	50                   	push   %eax
41de4b:	e8 24 8a fe ff       	call   0x406874
41de50:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41de53:	50                   	push   %eax
41de54:	e8 1b 8a fe ff       	call   0x406874
41de59:	c3                   	ret
41de5a:	e9 ed 60 fe ff       	jmp    0x403f4c
41de5f:	eb e6                	jmp    0x41de47
41de61:	8b 45 f0             	mov    -0x10(%ebp),%eax
41de64:	5f                   	pop    %edi
41de65:	5e                   	pop    %esi
41de66:	5b                   	pop    %ebx
41de67:	8b e5                	mov    %ebp,%esp
41de69:	5d                   	pop    %ebp
41de6a:	c3                   	ret
41de6b:	90                   	nop
41de6c:	8b d0                	mov    %eax,%edx
41de6e:	66 ff ca             	dec    %dx
41de71:	74 0c                	je     0x41de7f
41de73:	66 83 ea 03          	sub    $0x3,%dx
41de77:	74 06                	je     0x41de7f
41de79:	66 83 ea 04          	sub    $0x4,%dx
41de7d:	75 0a                	jne    0x41de89
41de7f:	8b c8                	mov    %eax,%ecx
41de81:	b8 01 00 00 00       	mov    $0x1,%eax
41de86:	d3 e0                	shl    %cl,%eax
41de88:	c3                   	ret
41de89:	33 c0                	xor    %eax,%eax
41de8b:	c3                   	ret
41de8c:	49                   	dec    %ecx
41de8d:	f7 ea                	imul   %edx
41de8f:	03 c1                	add    %ecx,%eax
41de91:	f7 d1                	not    %ecx
41de93:	23 c1                	and    %ecx,%eax
41de95:	85 c0                	test   %eax,%eax
41de97:	79 03                	jns    0x41de9c
41de99:	83 c0 07             	add    $0x7,%eax
41de9c:	c1 f8 03             	sar    $0x3,%eax
41de9f:	c3                   	ret
41dea0:	55                   	push   %ebp
41dea1:	8b ec                	mov    %esp,%ebp
41dea3:	83 c4 dc             	add    $0xffffffdc,%esp
41dea6:	53                   	push   %ebx
41dea7:	56                   	push   %esi
41dea8:	57                   	push   %edi
41dea9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41deac:	89 55 fc             	mov    %edx,-0x4(%ebp)
41deaf:	8b f8                	mov    %eax,%edi
41deb1:	8b 75 14             	mov    0x14(%ebp),%esi
41deb4:	8b 5d 18             	mov    0x18(%ebp),%ebx
41deb7:	c6 45 f7 01          	movb   $0x1,-0x9(%ebp)
41debb:	a1 58 0d 46 00       	mov    0x460d58,%eax
41dec0:	83 38 02             	cmpl   $0x2,(%eax)
41dec3:	0f 85 b1 00 00 00    	jne    0x41df7a
41dec9:	3b 5d 2c             	cmp    0x2c(%ebp),%ebx
41decc:	0f 85 a8 00 00 00    	jne    0x41df7a
41ded2:	3b 75 28             	cmp    0x28(%ebp),%esi
41ded5:	0f 85 9f 00 00 00    	jne    0x41df7a
41dedb:	6a 01                	push   $0x1
41dedd:	6a 01                	push   $0x1
41dedf:	8b 45 24             	mov    0x24(%ebp),%eax
41dee2:	50                   	push   %eax
41dee3:	e8 3c 89 fe ff       	call   0x406824
41dee8:	e8 0f fe ff ff       	call   0x41dcfc
41deed:	89 45 ec             	mov    %eax,-0x14(%ebp)
41def0:	8b 45 ec             	mov    -0x14(%ebp),%eax
41def3:	50                   	push   %eax
41def4:	8b 45 10             	mov    0x10(%ebp),%eax
41def7:	50                   	push   %eax
41def8:	e8 5f 8a fe ff       	call   0x40695c
41defd:	89 45 ec             	mov    %eax,-0x14(%ebp)
41df00:	33 c0                	xor    %eax,%eax
41df02:	55                   	push   %ebp
41df03:	68 73 df 41 00       	push   $0x41df73
41df08:	64 ff 30             	push   %fs:(%eax)
41df0b:	64 89 20             	mov    %esp,%fs:(%eax)
41df0e:	ba 20 00 cc 00       	mov    $0xcc0020,%edx
41df13:	b8 29 00 aa 00       	mov    $0xaa0029,%eax
41df18:	e8 23 90 fe ff       	call   0x406f40
41df1d:	50                   	push   %eax
41df1e:	8b 45 08             	mov    0x8(%ebp),%eax
41df21:	50                   	push   %eax
41df22:	8b 45 0c             	mov    0xc(%ebp),%eax
41df25:	50                   	push   %eax
41df26:	8b 45 ec             	mov    -0x14(%ebp),%eax
41df29:	50                   	push   %eax
41df2a:	8b 45 1c             	mov    0x1c(%ebp),%eax
41df2d:	50                   	push   %eax
41df2e:	8b 45 20             	mov    0x20(%ebp),%eax
41df31:	50                   	push   %eax
41df32:	8b 45 24             	mov    0x24(%ebp),%eax
41df35:	50                   	push   %eax
41df36:	8b 45 28             	mov    0x28(%ebp),%eax
41df39:	50                   	push   %eax
41df3a:	8b 45 2c             	mov    0x2c(%ebp),%eax
41df3d:	50                   	push   %eax
41df3e:	8b 45 f8             	mov    -0x8(%ebp),%eax
41df41:	50                   	push   %eax
41df42:	8b 45 fc             	mov    -0x4(%ebp),%eax
41df45:	50                   	push   %eax
41df46:	57                   	push   %edi
41df47:	e8 d8 89 fe ff       	call   0x406924
41df4c:	33 c0                	xor    %eax,%eax
41df4e:	5a                   	pop    %edx
41df4f:	59                   	pop    %ecx
41df50:	59                   	pop    %ecx
41df51:	64 89 10             	mov    %edx,%fs:(%eax)
41df54:	68 27 e1 41 00       	push   $0x41e127
41df59:	8b 45 ec             	mov    -0x14(%ebp),%eax
41df5c:	50                   	push   %eax
41df5d:	8b 45 10             	mov    0x10(%ebp),%eax
41df60:	50                   	push   %eax
41df61:	e8 f6 89 fe ff       	call   0x40695c
41df66:	89 45 ec             	mov    %eax,-0x14(%ebp)
41df69:	8b 45 ec             	mov    -0x14(%ebp),%eax
41df6c:	50                   	push   %eax
41df6d:	e8 0a 89 fe ff       	call   0x40687c
41df72:	c3                   	ret
41df73:	e9 d4 5f fe ff       	jmp    0x403f4c
41df78:	eb df                	jmp    0x41df59
41df7a:	33 c0                	xor    %eax,%eax
41df7c:	89 45 dc             	mov    %eax,-0x24(%ebp)
41df7f:	6a 00                	push   $0x0
41df81:	e8 a6 88 fe ff       	call   0x40682c
41df86:	e8 71 fd ff ff       	call   0x41dcfc
41df8b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41df8e:	33 c0                	xor    %eax,%eax
41df90:	55                   	push   %ebp
41df91:	68 20 e1 41 00       	push   $0x41e120
41df96:	64 ff 30             	push   %fs:(%eax)
41df99:	64 89 20             	mov    %esp,%fs:(%eax)
41df9c:	56                   	push   %esi
41df9d:	53                   	push   %ebx
41df9e:	8b 45 24             	mov    0x24(%ebp),%eax
41dfa1:	50                   	push   %eax
41dfa2:	e8 7d 88 fe ff       	call   0x406824
41dfa7:	e8 50 fd ff ff       	call   0x41dcfc
41dfac:	89 45 ec             	mov    %eax,-0x14(%ebp)
41dfaf:	8b 45 ec             	mov    -0x14(%ebp),%eax
41dfb2:	50                   	push   %eax
41dfb3:	8b 45 f0             	mov    -0x10(%ebp),%eax
41dfb6:	50                   	push   %eax
41dfb7:	e8 a0 89 fe ff       	call   0x40695c
41dfbc:	89 45 e8             	mov    %eax,-0x18(%ebp)
41dfbf:	6a 00                	push   $0x0
41dfc1:	a1 90 18 46 00       	mov    0x461890,%eax
41dfc6:	50                   	push   %eax
41dfc7:	8b 45 24             	mov    0x24(%ebp),%eax
41dfca:	50                   	push   %eax
41dfcb:	e8 94 89 fe ff       	call   0x406964
41dfd0:	89 45 dc             	mov    %eax,-0x24(%ebp)
41dfd3:	6a 00                	push   $0x0
41dfd5:	8b 45 dc             	mov    -0x24(%ebp),%eax
41dfd8:	50                   	push   %eax
41dfd9:	8b 45 24             	mov    0x24(%ebp),%eax
41dfdc:	50                   	push   %eax
41dfdd:	e8 82 89 fe ff       	call   0x406964
41dfe2:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
41dfe6:	74 14                	je     0x41dffc
41dfe8:	6a ff                	push   $0xffffffff
41dfea:	8b 45 dc             	mov    -0x24(%ebp),%eax
41dfed:	50                   	push   %eax
41dfee:	8b 45 f0             	mov    -0x10(%ebp),%eax
41dff1:	50                   	push   %eax
41dff2:	e8 6d 89 fe ff       	call   0x406964
41dff7:	89 45 dc             	mov    %eax,-0x24(%ebp)
41dffa:	eb 14                	jmp    0x41e010
41dffc:	6a ff                	push   $0xffffffff
41dffe:	a1 90 18 46 00       	mov    0x461890,%eax
41e003:	50                   	push   %eax
41e004:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e007:	50                   	push   %eax
41e008:	e8 57 89 fe ff       	call   0x406964
41e00d:	89 45 dc             	mov    %eax,-0x24(%ebp)
41e010:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e013:	50                   	push   %eax
41e014:	e8 23 89 fe ff       	call   0x40693c
41e019:	68 20 00 cc 00       	push   $0xcc0020
41e01e:	56                   	push   %esi
41e01f:	53                   	push   %ebx
41e020:	8b 45 08             	mov    0x8(%ebp),%eax
41e023:	50                   	push   %eax
41e024:	8b 45 0c             	mov    0xc(%ebp),%eax
41e027:	50                   	push   %eax
41e028:	8b 45 10             	mov    0x10(%ebp),%eax
41e02b:	50                   	push   %eax
41e02c:	56                   	push   %esi
41e02d:	53                   	push   %ebx
41e02e:	6a 00                	push   $0x0
41e030:	6a 00                	push   $0x0
41e032:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e035:	50                   	push   %eax
41e036:	e8 91 89 fe ff       	call   0x4069cc
41e03b:	68 28 03 44 00       	push   $0x440328
41e040:	56                   	push   %esi
41e041:	53                   	push   %ebx
41e042:	8b 45 1c             	mov    0x1c(%ebp),%eax
41e045:	50                   	push   %eax
41e046:	8b 45 20             	mov    0x20(%ebp),%eax
41e049:	50                   	push   %eax
41e04a:	8b 45 24             	mov    0x24(%ebp),%eax
41e04d:	50                   	push   %eax
41e04e:	56                   	push   %esi
41e04f:	53                   	push   %ebx
41e050:	6a 00                	push   $0x0
41e052:	6a 00                	push   $0x0
41e054:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e057:	50                   	push   %eax
41e058:	e8 6f 89 fe ff       	call   0x4069cc
41e05d:	6a 00                	push   $0x0
41e05f:	57                   	push   %edi
41e060:	e8 4f 89 fe ff       	call   0x4069b4
41e065:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41e068:	68 ff ff ff 00       	push   $0xffffff
41e06d:	57                   	push   %edi
41e06e:	e8 01 89 fe ff       	call   0x406974
41e073:	89 45 e0             	mov    %eax,-0x20(%ebp)
41e076:	68 c6 00 88 00       	push   $0x8800c6
41e07b:	56                   	push   %esi
41e07c:	53                   	push   %ebx
41e07d:	8b 45 08             	mov    0x8(%ebp),%eax
41e080:	50                   	push   %eax
41e081:	8b 45 0c             	mov    0xc(%ebp),%eax
41e084:	50                   	push   %eax
41e085:	8b 45 10             	mov    0x10(%ebp),%eax
41e088:	50                   	push   %eax
41e089:	8b 45 28             	mov    0x28(%ebp),%eax
41e08c:	50                   	push   %eax
41e08d:	8b 45 2c             	mov    0x2c(%ebp),%eax
41e090:	50                   	push   %eax
41e091:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e094:	50                   	push   %eax
41e095:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e098:	50                   	push   %eax
41e099:	57                   	push   %edi
41e09a:	e8 2d 89 fe ff       	call   0x4069cc
41e09f:	68 46 00 66 00       	push   $0x660046
41e0a4:	56                   	push   %esi
41e0a5:	53                   	push   %ebx
41e0a6:	6a 00                	push   $0x0
41e0a8:	6a 00                	push   $0x0
41e0aa:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e0ad:	50                   	push   %eax
41e0ae:	8b 45 28             	mov    0x28(%ebp),%eax
41e0b1:	50                   	push   %eax
41e0b2:	8b 45 2c             	mov    0x2c(%ebp),%eax
41e0b5:	50                   	push   %eax
41e0b6:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e0b9:	50                   	push   %eax
41e0ba:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e0bd:	50                   	push   %eax
41e0be:	57                   	push   %edi
41e0bf:	e8 08 89 fe ff       	call   0x4069cc
41e0c4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41e0c7:	50                   	push   %eax
41e0c8:	57                   	push   %edi
41e0c9:	e8 e6 88 fe ff       	call   0x4069b4
41e0ce:	8b 45 e0             	mov    -0x20(%ebp),%eax
41e0d1:	50                   	push   %eax
41e0d2:	57                   	push   %edi
41e0d3:	e8 9c 88 fe ff       	call   0x406974
41e0d8:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
41e0dc:	74 0d                	je     0x41e0eb
41e0de:	8b 45 e8             	mov    -0x18(%ebp),%eax
41e0e1:	50                   	push   %eax
41e0e2:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e0e5:	50                   	push   %eax
41e0e6:	e8 71 88 fe ff       	call   0x40695c
41e0eb:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e0ee:	50                   	push   %eax
41e0ef:	e8 88 87 fe ff       	call   0x40687c
41e0f4:	33 c0                	xor    %eax,%eax