421035:	5b                   	pop    %ebx
421036:	83 e9 01             	sub    $0x1,%ecx
421039:	0f 84 99 00 00 00    	je     0x4210d8
42103f:	83 e9 01             	sub    $0x1,%ecx
421042:	74 75                	je     0x4210b9
421044:	49                   	dec    %ecx
421045:	83 e9 01             	sub    $0x1,%ecx
421048:	74 46                	je     0x421090
42104a:	83 e9 04             	sub    $0x4,%ecx
42104d:	74 27                	je     0x421076
42104f:	8b 46 08             	mov    0x8(%esi),%eax
421052:	83 c0 18             	add    $0x18,%eax
421055:	c6 40 04 01          	movb   $0x1,0x4(%eax)
421059:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42105f:	ff 76 08             	push   0x8(%esi)
421062:	53                   	push   %ebx
421063:	53                   	push   %ebx
421064:	53                   	push   %ebx
421065:	53                   	push   %ebx
421066:	53                   	push   %ebx
421067:	e8 9a e8 ff ff       	call   0x41f906
42106c:	83 c4 18             	add    $0x18,%esp
42106f:	32 c0                	xor    %al,%al
421071:	e9 28 01 00 00       	jmp    0x42119e
421076:	8b 4e 10             	mov    0x10(%esi),%ecx
421079:	8b 7e 1c             	mov    0x1c(%esi),%edi
42107c:	8b c7                	mov    %edi,%eax
42107e:	c1 e8 04             	shr    $0x4,%eax
421081:	a8 01                	test   $0x1,%al
421083:	8d 41 08             	lea    0x8(%ecx),%eax
421086:	89 46 10             	mov    %eax,0x10(%esi)
421089:	8b 01                	mov    (%ecx),%eax
42108b:	8b 51 04             	mov    0x4(%ecx),%edx
42108e:	eb 66                	jmp    0x4210f6
421090:	8b 7e 1c             	mov    0x1c(%esi),%edi
421093:	8b c7                	mov    %edi,%eax
421095:	c1 e8 04             	shr    $0x4,%eax
421098:	a8 01                	test   $0x1,%al
42109a:	74 0d                	je     0x4210a9
42109c:	8b 46 10             	mov    0x10(%esi),%eax
42109f:	8d 48 04             	lea    0x4(%eax),%ecx
4210a2:	89 4e 10             	mov    %ecx,0x10(%esi)
4210a5:	8b 00                	mov    (%eax),%eax
4210a7:	eb 4c                	jmp    0x4210f5
4210a9:	8b 4e 10             	mov    0x10(%esi),%ecx
4210ac:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4210af:	8d 41 04             	lea    0x4(%ecx),%eax
4210b2:	89 46 10             	mov    %eax,0x10(%esi)
4210b5:	8b 01                	mov    (%ecx),%eax
4210b7:	eb 40                	jmp    0x4210f9
4210b9:	8b 7e 1c             	mov    0x1c(%esi),%edi
4210bc:	8b c7                	mov    %edi,%eax
4210be:	8b 4e 10             	mov    0x10(%esi),%ecx
4210c1:	c1 e8 04             	shr    $0x4,%eax
4210c4:	a8 01                	test   $0x1,%al
4210c6:	8d 41 04             	lea    0x4(%ecx),%eax
4210c9:	89 46 10             	mov    %eax,0x10(%esi)
4210cc:	74 05                	je     0x4210d3
4210ce:	0f bf 01             	movswl (%ecx),%eax
4210d1:	eb 22                	jmp    0x4210f5
4210d3:	0f b7 01             	movzwl (%ecx),%eax
4210d6:	eb 1d                	jmp    0x4210f5
4210d8:	8b 7e 1c             	mov    0x1c(%esi),%edi
4210db:	8b c7                	mov    %edi,%eax
4210dd:	8b 4e 10             	mov    0x10(%esi),%ecx
4210e0:	c1 e8 04             	shr    $0x4,%eax
4210e3:	a8 01                	test   $0x1,%al
4210e5:	8d 41 04             	lea    0x4(%ecx),%eax
4210e8:	89 46 10             	mov    %eax,0x10(%esi)
4210eb:	74 05                	je     0x4210f2
4210ed:	0f be 01             	movsbl (%ecx),%eax
4210f0:	eb 03                	jmp    0x4210f5
4210f2:	0f b6 01             	movzbl (%ecx),%eax
4210f5:	99                   	cltd
4210f6:	89 55 f8             	mov    %edx,-0x8(%ebp)
4210f9:	8b 55 f8             	mov    -0x8(%ebp),%edx
4210fc:	89 45 fc             	mov    %eax,-0x4(%ebp)
4210ff:	8b c7                	mov    %edi,%eax
421101:	8b 4d fc             	mov    -0x4(%ebp),%ecx
421104:	c1 e8 04             	shr    $0x4,%eax
421107:	a8 01                	test   $0x1,%al
421109:	74 16                	je     0x421121
42110b:	3b d3                	cmp    %ebx,%edx
42110d:	7f 12                	jg     0x421121
42110f:	7c 04                	jl     0x421115
421111:	3b cb                	cmp    %ebx,%ecx
421113:	73 0c                	jae    0x421121
421115:	f7 d9                	neg    %ecx
421117:	13 d3                	adc    %ebx,%edx
421119:	f7 da                	neg    %edx
42111b:	83 cf 40             	or     $0x40,%edi
42111e:	89 7e 1c             	mov    %edi,0x1c(%esi)
421121:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
421125:	89 55 f8             	mov    %edx,-0x8(%ebp)
421128:	89 4d fc             	mov    %ecx,-0x4(%ebp)
42112b:	7d 09                	jge    0x421136
42112d:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
421134:	eb 1a                	jmp    0x421150
421136:	ff 76 08             	push   0x8(%esi)
421139:	83 e7 f7             	and    $0xfffffff7,%edi
42113c:	8d 4e 3c             	lea    0x3c(%esi),%ecx
42113f:	ff 76 24             	push   0x24(%esi)
421142:	89 7e 1c             	mov    %edi,0x1c(%esi)
421145:	e8 0e ef ff ff       	call   0x420058
42114a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42114d:	8b 55 f8             	mov    -0x8(%ebp),%edx
421150:	8b c1                	mov    %ecx,%eax
421152:	0b c2                	or     %edx,%eax
421154:	75 04                	jne    0x42115a
421156:	83 66 1c df          	andl   $0xffffffdf,0x1c(%esi)
42115a:	83 7d f4 08          	cmpl   $0x8,-0xc(%ebp)
42115e:	ff 75 08             	push   0x8(%ebp)
421161:	88 5e 38             	mov    %bl,0x38(%esi)
421164:	75 0b                	jne    0x421171
421166:	52                   	push   %edx
421167:	51                   	push   %ecx
421168:	8b ce                	mov    %esi,%ecx
42116a:	e8 2b 07 00 00       	call   0x42189a
42116f:	eb 08                	jmp    0x421179
421171:	51                   	push   %ecx
421172:	8b ce                	mov    %esi,%ecx
421174:	e8 b7 03 00 00       	call   0x421530
421179:	8b 46 1c             	mov    0x1c(%esi),%eax
42117c:	c1 e8 07             	shr    $0x7,%eax
42117f:	a8 01                	test   $0x1,%al
421181:	74 19                	je     0x42119c
421183:	39 5e 34             	cmp    %ebx,0x34(%esi)
421186:	74 08                	je     0x421190
421188:	8b 46 30             	mov    0x30(%esi),%eax
42118b:	80 38 30             	cmpb   $0x30,(%eax)
42118e:	74 0c                	je     0x42119c
421190:	ff 4e 30             	decl   0x30(%esi)
421193:	8b 4e 30             	mov    0x30(%esi),%ecx
421196:	c6 01 30             	movb   $0x30,(%ecx)
421199:	ff 46 34             	incl   0x34(%esi)
42119c:	b0 01                	mov    $0x1,%al
42119e:	5f                   	pop    %edi
42119f:	5e                   	pop    %esi
4211a0:	5b                   	pop    %ebx
4211a1:	c9                   	leave
4211a2:	c2 04 00             	ret    $0x4
4211a5:	8b ff                	mov    %edi,%edi
4211a7:	55                   	push   %ebp
4211a8:	8b ec                	mov    %esp,%ebp
4211aa:	83 ec 0c             	sub    $0xc,%esp
4211ad:	53                   	push   %ebx
4211ae:	56                   	push   %esi
4211af:	8b f1                	mov    %ecx,%esi
4211b1:	57                   	push   %edi
4211b2:	ff 76 28             	push   0x28(%esi)
4211b5:	e8 92 1a 00 00       	call   0x422c4c
4211ba:	59                   	pop    %ecx
4211bb:	8b c8                	mov    %eax,%ecx
4211bd:	89 45 f4             	mov    %eax,-0xc(%ebp)
4211c0:	6a 00                	push   $0x0
4211c2:	5b                   	pop    %ebx
4211c3:	83 e9 01             	sub    $0x1,%ecx
4211c6:	0f 84 99 00 00 00    	je     0x421265
4211cc:	83 e9 01             	sub    $0x1,%ecx
4211cf:	74 75                	je     0x421246
4211d1:	49                   	dec    %ecx
4211d2:	83 e9 01             	sub    $0x1,%ecx
4211d5:	74 46                	je     0x42121d
4211d7:	83 e9 04             	sub    $0x4,%ecx
4211da:	74 27                	je     0x421203
4211dc:	8b 46 08             	mov    0x8(%esi),%eax
4211df:	83 c0 18             	add    $0x18,%eax
4211e2:	c6 40 04 01          	movb   $0x1,0x4(%eax)
4211e6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4211ec:	ff 76 08             	push   0x8(%esi)
4211ef:	53                   	push   %ebx
4211f0:	53                   	push   %ebx
4211f1:	53                   	push   %ebx
4211f2:	53                   	push   %ebx
4211f3:	53                   	push   %ebx
4211f4:	e8 0d e7 ff ff       	call   0x41f906
4211f9:	83 c4 18             	add    $0x18,%esp
4211fc:	32 c0                	xor    %al,%al
4211fe:	e9 2d 01 00 00       	jmp    0x421330
421203:	8b 4e 10             	mov    0x10(%esi),%ecx
421206:	8b 7e 1c             	mov    0x1c(%esi),%edi
421209:	8b c7                	mov    %edi,%eax
42120b:	c1 e8 04             	shr    $0x4,%eax
42120e:	a8 01                	test   $0x1,%al
421210:	8d 41 08             	lea    0x8(%ecx),%eax
421213:	89 46 10             	mov    %eax,0x10(%esi)
421216:	8b 01                	mov    (%ecx),%eax
421218:	8b 51 04             	mov    0x4(%ecx),%edx
42121b:	eb 66                	jmp    0x421283
42121d:	8b 7e 1c             	mov    0x1c(%esi),%edi
421220:	8b c7                	mov    %edi,%eax
421222:	c1 e8 04             	shr    $0x4,%eax
421225:	a8 01                	test   $0x1,%al
421227:	74 0d                	je     0x421236
421229:	8b 46 10             	mov    0x10(%esi),%eax
42122c:	8d 48 04             	lea    0x4(%eax),%ecx
42122f:	89 4e 10             	mov    %ecx,0x10(%esi)
421232:	8b 00                	mov    (%eax),%eax
421234:	eb 4c                	jmp    0x421282
421236:	8b 4e 10             	mov    0x10(%esi),%ecx
421239:	89 5d f8             	mov    %ebx,-0x8(%ebp)
42123c:	8d 41 04             	lea    0x4(%ecx),%eax
42123f:	89 46 10             	mov    %eax,0x10(%esi)
421242:	8b 01                	mov    (%ecx),%eax
421244:	eb 40                	jmp    0x421286
421246:	8b 7e 1c             	mov    0x1c(%esi),%edi
421249:	8b c7                	mov    %edi,%eax
42124b:	8b 4e 10             	mov    0x10(%esi),%ecx
42124e:	c1 e8 04             	shr    $0x4,%eax
421251:	a8 01                	test   $0x1,%al
421253:	8d 41 04             	lea    0x4(%ecx),%eax
421256:	89 46 10             	mov    %eax,0x10(%esi)
421259:	74 05                	je     0x421260
42125b:	0f bf 01             	movswl (%ecx),%eax
42125e:	eb 22                	jmp    0x421282
421260:	0f b7 01             	movzwl (%ecx),%eax
421263:	eb 1d                	jmp    0x421282
421265:	8b 7e 1c             	mov    0x1c(%esi),%edi
421268:	8b c7                	mov    %edi,%eax
42126a:	8b 4e 10             	mov    0x10(%esi),%ecx
42126d:	c1 e8 04             	shr    $0x4,%eax
421270:	a8 01                	test   $0x1,%al
421272:	8d 41 04             	lea    0x4(%ecx),%eax
421275:	89 46 10             	mov    %eax,0x10(%esi)
421278:	74 05                	je     0x42127f
42127a:	0f be 01             	movsbl (%ecx),%eax
42127d:	eb 03                	jmp    0x421282
42127f:	0f b6 01             	movzbl (%ecx),%eax
421282:	99                   	cltd
421283:	89 55 f8             	mov    %edx,-0x8(%ebp)
421286:	8b 55 f8             	mov    -0x8(%ebp),%edx
421289:	89 45 fc             	mov    %eax,-0x4(%ebp)
42128c:	8b c7                	mov    %edi,%eax
42128e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
421291:	c1 e8 04             	shr    $0x4,%eax
421294:	a8 01                	test   $0x1,%al
421296:	74 16                	je     0x4212ae
421298:	3b d3                	cmp    %ebx,%edx
42129a:	7f 12                	jg     0x4212ae
42129c:	7c 04                	jl     0x4212a2
42129e:	3b cb                	cmp    %ebx,%ecx
4212a0:	73 0c                	jae    0x4212ae
4212a2:	f7 d9                	neg    %ecx
4212a4:	13 d3                	adc    %ebx,%edx
4212a6:	f7 da                	neg    %edx
4212a8:	83 cf 40             	or     $0x40,%edi
4212ab:	89 7e 1c             	mov    %edi,0x1c(%esi)
4212ae:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
4212b2:	89 55 f8             	mov    %edx,-0x8(%ebp)
4212b5:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4212b8:	7d 09                	jge    0x4212c3
4212ba:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
4212c1:	eb 1a                	jmp    0x4212dd
4212c3:	ff 76 08             	push   0x8(%esi)
4212c6:	83 e7 f7             	and    $0xfffffff7,%edi
4212c9:	8d 4e 3c             	lea    0x3c(%esi),%ecx
4212cc:	ff 76 24             	push   0x24(%esi)
4212cf:	89 7e 1c             	mov    %edi,0x1c(%esi)
4212d2:	e8 02 ee ff ff       	call   0x4200d9
4212d7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4212da:	8b 55 f8             	mov    -0x8(%ebp),%edx
4212dd:	8b c1                	mov    %ecx,%eax
4212df:	0b c2                	or     %edx,%eax
4212e1:	75 04                	jne    0x4212e7
4212e3:	83 66 1c df          	andl   $0xffffffdf,0x1c(%esi)
4212e7:	83 7d f4 08          	cmpl   $0x8,-0xc(%ebp)
4212eb:	ff 75 08             	push   0x8(%ebp)
4212ee:	c6 46 38 01          	movb   $0x1,0x38(%esi)
4212f2:	75 0b                	jne    0x4212ff
4212f4:	52                   	push   %edx
4212f5:	51                   	push   %ecx
4212f6:	8b ce                	mov    %esi,%ecx
4212f8:	e8 27 06 00 00       	call   0x421924
4212fd:	eb 08                	jmp    0x421307
4212ff:	51                   	push   %ecx
421300:	8b ce                	mov    %esi,%ecx
421302:	e8 a6 02 00 00       	call   0x4215ad
421307:	8b 46 1c             	mov    0x1c(%esi),%eax
42130a:	c1 e8 07             	shr    $0x7,%eax
42130d:	a8 01                	test   $0x1,%al
42130f:	74 1d                	je     0x42132e
421311:	6a 30                	push   $0x30
421313:	5a                   	pop    %edx
421314:	39 5e 34             	cmp    %ebx,0x34(%esi)
421317:	74 08                	je     0x421321
421319:	8b 46 30             	mov    0x30(%esi),%eax
42131c:	66 39 10             	cmp    %dx,(%eax)
42131f:	74 0d                	je     0x42132e
421321:	83 46 30 fe          	addl   $0xfffffffe,0x30(%esi)
421325:	8b 4e 30             	mov    0x30(%esi),%ecx
421328:	66 89 11             	mov    %dx,(%ecx)
42132b:	ff 46 34             	incl   0x34(%esi)
42132e:	b0 01                	mov    $0x1,%al
421330:	5f                   	pop    %edi
421331:	5e                   	pop    %esi
421332:	5b                   	pop    %ebx
421333:	c9                   	leave
421334:	c2 04 00             	ret    $0x4
421337:	8b ff                	mov    %edi,%edi
421339:	55                   	push   %ebp
42133a:	8b ec                	mov    %esp,%ebp
42133c:	53                   	push   %ebx
42133d:	56                   	push   %esi
42133e:	8b f1                	mov    %ecx,%esi
421340:	57                   	push   %edi
421341:	8d 4e 3c             	lea    0x3c(%esi),%ecx
421344:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
42134a:	85 ff                	test   %edi,%edi
42134c:	75 02                	jne    0x421350
42134e:	8b f9                	mov    %ecx,%edi
421350:	e8 d2 ec ff ff       	call   0x420027
421355:	8b 55 08             	mov    0x8(%ebp),%edx
421358:	8d 48 ff             	lea    -0x1(%eax),%ecx
42135b:	03 cf                	add    %edi,%ecx
42135d:	89 4e 30             	mov    %ecx,0x30(%esi)
421360:	8b c1                	mov    %ecx,%eax
421362:	8b d9                	mov    %ecx,%ebx
421364:	8b 7e 24             	mov    0x24(%esi),%edi
421367:	85 ff                	test   %edi,%edi
421369:	7f 04                	jg     0x42136f
42136b:	85 d2                	test   %edx,%edx
42136d:	74 1b                	je     0x42138a
42136f:	8d 47 ff             	lea    -0x1(%edi),%eax
421372:	89 46 24             	mov    %eax,0x24(%esi)
421375:	8a c2                	mov    %dl,%al
421377:	24 07                	and    $0x7,%al
421379:	c1 ea 03             	shr    $0x3,%edx
42137c:	04 30                	add    $0x30,%al
42137e:	88 03                	mov    %al,(%ebx)
421380:	ff 4e 30             	decl   0x30(%esi)
421383:	8b 46 30             	mov    0x30(%esi),%eax
421386:	8b d8                	mov    %eax,%ebx
421388:	eb da                	jmp    0x421364
42138a:	2b c8                	sub    %eax,%ecx
42138c:	40                   	inc    %eax
42138d:	89 4e 34             	mov    %ecx,0x34(%esi)
421390:	5f                   	pop    %edi
421391:	89 46 30             	mov    %eax,0x30(%esi)
421394:	5e                   	pop    %esi
421395:	5b                   	pop    %ebx
421396:	5d                   	pop    %ebp
421397:	c2 08 00             	ret    $0x8
42139a:	8b ff                	mov    %edi,%edi
42139c:	55                   	push   %ebp
42139d:	8b ec                	mov    %esp,%ebp
42139f:	51                   	push   %ecx
4213a0:	51                   	push   %ecx
4213a1:	53                   	push   %ebx
4213a2:	56                   	push   %esi
4213a3:	8b f1                	mov    %ecx,%esi