41020c:	75 07                	jne    0x410215
41020e:	b8 02 00 00 00       	mov    $0x2,%eax
410213:	eb 16                	jmp    0x41022b
410215:	33 c0                	xor    %eax,%eax
410217:	eb 12                	jmp    0x41022b
410219:	83 3c 24 04          	cmpl   $0x4,(%esp)
41021d:	75 07                	jne    0x410226
41021f:	b8 03 00 00 00       	mov    $0x3,%eax
410224:	eb 05                	jmp    0x41022b
410226:	b8 01 00 00 00       	mov    $0x1,%eax
41022b:	5a                   	pop    %edx
41022c:	5e                   	pop    %esi
41022d:	5b                   	pop    %ebx
41022e:	c3                   	ret
41022f:	90                   	nop
410230:	53                   	push   %ebx
410231:	56                   	push   %esi
410232:	57                   	push   %edi
410233:	51                   	push   %ecx
410234:	89 14 24             	mov    %edx,(%esp)
410237:	8b d8                	mov    %eax,%ebx
410239:	33 f6                	xor    %esi,%esi
41023b:	81 7b 6c 06 01 00 00 	cmpl   $0x106,0x6c(%ebx)
410242:	73 26                	jae    0x41026a
410244:	8b c3                	mov    %ebx,%eax
410246:	e8 79 fd ff ff       	call   0x40ffc4
41024b:	8b 43 6c             	mov    0x6c(%ebx),%eax
41024e:	3d 06 01 00 00       	cmp    $0x106,%eax
410253:	73 0d                	jae    0x410262
410255:	83 3c 24 00          	cmpl   $0x0,(%esp)
410259:	75 07                	jne    0x410262
41025b:	33 c0                	xor    %eax,%eax
41025d:	e9 95 02 00 00       	jmp    0x4104f7
410262:	85 c0                	test   %eax,%eax
410264:	0f 84 2d 02 00 00    	je     0x410497
41026a:	83 7b 6c 03          	cmpl   $0x3,0x6c(%ebx)
41026e:	72 3d                	jb     0x4102ad
410270:	8b 4b 50             	mov    0x50(%ebx),%ecx
410273:	8b 43 40             	mov    0x40(%ebx),%eax
410276:	d3 e0                	shl    %cl,%eax
410278:	8b 53 30             	mov    0x30(%ebx),%edx
41027b:	8b 4b 64             	mov    0x64(%ebx),%ecx
41027e:	0f b6 54 0a 02       	movzbl 0x2(%edx,%ecx,1),%edx
410283:	33 c2                	xor    %edx,%eax
410285:	23 43 4c             	and    0x4c(%ebx),%eax
410288:	89 43 40             	mov    %eax,0x40(%ebx)
41028b:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
41028e:	0f b7 34 41          	movzwl (%ecx,%eax,2),%esi
410292:	8b 43 64             	mov    0x64(%ebx),%eax
410295:	23 43 2c             	and    0x2c(%ebx),%eax
410298:	8b 53 38             	mov    0x38(%ebx),%edx
41029b:	66 89 34 42          	mov    %si,(%edx,%eax,2)
41029f:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
4102a2:	8b 43 40             	mov    0x40(%ebx),%eax
4102a5:	66 8b 53 64          	mov    0x64(%ebx),%dx
4102a9:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
4102ad:	85 f6                	test   %esi,%esi
4102af:	74 26                	je     0x4102d7
4102b1:	8b 4b 64             	mov    0x64(%ebx),%ecx
4102b4:	8b 43 24             	mov    0x24(%ebx),%eax
4102b7:	2d 06 01 00 00       	sub    $0x106,%eax
4102bc:	2b ce                	sub    %esi,%ecx
4102be:	3b c8                	cmp    %eax,%ecx
4102c0:	77 15                	ja     0x4102d7
4102c2:	83 bb 80 00 00 00 02 	cmpl   $0x2,0x80(%ebx)
4102c9:	74 0c                	je     0x4102d7
4102cb:	8b d6                	mov    %esi,%edx
4102cd:	8b c3                	mov    %ebx,%eax
4102cf:	e8 78 fb ff ff       	call   0x40fe4c
4102d4:	89 43 58             	mov    %eax,0x58(%ebx)
4102d7:	83 7b 58 03          	cmpl   $0x3,0x58(%ebx)
4102db:	0f 82 1c 01 00 00    	jb     0x4103fd
4102e1:	66 8b 43 64          	mov    0x64(%ebx),%ax
4102e5:	8b 8b 9c 16 00 00    	mov    0x169c(%ebx),%ecx
4102eb:	66 2b 43 68          	sub    0x68(%ebx),%ax
4102ef:	8b bb 98 16 00 00    	mov    0x1698(%ebx),%edi
4102f5:	8a 53 58             	mov    0x58(%ebx),%dl
4102f8:	66 89 04 79          	mov    %ax,(%ecx,%edi,2)
4102fc:	80 ea 03             	sub    $0x3,%dl
4102ff:	8b 8b 98 16 00 00    	mov    0x1698(%ebx),%ecx
410305:	48                   	dec    %eax
410306:	ff 83 98 16 00 00    	incl   0x1698(%ebx)
41030c:	8b bb 90 16 00 00    	mov    0x1690(%ebx),%edi
410312:	88 14 0f             	mov    %dl,(%edi,%ecx,1)
410315:	81 e2 ff 00 00 00    	and    $0xff,%edx
41031b:	33 c9                	xor    %ecx,%ecx
41031d:	8a 8a b8 6d 42 00    	mov    0x426db8(%edx),%cl
410323:	66 ff 84 8b 90 04 00 	incw   0x490(%ebx,%ecx,4)
41032a:	00
41032b:	66 3d 00 01          	cmp    $0x100,%ax
41032f:	73 0b                	jae    0x41033c
410331:	0f b7 d0             	movzwl %ax,%edx
410334:	8a 8a b8 6b 42 00    	mov    0x426bb8(%edx),%cl
41033a:	eb 0c                	jmp    0x410348
41033c:	0f b7 c0             	movzwl %ax,%eax
41033f:	c1 f8 07             	sar    $0x7,%eax
410342:	8a 88 b8 6c 42 00    	mov    0x426cb8(%eax),%cl
410348:	33 c0                	xor    %eax,%eax
41034a:	8a c1                	mov    %cl,%al
41034c:	66 ff 84 83 80 09 00 	incw   0x980(%ebx,%eax,4)
410353:	00
410354:	8b 93 94 16 00 00    	mov    0x1694(%ebx),%edx
41035a:	4a                   	dec    %edx
41035b:	3b 93 98 16 00 00    	cmp    0x1698(%ebx),%edx
410361:	0f 94 c0             	sete   %al
410364:	83 e0 01             	and    $0x1,%eax
410367:	8b 53 58             	mov    0x58(%ebx),%edx
41036a:	29 53 6c             	sub    %edx,0x6c(%ebx)
41036d:	8b 4b 58             	mov    0x58(%ebx),%ecx
410370:	3b 4b 78             	cmp    0x78(%ebx),%ecx
410373:	77 56                	ja     0x4103cb
410375:	83 7b 6c 03          	cmpl   $0x3,0x6c(%ebx)
410379:	72 50                	jb     0x4103cb
41037b:	ff 4b 58             	decl   0x58(%ebx)
41037e:	ff 43 64             	incl   0x64(%ebx)
410381:	8b 4b 50             	mov    0x50(%ebx),%ecx
410384:	8b 53 40             	mov    0x40(%ebx),%edx
410387:	d3 e2                	shl    %cl,%edx
410389:	8b 4b 30             	mov    0x30(%ebx),%ecx
41038c:	8b 73 64             	mov    0x64(%ebx),%esi
41038f:	0f b6 4c 31 02       	movzbl 0x2(%ecx,%esi,1),%ecx
410394:	33 d1                	xor    %ecx,%edx
410396:	23 53 4c             	and    0x4c(%ebx),%edx
410399:	89 53 40             	mov    %edx,0x40(%ebx)
41039c:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
41039f:	0f b7 34 51          	movzwl (%ecx,%edx,2),%esi
4103a3:	8b 53 64             	mov    0x64(%ebx),%edx
4103a6:	23 53 2c             	and    0x2c(%ebx),%edx
4103a9:	8b 4b 38             	mov    0x38(%ebx),%ecx
4103ac:	66 89 34 51          	mov    %si,(%ecx,%edx,2)
4103b0:	8b 53 3c             	mov    0x3c(%ebx),%edx
4103b3:	8b 4b 40             	mov    0x40(%ebx),%ecx
4103b6:	66 8b 7b 64          	mov    0x64(%ebx),%di
4103ba:	66 89 3c 4a          	mov    %di,(%edx,%ecx,2)
4103be:	ff 4b 58             	decl   0x58(%ebx)
4103c1:	75 bb                	jne    0x41037e
4103c3:	ff 43 64             	incl   0x64(%ebx)
4103c6:	e9 88 00 00 00       	jmp    0x410453
4103cb:	8b 53 58             	mov    0x58(%ebx),%edx
4103ce:	33 c9                	xor    %ecx,%ecx
4103d0:	01 53 64             	add    %edx,0x64(%ebx)
4103d3:	89 4b 58             	mov    %ecx,0x58(%ebx)
4103d6:	8b 4b 64             	mov    0x64(%ebx),%ecx
4103d9:	8b 53 30             	mov    0x30(%ebx),%edx
4103dc:	0f b6 14 0a          	movzbl (%edx,%ecx,1),%edx
4103e0:	89 53 40             	mov    %edx,0x40(%ebx)
4103e3:	8b 4b 50             	mov    0x50(%ebx),%ecx
4103e6:	8b 7b 64             	mov    0x64(%ebx),%edi
4103e9:	d3 e2                	shl    %cl,%edx
4103eb:	8b 4b 30             	mov    0x30(%ebx),%ecx
4103ee:	0f b6 4c 39 01       	movzbl 0x1(%ecx,%edi,1),%ecx
4103f3:	33 d1                	xor    %ecx,%edx
4103f5:	23 53 4c             	and    0x4c(%ebx),%edx
4103f8:	89 53 40             	mov    %edx,0x40(%ebx)
4103fb:	eb 56                	jmp    0x410453
4103fd:	8b 43 30             	mov    0x30(%ebx),%eax
410400:	8b 53 64             	mov    0x64(%ebx),%edx
410403:	8a 04 10             	mov    (%eax,%edx,1),%al
410406:	8b 93 9c 16 00 00    	mov    0x169c(%ebx),%edx
41040c:	8b 8b 98 16 00 00    	mov    0x1698(%ebx),%ecx
410412:	66 c7 04 4a 00 00    	movw   $0x0,(%edx,%ecx,2)
410418:	8b 93 98 16 00 00    	mov    0x1698(%ebx),%edx
41041e:	ff 83 98 16 00 00    	incl   0x1698(%ebx)
410424:	8b 8b 90 16 00 00    	mov    0x1690(%ebx),%ecx
41042a:	88 04 11             	mov    %al,(%ecx,%edx,1)
41042d:	25 ff 00 00 00       	and    $0xff,%eax
410432:	66 ff 84 83 8c 00 00 	incw   0x8c(%ebx,%eax,4)
410439:	00
41043a:	8b 83 94 16 00 00    	mov    0x1694(%ebx),%eax
410440:	48                   	dec    %eax
410441:	3b 83 98 16 00 00    	cmp    0x1698(%ebx),%eax
410447:	0f 94 c0             	sete   %al
41044a:	83 e0 01             	and    $0x1,%eax
41044d:	ff 4b 6c             	decl   0x6c(%ebx)
410450:	ff 43 64             	incl   0x64(%ebx)
410453:	85 c0                	test   %eax,%eax
410455:	0f 84 e0 fd ff ff    	je     0x41023b
41045b:	6a 00                	push   $0x0
41045d:	8b 4b 64             	mov    0x64(%ebx),%ecx
410460:	2b 4b 54             	sub    0x54(%ebx),%ecx
410463:	83 7b 54 00          	cmpl   $0x0,0x54(%ebx)
410467:	7c 08                	jl     0x410471
410469:	8b 53 30             	mov    0x30(%ebx),%edx
41046c:	03 53 54             	add    0x54(%ebx),%edx
41046f:	eb 02                	jmp    0x410473
410471:	33 d2                	xor    %edx,%edx
410473:	8b c3                	mov    %ebx,%eax
410475:	e8 0e 19 00 00       	call   0x411d88
41047a:	8b 4b 64             	mov    0x64(%ebx),%ecx
41047d:	89 4b 54             	mov    %ecx,0x54(%ebx)
410480:	8b 03                	mov    (%ebx),%eax
410482:	e8 c9 f3 ff ff       	call   0x40f850
410487:	8b 13                	mov    (%ebx),%edx
410489:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
41048d:	0f 85 a8 fd ff ff    	jne    0x41023b
410493:	33 c0                	xor    %eax,%eax
410495:	eb 60                	jmp    0x4104f7
410497:	83 3c 24 04          	cmpl   $0x4,(%esp)
41049b:	0f 94 c2             	sete   %dl
41049e:	83 e2 01             	and    $0x1,%edx
4104a1:	52                   	push   %edx
4104a2:	8b 4b 64             	mov    0x64(%ebx),%ecx
4104a5:	2b 4b 54             	sub    0x54(%ebx),%ecx
4104a8:	83 7b 54 00          	cmpl   $0x0,0x54(%ebx)
4104ac:	7c 08                	jl     0x4104b6
4104ae:	8b 53 30             	mov    0x30(%ebx),%edx
4104b1:	03 53 54             	add    0x54(%ebx),%edx
4104b4:	eb 02                	jmp    0x4104b8
4104b6:	33 d2                	xor    %edx,%edx
4104b8:	8b c3                	mov    %ebx,%eax
4104ba:	e8 c9 18 00 00       	call   0x411d88
4104bf:	8b 4b 64             	mov    0x64(%ebx),%ecx
4104c2:	89 4b 54             	mov    %ecx,0x54(%ebx)
4104c5:	8b 03                	mov    (%ebx),%eax
4104c7:	e8 84 f3 ff ff       	call   0x40f850
4104cc:	8b 13                	mov    (%ebx),%edx
4104ce:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
4104d2:	75 11                	jne    0x4104e5
4104d4:	83 3c 24 04          	cmpl   $0x4,(%esp)
4104d8:	75 07                	jne    0x4104e1
4104da:	b8 02 00 00 00       	mov    $0x2,%eax
4104df:	eb 16                	jmp    0x4104f7
4104e1:	33 c0                	xor    %eax,%eax
4104e3:	eb 12                	jmp    0x4104f7
4104e5:	83 3c 24 04          	cmpl   $0x4,(%esp)
4104e9:	75 07                	jne    0x4104f2
4104eb:	b8 03 00 00 00       	mov    $0x3,%eax
4104f0:	eb 05                	jmp    0x4104f7
4104f2:	b8 01 00 00 00       	mov    $0x1,%eax
4104f7:	5a                   	pop    %edx
4104f8:	5f                   	pop    %edi
4104f9:	5e                   	pop    %esi
4104fa:	5b                   	pop    %ebx
4104fb:	c3                   	ret
4104fc:	53                   	push   %ebx
4104fd:	56                   	push   %esi
4104fe:	57                   	push   %edi
4104ff:	83 c4 f8             	add    $0xfffffff8,%esp
410502:	33 f6                	xor    %esi,%esi
410504:	8b d8                	mov    %eax,%ebx
410506:	89 14 24             	mov    %edx,(%esp)
410509:	81 7b 6c 06 01 00 00 	cmpl   $0x106,0x6c(%ebx)
410510:	73 26                	jae    0x410538
410512:	8b c3                	mov    %ebx,%eax
410514:	e8 ab fa ff ff       	call   0x40ffc4
410519:	8b 43 6c             	mov    0x6c(%ebx),%eax
41051c:	3d 06 01 00 00       	cmp    $0x106,%eax
410521:	73 0d                	jae    0x410530
410523:	83 3c 24 00          	cmpl   $0x0,(%esp)
410527:	75 07                	jne    0x410530
410529:	33 c0                	xor    %eax,%eax
41052b:	e9 8c 03 00 00       	jmp    0x4108bc
410530:	85 c0                	test   %eax,%eax
410532:	0f 84 c8 02 00 00    	je     0x410800
410538:	83 7b 6c 03          	cmpl   $0x3,0x6c(%ebx)
41053c:	72 3d                	jb     0x41057b
41053e:	8b 4b 50             	mov    0x50(%ebx),%ecx
410541:	8b 43 40             	mov    0x40(%ebx),%eax
410544:	d3 e0                	shl    %cl,%eax
410546:	8b 53 30             	mov    0x30(%ebx),%edx
410549:	8b 4b 64             	mov    0x64(%ebx),%ecx
41054c:	0f b6 54 0a 02       	movzbl 0x2(%edx,%ecx,1),%edx
410551:	33 c2                	xor    %edx,%eax
410553:	23 43 4c             	and    0x4c(%ebx),%eax
410556:	89 43 40             	mov    %eax,0x40(%ebx)
410559:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
41055c:	0f b7 34 41          	movzwl (%ecx,%eax,2),%esi
410560:	8b 43 64             	mov    0x64(%ebx),%eax
410563:	23 43 2c             	and    0x2c(%ebx),%eax
410566:	8b 53 38             	mov    0x38(%ebx),%edx
410569:	66 89 34 42          	mov    %si,(%edx,%eax,2)
41056d:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
410570:	8b 43 40             	mov    0x40(%ebx),%eax
410573:	66 8b 53 64          	mov    0x64(%ebx),%dx
410577:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
41057b:	8b 4b 58             	mov    0x58(%ebx),%ecx
41057e:	89 4b 70             	mov    %ecx,0x70(%ebx)
410581:	8b 43 68             	mov    0x68(%ebx),%eax
410584:	89 43 5c             	mov    %eax,0x5c(%ebx)
410587:	c7 43 58 02 00 00 00 	movl   $0x2,0x58(%ebx)
41058e:	85 f6                	test   %esi,%esi
410590:	74 58                	je     0x4105ea
410592:	8b 53 70             	mov    0x70(%ebx),%edx
410595:	3b 53 78             	cmp    0x78(%ebx),%edx
410598:	73 50                	jae    0x4105ea
41059a:	8b 4b 64             	mov    0x64(%ebx),%ecx
41059d:	8b 43 24             	mov    0x24(%ebx),%eax
4105a0:	2d 06 01 00 00       	sub    $0x106,%eax
4105a5:	2b ce                	sub    %esi,%ecx
4105a7:	3b c8                	cmp    %eax,%ecx
4105a9:	77 3f                	ja     0x4105ea
4105ab:	83 bb 80 00 00 00 02 	cmpl   $0x2,0x80(%ebx)
4105b2:	74 0c                	je     0x4105c0
4105b4:	8b d6                	mov    %esi,%edx
4105b6:	8b c3                	mov    %ebx,%eax
4105b8:	e8 8f f8 ff ff       	call   0x40fe4c
4105bd:	89 43 58             	mov    %eax,0x58(%ebx)
4105c0:	83 7b 58 05          	cmpl   $0x5,0x58(%ebx)
4105c4:	77 24                	ja     0x4105ea
4105c6:	83 bb 80 00 00 00 01 	cmpl   $0x1,0x80(%ebx)
4105cd:	74 14                	je     0x4105e3
4105cf:	83 7b 58 03          	cmpl   $0x3,0x58(%ebx)
4105d3:	75 15                	jne    0x4105ea
4105d5:	8b 53 64             	mov    0x64(%ebx),%edx
4105d8:	2b 53 68             	sub    0x68(%ebx),%edx
4105db:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4105e1:	76 07                	jbe    0x4105ea
4105e3:	c7 43 58 02 00 00 00 	movl   $0x2,0x58(%ebx)
4105ea:	8b 43 70             	mov    0x70(%ebx),%eax
4105ed:	83 f8 03             	cmp    $0x3,%eax
4105f0:	0f 82 54 01 00 00    	jb     0x41074a
4105f6:	3b 43 58             	cmp    0x58(%ebx),%eax
4105f9:	0f 82 4b 01 00 00    	jb     0x41074a
4105ff:	8b 53 64             	mov    0x64(%ebx),%edx
410602:	03 53 6c             	add    0x6c(%ebx),%edx
410605:	83 ea 03             	sub    $0x3,%edx
410608:	89 54 24 04          	mov    %edx,0x4(%esp)
41060c:	66 8b 43 64          	mov    0x64(%ebx),%ax
410610:	8b 8b 9c 16 00 00    	mov    0x169c(%ebx),%ecx
410616:	48                   	dec    %eax
410617:	8b bb 98 16 00 00    	mov    0x1698(%ebx),%edi
41061d:	66 2b 43 5c          	sub    0x5c(%ebx),%ax
410621:	8a 53 70             	mov    0x70(%ebx),%dl
410624:	66 89 04 79          	mov    %ax,(%ecx,%edi,2)
410628:	80 ea 03             	sub    $0x3,%dl
41062b:	8b 8b 98 16 00 00    	mov    0x1698(%ebx),%ecx
410631:	48                   	dec    %eax
410632:	ff 83 98 16 00 00    	incl   0x1698(%ebx)
410638:	8b bb 90 16 00 00    	mov    0x1690(%ebx),%edi
41063e:	88 14 0f             	mov    %dl,(%edi,%ecx,1)
410641:	81 e2 ff 00 00 00    	and    $0xff,%edx
410647:	33 c9                	xor    %ecx,%ecx
410649:	8a 8a b8 6d 42 00    	mov    0x426db8(%edx),%cl
41064f:	66 ff 84 8b 90 04 00 	incw   0x490(%ebx,%ecx,4)
410656:	00
410657:	66 3d 00 01          	cmp    $0x100,%ax
41065b:	73 0b                	jae    0x410668
41065d:	0f b7 d0             	movzwl %ax,%edx
410660:	8a 8a b8 6b 42 00    	mov    0x426bb8(%edx),%cl
410666:	eb 0c                	jmp    0x410674
410668:	0f b7 c0             	movzwl %ax,%eax
41066b:	c1 f8 07             	sar    $0x7,%eax
41066e:	8a 88 b8 6c 42 00    	mov    0x426cb8(%eax),%cl
410674:	33 c0                	xor    %eax,%eax
410676:	8a c1                	mov    %cl,%al
410678:	66 ff 84 83 80 09 00 	incw   0x980(%ebx,%eax,4)
41067f:	00
410680:	8b 93 94 16 00 00    	mov    0x1694(%ebx),%edx
410686:	4a                   	dec    %edx
410687:	3b 93 98 16 00 00    	cmp    0x1698(%ebx),%edx