411e60:	8b f9                	mov    %ecx,%edi
411e62:	89 5d bc             	mov    %ebx,-0x44(%ebp)
411e65:	89 45 c0             	mov    %eax,-0x40(%ebp)
411e68:	85 c0                	test   %eax,%eax
411e6a:	75 05                	jne    0x411e71
411e6c:	83 fb ff             	cmp    $0xffffffff,%ebx
411e6f:	76 2a                	jbe    0x411e9b
411e71:	6a 00                	push   $0x0
411e73:	ff 75 cc             	push   -0x34(%ebp)
411e76:	83 c3 01             	add    $0x1,%ebx
411e79:	83 d0 ff             	adc    $0xffffffff,%eax
411e7c:	50                   	push   %eax
411e7d:	53                   	push   %ebx
411e7e:	e8 bd 64 00 00       	call   0x418340
411e83:	03 f8                	add    %eax,%edi
411e85:	13 f2                	adc    %edx,%esi
411e87:	83 cb ff             	or     $0xffffffff,%ebx
411e8a:	33 c0                	xor    %eax,%eax
411e8c:	89 75 d8             	mov    %esi,-0x28(%ebp)
411e8f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
411e92:	89 5d bc             	mov    %ebx,-0x44(%ebp)
411e95:	89 45 e8             	mov    %eax,-0x18(%ebp)
411e98:	89 45 c0             	mov    %eax,-0x40(%ebp)
411e9b:	85 f6                	test   %esi,%esi
411e9d:	77 50                	ja     0x411eef
411e9f:	72 05                	jb     0x411ea6
411ea1:	83 ff ff             	cmp    $0xffffffff,%edi
411ea4:	77 49                	ja     0x411eef
411ea6:	50                   	push   %eax
411ea7:	53                   	push   %ebx
411ea8:	33 c9                	xor    %ecx,%ecx
411eaa:	8b f7                	mov    %edi,%esi
411eac:	0b 4d ec             	or     -0x14(%ebp),%ecx
411eaf:	6a 00                	push   $0x0
411eb1:	ff 75 e0             	push   -0x20(%ebp)
411eb4:	89 4d fc             	mov    %ecx,-0x4(%ebp)
411eb7:	e8 84 64 00 00       	call   0x418340
411ebc:	3b d6                	cmp    %esi,%edx
411ebe:	72 29                	jb     0x411ee9
411ec0:	77 05                	ja     0x411ec7
411ec2:	3b 45 fc             	cmp    -0x4(%ebp),%eax
411ec5:	76 22                	jbe    0x411ee9
411ec7:	8b 45 e8             	mov    -0x18(%ebp),%eax
411eca:	83 c3 ff             	add    $0xffffffff,%ebx
411ecd:	89 5d bc             	mov    %ebx,-0x44(%ebp)
411ed0:	83 d0 ff             	adc    $0xffffffff,%eax
411ed3:	03 7d cc             	add    -0x34(%ebp),%edi
411ed6:	89 45 e8             	mov    %eax,-0x18(%ebp)
411ed9:	83 55 d8 00          	adcl   $0x0,-0x28(%ebp)
411edd:	89 45 c0             	mov    %eax,-0x40(%ebp)
411ee0:	75 0a                	jne    0x411eec
411ee2:	83 ff ff             	cmp    $0xffffffff,%edi
411ee5:	76 bf                	jbe    0x411ea6
411ee7:	eb 03                	jmp    0x411eec
411ee9:	8b 45 e8             	mov    -0x18(%ebp),%eax
411eec:	89 5d fc             	mov    %ebx,-0x4(%ebp)
411eef:	85 c0                	test   %eax,%eax
411ef1:	75 08                	jne    0x411efb
411ef3:	85 db                	test   %ebx,%ebx
411ef5:	0f 84 b4 00 00 00    	je     0x411faf
411efb:	8b 4d c8             	mov    -0x38(%ebp),%ecx
411efe:	33 ff                	xor    %edi,%edi
411f00:	33 f6                	xor    %esi,%esi
411f02:	85 c9                	test   %ecx,%ecx
411f04:	74 55                	je     0x411f5b
411f06:	8b 45 0c             	mov    0xc(%ebp),%eax
411f09:	8b 5d f0             	mov    -0x10(%ebp),%ebx
411f0c:	83 c0 04             	add    $0x4,%eax
411f0f:	89 45 ec             	mov    %eax,-0x14(%ebp)
411f12:	89 4d f4             	mov    %ecx,-0xc(%ebp)
411f15:	8b 00                	mov    (%eax),%eax
411f17:	89 45 d8             	mov    %eax,-0x28(%ebp)
411f1a:	8b 45 c0             	mov    -0x40(%ebp),%eax
411f1d:	f7 65 d8             	mull   -0x28(%ebp)
411f20:	8b c8                	mov    %eax,%ecx
411f22:	8b 45 bc             	mov    -0x44(%ebp),%eax
411f25:	f7 65 d8             	mull   -0x28(%ebp)
411f28:	03 d1                	add    %ecx,%edx
411f2a:	03 f8                	add    %eax,%edi
411f2c:	8b 03                	mov    (%ebx),%eax
411f2e:	8b cf                	mov    %edi,%ecx
411f30:	13 f2                	adc    %edx,%esi
411f32:	8b fe                	mov    %esi,%edi
411f34:	33 f6                	xor    %esi,%esi
411f36:	3b c1                	cmp    %ecx,%eax
411f38:	73 05                	jae    0x411f3f
411f3a:	83 c7 01             	add    $0x1,%edi
411f3d:	13 f6                	adc    %esi,%esi
411f3f:	2b c1                	sub    %ecx,%eax
411f41:	89 03                	mov    %eax,(%ebx)
411f43:	83 c3 04             	add    $0x4,%ebx
411f46:	8b 45 ec             	mov    -0x14(%ebp),%eax
411f49:	83 c0 04             	add    $0x4,%eax
411f4c:	83 6d f4 01          	subl   $0x1,-0xc(%ebp)
411f50:	89 45 ec             	mov    %eax,-0x14(%ebp)
411f53:	75 c0                	jne    0x411f15
411f55:	8b 5d fc             	mov    -0x4(%ebp),%ebx
411f58:	8b 4d c8             	mov    -0x38(%ebp),%ecx
411f5b:	33 c0                	xor    %eax,%eax
411f5d:	3b c6                	cmp    %esi,%eax
411f5f:	77 47                	ja     0x411fa8
411f61:	72 05                	jb     0x411f68
411f63:	39 7d d0             	cmp    %edi,-0x30(%ebp)
411f66:	73 40                	jae    0x411fa8
411f68:	85 c9                	test   %ecx,%ecx
411f6a:	74 35                	je     0x411fa1
411f6c:	8b 75 0c             	mov    0xc(%ebp),%esi
411f6f:	8b f9                	mov    %ecx,%edi
411f71:	8b 55 f0             	mov    -0x10(%ebp),%edx
411f74:	83 c6 04             	add    $0x4,%esi
411f77:	8b d8                	mov    %eax,%ebx
411f79:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
411f80:	8b 0a                	mov    (%edx),%ecx
411f82:	8d 76 04             	lea    0x4(%esi),%esi
411f85:	33 c0                	xor    %eax,%eax
411f87:	8d 52 04             	lea    0x4(%edx),%edx
411f8a:	03 4e fc             	add    -0x4(%esi),%ecx
411f8d:	13 c0                	adc    %eax,%eax
411f8f:	03 cb                	add    %ebx,%ecx
411f91:	89 4a fc             	mov    %ecx,-0x4(%edx)
411f94:	83 d0 00             	adc    $0x0,%eax
411f97:	8b d8                	mov    %eax,%ebx
411f99:	83 ef 01             	sub    $0x1,%edi
411f9c:	75 e2                	jne    0x411f80
411f9e:	8b 5d fc             	mov    -0x4(%ebp),%ebx
411fa1:	83 c3 ff             	add    $0xffffffff,%ebx
411fa4:	83 55 e8 ff          	adcl   $0xffffffff,-0x18(%ebp)
411fa8:	8b 45 f8             	mov    -0x8(%ebp),%eax
411fab:	48                   	dec    %eax
411fac:	89 45 f4             	mov    %eax,-0xc(%ebp)
411faf:	8b 75 b8             	mov    -0x48(%ebp),%esi
411fb2:	33 c0                	xor    %eax,%eax
411fb4:	8b 55 e4             	mov    -0x1c(%ebp),%edx
411fb7:	03 c3                	add    %ebx,%eax
411fb9:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
411fbc:	8b f8                	mov    %eax,%edi
411fbe:	8b 45 f8             	mov    -0x8(%ebp),%eax
411fc1:	83 d6 00             	adc    $0x0,%esi
411fc4:	83 6d f0 04          	subl   $0x4,-0x10(%ebp)
411fc8:	4a                   	dec    %edx
411fc9:	8b 5d 08             	mov    0x8(%ebp),%ebx
411fcc:	83 e9 04             	sub    $0x4,%ecx
411fcf:	48                   	dec    %eax
411fd0:	89 7d b8             	mov    %edi,-0x48(%ebp)
411fd3:	89 55 e4             	mov    %edx,-0x1c(%ebp)
411fd6:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
411fd9:	89 45 f8             	mov    %eax,-0x8(%ebp)
411fdc:	85 d2                	test   %edx,%edx
411fde:	0f 89 ee fd ff ff    	jns    0x411dd2
411fe4:	eb 02                	jmp    0x411fe8
411fe6:	33 ff                	xor    %edi,%edi
411fe8:	8b 55 f4             	mov    -0xc(%ebp),%edx
411feb:	42                   	inc    %edx
411fec:	8b c2                	mov    %edx,%eax
411fee:	3b 03                	cmp    (%ebx),%eax
411ff0:	73 1c                	jae    0x41200e
411ff2:	8d 48 01             	lea    0x1(%eax),%ecx
411ff5:	8d 0c 8b             	lea    (%ebx,%ecx,4),%ecx
411ff8:	eb 06                	jmp    0x412000
411ffa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
412000:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
412006:	8d 49 04             	lea    0x4(%ecx),%ecx
412009:	40                   	inc    %eax
41200a:	3b 03                	cmp    (%ebx),%eax
41200c:	72 f2                	jb     0x412000
41200e:	89 13                	mov    %edx,(%ebx)
412010:	85 d2                	test   %edx,%edx
412012:	74 0f                	je     0x412023
412014:	8b 0b                	mov    (%ebx),%ecx
412016:	83 3c 8b 00          	cmpl   $0x0,(%ebx,%ecx,4)
41201a:	75 07                	jne    0x412023
41201c:	83 c1 ff             	add    $0xffffffff,%ecx
41201f:	89 0b                	mov    %ecx,(%ebx)
412021:	75 f1                	jne    0x412014
412023:	8b d6                	mov    %esi,%edx
412025:	8b c7                	mov    %edi,%eax
412027:	5e                   	pop    %esi
412028:	5f                   	pop    %edi
412029:	5b                   	pop    %ebx
41202a:	8b e5                	mov    %ebp,%esp
41202c:	5d                   	pop    %ebp
41202d:	c3                   	ret
41202e:	8b ff                	mov    %edi,%edi
412030:	55                   	push   %ebp
412031:	8b ec                	mov    %esp,%ebp
412033:	81 ec 64 09 00 00    	sub    $0x964,%esp
412039:	a1 0c 30 42 00       	mov    0x42300c,%eax
41203e:	33 c5                	xor    %ebp,%eax
412040:	89 45 fc             	mov    %eax,-0x4(%ebp)
412043:	53                   	push   %ebx
412044:	8b 5d 18             	mov    0x18(%ebp),%ebx
412047:	8d 8d 6c f8 ff ff    	lea    -0x794(%ebp),%ecx
41204d:	56                   	push   %esi
41204e:	57                   	push   %edi
41204f:	8b 7d 14             	mov    0x14(%ebp),%edi
412052:	89 bd 80 f8 ff ff    	mov    %edi,-0x780(%ebp)
412058:	89 9d 84 f8 ff ff    	mov    %ebx,-0x77c(%ebp)
41205e:	e8 f1 fa ff ff       	call   0x411b54
412063:	8b 75 0c             	mov    0xc(%ebp),%esi
412066:	33 c0                	xor    %eax,%eax
412068:	8b ce                	mov    %esi,%ecx
41206a:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
412070:	0b c1                	or     %ecx,%eax
412072:	b0 2d                	mov    $0x2d,%al
412074:	75 02                	jne    0x412078
412076:	04 f3                	add    $0xf3,%al
412078:	0f be c0             	movsbl %al,%eax
41207b:	8b ce                	mov    %esi,%ecx
41207d:	89 07                	mov    %eax,(%edi)
41207f:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
412085:	33 c0                	xor    %eax,%eax
412087:	89 5f 08             	mov    %ebx,0x8(%edi)
41208a:	0b c1                	or     %ecx,%eax
41208c:	8b 7d 08             	mov    0x8(%ebp),%edi
41208f:	75 22                	jne    0x4120b3
412091:	8b ce                	mov    %esi,%ecx
412093:	8b c7                	mov    %edi,%eax
412095:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
41209b:	0b c1                	or     %ecx,%eax
41209d:	75 14                	jne    0x4120b3
41209f:	8b 85 80 f8 ff ff    	mov    -0x780(%ebp),%eax
4120a5:	68 b4 dc 41 00       	push   $0x41dcb4
4120aa:	83 60 04 00          	andl   $0x0,0x4(%eax)
4120ae:	e9 d3 12 00 00       	jmp    0x413386
4120b3:	8d 45 08             	lea    0x8(%ebp),%eax
4120b6:	50                   	push   %eax
4120b7:	e8 0f 8b ff ff       	call   0x40abcb
4120bc:	59                   	pop    %ecx
4120bd:	85 c0                	test   %eax,%eax
4120bf:	74 0d                	je     0x4120ce
4120c1:	8b 8d 80 f8 ff ff    	mov    -0x780(%ebp),%ecx
4120c7:	c7 41 04 01 00 00 00 	movl   $0x1,0x4(%ecx)
4120ce:	83 e8 01             	sub    $0x1,%eax
4120d1:	0f 84 aa 12 00 00    	je     0x413381
4120d7:	83 e8 01             	sub    $0x1,%eax
4120da:	0f 84 9a 12 00 00    	je     0x41337a
4120e0:	83 e8 01             	sub    $0x1,%eax
4120e3:	0f 84 8a 12 00 00    	je     0x413373
4120e9:	83 e8 01             	sub    $0x1,%eax
4120ec:	0f 84 7a 12 00 00    	je     0x41336c
4120f2:	8b 45 10             	mov    0x10(%ebp),%eax
4120f5:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
4120fb:	83 a5 7c f8 ff ff 00 	andl   $0x0,-0x784(%ebp)
412102:	40                   	inc    %eax
412103:	89 7d 08             	mov    %edi,0x8(%ebp)
412106:	89 75 0c             	mov    %esi,0xc(%ebp)
412109:	dd 45 08             	fldl   0x8(%ebp)
41210c:	dd 95 98 f8 ff ff    	fstl   -0x768(%ebp)
412112:	8b bd 9c f8 ff ff    	mov    -0x764(%ebp),%edi
412118:	8b cf                	mov    %edi,%ecx
41211a:	89 85 88 f8 ff ff    	mov    %eax,-0x778(%ebp)
412120:	c1 e9 14             	shr    $0x14,%ecx
412123:	8b c1                	mov    %ecx,%eax
412125:	25 ff 07 00 00       	and    $0x7ff,%eax
41212a:	83 c8 00             	or     $0x0,%eax
41212d:	75 06                	jne    0x412135
41212f:	b2 01                	mov    $0x1,%dl
412131:	33 f6                	xor    %esi,%esi
412133:	eb 09                	jmp    0x41213e
412135:	32 d2                	xor    %dl,%dl
412137:	be 00 00 10 00       	mov    $0x100000,%esi
41213c:	33 c0                	xor    %eax,%eax
41213e:	8b 9d 98 f8 ff ff    	mov    -0x768(%ebp),%ebx
412144:	81 e7 ff ff 0f 00    	and    $0xfffff,%edi
41214a:	03 d8                	add    %eax,%ebx
41214c:	13 fe                	adc    %esi,%edi
41214e:	33 c0                	xor    %eax,%eax
412150:	84 d2                	test   %dl,%dl
412152:	0f 95 c0             	setne  %al
412155:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
41215b:	40                   	inc    %eax
41215c:	8d b1 cc fb ff ff    	lea    -0x434(%ecx),%esi
412162:	03 f0                	add    %eax,%esi
412164:	89 b5 b4 f8 ff ff    	mov    %esi,-0x74c(%ebp)
41216a:	e8 11 3a 00 00       	call   0x415b80
41216f:	51                   	push   %ecx
412170:	51                   	push   %ecx
412171:	dd 1c 24             	fstpl  (%esp)
412174:	e8 17 3b 00 00       	call   0x415c90
412179:	59                   	pop    %ecx
41217a:	59                   	pop    %ecx
41217b:	e8 a0 62 00 00       	call   0x418420
412180:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
412186:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41218b:	74 07                	je     0x412194
41218d:	3d 00 00 00 80       	cmp    $0x80000000,%eax
412192:	75 08                	jne    0x41219c
412194:	33 c0                	xor    %eax,%eax
412196:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
41219c:	89 9d 30 fe ff ff    	mov    %ebx,-0x1d0(%ebp)
4121a2:	33 db                	xor    %ebx,%ebx
4121a4:	85 ff                	test   %edi,%edi
4121a6:	89 bd 34 fe ff ff    	mov    %edi,-0x1cc(%ebp)
4121ac:	0f 95 c3             	setne  %bl
4121af:	43                   	inc    %ebx
4121b0:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
4121b6:	85 f6                	test   %esi,%esi
4121b8:	0f 88 ed 03 00 00    	js     0x4125ab
4121be:	83 a5 90 fa ff ff 00 	andl   $0x0,-0x570(%ebp)
4121c5:	6a 02                	push   $0x2
4121c7:	5e                   	pop    %esi
4121c8:	c7 85 94 fa ff ff 00 	movl   $0x100000,-0x56c(%ebp)
4121cf:	00 10 00
4121d2:	89 b5 8c fa ff ff    	mov    %esi,-0x574(%ebp)
4121d8:	3b de                	cmp    %esi,%ebx
4121da:	0f 85 00 02 00 00    	jne    0x4123e0
4121e0:	33 c9                	xor    %ecx,%ecx
4121e2:	8b 84 0d 90 fa ff ff 	mov    -0x570(%ebp,%ecx,1),%eax
4121e9:	3b 84 0d 30 fe ff ff 	cmp    -0x1d0(%ebp,%ecx,1),%eax
4121f0:	0f 85 ea 01 00 00    	jne    0x4123e0
4121f6:	83 c1 04             	add    $0x4,%ecx
4121f9:	83 f9 08             	cmp    $0x8,%ecx
4121fc:	75 e4                	jne    0x4121e2
4121fe:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
412204:	33 d2                	xor    %edx,%edx
412206:	83 c0 02             	add    $0x2,%eax
412209:	8b f0                	mov    %eax,%esi
41220b:	83 e0 1f             	and    $0x1f,%eax
41220e:	6a 20                	push   $0x20
412210:	59                   	pop    %ecx
412211:	2b c8                	sub    %eax,%ecx
412213:	89 85 a4 f8 ff ff    	mov    %eax,-0x75c(%ebp)
412219:	33 c0                	xor    %eax,%eax
41221b:	c1 ee 05             	shr    $0x5,%esi
41221e:	40                   	inc    %eax
41221f:	89 b5 b0 f8 ff ff    	mov    %esi,-0x750(%ebp)
412225:	89 8d 90 f8 ff ff    	mov    %ecx,-0x770(%ebp)
41222b:	e8 d0 61 00 00       	call   0x418400
412230:	83 a5 9c f8 ff ff 00 	andl   $0x0,-0x764(%ebp)
412237:	48                   	dec    %eax
412238:	0f bd cf             	bsr    %edi,%ecx
41223b:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
412241:	f7 d0                	not    %eax
412243:	89 85 8c f8 ff ff    	mov    %eax,-0x774(%ebp)
412249:	74 03                	je     0x41224e
41224b:	41                   	inc    %ecx
41224c:	eb 02                	jmp    0x412250
41224e:	33 c9                	xor    %ecx,%ecx
412250:	6a 20                	push   $0x20
412252:	58                   	pop    %eax
412253:	2b c1                	sub    %ecx,%eax
412255:	8d 56 02             	lea    0x2(%esi),%edx
412258:	39 85 a4 f8 ff ff    	cmp    %eax,-0x75c(%ebp)
41225e:	89 95 ac f8 ff ff    	mov    %edx,-0x754(%ebp)
412264:	0f 97 c0             	seta   %al
412267:	83 fa 73             	cmp    $0x73,%edx
41226a:	88 85 bb f8 ff ff    	mov    %al,-0x745(%ebp)
412270:	0f 97 c1             	seta   %cl
412273:	83 fa 73             	cmp    $0x73,%edx
412276:	75 08                	jne    0x412280