470086:	83 c4 14             	add    $0x14,%esp
470089:	8b 55 dc             	mov    -0x24(%ebp),%edx
47008c:	83 ba c0 00 00 00 10 	cmpl   $0x10,0xc0(%edx)
470093:	8d ba ac 00 00 00    	lea    0xac(%edx),%edi
470099:	72 02                	jb     0x47009d
47009b:	8b 3f                	mov    (%edi),%edi
47009d:	8b b2 bc 00 00 00    	mov    0xbc(%edx),%esi
4700a3:	8d 48 08             	lea    0x8(%eax),%ecx
4700a6:	89 75 d8             	mov    %esi,-0x28(%ebp)
4700a9:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4700ac:	85 c9                	test   %ecx,%ecx
4700ae:	74 27                	je     0x4700d7
4700b0:	85 ff                	test   %edi,%edi
4700b2:	74 23                	je     0x4700d7
4700b4:	46                   	inc    %esi
4700b5:	56                   	push   %esi
4700b6:	e8 c5 0f 17 00       	call   0x5e1080
4700bb:	ff 75 d8             	push   -0x28(%ebp)
4700be:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4700c1:	57                   	push   %edi
4700c2:	56                   	push   %esi
4700c3:	50                   	push   %eax
4700c4:	89 01                	mov    %eax,(%ecx)
4700c6:	e8 b5 84 ff ff       	call   0x468580
4700cb:	8b 83 6c 03 00 00    	mov    0x36c(%ebx),%eax
4700d1:	83 c4 14             	add    $0x14,%esp
4700d4:	8b 55 dc             	mov    -0x24(%ebp),%edx
4700d7:	83 ba 38 01 00 00 10 	cmpl   $0x10,0x138(%edx)
4700de:	8d ba 24 01 00 00    	lea    0x124(%edx),%edi
4700e4:	72 02                	jb     0x4700e8
4700e6:	8b 3f                	mov    (%edi),%edi
4700e8:	8b b2 34 01 00 00    	mov    0x134(%edx),%esi
4700ee:	8d 48 1c             	lea    0x1c(%eax),%ecx
4700f1:	89 75 d8             	mov    %esi,-0x28(%ebp)
4700f4:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4700f7:	85 c9                	test   %ecx,%ecx
4700f9:	74 27                	je     0x470122
4700fb:	85 ff                	test   %edi,%edi
4700fd:	74 23                	je     0x470122
4700ff:	46                   	inc    %esi
470100:	56                   	push   %esi
470101:	e8 7a 0f 17 00       	call   0x5e1080
470106:	ff 75 d8             	push   -0x28(%ebp)
470109:	8b 4d e0             	mov    -0x20(%ebp),%ecx
47010c:	57                   	push   %edi
47010d:	56                   	push   %esi
47010e:	50                   	push   %eax
47010f:	89 01                	mov    %eax,(%ecx)
470111:	e8 6a 84 ff ff       	call   0x468580
470116:	8b 83 6c 03 00 00    	mov    0x36c(%ebx),%eax
47011c:	83 c4 14             	add    $0x14,%esp
47011f:	8b 55 dc             	mov    -0x24(%ebp),%edx
470122:	83 ba 50 01 00 00 10 	cmpl   $0x10,0x150(%edx)
470129:	8d ba 3c 01 00 00    	lea    0x13c(%edx),%edi
47012f:	72 02                	jb     0x470133
470131:	8b 3f                	mov    (%edi),%edi
470133:	8b b2 4c 01 00 00    	mov    0x14c(%edx),%esi
470139:	8d 48 20             	lea    0x20(%eax),%ecx
47013c:	89 75 d8             	mov    %esi,-0x28(%ebp)
47013f:	89 4d e0             	mov    %ecx,-0x20(%ebp)
470142:	85 c9                	test   %ecx,%ecx
470144:	74 27                	je     0x47016d
470146:	85 ff                	test   %edi,%edi
470148:	74 23                	je     0x47016d
47014a:	46                   	inc    %esi
47014b:	56                   	push   %esi
47014c:	e8 2f 0f 17 00       	call   0x5e1080
470151:	ff 75 d8             	push   -0x28(%ebp)
470154:	8b 4d e0             	mov    -0x20(%ebp),%ecx
470157:	57                   	push   %edi
470158:	56                   	push   %esi
470159:	50                   	push   %eax
47015a:	89 01                	mov    %eax,(%ecx)
47015c:	e8 1f 84 ff ff       	call   0x468580
470161:	8b 83 6c 03 00 00    	mov    0x36c(%ebx),%eax
470167:	83 c4 14             	add    $0x14,%esp
47016a:	8b 55 dc             	mov    -0x24(%ebp),%edx
47016d:	83 ba 68 01 00 00 10 	cmpl   $0x10,0x168(%edx)
470174:	8d ba 54 01 00 00    	lea    0x154(%edx),%edi
47017a:	72 02                	jb     0x47017e
47017c:	8b 3f                	mov    (%edi),%edi
47017e:	8b 8a 64 01 00 00    	mov    0x164(%edx),%ecx
470184:	83 c0 24             	add    $0x24,%eax
470187:	89 4d d8             	mov    %ecx,-0x28(%ebp)
47018a:	89 45 e0             	mov    %eax,-0x20(%ebp)
47018d:	74 23                	je     0x4701b2
47018f:	85 ff                	test   %edi,%edi
470191:	74 1f                	je     0x4701b2
470193:	8d 71 01             	lea    0x1(%ecx),%esi
470196:	56                   	push   %esi
470197:	e8 e4 0e 17 00       	call   0x5e1080
47019c:	ff 75 d8             	push   -0x28(%ebp)
47019f:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4701a2:	57                   	push   %edi
4701a3:	56                   	push   %esi
4701a4:	50                   	push   %eax
4701a5:	89 01                	mov    %eax,(%ecx)
4701a7:	e8 d4 83 ff ff       	call   0x468580
4701ac:	8b 55 dc             	mov    -0x24(%ebp),%edx
4701af:	83 c4 14             	add    $0x14,%esp
4701b2:	8a 82 9c 01 00 00    	mov    0x19c(%edx),%al
4701b8:	88 83 78 03 00 00    	mov    %al,0x378(%ebx)
4701be:	8b 45 34             	mov    0x34(%ebp),%eax
4701c1:	8d 7d 20             	lea    0x20(%ebp),%edi
4701c4:	8b 4d 20             	mov    0x20(%ebp),%ecx
4701c7:	83 f8 10             	cmp    $0x10,%eax
4701ca:	8b 55 30             	mov    0x30(%ebp),%edx
4701cd:	0f 43 f9             	cmovae %ecx,%edi
4701d0:	89 55 e0             	mov    %edx,-0x20(%ebp)
4701d3:	81 c3 74 03 00 00    	add    $0x374,%ebx
4701d9:	74 23                	je     0x4701fe
4701db:	85 ff                	test   %edi,%edi
4701dd:	74 1f                	je     0x4701fe
4701df:	8d 72 01             	lea    0x1(%edx),%esi
4701e2:	56                   	push   %esi
4701e3:	e8 98 0e 17 00       	call   0x5e1080
4701e8:	ff 75 e0             	push   -0x20(%ebp)
4701eb:	89 03                	mov    %eax,(%ebx)
4701ed:	57                   	push   %edi
4701ee:	56                   	push   %esi
4701ef:	50                   	push   %eax
4701f0:	e8 8b 83 ff ff       	call   0x468580
4701f5:	8b 45 34             	mov    0x34(%ebp),%eax
4701f8:	83 c4 14             	add    $0x14,%esp
4701fb:	8b 4d 20             	mov    0x20(%ebp),%ecx
4701fe:	8b 55 1c             	mov    0x1c(%ebp),%edx
470201:	83 fa 10             	cmp    $0x10,%edx
470204:	72 2e                	jb     0x470234
470206:	8b 4d 08             	mov    0x8(%ebp),%ecx
470209:	42                   	inc    %edx
47020a:	8b c1                	mov    %ecx,%eax
47020c:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
470212:	72 10                	jb     0x470224
470214:	8b 49 fc             	mov    -0x4(%ecx),%ecx
470217:	83 c2 23             	add    $0x23,%edx
47021a:	2b c1                	sub    %ecx,%eax
47021c:	83 c0 fc             	add    $0xfffffffc,%eax
47021f:	83 f8 1f             	cmp    $0x1f,%eax
470222:	77 62                	ja     0x470286
470224:	52                   	push   %edx
470225:	51                   	push   %ecx
470226:	e8 47 0e 17 00       	call   0x5e1072
47022b:	8b 45 34             	mov    0x34(%ebp),%eax
47022e:	83 c4 08             	add    $0x8,%esp
470231:	8b 4d 20             	mov    0x20(%ebp),%ecx
470234:	c7 45 18 00 00 00 00 	movl   $0x0,0x18(%ebp)
47023b:	c7 45 1c 0f 00 00 00 	movl   $0xf,0x1c(%ebp)
470242:	c6 45 08 00          	movb   $0x0,0x8(%ebp)
470246:	83 f8 10             	cmp    $0x10,%eax
470249:	72 27                	jb     0x470272
47024b:	8d 50 01             	lea    0x1(%eax),%edx
47024e:	8b c1                	mov    %ecx,%eax
470250:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
470256:	72 10                	jb     0x470268
470258:	8b 49 fc             	mov    -0x4(%ecx),%ecx
47025b:	83 c2 23             	add    $0x23,%edx
47025e:	2b c1                	sub    %ecx,%eax
470260:	83 c0 fc             	add    $0xfffffffc,%eax
470263:	83 f8 1f             	cmp    $0x1f,%eax
470266:	77 1e                	ja     0x470286
470268:	52                   	push   %edx
470269:	51                   	push   %ecx
47026a:	e8 03 0e 17 00       	call   0x5e1072
47026f:	83 c4 08             	add    $0x8,%esp
470272:	8b 4d f4             	mov    -0xc(%ebp),%ecx
470275:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
47027c:	59                   	pop    %ecx
47027d:	5f                   	pop    %edi
47027e:	5e                   	pop    %esi
47027f:	5b                   	pop    %ebx
470280:	8b e5                	mov    %ebp,%esp
470282:	5d                   	pop    %ebp
470283:	c2 34 00             	ret    $0x34
470286:	e8 a4 cc 17 00       	call   0x5ecf2f
47028b:	e8 60 d5 fd ff       	call   0x44d7f0
470290:	cc                   	int3
470291:	cc                   	int3
470292:	cc                   	int3
470293:	cc                   	int3
470294:	cc                   	int3
470295:	cc                   	int3
470296:	cc                   	int3
470297:	cc                   	int3
470298:	cc                   	int3
470299:	cc                   	int3
47029a:	cc                   	int3
47029b:	cc                   	int3
47029c:	cc                   	int3
47029d:	cc                   	int3
47029e:	cc                   	int3
47029f:	cc                   	int3
4702a0:	55                   	push   %ebp
4702a1:	8b ec                	mov    %esp,%ebp
4702a3:	6a ff                	push   $0xffffffff
4702a5:	68 f0 21 65 00       	push   $0x6521f0
4702aa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4702b0:	50                   	push   %eax
4702b1:	81 ec 80 00 00 00    	sub    $0x80,%esp
4702b7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4702bc:	33 c5                	xor    %ebp,%eax
4702be:	89 45 f0             	mov    %eax,-0x10(%ebp)
4702c1:	56                   	push   %esi
4702c2:	57                   	push   %edi
4702c3:	50                   	push   %eax
4702c4:	8d 45 f4             	lea    -0xc(%ebp),%eax
4702c7:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4702cd:	8b f9                	mov    %ecx,%edi
4702cf:	89 7d 90             	mov    %edi,-0x70(%ebp)
4702d2:	8b 75 20             	mov    0x20(%ebp),%esi
4702d5:	89 b5 78 ff ff ff    	mov    %esi,-0x88(%ebp)
4702db:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4702e2:	85 f6                	test   %esi,%esi
4702e4:	0f 84 d2 13 00 00    	je     0x4716bc
4702ea:	8b 46 1c             	mov    0x1c(%esi),%eax
4702ed:	ba 04 00 00 00       	mov    $0x4,%edx
4702f2:	89 45 a0             	mov    %eax,-0x60(%ebp)
4702f5:	85 c0                	test   %eax,%eax
4702f7:	0f 84 14 09 00 00    	je     0x470c11
4702fd:	33 c9                	xor    %ecx,%ecx
4702ff:	40                   	inc    %eax
470300:	f7 e2                	mul    %edx
470302:	0f 90 c1             	seto   %cl
470305:	f7 d9                	neg    %ecx
470307:	0b c8                	or     %eax,%ecx
470309:	51                   	push   %ecx
47030a:	e8 71 0d 17 00       	call   0x5e1080
47030f:	89 87 4c 03 00 00    	mov    %eax,0x34c(%edi)
470315:	83 c4 04             	add    $0x4,%esp
470318:	8b 4e 18             	mov    0x18(%esi),%ecx
47031b:	89 4d 80             	mov    %ecx,-0x80(%ebp)
47031e:	8b 31                	mov    (%ecx),%esi
470320:	3b f1                	cmp    %ecx,%esi
470322:	0f 84 39 06 00 00    	je     0x470961
470328:	c7 45 94 00 00 00 00 	movl   $0x0,-0x6c(%ebp)
47032f:	90                   	nop
470330:	6a 0c                	push   $0xc
470332:	e8 0b 0d 17 00       	call   0x5e1042
470337:	8b 8f 4c 03 00 00    	mov    0x34c(%edi),%ecx
47033d:	83 c4 04             	add    $0x4,%esp
470340:	8b 55 94             	mov    -0x6c(%ebp),%edx
470343:	89 04 0a             	mov    %eax,(%edx,%ecx,1)
470346:	8d 4e 10             	lea    0x10(%esi),%ecx
470349:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
47034d:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
470350:	72 05                	jb     0x470357
470352:	8b 09                	mov    (%ecx),%ecx
470354:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
470357:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
47035a:	8b 87 4c 03 00 00    	mov    0x34c(%edi),%eax
470360:	8b 56 20             	mov    0x20(%esi),%edx
470363:	89 55 a4             	mov    %edx,-0x5c(%ebp)
470366:	8b 04 01             	mov    (%ecx,%eax,1),%eax
470369:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
47036c:	89 45 98             	mov    %eax,-0x68(%ebp)
47036f:	85 c0                	test   %eax,%eax
470371:	74 25                	je     0x470398
470373:	85 c9                	test   %ecx,%ecx
470375:	74 21                	je     0x470398
470377:	8d 7a 01             	lea    0x1(%edx),%edi
47037a:	57                   	push   %edi
47037b:	e8 00 0d 17 00       	call   0x5e1080
470380:	ff 75 a4             	push   -0x5c(%ebp)
470383:	8b 4d 98             	mov    -0x68(%ebp),%ecx
470386:	ff 75 9c             	push   -0x64(%ebp)
470389:	57                   	push   %edi
47038a:	50                   	push   %eax
47038b:	89 01                	mov    %eax,(%ecx)
47038d:	e8 ee 81 ff ff       	call   0x468580
470392:	8b 7d 90             	mov    -0x70(%ebp),%edi
470395:	83 c4 14             	add    $0x14,%esp
470398:	6a 08                	push   $0x8
47039a:	e8 a3 0c 17 00       	call   0x5e1042
47039f:	8b 8f 4c 03 00 00    	mov    0x34c(%edi),%ecx
4703a5:	83 c4 04             	add    $0x4,%esp
4703a8:	8b 55 94             	mov    -0x6c(%ebp),%edx
4703ab:	8b 0c 11             	mov    (%ecx,%edx,1),%ecx
4703ae:	89 41 04             	mov    %eax,0x4(%ecx)
4703b1:	8d 4e 28             	lea    0x28(%esi),%ecx
4703b4:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
4703b8:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
4703bb:	72 05                	jb     0x4703c2
4703bd:	8b 09                	mov    (%ecx),%ecx
4703bf:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
4703c2:	8b 46 38             	mov    0x38(%esi),%eax
4703c5:	8b 97 4c 03 00 00    	mov    0x34c(%edi),%edx
4703cb:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4703ce:	8b 45 94             	mov    -0x6c(%ebp),%eax
4703d1:	8b 04 02             	mov    (%edx,%eax,1),%eax
4703d4:	8b 40 04             	mov    0x4(%eax),%eax
4703d7:	89 45 98             	mov    %eax,-0x68(%ebp)
4703da:	85 c0                	test   %eax,%eax
4703dc:	74 2c                	je     0x47040a
4703de:	85 c9                	test   %ecx,%ecx
4703e0:	74 28                	je     0x47040a
4703e2:	8b 7d a4             	mov    -0x5c(%ebp),%edi
4703e5:	47                   	inc    %edi
4703e6:	57                   	push   %edi
4703e7:	e8 94 0c 17 00       	call   0x5e1080
4703ec:	ff 75 a4             	push   -0x5c(%ebp)
4703ef:	8b 4d 98             	mov    -0x68(%ebp),%ecx
4703f2:	ff 75 9c             	push   -0x64(%ebp)
4703f5:	57                   	push   %edi
4703f6:	50                   	push   %eax
4703f7:	89 01                	mov    %eax,(%ecx)
4703f9:	e8 82 81 ff ff       	call   0x468580
4703fe:	8b 7d 90             	mov    -0x70(%ebp),%edi
470401:	83 c4 14             	add    $0x14,%esp
470404:	8b 97 4c 03 00 00    	mov    0x34c(%edi),%edx
47040a:	83 7e 54 10          	cmpl   $0x10,0x54(%esi)
47040e:	8d 4e 40             	lea    0x40(%esi),%ecx
470411:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
470414:	72 05                	jb     0x47041b
470416:	8b 09                	mov    (%ecx),%ecx
470418:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
47041b:	8b 46 50             	mov    0x50(%esi),%eax
47041e:	89 45 a4             	mov    %eax,-0x5c(%ebp)
470421:	8b 45 94             	mov    -0x6c(%ebp),%eax
470424:	8b 04 02             	mov    (%edx,%eax,1),%eax
470427:	8b 40 04             	mov    0x4(%eax),%eax
47042a:	83 c0 04             	add    $0x4,%eax
47042d:	89 45 98             	mov    %eax,-0x68(%ebp)
470430:	74 26                	je     0x470458
470432:	85 c9                	test   %ecx,%ecx
470434:	74 22                	je     0x470458
470436:	8b 7d a4             	mov    -0x5c(%ebp),%edi
470439:	47                   	inc    %edi
47043a:	57                   	push   %edi
47043b:	e8 40 0c 17 00       	call   0x5e1080
470440:	ff 75 a4             	push   -0x5c(%ebp)
470443:	8b 4d 98             	mov    -0x68(%ebp),%ecx
470446:	ff 75 9c             	push   -0x64(%ebp)
470449:	57                   	push   %edi
47044a:	50                   	push   %eax
47044b:	89 01                	mov    %eax,(%ecx)
47044d:	e8 2e 81 ff ff       	call   0x468580
470452:	8b 7d 90             	mov    -0x70(%ebp),%edi
470455:	83 c4 14             	add    $0x14,%esp
470458:	8b 4e 5c             	mov    0x5c(%esi),%ecx
47045b:	b8 31 0c c3 30       	mov    $0x30c30c31,%eax
470460:	2b 4e 58             	sub    0x58(%esi),%ecx
470463:	f7 e9                	imul   %ecx
470465:	33 c9                	xor    %ecx,%ecx
470467:	c1 fa 05             	sar    $0x5,%edx
47046a:	8b c2                	mov    %edx,%eax
47046c:	c1 e8 1f             	shr    $0x1f,%eax
47046f:	03 c2                	add    %edx,%eax
470471:	ba 04 00 00 00       	mov    $0x4,%edx
470476:	89 45 a4             	mov    %eax,-0x5c(%ebp)
470479:	40                   	inc    %eax
47047a:	f7 e2                	mul    %edx