48bfe8:	8b fe                	mov    %esi,%edi
48bfea:	89 7d f8             	mov    %edi,-0x8(%ebp)
48bfed:	e9 75 df f7 ff       	jmp    0x409f67
48bff2:	3b 45 84             	cmp    -0x7c(%ebp),%eax
48bff5:	73 70                	jae    0x48c067
48bff7:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
48bffd:	8b bd 24 ff ff ff    	mov    -0xdc(%ebp),%edi
48c003:	8b 45 84             	mov    -0x7c(%ebp),%eax
48c006:	85 d2                	test   %edx,%edx
48c008:	74 26                	je     0x48c030
48c00a:	6a 00                	push   $0x0
48c00c:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
48c012:	51                   	push   %ecx
48c013:	50                   	push   %eax
48c014:	8b ce                	mov    %esi,%ecx
48c016:	e8 e3 cf f7 ff       	call   0x408ffe
48c01b:	83 c4 0c             	add    $0xc,%esp
48c01e:	85 c0                	test   %eax,%eax
48c020:	75 42                	jne    0x48c064
48c022:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
48c028:	8b bd 24 ff ff ff    	mov    -0xdc(%ebp),%edi
48c02e:	eb 2a                	jmp    0x48c05a
48c030:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
48c033:	8d 04 3f             	lea    (%edi,%edi,1),%eax
48c036:	2b c8                	sub    %eax,%ecx
48c038:	3b f1                	cmp    %ecx,%esi
48c03a:	77 1e                	ja     0x48c05a
48c03c:	66 8b 06             	mov    (%esi),%ax
48c03f:	66 3b 85 3c ff ff ff 	cmp    -0xc4(%ebp),%ax
48c046:	75 12                	jne    0x48c05a
48c048:	83 ff 01             	cmp    $0x1,%edi
48c04b:	74 17                	je     0x48c064
48c04d:	66 8b 46 02          	mov    0x2(%esi),%ax
48c051:	66 3b 85 3e ff ff ff 	cmp    -0xc2(%ebp),%ax
48c058:	74 0a                	je     0x48c064
48c05a:	8b 45 84             	mov    -0x7c(%ebp),%eax
48c05d:	83 c6 02             	add    $0x2,%esi
48c060:	3b f0                	cmp    %eax,%esi
48c062:	72 a2                	jb     0x48c006
48c064:	8b 4d 10             	mov    0x10(%ebp),%ecx
48c067:	8b fe                	mov    %esi,%edi
48c069:	89 7d f8             	mov    %edi,-0x8(%ebp)
48c06c:	e9 f6 de f7 ff       	jmp    0x409f67
48c071:	3b c7                	cmp    %edi,%eax
48c073:	0f 83 0e df f7 ff    	jae    0x409f87
48c079:	0f b7 10             	movzwl (%eax),%edx
48c07c:	66 3b 55 cc          	cmp    -0x34(%ebp),%dx
48c080:	0f 84 01 df f7 ff    	je     0x409f87
48c086:	66 3b 55 f0          	cmp    -0x10(%ebp),%dx
48c08a:	0f 84 f7 de f7 ff    	je     0x409f87
48c090:	83 c0 02             	add    $0x2,%eax
48c093:	89 45 fc             	mov    %eax,-0x4(%ebp)
48c096:	3b c7                	cmp    %edi,%eax
48c098:	72 df                	jb     0x48c079
48c09a:	e9 e8 de f7 ff       	jmp    0x409f87
48c09f:	8b 55 80             	mov    -0x80(%ebp),%edx
48c0a2:	8b 85 f0 fe ff ff    	mov    -0x110(%ebp),%eax
48c0a8:	8b 7d fc             	mov    -0x4(%ebp),%edi
48c0ab:	03 c2                	add    %edx,%eax
48c0ad:	3b f8                	cmp    %eax,%edi
48c0af:	0f 86 d2 de f7 ff    	jbe    0x409f87
48c0b5:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
48c0b9:	0f 84 0e 01 00 00    	je     0x48c1cd
48c0bf:	3b 7d f8             	cmp    -0x8(%ebp),%edi
48c0c2:	0f 83 c8 00 00 00    	jae    0x48c190
48c0c8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48c0cb:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
48c0d1:	85 c0                	test   %eax,%eax
48c0d3:	74 2e                	je     0x48c103
48c0d5:	3b fa                	cmp    %edx,%edi
48c0d7:	76 7d                	jbe    0x48c156
48c0d9:	ff 75 f4             	push   -0xc(%ebp)
48c0dc:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
48c0e2:	51                   	push   %ecx
48c0e3:	52                   	push   %edx
48c0e4:	8b d0                	mov    %eax,%edx
48c0e6:	8b cf                	mov    %edi,%ecx
48c0e8:	e8 6f 52 fe ff       	call   0x47135c
48c0ed:	83 c4 0c             	add    $0xc,%esp
48c0f0:	85 c0                	test   %eax,%eax
48c0f2:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
48c0f8:	0f 85 5d 01 00 00    	jne    0x48c25b
48c0fe:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48c101:	eb 50                	jmp    0x48c153
48c103:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
48c109:	8d 14 00             	lea    (%eax,%eax,1),%edx
48c10c:	8b 45 80             	mov    -0x80(%ebp),%eax
48c10f:	03 c2                	add    %edx,%eax
48c111:	3b f8                	cmp    %eax,%edi
48c113:	72 38                	jb     0x48c14d
48c115:	8b cf                	mov    %edi,%ecx
48c117:	2b ca                	sub    %edx,%ecx
48c119:	66 8b 01             	mov    (%ecx),%ax
48c11c:	66 3b 85 3c ff ff ff 	cmp    -0xc4(%ebp),%ax
48c123:	75 25                	jne    0x48c14a
48c125:	83 bd 24 ff ff ff 01 	cmpl   $0x1,-0xdc(%ebp)
48c12c:	74 5f                	je     0x48c18d
48c12e:	66 8b 41 02          	mov    0x2(%ecx),%ax
48c132:	66 3b 85 3e ff ff ff 	cmp    -0xc2(%ebp),%ax
48c139:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
48c13f:	0f 84 16 01 00 00    	je     0x48c25b
48c145:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48c148:	eb 09                	jmp    0x48c153
48c14a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48c14d:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
48c153:	8b 55 80             	mov    -0x80(%ebp),%edx
48c156:	83 c7 02             	add    $0x2,%edi
48c159:	89 7d fc             	mov    %edi,-0x4(%ebp)
48c15c:	3b f9                	cmp    %ecx,%edi
48c15e:	0f 83 f7 00 00 00    	jae    0x48c25b
48c164:	66 8b 07             	mov    (%edi),%ax
48c167:	c7 45 d4 00 fc 00 00 	movl   $0xfc00,-0x2c(%ebp)
48c16e:	66 23 45 d4          	and    -0x2c(%ebp),%ax
48c172:	c7 45 d4 00 dc 00 00 	movl   $0xdc00,-0x2c(%ebp)
48c179:	66 3b 45 d4          	cmp    -0x2c(%ebp),%ax
48c17d:	75 06                	jne    0x48c185
48c17f:	83 c7 02             	add    $0x2,%edi
48c182:	89 7d fc             	mov    %edi,-0x4(%ebp)
48c185:	3b f9                	cmp    %ecx,%edi
48c187:	0f 82 3e ff ff ff    	jb     0x48c0cb
48c18d:	8b 4d 10             	mov    0x10(%ebp),%ecx
48c190:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
48c196:	66 83 7f fe 0d       	cmpw   $0xd,-0x2(%edi)
48c19b:	0f 85 e6 dd f7 ff    	jne    0x409f87
48c1a1:	83 f8 01             	cmp    $0x1,%eax
48c1a4:	74 09                	je     0x48c1af
48c1a6:	83 f8 02             	cmp    $0x2,%eax
48c1a9:	0f 85 d8 dd f7 ff    	jne    0x409f87
48c1af:	3b 7d f8             	cmp    -0x8(%ebp),%edi
48c1b2:	0f 83 cf dd f7 ff    	jae    0x409f87
48c1b8:	66 83 3f 0a          	cmpw   $0xa,(%edi)
48c1bc:	0f 85 c5 dd f7 ff    	jne    0x409f87
48c1c2:	83 c7 02             	add    $0x2,%edi
48c1c5:	89 7d fc             	mov    %edi,-0x4(%ebp)
48c1c8:	e9 ba dd f7 ff       	jmp    0x409f87
48c1cd:	3b 7d f8             	cmp    -0x8(%ebp),%edi
48c1d0:	73 be                	jae    0x48c190
48c1d2:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
48c1d8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48c1db:	85 c0                	test   %eax,%eax
48c1dd:	74 26                	je     0x48c205
48c1df:	3b fa                	cmp    %edx,%edi
48c1e1:	76 6e                	jbe    0x48c251
48c1e3:	6a 00                	push   $0x0
48c1e5:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
48c1eb:	51                   	push   %ecx
48c1ec:	52                   	push   %edx
48c1ed:	8b d0                	mov    %eax,%edx
48c1ef:	8b cf                	mov    %edi,%ecx
48c1f1:	e8 66 51 fe ff       	call   0x47135c
48c1f6:	83 c4 0c             	add    $0xc,%esp
48c1f9:	85 c0                	test   %eax,%eax
48c1fb:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
48c201:	75 58                	jne    0x48c25b
48c203:	eb 46                	jmp    0x48c24b
48c205:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
48c20b:	8d 14 00             	lea    (%eax,%eax,1),%edx
48c20e:	8b 45 80             	mov    -0x80(%ebp),%eax
48c211:	03 c2                	add    %edx,%eax
48c213:	3b f8                	cmp    %eax,%edi
48c215:	72 4c                	jb     0x48c263
48c217:	8b cf                	mov    %edi,%ecx
48c219:	2b ca                	sub    %edx,%ecx
48c21b:	66 8b 01             	mov    (%ecx),%ax
48c21e:	66 3b 85 3c ff ff ff 	cmp    -0xc4(%ebp),%ax
48c225:	75 1e                	jne    0x48c245
48c227:	83 bd 24 ff ff ff 01 	cmpl   $0x1,-0xdc(%ebp)
48c22e:	0f 84 59 ff ff ff    	je     0x48c18d
48c234:	66 8b 41 02          	mov    0x2(%ecx),%ax
48c238:	66 3b 85 3e ff ff ff 	cmp    -0xc2(%ebp),%ax
48c23f:	0f 84 48 ff ff ff    	je     0x48c18d
48c245:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
48c24b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48c24e:	8b 55 80             	mov    -0x80(%ebp),%edx
48c251:	83 c7 02             	add    $0x2,%edi
48c254:	89 7d fc             	mov    %edi,-0x4(%ebp)
48c257:	3b f9                	cmp    %ecx,%edi
48c259:	72 80                	jb     0x48c1db
48c25b:	8b 4d 10             	mov    0x10(%ebp),%ecx
48c25e:	e9 33 ff ff ff       	jmp    0x48c196
48c263:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
48c269:	eb e3                	jmp    0x48c24e
48c26b:	3b d1                	cmp    %ecx,%edx
48c26d:	0f 83 20 df f7 ff    	jae    0x40a193
48c273:	0f b7 fe             	movzwl %si,%edi
48c276:	0f b7 32             	movzwl (%edx),%esi
48c279:	83 c2 02             	add    $0x2,%edx
48c27c:	3b f7                	cmp    %edi,%esi
48c27e:	0f 84 b3 df f7 ff    	je     0x40a237
48c284:	0f b7 c0             	movzwl %ax,%eax
48c287:	3b f0                	cmp    %eax,%esi
48c289:	0f 84 a8 df f7 ff    	je     0x40a237
48c28f:	3b d1                	cmp    %ecx,%edx
48c291:	0f 83 fc de f7 ff    	jae    0x40a193
48c297:	8b 45 e8             	mov    -0x18(%ebp),%eax
48c29a:	eb da                	jmp    0x48c276
48c29c:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
48c2a0:	0f 85 4c dd f7 ff    	jne    0x409ff2
48c2a6:	8b 45 90             	mov    -0x70(%ebp),%eax
48c2a9:	89 45 d8             	mov    %eax,-0x28(%ebp)
48c2ac:	8b 45 fc             	mov    -0x4(%ebp),%eax
48c2af:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
48c2b5:	e9 38 dd f7 ff       	jmp    0x409ff2
48c2ba:	8d 86 e4 03 00 00    	lea    0x3e4(%esi),%eax
48c2c0:	83 f8 04             	cmp    $0x4,%eax
48c2c3:	0f 87 2d dd f7 ff    	ja     0x409ff6
48c2c9:	ff 24 85 a6 c4 48 00 	jmp    *0x48c4a6(,%eax,4)
48c2d0:	8b 7d fc             	mov    -0x4(%ebp),%edi
48c2d3:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
48c2d9:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
48c2df:	8b d7                	mov    %edi,%edx
48c2e1:	e9 ef df f7 ff       	jmp    0x40a2d5
48c2e6:	8b 7d 88             	mov    -0x78(%ebp),%edi
48c2e9:	8b 55 fc             	mov    -0x4(%ebp),%edx
48c2ec:	3b fa                	cmp    %edx,%edi
48c2ee:	0f 86 78 dd f7 ff    	jbe    0x40a06c
48c2f4:	e9 dc df f7 ff       	jmp    0x40a2d5
48c2f9:	85 c0                	test   %eax,%eax
48c2fb:	74 39                	je     0x48c336
48c2fd:	3b 55 84             	cmp    -0x7c(%ebp),%edx
48c300:	0f 83 ae dd f7 ff    	jae    0x40a0b4
48c306:	ff 75 f4             	push   -0xc(%ebp)
48c309:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
48c30f:	51                   	push   %ecx
48c310:	ff 75 84             	push   -0x7c(%ebp)
48c313:	8b 4d fc             	mov    -0x4(%ebp),%ecx
48c316:	8b d0                	mov    %eax,%edx
48c318:	e8 e1 cc f7 ff       	call   0x408ffe
48c31d:	8b 4d 10             	mov    0x10(%ebp),%ecx
48c320:	83 c4 0c             	add    $0xc,%esp
48c323:	85 c0                	test   %eax,%eax
48c325:	0f 85 6a de f7 ff    	jne    0x40a195
48c32b:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
48c331:	e9 7e dd f7 ff       	jmp    0x40a0b4
48c336:	8b 95 24 ff ff ff    	mov    -0xdc(%ebp),%edx
48c33c:	8b 45 84             	mov    -0x7c(%ebp),%eax
48c33f:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
48c342:	2b c1                	sub    %ecx,%eax
48c344:	8b 4d fc             	mov    -0x4(%ebp),%ecx
48c347:	3b c8                	cmp    %eax,%ecx
48c349:	77 30                	ja     0x48c37b
48c34b:	66 8b 01             	mov    (%ecx),%ax
48c34e:	66 3b 85 3c ff ff ff 	cmp    -0xc4(%ebp),%ax
48c355:	75 24                	jne    0x48c37b
48c357:	83 fa 01             	cmp    $0x1,%edx
48c35a:	74 5a                	je     0x48c3b6
48c35c:	66 8b 41 02          	mov    0x2(%ecx),%ax
48c360:	8b 4d 10             	mov    0x10(%ebp),%ecx
48c363:	66 3b 85 3e ff ff ff 	cmp    -0xc2(%ebp),%ax
48c36a:	0f 84 25 de f7 ff    	je     0x40a195
48c370:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
48c376:	e9 3f dd f7 ff       	jmp    0x40a0ba
48c37b:	8b 4d 10             	mov    0x10(%ebp),%ecx
48c37e:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
48c384:	e9 31 dd f7 ff       	jmp    0x40a0ba
48c389:	83 f8 01             	cmp    $0x1,%eax
48c38c:	0f 84 6f dd f7 ff    	je     0x40a101
48c392:	83 fa 02             	cmp    $0x2,%edx
48c395:	0f 85 42 dd f7 ff    	jne    0x40a0dd
48c39b:	e9 61 dd f7 ff       	jmp    0x40a101
48c3a0:	8b 4d 10             	mov    0x10(%ebp),%ecx
48c3a3:	33 f6                	xor    %esi,%esi
48c3a5:	e9 eb dd f7 ff       	jmp    0x40a195
48c3aa:	81 fe 19 fc ff ff    	cmp    $0xfffffc19,%esi
48c3b0:	0f 84 49 dc f7 ff    	je     0x409fff
48c3b6:	8b 4d 10             	mov    0x10(%ebp),%ecx
48c3b9:	e9 d7 dd f7 ff       	jmp    0x40a195
48c3be:	ff b5 14 ff ff ff    	push   -0xec(%ebp)
48c3c4:	ff 15 0c b8 4b 00    	call   *0x4bb80c
48c3ca:	8b 4d 10             	mov    0x10(%ebp),%ecx
48c3cd:	83 c4 04             	add    $0x4,%esp
48c3d0:	e9 ca dd f7 ff       	jmp    0x40a19f
48c3d5:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
48c3d8:	83 fb 01             	cmp    $0x1,%ebx
48c3db:	7e 22                	jle    0x48c3ff
48c3dd:	8b 55 08             	mov    0x8(%ebp),%edx
48c3e0:	8b 7d d8             	mov    -0x28(%ebp),%edi
48c3e3:	8b 45 18             	mov    0x18(%ebp),%eax
48c3e6:	2b fa                	sub    %edx,%edi
48c3e8:	2b ca                	sub    %edx,%ecx
48c3ea:	d1 ff                	sar    $1,%edi
48c3ec:	d1 f9                	sar    $1,%ecx
48c3ee:	89 38                	mov    %edi,(%eax)
48c3f0:	89 48 04             	mov    %ecx,0x4(%eax)
48c3f3:	83 fb 02             	cmp    $0x2,%ebx
48c3f6:	7e 07                	jle    0x48c3ff
48c3f8:	2b f2                	sub    %edx,%esi
48c3fa:	d1 fe                	sar    $1,%esi
48c3fc:	89 70 08             	mov    %esi,0x8(%eax)
48c3ff:	b8 f4 ff ff ff       	mov    $0xfffffff4,%eax
48c404:	e9 53 dc f7 ff       	jmp    0x40a05c
48c409:	83 fe 04             	cmp    $0x4,%esi
48c40c:	7c 21                	jl     0x48c42f
48c40e:	8d 04 b5 f8 ff ff ff 	lea    -0x8(,%esi,4),%eax
48c415:	50                   	push   %eax
48c416:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
48c41c:	83 c0 08             	add    $0x8,%eax
48c41f:	50                   	push   %eax
48c420:	8b 45 18             	mov    0x18(%ebp),%eax
48c423:	83 c0 08             	add    $0x8,%eax
48c426:	50                   	push   %eax
48c427:	e8 54 2a f9 ff       	call   0x41ee80
48c42c:	83 c4 0c             	add    $0xc,%esp
48c42f:	39 75 98             	cmp    %esi,-0x68(%ebp)
48c432:	7e 07                	jle    0x48c43b
48c434:	81 4d 9c 00 00 01 00 	orl    $0x10000,-0x64(%ebp)
48c43b:	ff b5 14 ff ff ff    	push   -0xec(%ebp)
48c441:	ff 15 0c b8 4b 00    	call   *0x4bb80c
48c447:	83 c4 04             	add    $0x4,%esp
48c44a:	e9 bd db f7 ff       	jmp    0x40a00c
48c44f:	3b ce                	cmp    %esi,%ecx
48c451:	0f 8c c5 db f7 ff    	jl     0x40a01c
48c457:	33 f6                	xor    %esi,%esi
48c459:	e9 c7 db f7 ff       	jmp    0x40a025
48c45e:	85 c0                	test   %eax,%eax
48c460:	0f 84 d5 db f7 ff    	je     0x40a03b
48c466:	8b 55 1c             	mov    0x1c(%ebp),%edx
48c469:	8d 3c 7d 02 00 00 00 	lea    0x2(,%edi,2),%edi
48c470:	3b fa                	cmp    %edx,%edi
48c472:	7e 02                	jle    0x48c476
48c474:	8b fa                	mov    %edx,%edi
48c476:	8d 14 88             	lea    (%eax,%ecx,4),%edx
48c479:	8d 0c b8             	lea    (%eax,%edi,4),%ecx
48c47c:	3b d1                	cmp    %ecx,%edx
48c47e:	0f 83 b7 db f7 ff    	jae    0x40a03b
48c484:	2b ca                	sub    %edx,%ecx
48c486:	49                   	dec    %ecx
48c487:	c1 e9 02             	shr    $0x2,%ecx
48c48a:	41                   	inc    %ecx
48c48b:	83 c8 ff             	or     $0xffffffff,%eax
48c48e:	8b fa                	mov    %edx,%edi
48c490:	f3 ab                	rep stos %eax,%es:(%edi)
48c492:	8b 45 18             	mov    0x18(%ebp),%eax
48c495:	e9 a1 db f7 ff       	jmp    0x40a03b
48c49a:	b8 e8 ff ff ff       	mov    $0xffffffe8,%eax
48c49f:	e9 b8 db f7 ff       	jmp    0x40a05c
48c4a4:	8b ff                	mov    %edi,%edi
48c4a6:	a0 c3 48 00 69       	mov    0x690048c3,%al
48c4ab:	a0 40 00 e6 c2       	mov    0xc2e60040,%al
48c4b0:	48                   	dec    %eax
48c4b1:	00 d0                	add    %dl,%al
48c4b3:	c2 48 00             	ret    $0x48
48c4b6:	69 a0 40 00 0f b7 41 	imul   $0xffbf0241,-0x48f0ffc0(%eax),%esp
48c4bd:	02 bf ff
48c4c0:	03 00                	add    (%eax),%eax
48c4c2:	00 23                	add    %ah,(%ebx)
48c4c4:	f7 23                	mull   (%ebx)
48c4c6:	c7 c1 e6 0a 0b f0    	mov    $0xf00b0ae6,%ecx
48c4cc:	81 c6 00 00 01 00    	add    $0x10000,%esi
48c4d2:	e9 48 cb f7 ff       	jmp    0x40901f