46f07d:	89 5d ec             	mov    %ebx,-0x14(%ebp)
46f080:	8b 04 90             	mov    (%eax,%edx,4),%eax
46f083:	42                   	inc    %edx
46f084:	89 55 fc             	mov    %edx,-0x4(%ebp)
46f087:	8b 40 18             	mov    0x18(%eax),%eax
46f08a:	c7 04 88 00 00 00 00 	movl   $0x0,(%eax,%ecx,4)
46f091:	8b 45 c8             	mov    -0x38(%ebp),%eax
46f094:	3b 55 d4             	cmp    -0x2c(%ebp),%edx
46f097:	0f 82 83 fb ff ff    	jb     0x46ec20
46f09d:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
46f0a0:	8b 55 08             	mov    0x8(%ebp),%edx
46f0a3:	8b 87 ac 03 00 00    	mov    0x3ac(%edi),%eax
46f0a9:	c7 04 98 00 00 00 00 	movl   $0x0,(%eax,%ebx,4)
46f0b0:	8d 5a 0c             	lea    0xc(%edx),%ebx
46f0b3:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
46f0b7:	72 02                	jb     0x46f0bb
46f0b9:	8b 1b                	mov    (%ebx),%ebx
46f0bb:	8d 87 b0 03 00 00    	lea    0x3b0(%edi),%eax
46f0c1:	89 45 08             	mov    %eax,0x8(%ebp)
46f0c4:	85 c0                	test   %eax,%eax
46f0c6:	74 21                	je     0x46f0e9
46f0c8:	85 db                	test   %ebx,%ebx
46f0ca:	74 1d                	je     0x46f0e9
46f0cc:	8b 72 1c             	mov    0x1c(%edx),%esi
46f0cf:	8d 7e 01             	lea    0x1(%esi),%edi
46f0d2:	57                   	push   %edi
46f0d3:	e8 a8 1f 17 00       	call   0x5e1080
46f0d8:	8b 4d 08             	mov    0x8(%ebp),%ecx
46f0db:	56                   	push   %esi
46f0dc:	53                   	push   %ebx
46f0dd:	57                   	push   %edi
46f0de:	50                   	push   %eax
46f0df:	89 01                	mov    %eax,(%ecx)
46f0e1:	e8 9a 94 ff ff       	call   0x468580
46f0e6:	83 c4 14             	add    $0x14,%esp
46f0e9:	5e                   	pop    %esi
46f0ea:	5b                   	pop    %ebx
46f0eb:	5f                   	pop    %edi
46f0ec:	8b e5                	mov    %ebp,%esp
46f0ee:	5d                   	pop    %ebp
46f0ef:	c2 04 00             	ret    $0x4
46f0f2:	cc                   	int3
46f0f3:	cc                   	int3
46f0f4:	cc                   	int3
46f0f5:	cc                   	int3
46f0f6:	cc                   	int3
46f0f7:	cc                   	int3
46f0f8:	cc                   	int3
46f0f9:	cc                   	int3
46f0fa:	cc                   	int3
46f0fb:	cc                   	int3
46f0fc:	cc                   	int3
46f0fd:	cc                   	int3
46f0fe:	cc                   	int3
46f0ff:	cc                   	int3
46f100:	55                   	push   %ebp
46f101:	8b ec                	mov    %esp,%ebp
46f103:	83 ec 1c             	sub    $0x1c,%esp
46f106:	8b 45 08             	mov    0x8(%ebp),%eax
46f109:	57                   	push   %edi
46f10a:	8b f9                	mov    %ecx,%edi
46f10c:	89 7d fc             	mov    %edi,-0x4(%ebp)
46f10f:	85 c0                	test   %eax,%eax
46f111:	0f 84 d6 01 00 00    	je     0x46f2ed
46f117:	8b 50 04             	mov    0x4(%eax),%edx
46f11a:	33 c9                	xor    %ecx,%ecx
46f11c:	2b 10                	sub    (%eax),%edx
46f11e:	b8 39 8e e3 38       	mov    $0x38e38e39,%eax
46f123:	f7 ea                	imul   %edx
46f125:	53                   	push   %ebx
46f126:	c1 fa 04             	sar    $0x4,%edx
46f129:	8b da                	mov    %edx,%ebx
46f12b:	c1 eb 1f             	shr    $0x1f,%ebx
46f12e:	03 da                	add    %edx,%ebx
46f130:	ba 04 00 00 00       	mov    $0x4,%edx
46f135:	56                   	push   %esi
46f136:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
46f139:	8d 43 01             	lea    0x1(%ebx),%eax
46f13c:	f7 e2                	mul    %edx
46f13e:	0f 90 c1             	seto   %cl
46f141:	f7 d9                	neg    %ecx
46f143:	0b c8                	or     %eax,%ecx
46f145:	51                   	push   %ecx
46f146:	e8 35 1f 17 00       	call   0x5e1080
46f14b:	33 f6                	xor    %esi,%esi
46f14d:	89 87 8c 03 00 00    	mov    %eax,0x38c(%edi)
46f153:	83 c4 04             	add    $0x4,%esp
46f156:	89 75 e8             	mov    %esi,-0x18(%ebp)
46f159:	85 db                	test   %ebx,%ebx
46f15b:	0f 84 38 01 00 00    	je     0x46f299
46f161:	33 db                	xor    %ebx,%ebx
46f163:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46f166:	6a 0c                	push   $0xc
46f168:	e8 d5 1e 17 00       	call   0x5e1042
46f16d:	8b 8f 8c 03 00 00    	mov    0x38c(%edi),%ecx
46f173:	8d 14 b5 00 00 00 00 	lea    0x0(,%esi,4),%edx
46f17a:	83 c4 04             	add    $0x4,%esp
46f17d:	89 55 ec             	mov    %edx,-0x14(%ebp)
46f180:	89 04 0a             	mov    %eax,(%edx,%ecx,1)
46f183:	8b 45 08             	mov    0x8(%ebp),%eax
46f186:	8b 08                	mov    (%eax),%ecx
46f188:	83 7c 0b 14 10       	cmpl   $0x10,0x14(%ebx,%ecx,1)
46f18d:	8d 34 0b             	lea    (%ebx,%ecx,1),%esi
46f190:	89 75 f8             	mov    %esi,-0x8(%ebp)
46f193:	72 05                	jb     0x46f19a
46f195:	8b 06                	mov    (%esi),%eax
46f197:	89 45 f8             	mov    %eax,-0x8(%ebp)
46f19a:	8b 87 8c 03 00 00    	mov    0x38c(%edi),%eax
46f1a0:	8b 14 10             	mov    (%eax,%edx,1),%edx
46f1a3:	89 55 f0             	mov    %edx,-0x10(%ebp)
46f1a6:	8b d0                	mov    %eax,%edx
46f1a8:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
46f1ac:	74 35                	je     0x46f1e3
46f1ae:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
46f1b2:	74 2f                	je     0x46f1e3
46f1b4:	8b 76 10             	mov    0x10(%esi),%esi
46f1b7:	8d 7e 01             	lea    0x1(%esi),%edi
46f1ba:	57                   	push   %edi
46f1bb:	e8 c0 1e 17 00       	call   0x5e1080
46f1c0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46f1c3:	56                   	push   %esi
46f1c4:	ff 75 f8             	push   -0x8(%ebp)
46f1c7:	57                   	push   %edi
46f1c8:	50                   	push   %eax
46f1c9:	89 01                	mov    %eax,(%ecx)
46f1cb:	e8 b0 93 ff ff       	call   0x468580
46f1d0:	8b 45 08             	mov    0x8(%ebp),%eax
46f1d3:	83 c4 14             	add    $0x14,%esp
46f1d6:	8b 7d fc             	mov    -0x4(%ebp),%edi
46f1d9:	8b 08                	mov    (%eax),%ecx
46f1db:	8b 97 8c 03 00 00    	mov    0x38c(%edi),%edx
46f1e1:	8b c2                	mov    %edx,%eax
46f1e3:	03 d9                	add    %ecx,%ebx
46f1e5:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46f1e8:	83 c3 30             	add    $0x30,%ebx
46f1eb:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
46f1ef:	72 02                	jb     0x46f1f3
46f1f1:	8b 1b                	mov    (%ebx),%ebx
46f1f3:	8b 75 ec             	mov    -0x14(%ebp),%esi
46f1f6:	8b 34 16             	mov    (%esi,%edx,1),%esi
46f1f9:	83 c6 08             	add    $0x8,%esi
46f1fc:	89 75 f8             	mov    %esi,-0x8(%ebp)
46f1ff:	74 34                	je     0x46f235
46f201:	85 db                	test   %ebx,%ebx
46f203:	74 30                	je     0x46f235
46f205:	8b 75 f0             	mov    -0x10(%ebp),%esi
46f208:	8b 76 40             	mov    0x40(%esi),%esi
46f20b:	8d 7e 01             	lea    0x1(%esi),%edi
46f20e:	57                   	push   %edi
46f20f:	e8 6c 1e 17 00       	call   0x5e1080
46f214:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46f217:	56                   	push   %esi
46f218:	53                   	push   %ebx
46f219:	57                   	push   %edi
46f21a:	50                   	push   %eax
46f21b:	89 01                	mov    %eax,(%ecx)
46f21d:	e8 5e 93 ff ff       	call   0x468580
46f222:	8b 45 08             	mov    0x8(%ebp),%eax
46f225:	83 c4 14             	add    $0x14,%esp
46f228:	8b 7d fc             	mov    -0x4(%ebp),%edi
46f22b:	8b 08                	mov    (%eax),%ecx
46f22d:	8b 97 8c 03 00 00    	mov    0x38c(%edi),%edx
46f233:	8b c2                	mov    %edx,%eax
46f235:	8b 75 f4             	mov    -0xc(%ebp),%esi
46f238:	03 f1                	add    %ecx,%esi
46f23a:	83 7e 2c 10          	cmpl   $0x10,0x2c(%esi)
46f23e:	8d 5e 18             	lea    0x18(%esi),%ebx
46f241:	72 02                	jb     0x46f245
46f243:	8b 1b                	mov    (%ebx),%ebx
46f245:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46f248:	8b 0c 11             	mov    (%ecx,%edx,1),%ecx
46f24b:	83 c1 04             	add    $0x4,%ecx
46f24e:	89 4d ec             	mov    %ecx,-0x14(%ebp)
46f251:	74 2a                	je     0x46f27d
46f253:	85 db                	test   %ebx,%ebx
46f255:	74 26                	je     0x46f27d
46f257:	8b 76 28             	mov    0x28(%esi),%esi
46f25a:	8d 7e 01             	lea    0x1(%esi),%edi
46f25d:	57                   	push   %edi
46f25e:	e8 1d 1e 17 00       	call   0x5e1080
46f263:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46f266:	56                   	push   %esi
46f267:	53                   	push   %ebx
46f268:	57                   	push   %edi
46f269:	50                   	push   %eax
46f26a:	89 01                	mov    %eax,(%ecx)
46f26c:	e8 0f 93 ff ff       	call   0x468580
46f271:	8b 7d fc             	mov    -0x4(%ebp),%edi
46f274:	83 c4 14             	add    $0x14,%esp
46f277:	8b 87 8c 03 00 00    	mov    0x38c(%edi),%eax
46f27d:	8b 75 e8             	mov    -0x18(%ebp),%esi
46f280:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46f283:	46                   	inc    %esi
46f284:	83 c3 48             	add    $0x48,%ebx
46f287:	89 75 e8             	mov    %esi,-0x18(%ebp)
46f28a:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46f28d:	3b 75 e4             	cmp    -0x1c(%ebp),%esi
46f290:	0f 82 d0 fe ff ff    	jb     0x46f166
46f296:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
46f299:	c7 04 98 00 00 00 00 	movl   $0x0,(%eax,%ebx,4)
46f2a0:	8b 45 08             	mov    0x8(%ebp),%eax
46f2a3:	83 78 20 10          	cmpl   $0x10,0x20(%eax)
46f2a7:	8d 58 0c             	lea    0xc(%eax),%ebx
46f2aa:	72 02                	jb     0x46f2ae
46f2ac:	8b 1b                	mov    (%ebx),%ebx
46f2ae:	8d 8f 90 03 00 00    	lea    0x390(%edi),%ecx
46f2b4:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46f2b7:	85 c9                	test   %ecx,%ecx
46f2b9:	74 27                	je     0x46f2e2
46f2bb:	85 db                	test   %ebx,%ebx
46f2bd:	74 23                	je     0x46f2e2
46f2bf:	8b 70 1c             	mov    0x1c(%eax),%esi
46f2c2:	8d 7e 01             	lea    0x1(%esi),%edi
46f2c5:	57                   	push   %edi
46f2c6:	e8 b5 1d 17 00       	call   0x5e1080
46f2cb:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46f2ce:	56                   	push   %esi
46f2cf:	53                   	push   %ebx
46f2d0:	57                   	push   %edi
46f2d1:	50                   	push   %eax
46f2d2:	89 01                	mov    %eax,(%ecx)
46f2d4:	e8 a7 92 ff ff       	call   0x468580
46f2d9:	8b 7d fc             	mov    -0x4(%ebp),%edi
46f2dc:	83 c4 14             	add    $0x14,%esp
46f2df:	8b 45 08             	mov    0x8(%ebp),%eax
46f2e2:	8a 40 24             	mov    0x24(%eax),%al
46f2e5:	5e                   	pop    %esi
46f2e6:	88 87 94 03 00 00    	mov    %al,0x394(%edi)
46f2ec:	5b                   	pop    %ebx
46f2ed:	5f                   	pop    %edi
46f2ee:	8b e5                	mov    %ebp,%esp
46f2f0:	5d                   	pop    %ebp
46f2f1:	c2 04 00             	ret    $0x4
46f2f4:	cc                   	int3
46f2f5:	cc                   	int3
46f2f6:	cc                   	int3
46f2f7:	cc                   	int3
46f2f8:	cc                   	int3
46f2f9:	cc                   	int3
46f2fa:	cc                   	int3
46f2fb:	cc                   	int3
46f2fc:	cc                   	int3
46f2fd:	cc                   	int3
46f2fe:	cc                   	int3
46f2ff:	cc                   	int3
46f300:	55                   	push   %ebp
46f301:	8b ec                	mov    %esp,%ebp
46f303:	6a ff                	push   $0xffffffff
46f305:	68 80 21 65 00       	push   $0x652180
46f30a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
46f310:	50                   	push   %eax
46f311:	83 ec 24             	sub    $0x24,%esp
46f314:	53                   	push   %ebx
46f315:	56                   	push   %esi
46f316:	57                   	push   %edi
46f317:	a1 d4 89 72 00       	mov    0x7289d4,%eax
46f31c:	33 c5                	xor    %ebp,%eax
46f31e:	50                   	push   %eax
46f31f:	8d 45 f4             	lea    -0xc(%ebp),%eax
46f322:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
46f328:	8b d9                	mov    %ecx,%ebx
46f32a:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
46f32d:	8b 7d 38             	mov    0x38(%ebp),%edi
46f330:	89 7d dc             	mov    %edi,-0x24(%ebp)
46f333:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46f33a:	85 ff                	test   %edi,%edi
46f33c:	0f 84 7c 0e 00 00    	je     0x4701be
46f342:	83 7d 1c 10          	cmpl   $0x10,0x1c(%ebp)
46f346:	8d 45 08             	lea    0x8(%ebp),%eax
46f349:	8b 4d 18             	mov    0x18(%ebp),%ecx
46f34c:	8d 93 70 03 00 00    	lea    0x370(%ebx),%edx
46f352:	0f 43 45 08          	cmovae 0x8(%ebp),%eax
46f356:	89 45 d0             	mov    %eax,-0x30(%ebp)
46f359:	89 4d e8             	mov    %ecx,-0x18(%ebp)
46f35c:	85 d2                	test   %edx,%edx
46f35e:	74 23                	je     0x46f383
46f360:	85 c0                	test   %eax,%eax
46f362:	74 1f                	je     0x46f383
46f364:	8d 71 01             	lea    0x1(%ecx),%esi
46f367:	56                   	push   %esi
46f368:	e8 13 1d 17 00       	call   0x5e1080
46f36d:	ff 75 e8             	push   -0x18(%ebp)
46f370:	89 83 70 03 00 00    	mov    %eax,0x370(%ebx)
46f376:	ff 75 d0             	push   -0x30(%ebp)
46f379:	56                   	push   %esi
46f37a:	50                   	push   %eax
46f37b:	e8 00 92 ff ff       	call   0x468580
46f380:	83 c4 14             	add    $0x14,%esp
46f383:	8b 47 34             	mov    0x34(%edi),%eax
46f386:	33 c9                	xor    %ecx,%ecx
46f388:	89 45 d0             	mov    %eax,-0x30(%ebp)
46f38b:	ba 04 00 00 00       	mov    $0x4,%edx
46f390:	40                   	inc    %eax
46f391:	f7 e2                	mul    %edx
46f393:	0f 90 c1             	seto   %cl
46f396:	f7 d9                	neg    %ecx
46f398:	0b c8                	or     %eax,%ecx
46f39a:	51                   	push   %ecx
46f39b:	e8 e0 1c 17 00       	call   0x5e1080
46f3a0:	8b 4d d0             	mov    -0x30(%ebp),%ecx
46f3a3:	83 c4 04             	add    $0x4,%esp
46f3a6:	89 83 60 03 00 00    	mov    %eax,0x360(%ebx)
46f3ac:	8b 7f 30             	mov    0x30(%edi),%edi
46f3af:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
46f3b6:	8b 37                	mov    (%edi),%esi
46f3b8:	85 c9                	test   %ecx,%ecx
46f3ba:	0f 84 f7 05 00 00    	je     0x46f9b7
46f3c0:	3b f7                	cmp    %edi,%esi
46f3c2:	0f 84 ef 05 00 00    	je     0x46f9b7
46f3c8:	6a 10                	push   $0x10
46f3ca:	e8 73 1c 17 00       	call   0x5e1042
46f3cf:	8b 8b 60 03 00 00    	mov    0x360(%ebx),%ecx
46f3d5:	83 c4 04             	add    $0x4,%esp
46f3d8:	8b 55 e4             	mov    -0x1c(%ebp),%edx
46f3db:	89 04 91             	mov    %eax,(%ecx,%edx,4)
46f3de:	8d 4e 10             	lea    0x10(%esi),%ecx
46f3e1:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
46f3e5:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46f3e8:	72 05                	jb     0x46f3ef
46f3ea:	8b 09                	mov    (%ecx),%ecx
46f3ec:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46f3ef:	8b 46 20             	mov    0x20(%esi),%eax
46f3f2:	89 45 ec             	mov    %eax,-0x14(%ebp)
46f3f5:	8b 83 60 03 00 00    	mov    0x360(%ebx),%eax
46f3fb:	8b 14 90             	mov    (%eax,%edx,4),%edx
46f3fe:	83 c2 08             	add    $0x8,%edx
46f401:	89 55 e8             	mov    %edx,-0x18(%ebp)
46f404:	74 2c                	je     0x46f432
46f406:	85 c9                	test   %ecx,%ecx
46f408:	74 28                	je     0x46f432
46f40a:	8b 5d ec             	mov    -0x14(%ebp),%ebx
46f40d:	43                   	inc    %ebx
46f40e:	53                   	push   %ebx
46f40f:	e8 6c 1c 17 00       	call   0x5e1080
46f414:	ff 75 ec             	push   -0x14(%ebp)
46f417:	8b 4d e8             	mov    -0x18(%ebp),%ecx
46f41a:	ff 75 f0             	push   -0x10(%ebp)
46f41d:	53                   	push   %ebx
46f41e:	50                   	push   %eax
46f41f:	89 01                	mov    %eax,(%ecx)
46f421:	e8 5a 91 ff ff       	call   0x468580
46f426:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
46f429:	83 c4 14             	add    $0x14,%esp
46f42c:	8b 83 60 03 00 00    	mov    0x360(%ebx),%eax
46f432:	8b 55 dc             	mov    -0x24(%ebp),%edx
46f435:	83 7a 2c 10          	cmpl   $0x10,0x2c(%edx)
46f439:	8d 4a 18             	lea    0x18(%edx),%ecx
46f43c:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46f43f:	72 05                	jb     0x46f446
46f441:	8b 09                	mov    (%ecx),%ecx