445069:	6a 04                	push   $0x4
44506b:	59                   	pop    %ecx
44506c:	f7 e1                	mul    %ecx
44506e:	52                   	push   %edx
44506f:	50                   	push   %eax
445070:	e8 b9 1d fc ff       	call   0x406e2e
445075:	8b f0                	mov    %eax,%esi
445077:	85 f6                	test   %esi,%esi
445079:	0f 88 a5 00 00 00    	js     0x445124
44507f:	53                   	push   %ebx
445080:	6a 01                	push   $0x1
445082:	ff 75 fc             	push   -0x4(%ebp)
445085:	e8 4a e8 fb ff       	call   0x4038d4
44508a:	8b d8                	mov    %eax,%ebx
44508c:	85 db                	test   %ebx,%ebx
44508e:	75 17                	jne    0x4450a7
445090:	be 0e 00 07 80       	mov    $0x8007000e,%esi
445095:	56                   	push   %esi
445096:	68 c6 02 00 00       	push   $0x2c6
44509b:	68 e8 67 46 00       	push   $0x4667e8
4450a0:	e8 2e e7 fb ff       	call   0x4037d3
4450a5:	eb 7c                	jmp    0x445123
4450a7:	33 d2                	xor    %edx,%edx
4450a9:	89 55 08             	mov    %edx,0x8(%ebp)
4450ac:	39 57 0c             	cmp    %edx,0xc(%edi)
4450af:	76 4f                	jbe    0x445100
4450b1:	8b 47 18             	mov    0x18(%edi),%eax
4450b4:	ff 34 90             	push   (%eax,%edx,4)
4450b7:	57                   	push   %edi
4450b8:	e8 ff 00 00 00       	call   0x4451bc
4450bd:	83 3f 01             	cmpl   $0x1,(%edi)
4450c0:	75 06                	jne    0x4450c8
4450c2:	8b 4f 10             	mov    0x10(%edi),%ecx
4450c5:	8b 04 08             	mov    (%eax,%ecx,1),%eax
4450c8:	85 c0                	test   %eax,%eax
4450ca:	74 62                	je     0x44512e
4450cc:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4450cf:	51                   	push   %ecx
4450d0:	50                   	push   %eax
4450d1:	8b 45 f4             	mov    -0xc(%ebp),%eax
4450d4:	53                   	push   %ebx
4450d5:	ff 34 85 b8 67 46 00 	push   0x4667b8(,%eax,4)
4450dc:	57                   	push   %edi
4450dd:	e8 11 fe ff ff       	call   0x444ef3
4450e2:	8b f0                	mov    %eax,%esi
4450e4:	85 f6                	test   %esi,%esi
4450e6:	78 31                	js     0x445119
4450e8:	8b 47 18             	mov    0x18(%edi),%eax
4450eb:	8b 55 08             	mov    0x8(%ebp),%edx
4450ee:	8b 0c 90             	mov    (%eax,%edx,4),%ecx
4450f1:	42                   	inc    %edx
4450f2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4450f5:	89 55 08             	mov    %edx,0x8(%ebp)
4450f8:	89 0c 83             	mov    %ecx,(%ebx,%eax,4)
4450fb:	3b 57 0c             	cmp    0xc(%edi),%edx
4450fe:	72 b1                	jb     0x4450b1
445100:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
445104:	8b 45 f4             	mov    -0xc(%ebp),%eax
445107:	89 47 08             	mov    %eax,0x8(%edi)
44510a:	74 08                	je     0x445114
44510c:	ff 77 14             	push   0x14(%edi)
44510f:	e8 85 e8 fb ff       	call   0x403999
445114:	89 5f 14             	mov    %ebx,0x14(%edi)
445117:	33 db                	xor    %ebx,%ebx
445119:	85 db                	test   %ebx,%ebx
44511b:	74 06                	je     0x445123
44511d:	53                   	push   %ebx
44511e:	e8 76 e8 fb ff       	call   0x403999
445123:	5b                   	pop    %ebx
445124:	5f                   	pop    %edi
445125:	8b c6                	mov    %esi,%eax
445127:	5e                   	pop    %esi
445128:	8b e5                	mov    %ebp,%esp
44512a:	5d                   	pop    %ebp
44512b:	c2 04 00             	ret    $0x4
44512e:	be 57 00 07 80       	mov    $0x80070057,%esi
445133:	56                   	push   %esi
445134:	68 cb 02 00 00       	push   $0x2cb
445139:	68 e8 67 46 00       	push   $0x4667e8
44513e:	e8 90 e6 fb ff       	call   0x4037d3
445143:	eb d4                	jmp    0x445119
445145:	55                   	push   %ebp
445146:	8b ec                	mov    %esp,%ebp
445148:	51                   	push   %ecx
445149:	8b 45 08             	mov    0x8(%ebp),%eax
44514c:	53                   	push   %ebx
44514d:	56                   	push   %esi
44514e:	57                   	push   %edi
44514f:	33 ff                	xor    %edi,%edi
445151:	f6 40 04 01          	testb  $0x1,0x4(%eax)
445155:	8b f7                	mov    %edi,%esi
445157:	8b df                	mov    %edi,%ebx
445159:	89 75 fc             	mov    %esi,-0x4(%ebp)
44515c:	74 1a                	je     0x445178
44515e:	57                   	push   %edi
44515f:	ff 75 10             	push   0x10(%ebp)
445162:	8d 45 fc             	lea    -0x4(%ebp),%eax
445165:	50                   	push   %eax
445166:	e8 a5 d1 fb ff       	call   0x402310
44516b:	8b 75 fc             	mov    -0x4(%ebp),%esi
44516e:	8b f8                	mov    %eax,%edi
445170:	85 ff                	test   %edi,%edi
445172:	78 33                	js     0x4451a7
445174:	8b d6                	mov    %esi,%edx
445176:	eb 1b                	jmp    0x445193
445178:	8b 55 10             	mov    0x10(%ebp),%edx
44517b:	eb 16                	jmp    0x445193
44517d:	0f b7 c0             	movzwl %ax,%eax
445180:	8d 52 02             	lea    0x2(%edx),%edx
445183:	69 c8 fd 01 00 00    	imul   $0x1fd,%eax,%ecx
445189:	69 db 3f 00 01 00    	imul   $0x1003f,%ebx,%ebx
44518f:	f7 d1                	not    %ecx
445191:	03 d9                	add    %ecx,%ebx
445193:	0f b7 02             	movzwl (%edx),%eax
445196:	66 85 c0             	test   %ax,%ax
445199:	75 e2                	jne    0x44517d
44519b:	8b c3                	mov    %ebx,%eax
44519d:	33 d2                	xor    %edx,%edx
44519f:	f7 75 0c             	divl   0xc(%ebp)
4451a2:	8b 45 14             	mov    0x14(%ebp),%eax
4451a5:	89 10                	mov    %edx,(%eax)
4451a7:	85 f6                	test   %esi,%esi
4451a9:	74 06                	je     0x4451b1
4451ab:	56                   	push   %esi
4451ac:	e8 3e 03 00 00       	call   0x4454ef
4451b1:	8b c7                	mov    %edi,%eax
4451b3:	5f                   	pop    %edi
4451b4:	5e                   	pop    %esi
4451b5:	5b                   	pop    %ebx
4451b6:	8b e5                	mov    %ebp,%esp
4451b8:	5d                   	pop    %ebp
4451b9:	c2 10 00             	ret    $0x10
4451bc:	55                   	push   %ebp
4451bd:	8b ec                	mov    %esp,%ebp
4451bf:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4451c2:	85 c9                	test   %ecx,%ecx
4451c4:	75 04                	jne    0x4451ca
4451c6:	33 c0                	xor    %eax,%eax
4451c8:	eb 13                	jmp    0x4451dd
4451ca:	8b 45 08             	mov    0x8(%ebp),%eax
4451cd:	8b 40 1c             	mov    0x1c(%eax),%eax
4451d0:	85 c0                	test   %eax,%eax
4451d2:	74 07                	je     0x4451db
4451d4:	8b 00                	mov    (%eax),%eax
4451d6:	48                   	dec    %eax
4451d7:	03 c1                	add    %ecx,%eax
4451d9:	eb 02                	jmp    0x4451dd
4451db:	8b c1                	mov    %ecx,%eax
4451dd:	5d                   	pop    %ebp
4451de:	c2 08 00             	ret    $0x8
4451e1:	55                   	push   %ebp
4451e2:	8b ec                	mov    %esp,%ebp
4451e4:	51                   	push   %ecx
4451e5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4451e9:	56                   	push   %esi
4451ea:	57                   	push   %edi
4451eb:	8b 7d 08             	mov    0x8(%ebp),%edi
4451ee:	85 ff                	test   %edi,%edi
4451f0:	75 1c                	jne    0x44520e
4451f2:	b8 57 00 07 80       	mov    $0x80070057,%eax
4451f7:	50                   	push   %eax
4451f8:	68 14 01 00 00       	push   $0x114
4451fd:	68 e8 67 46 00       	push   $0x4667e8
445202:	8b f0                	mov    %eax,%esi
445204:	e8 ca e5 fb ff       	call   0x4037d3
445209:	e9 d1 00 00 00       	jmp    0x4452df
44520e:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
445212:	75 0d                	jne    0x445221
445214:	b8 57 00 07 80       	mov    $0x80070057,%eax
445219:	50                   	push   %eax
44521a:	68 15 01 00 00       	push   $0x115
44521f:	eb dc                	jmp    0x4451fd
445221:	8b 4f 08             	mov    0x8(%edi),%ecx
445224:	83 f9 0c             	cmp    $0xc,%ecx
445227:	72 0a                	jb     0x445233
445229:	be 57 00 07 80       	mov    $0x80070057,%esi
44522e:	e9 ac 00 00 00       	jmp    0x4452df
445233:	83 3f 02             	cmpl   $0x2,(%edi)
445236:	75 f1                	jne    0x445229
445238:	8b 0c 8d b8 67 46 00 	mov    0x4667b8(,%ecx,4),%ecx
44523f:	8b 47 0c             	mov    0xc(%edi),%eax
445242:	c1 e9 03             	shr    $0x3,%ecx
445245:	40                   	inc    %eax
445246:	3b c1                	cmp    %ecx,%eax
445248:	72 25                	jb     0x44526f
44524a:	57                   	push   %edi
44524b:	e8 e5 fd ff ff       	call   0x445035
445250:	8b f0                	mov    %eax,%esi
445252:	81 fe da 10 07 80    	cmp    $0x800710da,%esi
445258:	75 11                	jne    0x44526b
44525a:	8b 57 08             	mov    0x8(%edi),%edx
44525d:	8b 4f 0c             	mov    0xc(%edi),%ecx
445260:	3b 0c 95 b8 67 46 00 	cmp    0x4667b8(,%edx,4),%ecx
445267:	73 76                	jae    0x4452df
445269:	33 f6                	xor    %esi,%esi
44526b:	85 f6                	test   %esi,%esi
44526d:	78 70                	js     0x4452df
44526f:	8d 45 fc             	lea    -0x4(%ebp),%eax
445272:	50                   	push   %eax
445273:	ff 75 0c             	push   0xc(%ebp)
445276:	8b 47 08             	mov    0x8(%edi),%eax
445279:	ff 77 14             	push   0x14(%edi)
44527c:	ff 34 85 b8 67 46 00 	push   0x4667b8(,%eax,4)
445283:	57                   	push   %edi
445284:	e8 6a fc ff ff       	call   0x444ef3
445289:	8b f0                	mov    %eax,%esi
44528b:	85 f6                	test   %esi,%esi
44528d:	78 50                	js     0x4452df
44528f:	8b 47 0c             	mov    0xc(%edi),%eax
445292:	8d 4f 18             	lea    0x18(%edi),%ecx
445295:	68 e8 03 00 00       	push   $0x3e8
44529a:	6a 04                	push   $0x4
44529c:	40                   	inc    %eax
44529d:	50                   	push   %eax
44529e:	51                   	push   %ecx
44529f:	e8 52 e6 fb ff       	call   0x4038f6
4452a4:	8b f0                	mov    %eax,%esi
4452a6:	85 f6                	test   %esi,%esi
4452a8:	78 35                	js     0x4452df
4452aa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4452ad:	8b 47 14             	mov    0x14(%edi),%eax
4452b0:	ff 47 0c             	incl   0xc(%edi)
4452b3:	6a 00                	push   $0x0
4452b5:	ff 75 0c             	push   0xc(%ebp)
4452b8:	c1 e1 02             	shl    $0x2,%ecx
4452bb:	03 c1                	add    %ecx,%eax
4452bd:	89 4d 08             	mov    %ecx,0x8(%ebp)
4452c0:	50                   	push   %eax
4452c1:	e8 df ce fb ff       	call   0x4021a5
4452c6:	8b f0                	mov    %eax,%esi
4452c8:	85 f6                	test   %esi,%esi
4452ca:	78 13                	js     0x4452df
4452cc:	8b 47 14             	mov    0x14(%edi),%eax
4452cf:	8b 57 0c             	mov    0xc(%edi),%edx
4452d2:	8b 4f 18             	mov    0x18(%edi),%ecx
4452d5:	8b 7d 08             	mov    0x8(%ebp),%edi
4452d8:	8b 04 07             	mov    (%edi,%eax,1),%eax
4452db:	89 44 91 fc          	mov    %eax,-0x4(%ecx,%edx,4)
4452df:	5f                   	pop    %edi
4452e0:	8b c6                	mov    %esi,%eax
4452e2:	5e                   	pop    %esi
4452e3:	8b e5                	mov    %ebp,%esp
4452e5:	5d                   	pop    %ebp
4452e6:	c2 08 00             	ret    $0x8
4452e9:	55                   	push   %ebp
4452ea:	8b ec                	mov    %esp,%ebp
4452ec:	56                   	push   %esi
4452ed:	33 f6                	xor    %esi,%esi
4452ef:	57                   	push   %edi
4452f0:	39 75 10             	cmp    %esi,0x10(%ebp)
4452f3:	76 1b                	jbe    0x445310
4452f5:	8b 7d 0c             	mov    0xc(%ebp),%edi
4452f8:	ff 34 b7             	push   (%edi,%esi,4)
4452fb:	ff 75 08             	push   0x8(%ebp)
4452fe:	e8 a0 01 00 00       	call   0x4454a3
445303:	3d 90 04 07 80       	cmp    $0x80070490,%eax
445308:	75 11                	jne    0x44531b
44530a:	46                   	inc    %esi
44530b:	3b 75 10             	cmp    0x10(%ebp),%esi
44530e:	72 e8                	jb     0x4452f8
445310:	b8 91 04 07 80       	mov    $0x80070491,%eax
445315:	5f                   	pop    %edi
445316:	5e                   	pop    %esi
445317:	5d                   	pop    %ebp
445318:	c2 0c 00             	ret    $0xc
44531b:	85 c0                	test   %eax,%eax
44531d:	78 f6                	js     0x445315
44531f:	33 c0                	xor    %eax,%eax
445321:	eb f2                	jmp    0x445315
445323:	55                   	push   %ebp
445324:	8b ec                	mov    %esp,%ebp
445326:	53                   	push   %ebx
445327:	8b 5d 08             	mov    0x8(%ebp),%ebx
44532a:	56                   	push   %esi
44532b:	33 f6                	xor    %esi,%esi
44532d:	85 db                	test   %ebx,%ebx
44532f:	75 1a                	jne    0x44534b
445331:	be 57 00 07 80       	mov    $0x80070057,%esi
445336:	56                   	push   %esi
445337:	68 a9 00 00 00       	push   $0xa9
44533c:	68 e8 67 46 00       	push   $0x4667e8
445341:	e8 8d e4 fb ff       	call   0x4037d3
445346:	e9 88 00 00 00       	jmp    0x4453d3
44534b:	57                   	push   %edi
44534c:	56                   	push   %esi
44534d:	6a 20                	push   $0x20
44534f:	e8 80 e5 fb ff       	call   0x4038d4
445354:	8b f8                	mov    %eax,%edi
445356:	89 3b                	mov    %edi,(%ebx)
445358:	85 ff                	test   %edi,%edi
44535a:	75 0d                	jne    0x445369
44535c:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
445361:	50                   	push   %eax
445362:	68 ad 00 00 00       	push   $0xad
445367:	eb 5d                	jmp    0x4453c6
445369:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44536c:	8b 45 10             	mov    0x10(%ebp),%eax
44536f:	c7 07 02 00 00 00    	movl   $0x2,(%edi)
445375:	89 47 04             	mov    %eax,0x4(%edi)
445378:	89 77 10             	mov    %esi,0x10(%edi)
44537b:	89 77 08             	mov    %esi,0x8(%edi)
44537e:	89 77 0c             	mov    %esi,0xc(%edi)
445381:	89 77 18             	mov    %esi,0x18(%edi)
445384:	89 77 1c             	mov    %esi,0x1c(%edi)
445387:	c1 e1 03             	shl    $0x3,%ecx
44538a:	8b 47 08             	mov    0x8(%edi),%eax
44538d:	39 0c 85 b8 67 46 00 	cmp    %ecx,0x4667b8(,%eax,4)
445394:	73 09                	jae    0x44539f
445396:	40                   	inc    %eax
445397:	89 47 08             	mov    %eax,0x8(%edi)
44539a:	83 f8 0b             	cmp    $0xb,%eax
44539d:	72 eb                	jb     0x44538a
44539f:	8b 47 08             	mov    0x8(%edi),%eax
4453a2:	6a 01                	push   $0x1
4453a4:	8b 04 85 b8 67 46 00 	mov    0x4667b8(,%eax,4),%eax
4453ab:	c1 e0 02             	shl    $0x2,%eax
4453ae:	50                   	push   %eax
4453af:	e8 20 e5 fb ff       	call   0x4038d4
4453b4:	89 47 14             	mov    %eax,0x14(%edi)
4453b7:	85 c0                	test   %eax,%eax
4453b9:	75 17                	jne    0x4453d2
4453bb:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
4453c0:	50                   	push   %eax
4453c1:	68 c6 00 00 00       	push   $0xc6
4453c6:	68 e8 67 46 00       	push   $0x4667e8
4453cb:	8b f0                	mov    %eax,%esi
4453cd:	e8 01 e4 fb ff       	call   0x4037d3
4453d2:	5f                   	pop    %edi
4453d3:	8b c6                	mov    %esi,%eax
4453d5:	5e                   	pop    %esi
4453d6:	5b                   	pop    %ebx
4453d7:	5d                   	pop    %ebp
4453d8:	c2 0c 00             	ret    $0xc
4453db:	55                   	push   %ebp
4453dc:	8b ec                	mov    %esp,%ebp
4453de:	51                   	push   %ecx
4453df:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4453e3:	8d 45 fc             	lea    -0x4(%ebp),%eax
4453e6:	53                   	push   %ebx
4453e7:	56                   	push   %esi
4453e8:	57                   	push   %edi
4453e9:	ff 75 14             	push   0x14(%ebp)
4453ec:	ff 75 10             	push   0x10(%ebp)
4453ef:	50                   	push   %eax
4453f0:	e8 2e ff ff ff       	call   0x445323
4453f5:	8b 75 fc             	mov    -0x4(%ebp),%esi
4453f8:	8b f8                	mov    %eax,%edi
4453fa:	85 ff                	test   %edi,%edi
4453fc:	78 3d                	js     0x44543b
4453fe:	33 db                	xor    %ebx,%ebx