473f69:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
473f6d:	0d 00 0c 00 00       	or     $0xc00,%eax
473f72:	89 45 f4             	mov    %eax,-0xc(%ebp)
473f75:	d9 6d f4             	fldcw  -0xc(%ebp)
473f78:	df 7d f0             	fistpll -0x10(%ebp)
473f7b:	8b 45 f0             	mov    -0x10(%ebp),%eax
473f7e:	d9 6d fc             	fldcw  -0x4(%ebp)
473f81:	e9 b5 81 f9 ff       	jmp    0x40c13b
473f86:	3d 00 00 00 08       	cmp    $0x8000000,%eax
473f8b:	73 3c                	jae    0x473fc9
473f8d:	89 45 f4             	mov    %eax,-0xc(%ebp)
473f90:	db 45 f4             	fildl  -0xc(%ebp)
473f93:	85 c0                	test   %eax,%eax
473f95:	79 06                	jns    0x473f9d
473f97:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
473f9d:	dd 5d f0             	fstpl  -0x10(%ebp)
473fa0:	dd 45 f0             	fldl   -0x10(%ebp)
473fa3:	dc 0d 08 27 4b 00    	fmull  0x4b2708
473fa9:	d9 7d fc             	fnstcw -0x4(%ebp)
473fac:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
473fb0:	0d 00 0c 00 00       	or     $0xc00,%eax
473fb5:	89 45 f4             	mov    %eax,-0xc(%ebp)
473fb8:	d9 6d f4             	fldcw  -0xc(%ebp)
473fbb:	df 7d f0             	fistpll -0x10(%ebp)
473fbe:	8b 45 f0             	mov    -0x10(%ebp),%eax
473fc1:	d9 6d fc             	fldcw  -0x4(%ebp)
473fc4:	e9 72 81 f9 ff       	jmp    0x40c13b
473fc9:	89 45 f4             	mov    %eax,-0xc(%ebp)
473fcc:	db 45 f4             	fildl  -0xc(%ebp)
473fcf:	85 c0                	test   %eax,%eax
473fd1:	79 06                	jns    0x473fd9
473fd3:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
473fd9:	dd 5d f0             	fstpl  -0x10(%ebp)
473fdc:	dd 45 f0             	fldl   -0x10(%ebp)
473fdf:	dc 0d 00 27 4b 00    	fmull  0x4b2700
473fe5:	d9 7d fc             	fnstcw -0x4(%ebp)
473fe8:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
473fec:	0d 00 0c 00 00       	or     $0xc00,%eax
473ff1:	89 45 f4             	mov    %eax,-0xc(%ebp)
473ff4:	d9 6d f4             	fldcw  -0xc(%ebp)
473ff7:	df 7d f0             	fistpll -0x10(%ebp)
473ffa:	8b 45 f0             	mov    -0x10(%ebp),%eax
473ffd:	d9 6d fc             	fldcw  -0x4(%ebp)
474000:	e9 36 81 f9 ff       	jmp    0x40c13b
474005:	6a 01                	push   $0x1
474007:	6a ff                	push   $0xffffffff
474009:	6a ff                	push   $0xffffffff
47400b:	8b cf                	mov    %edi,%ecx
47400d:	e8 bc 06 f9 ff       	call   0x4046ce
474012:	e9 0c 81 f9 ff       	jmp    0x40c123
474017:	80 f9 c2             	cmp    $0xc2,%cl
47401a:	0f 82 75 08 f9 ff    	jb     0x404895
474020:	b9 01 00 00 00       	mov    $0x1,%ecx
474025:	eb 1e                	jmp    0x474045
474027:	80 f9 e0             	cmp    $0xe0,%cl
47402a:	0f 82 6e 08 f9 ff    	jb     0x40489e
474030:	b9 02 00 00 00       	mov    $0x2,%ecx
474035:	eb 0e                	jmp    0x474045
474037:	80 f9 f0             	cmp    $0xf0,%cl
47403a:	0f 82 67 08 f9 ff    	jb     0x4048a7
474040:	b9 03 00 00 00       	mov    $0x3,%ecx
474045:	40                   	inc    %eax
474046:	32 ff                	xor    %bh,%bh
474048:	3b c2                	cmp    %edx,%eax
47404a:	0f 83 5f 08 f9 ff    	jae    0x4048af
474050:	8a 1c 30             	mov    (%eax,%esi,1),%bl
474053:	80 fb 80             	cmp    $0x80,%bl
474056:	0f 82 4b 08 f9 ff    	jb     0x4048a7
47405c:	80 fb bf             	cmp    $0xbf,%bl
47405f:	0f 87 42 08 f9 ff    	ja     0x4048a7
474065:	40                   	inc    %eax
474066:	49                   	dec    %ecx
474067:	75 df                	jne    0x474048
474069:	e9 0e 08 f9 ff       	jmp    0x40487c
47406e:	f6 45 0c 01          	testb  $0x1,0xc(%ebp)
474072:	74 36                	je     0x4740aa
474074:	8b 45 08             	mov    0x8(%ebp),%eax
474077:	53                   	push   %ebx
474078:	68 80 00 00 00       	push   $0x80
47407d:	6a 04                	push   $0x4
47407f:	53                   	push   %ebx
474080:	6a 07                	push   $0x7
474082:	68 00 00 00 c0       	push   $0xc0000000
474087:	ff 30                	push   (%eax)
474089:	ff 15 c4 d1 48 00    	call   *0x48d1c4
47408f:	89 06                	mov    %eax,(%esi)
474091:	83 f8 ff             	cmp    $0xffffffff,%eax
474094:	0f 84 a3 07 f9 ff    	je     0x40483d
47409a:	6a 02                	push   $0x2
47409c:	53                   	push   %ebx
47409d:	53                   	push   %ebx
47409e:	8b ce                	mov    %esi,%ecx
4740a0:	e8 29 06 f9 ff       	call   0x4046ce
4740a5:	e9 8b 07 f9 ff       	jmp    0x404835
4740aa:	f6 45 0c 02          	testb  $0x2,0xc(%ebp)
4740ae:	0f 84 89 07 f9 ff    	je     0x40483d
4740b4:	53                   	push   %ebx
4740b5:	68 80 00 00 00       	push   $0x80
4740ba:	6a 02                	push   $0x2
4740bc:	53                   	push   %ebx
4740bd:	6a 07                	push   $0x7
4740bf:	68 00 00 00 c0       	push   $0xc0000000
4740c4:	e9 5f 07 f9 ff       	jmp    0x404828
4740c9:	32 db                	xor    %bl,%bl
4740cb:	e9 b3 a4 fa ff       	jmp    0x41e583
4740d0:	8b 77 10             	mov    0x10(%edi),%esi
4740d3:	03 75 08             	add    0x8(%ebp),%esi
4740d6:	8b 4f 14             	mov    0x14(%edi),%ecx
4740d9:	13 ca                	adc    %edx,%ecx
4740db:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4740de:	e9 1c 06 f9 ff       	jmp    0x4046ff
4740e3:	8b cf                	mov    %edi,%ecx
4740e5:	e8 ae 06 f9 ff       	call   0x404798
4740ea:	8b 4f 10             	mov    0x10(%edi),%ecx
4740ed:	2b c8                	sub    %eax,%ecx
4740ef:	8b 47 14             	mov    0x14(%edi),%eax
4740f2:	1b c2                	sbb    %edx,%eax
4740f4:	8b 55 0c             	mov    0xc(%ebp),%edx
4740f7:	03 f1                	add    %ecx,%esi
4740f9:	13 d0                	adc    %eax,%edx
4740fb:	e9 6d 06 f9 ff       	jmp    0x40476d
474100:	f6 c1 10             	test   $0x10,%cl
474103:	0f 85 4c 07 f9 ff    	jne    0x404855
474109:	f6 c1 01             	test   $0x1,%cl
47410c:	74 0c                	je     0x47411a
47410e:	8b 46 10             	mov    0x10(%esi),%eax
474111:	0b 46 14             	or     0x14(%esi),%eax
474114:	0f 85 3b 07 f9 ff    	jne    0x404855
47411a:	f6 c1 20             	test   $0x20,%cl
47411d:	74 19                	je     0x474138
47411f:	6a 02                	push   $0x2
474121:	5f                   	pop    %edi
474122:	57                   	push   %edi
474123:	68 78 e4 49 00       	push   $0x49e478
474128:	8b ce                	mov    %esi,%ecx
47412a:	e8 af 1c fd ff       	call   0x445dde
47412f:	c7 46 2c 01 00 00 00 	movl   $0x1,0x2c(%esi)
474136:	eb 18                	jmp    0x474150
474138:	f6 c1 40             	test   $0x40,%cl
47413b:	74 1b                	je     0x474158
47413d:	6a 02                	push   $0x2
47413f:	5f                   	pop    %edi
474140:	57                   	push   %edi
474141:	68 74 e4 49 00       	push   $0x49e474
474146:	8b ce                	mov    %esi,%ecx
474148:	e8 91 1c fd ff       	call   0x445dde
47414d:	89 7e 2c             	mov    %edi,0x2c(%esi)
474150:	89 7e 30             	mov    %edi,0x30(%esi)
474153:	e9 fd 06 f9 ff       	jmp    0x404855
474158:	84 c9                	test   %cl,%cl
47415a:	79 15                	jns    0x474171
47415c:	6a 03                	push   $0x3
47415e:	5f                   	pop    %edi
47415f:	57                   	push   %edi
474160:	68 70 e4 49 00       	push   $0x49e470
474165:	8b ce                	mov    %esi,%ecx
474167:	e8 72 1c fd ff       	call   0x445dde
47416c:	89 7e 30             	mov    %edi,0x30(%esi)
47416f:	eb 10                	jmp    0x474181
474171:	f7 c1 00 01 00 00    	test   $0x100,%ecx
474177:	0f 84 d8 06 f9 ff    	je     0x404855
47417d:	83 66 30 00          	andl   $0x0,0x30(%esi)
474181:	c7 46 2c 04 00 00 00 	movl   $0x4,0x2c(%esi)
474188:	e9 c8 06 f9 ff       	jmp    0x404855
47418d:	83 25 00 11 4c 00 00 	andl   $0x0,0x4c1100
474194:	6a 10                	push   $0x10
474196:	5e                   	pop    %esi
474197:	6a 63                	push   $0x63
474199:	68 e9 67 44 00       	push   $0x4467e9
47419e:	6a 0e                	push   $0xe
4741a0:	6a 00                	push   $0x0
4741a2:	89 35 fc 10 4c 00    	mov    %esi,0x4c10fc
4741a8:	89 35 f8 10 4c 00    	mov    %esi,0x4c10f8
4741ae:	a3 f4 10 4c 00       	mov    %eax,0x4c10f4
4741b3:	ff 15 2c d2 48 00    	call   *0x48d22c
4741b9:	a1 00 11 4c 00       	mov    0x4c1100,%eax
4741be:	85 c0                	test   %eax,%eax
4741c0:	0f 85 88 fe f8 ff    	jne    0x40404e
4741c6:	50                   	push   %eax
4741c7:	e9 75 fe f8 ff       	jmp    0x404041
4741cc:	8d 45 fc             	lea    -0x4(%ebp),%eax
4741cf:	50                   	push   %eax
4741d0:	53                   	push   %ebx
4741d1:	53                   	push   %ebx
4741d2:	53                   	push   %ebx
4741d3:	68 6c dc 49 00       	push   $0x49dc6c
4741d8:	ff 75 f8             	push   -0x8(%ebp)
4741db:	ff 15 28 d0 48 00    	call   *0x48d028
4741e1:	85 c0                	test   %eax,%eax
4741e3:	75 61                	jne    0x474246
4741e5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4741e8:	56                   	push   %esi
4741e9:	33 c9                	xor    %ecx,%ecx
4741eb:	6a 02                	push   $0x2
4741ed:	40                   	inc    %eax
4741ee:	5a                   	pop    %edx
4741ef:	f7 e2                	mul    %edx
4741f1:	0f 90 c1             	seto   %cl
4741f4:	f7 d9                	neg    %ecx
4741f6:	0b c8                	or     %eax,%ecx
4741f8:	51                   	push   %ecx
4741f9:	e8 ec b2 fa ff       	call   0x41f4ea
4741fe:	59                   	pop    %ecx
4741ff:	50                   	push   %eax
474200:	8d 4d f0             	lea    -0x10(%ebp),%ecx
474203:	e8 af 05 f9 ff       	call   0x4047b7
474208:	8b 75 f0             	mov    -0x10(%ebp),%esi
47420b:	8d 45 fc             	lea    -0x4(%ebp),%eax
47420e:	50                   	push   %eax
47420f:	56                   	push   %esi
474210:	53                   	push   %ebx
474211:	53                   	push   %ebx
474212:	68 6c dc 49 00       	push   $0x49dc6c
474217:	ff 75 f8             	push   -0x8(%ebp)
47421a:	ff 15 28 d0 48 00    	call   *0x48d028
474220:	85 c0                	test   %eax,%eax
474222:	75 19                	jne    0x47423d
474224:	8b 45 fc             	mov    -0x4(%ebp),%eax
474227:	d1 e8                	shr    $1,%eax
474229:	33 c9                	xor    %ecx,%ecx
47422b:	89 45 fc             	mov    %eax,-0x4(%ebp)
47422e:	66 89 0c 46          	mov    %cx,(%esi,%eax,2)
474232:	8b 4d 0c             	mov    0xc(%ebp),%ecx
474235:	56                   	push   %esi
474236:	e8 28 28 f9 ff       	call   0x406a63
47423b:	b3 01                	mov    $0x1,%bl
47423d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
474240:	e8 9d 05 f9 ff       	call   0x4047e2
474245:	5e                   	pop    %esi
474246:	ff 75 f8             	push   -0x8(%ebp)
474249:	ff 15 24 d0 48 00    	call   *0x48d024
47424f:	8a c3                	mov    %bl,%al
474251:	e9 d7 07 f9 ff       	jmp    0x404a2d
474256:	56                   	push   %esi
474257:	8b cf                	mov    %edi,%ecx
474259:	e8 40 73 fd ff       	call   0x44b59e
47425e:	50                   	push   %eax
47425f:	6a 01                	push   $0x1
474261:	e8 f5 72 fd ff       	call   0x44b55b
474266:	50                   	push   %eax
474267:	e8 42 e8 fa ff       	call   0x422aae
47426c:	83 c4 10             	add    $0x10,%esp
47426f:	8b f8                	mov    %eax,%edi
474271:	e9 9d a3 fa ff       	jmp    0x41e613
474276:	8b cf                	mov    %edi,%ecx
474278:	e8 ef 50 f9 ff       	call   0x40936c
47427d:	8b 47 08             	mov    0x8(%edi),%eax
474280:	ff 30                	push   (%eax)
474282:	ff 15 30 d2 48 00    	call   *0x48d230
474288:	e9 7b a3 fa ff       	jmp    0x41e608
47428d:	68 00 40 00 00       	push   $0x4000
474292:	e9 8d a3 fa ff       	jmp    0x41e624
474297:	83 f8 61             	cmp    $0x61,%eax
47429a:	0f 82 4b 82 fa ff    	jb     0x41c4eb
4742a0:	83 f8 66             	cmp    $0x66,%eax
4742a3:	0f 87 42 82 fa ff    	ja     0x41c4eb
4742a9:	83 e8 57             	sub    $0x57,%eax
4742ac:	e9 eb 81 fa ff       	jmp    0x41c49c
4742b1:	83 e8 0e             	sub    $0xe,%eax
4742b4:	0f 85 61 94 f9 ff    	jne    0x40d71b
4742ba:	8b 45 10             	mov    0x10(%ebp),%eax
4742bd:	0d 00 04 00 00       	or     $0x400,%eax
4742c2:	50                   	push   %eax
4742c3:	ff 75 0c             	push   0xc(%ebp)
4742c6:	b9 e8 20 4c 00       	mov    $0x4c20e8,%ecx
4742cb:	ff 75 08             	push   0x8(%ebp)
4742ce:	e9 43 94 f9 ff       	jmp    0x40d716
4742d3:	48                   	dec    %eax
4742d4:	0f 84 d7 95 f9 ff    	je     0x40d8b1
4742da:	83 e8 0e             	sub    $0xe,%eax
4742dd:	0f 85 b5 95 f9 ff    	jne    0x40d898
4742e3:	b9 e8 20 4c 00       	mov    $0x4c20e8,%ecx
4742e8:	ff 75 0c             	push   0xc(%ebp)
4742eb:	ff 75 08             	push   0x8(%ebp)
4742ee:	e8 ed 99 fa ff       	call   0x41dce0
4742f3:	e9 99 95 f9 ff       	jmp    0x40d891
4742f8:	39 1d f0 20 4c 00    	cmp    %ebx,0x4c20f0
4742fe:	0f 84 ad 95 f9 ff    	je     0x40d8b1
474304:	ff 75 0c             	push   0xc(%ebp)
474307:	b9 f0 20 4c 00       	mov    $0x4c20f0,%ecx
47430c:	ff 75 08             	push   0x8(%ebp)
47430f:	e8 6b 3e fd ff       	call   0x44817f
474314:	8b c8                	mov    %eax,%ecx
474316:	e8 c5 99 fa ff       	call   0x41dce0
47431b:	85 c0                	test   %eax,%eax
47431d:	0f 85 72 95 f9 ff    	jne    0x40d895
474323:	e9 89 95 f9 ff       	jmp    0x40d8b1
474328:	ff 75 10             	push   0x10(%ebp)
47432b:	b9 f0 20 4c 00       	mov    $0x4c20f0,%ecx
474330:	ff 75 08             	push   0x8(%ebp)
474333:	e8 47 3e fd ff       	call   0x44817f
474338:	8b c8                	mov    %eax,%ecx
47433a:	e8 a1 99 fa ff       	call   0x41dce0
47433f:	8b f0                	mov    %eax,%esi
474341:	85 f6                	test   %esi,%esi
474343:	0f 85 51 93 f9 ff    	jne    0x40d69a
474349:	e9 60 93 f9 ff       	jmp    0x40d6ae
47434e:	8b 4e 04             	mov    0x4(%esi),%ecx
474351:	8b 79 08             	mov    0x8(%ecx),%edi
474354:	85 c9                	test   %ecx,%ecx
474356:	74 06                	je     0x47435e
474358:	51                   	push   %ecx
474359:	e8 3c 99 fc ff       	call   0x43dc9a
47435e:	89 7e 04             	mov    %edi,0x4(%esi)
474361:	c6 46 09 00          	movb   $0x0,0x9(%esi)
474365:	e9 84 9a f9 ff       	jmp    0x40ddee
47436a:	8b 55 08             	mov    0x8(%ebp),%edx
47436d:	8b 77 04             	mov    0x4(%edi),%esi
474370:	8b 02                	mov    (%edx),%eax
474372:	89 06                	mov    %eax,(%esi)
474374:	8b 42 04             	mov    0x4(%edx),%eax
474377:	89 46 04             	mov    %eax,0x4(%esi)
47437a:	c6 47 09 00          	movb   $0x0,0x9(%edi)
47437e:	e9 39 e8 f8 ff       	jmp    0x402bbc
474383:	56                   	push   %esi
474384:	8b 75 0c             	mov    0xc(%ebp),%esi
474387:	33 ff                	xor    %edi,%edi
474389:	8b cf                	mov    %edi,%ecx
47438b:	3b 75 14             	cmp    0x14(%ebp),%esi
47438e:	77 03                	ja     0x474393
474390:	8b 75 14             	mov    0x14(%ebp),%esi
474393:	85 f6                	test   %esi,%esi
474395:	74 3c                	je     0x4743d3
474397:	8b 45 08             	mov    0x8(%ebp),%eax
47439a:	53                   	push   %ebx
47439b:	8b 5d 10             	mov    0x10(%ebp),%ebx
47439e:	2b c3                	sub    %ebx,%eax
4743a0:	89 45 14             	mov    %eax,0x14(%ebp)
4743a3:	0f b7 14 18          	movzwl (%eax,%ebx,1),%edx
4743a7:	4e                   	dec    %esi
4743a8:	66 3b 13             	cmp    (%ebx),%dx
4743ab:	74 1e                	je     0x4743cb
4743ad:	52                   	push   %edx
4743ae:	e8 29 eb fa ff       	call   0x422edc
4743b3:	0f b7 f8             	movzwl %ax,%edi
4743b6:	0f b7 03             	movzwl (%ebx),%eax
4743b9:	50                   	push   %eax
4743ba:	e8 1d eb fa ff       	call   0x422edc
4743bf:	59                   	pop    %ecx
4743c0:	59                   	pop    %ecx
4743c1:	0f b7 c8             	movzwl %ax,%ecx
4743c4:	3b f9                	cmp    %ecx,%edi
4743c6:	75 0a                	jne    0x4743d2
4743c8:	8b 45 14             	mov    0x14(%ebp),%eax
4743cb:	83 c3 02             	add    $0x2,%ebx
4743ce:	85 f6                	test   %esi,%esi
4743d0:	75 d1                	jne    0x4743a3
4743d2:	5b                   	pop    %ebx
4743d3:	2b f9                	sub    %ecx,%edi
4743d5:	5e                   	pop    %esi