46315c:	85 c0                	test   %eax,%eax
46315e:	75 12                	jne    0x463172
463160:	e8 ca 9c fe ff       	call   0x44ce2f
463165:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
46316b:	e8 66 9b fe ff       	call   0x44ccd6
463170:	eb d6                	jmp    0x463148
463172:	ff 76 2c             	push   0x2c(%esi)
463175:	e8 7b ca ff ff       	call   0x45fbf5
46317a:	59                   	pop    %ecx
46317b:	83 e8 01             	sub    $0x1,%eax
46317e:	74 34                	je     0x4631b4
463180:	83 e8 01             	sub    $0x1,%eax
463183:	74 23                	je     0x4631a8
463185:	48                   	dec    %eax
463186:	83 e8 01             	sub    $0x1,%eax
463189:	74 13                	je     0x46319e
46318b:	83 e8 04             	sub    $0x4,%eax
46318e:	75 d0                	jne    0x463160
463190:	8b 46 18             	mov    0x18(%esi),%eax
463193:	8b 4d fc             	mov    -0x4(%ebp),%ecx
463196:	99                   	cltd
463197:	89 01                	mov    %eax,(%ecx)
463199:	89 51 04             	mov    %edx,0x4(%ecx)
46319c:	eb 1e                	jmp    0x4631bc
46319e:	8b 45 fc             	mov    -0x4(%ebp),%eax
4631a1:	8b 4e 18             	mov    0x18(%esi),%ecx
4631a4:	89 08                	mov    %ecx,(%eax)
4631a6:	eb 14                	jmp    0x4631bc
4631a8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4631ab:	66 8b 4e 18          	mov    0x18(%esi),%cx
4631af:	66 89 08             	mov    %cx,(%eax)
4631b2:	eb 08                	jmp    0x4631bc
4631b4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4631b7:	8a 4e 18             	mov    0x18(%esi),%cl
4631ba:	88 08                	mov    %cl,(%eax)
4631bc:	c6 46 30 01          	movb   $0x1,0x30(%esi)
4631c0:	b0 01                	mov    $0x1,%al
4631c2:	5e                   	pop    %esi
4631c3:	8b e5                	mov    %ebp,%esp
4631c5:	5d                   	pop    %ebp
4631c6:	c3                   	ret
4631c7:	8b ff                	mov    %edi,%edi
4631c9:	56                   	push   %esi
4631ca:	8b f1                	mov    %ecx,%esi
4631cc:	57                   	push   %edi
4631cd:	83 46 14 04          	addl   $0x4,0x14(%esi)
4631d1:	8b 46 14             	mov    0x14(%esi),%eax
4631d4:	8b 78 fc             	mov    -0x4(%eax),%edi
4631d7:	e8 c0 4f 01 00       	call   0x47819c
4631dc:	85 c0                	test   %eax,%eax
4631de:	75 14                	jne    0x4631f4
4631e0:	e8 4a 9c fe ff       	call   0x44ce2f
4631e5:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4631eb:	e8 e6 9a fe ff       	call   0x44ccd6
4631f0:	32 c0                	xor    %al,%al
4631f2:	eb 44                	jmp    0x463238
4631f4:	ff 76 2c             	push   0x2c(%esi)
4631f7:	e8 f9 c9 ff ff       	call   0x45fbf5
4631fc:	59                   	pop    %ecx
4631fd:	83 e8 01             	sub    $0x1,%eax
463200:	74 2b                	je     0x46322d
463202:	83 e8 01             	sub    $0x1,%eax
463205:	74 1d                	je     0x463224
463207:	48                   	dec    %eax
463208:	83 e8 01             	sub    $0x1,%eax
46320b:	74 10                	je     0x46321d
46320d:	83 e8 04             	sub    $0x4,%eax
463210:	75 ce                	jne    0x4631e0
463212:	8b 46 18             	mov    0x18(%esi),%eax
463215:	99                   	cltd
463216:	89 07                	mov    %eax,(%edi)
463218:	89 57 04             	mov    %edx,0x4(%edi)
46321b:	eb 15                	jmp    0x463232
46321d:	8b 46 18             	mov    0x18(%esi),%eax
463220:	89 07                	mov    %eax,(%edi)
463222:	eb 0e                	jmp    0x463232
463224:	66 8b 46 18          	mov    0x18(%esi),%ax
463228:	66 89 07             	mov    %ax,(%edi)
46322b:	eb 05                	jmp    0x463232
46322d:	8a 46 18             	mov    0x18(%esi),%al
463230:	88 07                	mov    %al,(%edi)
463232:	c6 46 30 01          	movb   $0x1,0x30(%esi)
463236:	b0 01                	mov    $0x1,%al
463238:	5f                   	pop    %edi
463239:	5e                   	pop    %esi
46323a:	c3                   	ret
46323b:	8b 51 20             	mov    0x20(%ecx),%edx
46323e:	8b c2                	mov    %edx,%eax
463240:	c1 e8 05             	shr    $0x5,%eax
463243:	a8 01                	test   $0x1,%al
463245:	74 09                	je     0x463250
463247:	81 ca 80 00 00 00    	or     $0x80,%edx
46324d:	89 51 20             	mov    %edx,0x20(%ecx)
463250:	6a 00                	push   $0x0
463252:	6a 08                	push   $0x8
463254:	e8 4e e9 ff ff       	call   0x461ba7
463259:	c3                   	ret
46325a:	8b 51 20             	mov    0x20(%ecx),%edx
46325d:	8b c2                	mov    %edx,%eax
46325f:	c1 e8 05             	shr    $0x5,%eax
463262:	a8 01                	test   $0x1,%al
463264:	74 09                	je     0x46326f
463266:	81 ca 80 00 00 00    	or     $0x80,%edx
46326c:	89 51 20             	mov    %edx,0x20(%ecx)
46326f:	6a 00                	push   $0x0
463271:	6a 08                	push   $0x8
463273:	e8 7d ea ff ff       	call   0x461cf5
463278:	c3                   	ret
463279:	8b 51 20             	mov    0x20(%ecx),%edx
46327c:	8b c2                	mov    %edx,%eax
46327e:	c1 e8 05             	shr    $0x5,%eax
463281:	a8 01                	test   $0x1,%al
463283:	74 09                	je     0x46328e
463285:	81 ca 80 00 00 00    	or     $0x80,%edx
46328b:	89 51 20             	mov    %edx,0x20(%ecx)
46328e:	6a 00                	push   $0x0
463290:	6a 08                	push   $0x8
463292:	e8 e0 eb ff ff       	call   0x461e77
463297:	c3                   	ret
463298:	8b 51 20             	mov    0x20(%ecx),%edx
46329b:	8b c2                	mov    %edx,%eax
46329d:	c1 e8 05             	shr    $0x5,%eax
4632a0:	a8 01                	test   $0x1,%al
4632a2:	74 09                	je     0x4632ad
4632a4:	81 ca 80 00 00 00    	or     $0x80,%edx
4632aa:	89 51 20             	mov    %edx,0x20(%ecx)
4632ad:	6a 00                	push   $0x0
4632af:	6a 08                	push   $0x8
4632b1:	e8 0f ed ff ff       	call   0x461fc5
4632b6:	c3                   	ret
4632b7:	8b 51 20             	mov    0x20(%ecx),%edx
4632ba:	8b c2                	mov    %edx,%eax
4632bc:	c1 e8 05             	shr    $0x5,%eax
4632bf:	a8 01                	test   $0x1,%al
4632c1:	74 09                	je     0x4632cc
4632c3:	81 ca 80 00 00 00    	or     $0x80,%edx
4632c9:	89 51 20             	mov    %edx,0x20(%ecx)
4632cc:	6a 00                	push   $0x0
4632ce:	6a 08                	push   $0x8
4632d0:	e8 3e ee ff ff       	call   0x462113
4632d5:	c3                   	ret
4632d6:	8b 51 20             	mov    0x20(%ecx),%edx
4632d9:	8b c2                	mov    %edx,%eax
4632db:	c1 e8 05             	shr    $0x5,%eax
4632de:	a8 01                	test   $0x1,%al
4632e0:	74 09                	je     0x4632eb
4632e2:	81 ca 80 00 00 00    	or     $0x80,%edx
4632e8:	89 51 20             	mov    %edx,0x20(%ecx)
4632eb:	6a 00                	push   $0x0
4632ed:	6a 08                	push   $0x8
4632ef:	e8 a1 ef ff ff       	call   0x462295
4632f4:	c3                   	ret
4632f5:	8b 51 20             	mov    0x20(%ecx),%edx
4632f8:	8b c2                	mov    %edx,%eax
4632fa:	c1 e8 05             	shr    $0x5,%eax
4632fd:	a8 01                	test   $0x1,%al
4632ff:	74 09                	je     0x46330a
463301:	81 ca 80 00 00 00    	or     $0x80,%edx
463307:	89 51 20             	mov    %edx,0x20(%ecx)
46330a:	6a 00                	push   $0x0
46330c:	6a 08                	push   $0x8
46330e:	e8 d0 f0 ff ff       	call   0x4623e3
463313:	c3                   	ret
463314:	8b 51 20             	mov    0x20(%ecx),%edx
463317:	8b c2                	mov    %edx,%eax
463319:	c1 e8 05             	shr    $0x5,%eax
46331c:	a8 01                	test   $0x1,%al
46331e:	74 09                	je     0x463329
463320:	81 ca 80 00 00 00    	or     $0x80,%edx
463326:	89 51 20             	mov    %edx,0x20(%ecx)
463329:	6a 00                	push   $0x0
46332b:	6a 08                	push   $0x8
46332d:	e8 03 f2 ff ff       	call   0x462535
463332:	c3                   	ret
463333:	8b 51 20             	mov    0x20(%ecx),%edx
463336:	8b c2                	mov    %edx,%eax
463338:	c1 e8 05             	shr    $0x5,%eax
46333b:	a8 01                	test   $0x1,%al
46333d:	74 09                	je     0x463348
46333f:	81 ca 80 00 00 00    	or     $0x80,%edx
463345:	89 51 20             	mov    %edx,0x20(%ecx)
463348:	6a 00                	push   $0x0
46334a:	6a 08                	push   $0x8
46334c:	e8 6a f3 ff ff       	call   0x4626bb
463351:	c3                   	ret
463352:	8b 51 20             	mov    0x20(%ecx),%edx
463355:	8b c2                	mov    %edx,%eax
463357:	c1 e8 05             	shr    $0x5,%eax
46335a:	a8 01                	test   $0x1,%al
46335c:	74 09                	je     0x463367
46335e:	81 ca 80 00 00 00    	or     $0x80,%edx
463364:	89 51 20             	mov    %edx,0x20(%ecx)
463367:	6a 00                	push   $0x0
463369:	6a 08                	push   $0x8
46336b:	e8 9d f4 ff ff       	call   0x46280d
463370:	c3                   	ret
463371:	8b 51 20             	mov    0x20(%ecx),%edx
463374:	8b c2                	mov    %edx,%eax
463376:	c1 e8 05             	shr    $0x5,%eax
463379:	a8 01                	test   $0x1,%al
46337b:	74 09                	je     0x463386
46337d:	81 ca 80 00 00 00    	or     $0x80,%edx
463383:	89 51 20             	mov    %edx,0x20(%ecx)
463386:	6a 00                	push   $0x0
463388:	6a 08                	push   $0x8
46338a:	e8 d0 f5 ff ff       	call   0x46295f
46338f:	c3                   	ret
463390:	8b 51 20             	mov    0x20(%ecx),%edx
463393:	8b c2                	mov    %edx,%eax
463395:	c1 e8 05             	shr    $0x5,%eax
463398:	a8 01                	test   $0x1,%al
46339a:	74 09                	je     0x4633a5
46339c:	81 ca 80 00 00 00    	or     $0x80,%edx
4633a2:	89 51 20             	mov    %edx,0x20(%ecx)
4633a5:	6a 00                	push   $0x0
4633a7:	6a 08                	push   $0x8
4633a9:	e8 37 f7 ff ff       	call   0x462ae5
4633ae:	c3                   	ret
4633af:	6a 01                	push   $0x1
4633b1:	6a 10                	push   $0x10
4633b3:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
4633ba:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
4633c1:	e8 e1 e7 ff ff       	call   0x461ba7
4633c6:	c3                   	ret
4633c7:	6a 01                	push   $0x1
4633c9:	6a 10                	push   $0x10
4633cb:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
4633d2:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
4633d9:	e8 17 e9 ff ff       	call   0x461cf5
4633de:	c3                   	ret
4633df:	6a 01                	push   $0x1
4633e1:	6a 10                	push   $0x10
4633e3:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
4633ea:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
4633f1:	e8 81 ea ff ff       	call   0x461e77
4633f6:	c3                   	ret
4633f7:	6a 01                	push   $0x1
4633f9:	6a 10                	push   $0x10
4633fb:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
463402:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
463409:	e8 b7 eb ff ff       	call   0x461fc5
46340e:	c3                   	ret
46340f:	6a 01                	push   $0x1
463411:	6a 10                	push   $0x10
463413:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
46341a:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
463421:	e8 ed ec ff ff       	call   0x462113
463426:	c3                   	ret
463427:	6a 01                	push   $0x1
463429:	6a 10                	push   $0x10
46342b:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
463432:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
463439:	e8 57 ee ff ff       	call   0x462295
46343e:	c3                   	ret
46343f:	6a 01                	push   $0x1
463441:	6a 10                	push   $0x10
463443:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
46344a:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
463451:	e8 8d ef ff ff       	call   0x4623e3
463456:	c3                   	ret
463457:	6a 01                	push   $0x1
463459:	6a 10                	push   $0x10
46345b:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
463462:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
463469:	e8 c7 f0 ff ff       	call   0x462535
46346e:	c3                   	ret
46346f:	6a 01                	push   $0x1
463471:	6a 10                	push   $0x10
463473:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
46347a:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
463481:	e8 35 f2 ff ff       	call   0x4626bb
463486:	c3                   	ret
463487:	6a 01                	push   $0x1
463489:	6a 10                	push   $0x10
46348b:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
463492:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
463499:	e8 6f f3 ff ff       	call   0x46280d
46349e:	c3                   	ret
46349f:	6a 01                	push   $0x1
4634a1:	6a 10                	push   $0x10
4634a3:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
4634aa:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
4634b1:	e8 a9 f4 ff ff       	call   0x46295f
4634b6:	c3                   	ret
4634b7:	6a 01                	push   $0x1
4634b9:	6a 10                	push   $0x10
4634bb:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
4634c2:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
4634c9:	e8 17 f6 ff ff       	call   0x462ae5
4634ce:	c3                   	ret
4634cf:	8b ff                	mov    %edi,%edi
4634d1:	53                   	push   %ebx
4634d2:	56                   	push   %esi
4634d3:	8b f1                	mov    %ecx,%esi
4634d5:	57                   	push   %edi
4634d6:	83 46 14 04          	addl   $0x4,0x14(%esi)
4634da:	8b 46 14             	mov    0x14(%esi),%eax
4634dd:	8b 7e 28             	mov    0x28(%esi),%edi
4634e0:	8b 58 fc             	mov    -0x4(%eax),%ebx
4634e3:	89 5e 34             	mov    %ebx,0x34(%esi)
4634e6:	83 ff ff             	cmp    $0xffffffff,%edi
4634e9:	75 05                	jne    0x4634f0
4634eb:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
4634f0:	ff 76 2c             	push   0x2c(%esi)
4634f3:	0f b6 46 31          	movzbl 0x31(%esi),%eax
4634f7:	50                   	push   %eax
4634f8:	ff 76 04             	push   0x4(%esi)
4634fb:	ff 36                	push   (%esi)
4634fd:	e8 1d 4a ff ff       	call   0x457f1f
463502:	83 c4 10             	add    $0x10,%esp
463505:	84 c0                	test   %al,%al
463507:	74 1a                	je     0x463523
463509:	85 db                	test   %ebx,%ebx
46350b:	75 07                	jne    0x463514
46350d:	c7 46 34 14 cb 49 00 	movl   $0x49cb14,0x34(%esi)
463514:	57                   	push   %edi
463515:	ff 76 34             	push   0x34(%esi)
463518:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
46351c:	e8 8c 61 00 00       	call   0x4696ad
463521:	eb 14                	jmp    0x463537
463523:	85 db                	test   %ebx,%ebx
463525:	75 07                	jne    0x46352e
463527:	c7 46 34 24 cb 49 00 	movl   $0x49cb24,0x34(%esi)
46352e:	57                   	push   %edi
46352f:	ff 76 34             	push   0x34(%esi)
463532:	e8 18 5f 00 00       	call   0x46944f
463537:	59                   	pop    %ecx
463538:	59                   	pop    %ecx
463539:	5f                   	pop    %edi
46353a:	89 46 38             	mov    %eax,0x38(%esi)
46353d:	b0 01                	mov    $0x1,%al
46353f:	5e                   	pop    %esi
463540:	5b                   	pop    %ebx
463541:	c3                   	ret
463542:	8b ff                	mov    %edi,%edi
463544:	56                   	push   %esi
463545:	8b f1                	mov    %ecx,%esi
463547:	57                   	push   %edi
463548:	8d 7e 34             	lea    0x34(%esi),%edi
46354b:	57                   	push   %edi
46354c:	e8 26 35 ff ff       	call   0x456a77
463551:	84 c0                	test   %al,%al
463553:	74 66                	je     0x4635bb
463555:	8b ce                	mov    %esi,%ecx
463557:	e8 25 89 ff ff       	call   0x45be81
46355c:	84 c0                	test   %al,%al
46355e:	74 59                	je     0x4635b9
463560:	53                   	push   %ebx
463561:	8b 5e 28             	mov    0x28(%esi),%ebx
463564:	83 fb ff             	cmp    $0xffffffff,%ebx