4261db:	a9 c0 04 00 00       	test   $0x4c0,%eax
4261e0:	74 08                	je     0x4261ea
4261e2:	8b 41 18             	mov    0x18(%ecx),%eax
4261e5:	89 45 f4             	mov    %eax,-0xc(%ebp)
4261e8:	eb 07                	jmp    0x4261f1
4261ea:	c7 45 f4 00 10 00 00 	movl   $0x1000,-0xc(%ebp)
4261f1:	8b 45 08             	mov    0x8(%ebp),%eax
4261f4:	8b f3                	mov    %ebx,%esi
4261f6:	0f af 75 14          	imul   0x14(%ebp),%esi
4261fa:	8b d7                	mov    %edi,%edx
4261fc:	89 45 f0             	mov    %eax,-0x10(%ebp)
4261ff:	8b de                	mov    %esi,%ebx
426201:	85 f6                	test   %esi,%esi
426203:	e9 e4 00 00 00       	jmp    0x4262ec
426208:	8b 41 0c             	mov    0xc(%ecx),%eax
42620b:	90                   	nop
42620c:	a9 c0 04 00 00       	test   $0x4c0,%eax
426211:	74 47                	je     0x42625a
426213:	8b 41 08             	mov    0x8(%ecx),%eax
426216:	89 45 f8             	mov    %eax,-0x8(%ebp)
426219:	85 c0                	test   %eax,%eax
42621b:	74 3d                	je     0x42625a
42621d:	0f 88 fd 00 00 00    	js     0x426320
426223:	3b d8                	cmp    %eax,%ebx
426225:	73 05                	jae    0x42622c
426227:	8b c3                	mov    %ebx,%eax
426229:	89 5d f8             	mov    %ebx,-0x8(%ebp)
42622c:	3b c2                	cmp    %edx,%eax
42622e:	0f 87 c9 00 00 00    	ja     0x4262fd
426234:	50                   	push   %eax
426235:	ff 31                	push   (%ecx)
426237:	52                   	push   %edx
426238:	ff 75 f0             	push   -0x10(%ebp)
42623b:	e8 b5 01 00 00       	call   0x4263f5
426240:	8b 4d 18             	mov    0x18(%ebp),%ecx
426243:	83 c4 10             	add    $0x10,%esp
426246:	8b 45 f8             	mov    -0x8(%ebp),%eax
426249:	2b d8                	sub    %eax,%ebx
42624b:	8b 55 fc             	mov    -0x4(%ebp),%edx
42624e:	29 41 08             	sub    %eax,0x8(%ecx)
426251:	01 01                	add    %eax,(%ecx)
426253:	2b d0                	sub    %eax,%edx
426255:	e9 8d 00 00 00       	jmp    0x4262e7
42625a:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
42625d:	72 62                	jb     0x4262c1
42625f:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
426264:	3b d8                	cmp    %eax,%ebx
426266:	76 05                	jbe    0x42626d
426268:	89 45 f8             	mov    %eax,-0x8(%ebp)
42626b:	eb 05                	jmp    0x426272
42626d:	8b c3                	mov    %ebx,%eax
42626f:	89 5d f8             	mov    %ebx,-0x8(%ebp)
426272:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
426276:	74 0d                	je     0x426285
426278:	33 d2                	xor    %edx,%edx
42627a:	f7 75 f4             	divl   -0xc(%ebp)
42627d:	8b 45 f8             	mov    -0x8(%ebp),%eax
426280:	2b c2                	sub    %edx,%eax
426282:	8b 55 fc             	mov    -0x4(%ebp),%edx
426285:	89 45 f8             	mov    %eax,-0x8(%ebp)
426288:	3b c2                	cmp    %edx,%eax
42628a:	77 71                	ja     0x4262fd
42628c:	ff 75 f8             	push   -0x8(%ebp)
42628f:	8b 41 04             	mov    0x4(%ecx),%eax
426292:	ff 75 f0             	push   -0x10(%ebp)
426295:	83 61 08 00          	andl   $0x0,0x8(%ecx)
426299:	51                   	push   %ecx
42629a:	89 01                	mov    %eax,(%ecx)
42629c:	e8 10 71 00 00       	call   0x42d3b1
4262a1:	59                   	pop    %ecx
4262a2:	50                   	push   %eax
4262a3:	e8 b0 a0 00 00       	call   0x430358
4262a8:	83 c4 0c             	add    $0xc,%esp
4262ab:	85 c0                	test   %eax,%eax
4262ad:	0f 84 84 00 00 00    	je     0x426337
4262b3:	78 6b                	js     0x426320
4262b5:	8b 55 fc             	mov    -0x4(%ebp),%edx
4262b8:	2b d8                	sub    %eax,%ebx
4262ba:	8b 4d 18             	mov    0x18(%ebp),%ecx
4262bd:	2b d0                	sub    %eax,%edx
4262bf:	eb 26                	jmp    0x4262e7
4262c1:	51                   	push   %ecx
4262c2:	e8 ab a5 00 00       	call   0x430872
4262c7:	59                   	pop    %ecx
4262c8:	83 f8 ff             	cmp    $0xffffffff,%eax
4262cb:	74 5c                	je     0x426329
4262cd:	8b 55 fc             	mov    -0x4(%ebp),%edx
4262d0:	85 d2                	test   %edx,%edx
4262d2:	74 29                	je     0x4262fd
4262d4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4262d7:	4b                   	dec    %ebx
4262d8:	4a                   	dec    %edx
4262d9:	88 01                	mov    %al,(%ecx)
4262db:	8b 4d 18             	mov    0x18(%ebp),%ecx
4262de:	8b 41 18             	mov    0x18(%ecx),%eax
4262e1:	89 45 f4             	mov    %eax,-0xc(%ebp)
4262e4:	33 c0                	xor    %eax,%eax
4262e6:	40                   	inc    %eax
4262e7:	01 45 f0             	add    %eax,-0x10(%ebp)
4262ea:	85 db                	test   %ebx,%ebx
4262ec:	89 55 fc             	mov    %edx,-0x4(%ebp)
4262ef:	0f 85 13 ff ff ff    	jne    0x426208
4262f5:	8b 45 14             	mov    0x14(%ebp),%eax
4262f8:	e9 96 fe ff ff       	jmp    0x426193
4262fd:	83 ff ff             	cmp    $0xffffffff,%edi
426300:	74 0e                	je     0x426310
426302:	57                   	push   %edi
426303:	6a 00                	push   $0x0
426305:	ff 75 08             	push   0x8(%ebp)
426308:	e8 d3 76 ff ff       	call   0x41d9e0
42630d:	83 c4 0c             	add    $0xc,%esp
426310:	e8 2b 03 00 00       	call   0x426640
426315:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
42631b:	e9 6c fe ff ff       	jmp    0x42618c
426320:	6a 10                	push   $0x10
426322:	8b 45 ec             	mov    -0x14(%ebp),%eax
426325:	59                   	pop    %ecx
426326:	f0 09 08             	lock or %ecx,(%eax)
426329:	2b f3                	sub    %ebx,%esi
42632b:	33 d2                	xor    %edx,%edx
42632d:	8b c6                	mov    %esi,%eax
42632f:	f7 75 10             	divl   0x10(%ebp)
426332:	e9 5c fe ff ff       	jmp    0x426193
426337:	6a 08                	push   $0x8
426339:	eb e7                	jmp    0x426322
42633b:	8b ff                	mov    %edi,%edi
42633d:	55                   	push   %ebp
42633e:	8b ec                	mov    %esp,%ebp
426340:	ff 75 14             	push   0x14(%ebp)
426343:	ff 75 10             	push   0x10(%ebp)
426346:	ff 75 0c             	push   0xc(%ebp)
426349:	6a ff                	push   $0xffffffff
42634b:	ff 75 08             	push   0x8(%ebp)
42634e:	e8 05 00 00 00       	call   0x426358
426353:	83 c4 14             	add    $0x14,%esp
426356:	5d                   	pop    %ebp
426357:	c3                   	ret
426358:	6a 0c                	push   $0xc
42635a:	68 e8 22 45 00       	push   $0x4522e8
42635f:	e8 6c 65 ff ff       	call   0x41c8d0
426364:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
426368:	74 32                	je     0x42639c
42636a:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
42636e:	74 2c                	je     0x42639c
426370:	8b 75 18             	mov    0x18(%ebp),%esi
426373:	85 f6                	test   %esi,%esi
426375:	75 37                	jne    0x4263ae
426377:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
42637b:	74 0f                	je     0x42638c
42637d:	ff 75 0c             	push   0xc(%ebp)
426380:	56                   	push   %esi
426381:	ff 75 08             	push   0x8(%ebp)
426384:	e8 57 76 ff ff       	call   0x41d9e0
426389:	83 c4 0c             	add    $0xc,%esp
42638c:	e8 af 02 00 00       	call   0x426640
426391:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
426397:	e8 d3 a6 ff ff       	call   0x420a6f
42639c:	33 c0                	xor    %eax,%eax
42639e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4263a1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4263a8:	59                   	pop    %ecx
4263a9:	5f                   	pop    %edi
4263aa:	5e                   	pop    %esi
4263ab:	5b                   	pop    %ebx
4263ac:	c9                   	leave
4263ad:	c3                   	ret
4263ae:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4263b2:	56                   	push   %esi
4263b3:	e8 24 1b 00 00       	call   0x427edc
4263b8:	59                   	pop    %ecx
4263b9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4263bd:	56                   	push   %esi
4263be:	ff 75 14             	push   0x14(%ebp)
4263c1:	ff 75 10             	push   0x10(%ebp)
4263c4:	ff 75 0c             	push   0xc(%ebp)
4263c7:	ff 75 08             	push   0x8(%ebp)
4263ca:	e8 93 fd ff ff       	call   0x426162
4263cf:	83 c4 14             	add    $0x14,%esp
4263d2:	8b f8                	mov    %eax,%edi
4263d4:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4263d7:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4263de:	e8 0a 00 00 00       	call   0x4263ed
4263e3:	8b c7                	mov    %edi,%eax
4263e5:	eb b7                	jmp    0x42639e
4263e7:	8b 75 18             	mov    0x18(%ebp),%esi
4263ea:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4263ed:	56                   	push   %esi
4263ee:	e8 fd 1a 00 00       	call   0x427ef0
4263f3:	59                   	pop    %ecx
4263f4:	c3                   	ret
4263f5:	8b ff                	mov    %edi,%edi
4263f7:	55                   	push   %ebp
4263f8:	8b ec                	mov    %esp,%ebp
4263fa:	56                   	push   %esi
4263fb:	8b 75 14             	mov    0x14(%ebp),%esi
4263fe:	85 f6                	test   %esi,%esi
426400:	75 04                	jne    0x426406
426402:	33 c0                	xor    %eax,%eax
426404:	eb 6d                	jmp    0x426473
426406:	8b 45 08             	mov    0x8(%ebp),%eax
426409:	85 c0                	test   %eax,%eax
42640b:	75 13                	jne    0x426420
42640d:	e8 2e 02 00 00       	call   0x426640
426412:	6a 16                	push   $0x16
426414:	5e                   	pop    %esi
426415:	89 30                	mov    %esi,(%eax)
426417:	e8 53 a6 ff ff       	call   0x420a6f
42641c:	8b c6                	mov    %esi,%eax
42641e:	eb 53                	jmp    0x426473
426420:	57                   	push   %edi
426421:	8b 7d 10             	mov    0x10(%ebp),%edi
426424:	85 ff                	test   %edi,%edi
426426:	74 14                	je     0x42643c
426428:	39 75 0c             	cmp    %esi,0xc(%ebp)
42642b:	72 0f                	jb     0x42643c
42642d:	56                   	push   %esi
42642e:	57                   	push   %edi
42642f:	50                   	push   %eax
426430:	e8 1b 70 ff ff       	call   0x41d450
426435:	83 c4 0c             	add    $0xc,%esp
426438:	33 c0                	xor    %eax,%eax
42643a:	eb 36                	jmp    0x426472
42643c:	ff 75 0c             	push   0xc(%ebp)
42643f:	6a 00                	push   $0x0
426441:	50                   	push   %eax
426442:	e8 99 75 ff ff       	call   0x41d9e0
426447:	83 c4 0c             	add    $0xc,%esp
42644a:	85 ff                	test   %edi,%edi
42644c:	75 09                	jne    0x426457
42644e:	e8 ed 01 00 00       	call   0x426640
426453:	6a 16                	push   $0x16
426455:	eb 0c                	jmp    0x426463
426457:	39 75 0c             	cmp    %esi,0xc(%ebp)
42645a:	73 13                	jae    0x42646f
42645c:	e8 df 01 00 00       	call   0x426640
426461:	6a 22                	push   $0x22
426463:	5e                   	pop    %esi
426464:	89 30                	mov    %esi,(%eax)
426466:	e8 04 a6 ff ff       	call   0x420a6f
42646b:	8b c6                	mov    %esi,%eax
42646d:	eb 03                	jmp    0x426472
42646f:	6a 16                	push   $0x16
426471:	58                   	pop    %eax
426472:	5f                   	pop    %edi
426473:	5e                   	pop    %esi
426474:	5d                   	pop    %ebp
426475:	c3                   	ret
426476:	8b ff                	mov    %edi,%edi
426478:	55                   	push   %ebp
426479:	8b ec                	mov    %esp,%ebp
42647b:	8b 55 08             	mov    0x8(%ebp),%edx
42647e:	56                   	push   %esi
42647f:	57                   	push   %edi
426480:	85 d2                	test   %edx,%edx
426482:	74 13                	je     0x426497
426484:	8b 4d 0c             	mov    0xc(%ebp),%ecx
426487:	85 c9                	test   %ecx,%ecx
426489:	74 0c                	je     0x426497
42648b:	8b 75 10             	mov    0x10(%ebp),%esi
42648e:	85 f6                	test   %esi,%esi
426490:	75 1a                	jne    0x4264ac
426492:	33 c0                	xor    %eax,%eax
426494:	66 89 02             	mov    %ax,(%edx)
426497:	e8 a4 01 00 00       	call   0x426640
42649c:	6a 16                	push   $0x16
42649e:	5e                   	pop    %esi
42649f:	89 30                	mov    %esi,(%eax)
4264a1:	e8 c9 a5 ff ff       	call   0x420a6f
4264a6:	5f                   	pop    %edi
4264a7:	8b c6                	mov    %esi,%eax
4264a9:	5e                   	pop    %esi
4264aa:	5d                   	pop    %ebp
4264ab:	c3                   	ret
4264ac:	8b fa                	mov    %edx,%edi
4264ae:	2b f2                	sub    %edx,%esi
4264b0:	0f b7 04 3e          	movzwl (%esi,%edi,1),%eax
4264b4:	66 89 07             	mov    %ax,(%edi)
4264b7:	8d 7f 02             	lea    0x2(%edi),%edi
4264ba:	66 85 c0             	test   %ax,%ax
4264bd:	74 17                	je     0x4264d6
4264bf:	83 e9 01             	sub    $0x1,%ecx
4264c2:	75 ec                	jne    0x4264b0
4264c4:	85 c9                	test   %ecx,%ecx
4264c6:	75 0e                	jne    0x4264d6
4264c8:	33 c0                	xor    %eax,%eax
4264ca:	66 89 02             	mov    %ax,(%edx)
4264cd:	e8 6e 01 00 00       	call   0x426640
4264d2:	6a 22                	push   $0x22
4264d4:	eb c8                	jmp    0x42649e
4264d6:	33 f6                	xor    %esi,%esi
4264d8:	eb cc                	jmp    0x4264a6
4264da:	8b ff                	mov    %edi,%edi
4264dc:	55                   	push   %ebp
4264dd:	8b ec                	mov    %esp,%ebp
4264df:	8b 55 08             	mov    0x8(%ebp),%edx
4264e2:	53                   	push   %ebx
4264e3:	56                   	push   %esi
4264e4:	57                   	push   %edi
4264e5:	85 d2                	test   %edx,%edx
4264e7:	74 13                	je     0x4264fc
4264e9:	8b 7d 0c             	mov    0xc(%ebp),%edi
4264ec:	85 ff                	test   %edi,%edi
4264ee:	74 0c                	je     0x4264fc
4264f0:	8b 5d 10             	mov    0x10(%ebp),%ebx
4264f3:	85 db                	test   %ebx,%ebx
4264f5:	75 1b                	jne    0x426512
4264f7:	33 c0                	xor    %eax,%eax
4264f9:	66 89 02             	mov    %ax,(%edx)
4264fc:	e8 3f 01 00 00       	call   0x426640
426501:	6a 16                	push   $0x16
426503:	5e                   	pop    %esi
426504:	89 30                	mov    %esi,(%eax)
426506:	e8 64 a5 ff ff       	call   0x420a6f
42650b:	5f                   	pop    %edi
42650c:	8b c6                	mov    %esi,%eax
42650e:	5e                   	pop    %esi
42650f:	5b                   	pop    %ebx
426510:	5d                   	pop    %ebp
426511:	c3                   	ret
426512:	8b ca                	mov    %edx,%ecx
426514:	33 f6                	xor    %esi,%esi
426516:	66 39 31             	cmp    %si,(%ecx)
426519:	74 0a                	je     0x426525
42651b:	83 c1 02             	add    $0x2,%ecx
42651e:	83 ef 01             	sub    $0x1,%edi
426521:	75 f3                	jne    0x426516
426523:	eb d2                	jmp    0x4264f7
426525:	2b d9                	sub    %ecx,%ebx
426527:	0f b7 04 0b          	movzwl (%ebx,%ecx,1),%eax
42652b:	66 89 01             	mov    %ax,(%ecx)
42652e:	8d 49 02             	lea    0x2(%ecx),%ecx
426531:	66 85 c0             	test   %ax,%ax
426534:	74 d5                	je     0x42650b
426536:	83 ef 01             	sub    $0x1,%edi
426539:	75 ec                	jne    0x426527
42653b:	33 c0                	xor    %eax,%eax
42653d:	66 89 02             	mov    %ax,(%edx)
426540:	e8 fb 00 00 00       	call   0x426640
426545:	6a 22                	push   $0x22
426547:	eb ba                	jmp    0x426503
426549:	8b ff                	mov    %edi,%edi
42654b:	55                   	push   %ebp
42654c:	8b ec                	mov    %esp,%ebp
42654e:	8b 55 08             	mov    0x8(%ebp),%edx
426551:	56                   	push   %esi
426552:	57                   	push   %edi
426553:	85 d2                	test   %edx,%edx
426555:	74 11                	je     0x426568
426557:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42655a:	85 c9                	test   %ecx,%ecx