4242e4:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4242e8:	56                   	push   %esi
4242e9:	e8 fe fc ff ff       	call   0x423fec
4242ee:	59                   	pop    %ecx
4242ef:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4242f3:	56                   	push   %esi
4242f4:	ff 75 14             	push   0x14(%ebp)
4242f7:	ff 75 10             	push   0x10(%ebp)
4242fa:	ff 75 0c             	push   0xc(%ebp)
4242fd:	ff 75 08             	push   0x8(%ebp)
424300:	e8 93 fd ff ff       	call   0x424098
424305:	83 c4 14             	add    $0x14,%esp
424308:	8b f8                	mov    %eax,%edi
42430a:	89 7d e4             	mov    %edi,-0x1c(%ebp)
42430d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
424314:	e8 0a 00 00 00       	call   0x424323
424319:	8b c7                	mov    %edi,%eax
42431b:	eb b7                	jmp    0x4242d4
42431d:	8b 75 18             	mov    0x18(%ebp),%esi
424320:	8b 7d e4             	mov    -0x1c(%ebp),%edi
424323:	56                   	push   %esi
424324:	e8 d7 fc ff ff       	call   0x424000
424329:	59                   	pop    %ecx
42432a:	c3                   	ret
42432b:	8b ff                	mov    %edi,%edi
42432d:	55                   	push   %ebp
42432e:	8b ec                	mov    %esp,%ebp
424330:	56                   	push   %esi
424331:	8b 75 14             	mov    0x14(%ebp),%esi
424334:	85 f6                	test   %esi,%esi
424336:	75 04                	jne    0x42433c
424338:	33 c0                	xor    %eax,%eax
42433a:	eb 6d                	jmp    0x4243a9
42433c:	8b 45 08             	mov    0x8(%ebp),%eax
42433f:	85 c0                	test   %eax,%eax
424341:	75 13                	jne    0x424356
424343:	e8 e8 f6 ff ff       	call   0x423a30
424348:	6a 16                	push   $0x16
42434a:	5e                   	pop    %esi
42434b:	89 30                	mov    %esi,(%eax)
42434d:	e8 31 b6 ff ff       	call   0x41f983
424352:	8b c6                	mov    %esi,%eax
424354:	eb 53                	jmp    0x4243a9
424356:	57                   	push   %edi
424357:	8b 7d 10             	mov    0x10(%ebp),%edi
42435a:	85 ff                	test   %edi,%edi
42435c:	74 14                	je     0x424372
42435e:	39 75 0c             	cmp    %esi,0xc(%ebp)
424361:	72 0f                	jb     0x424372
424363:	56                   	push   %esi
424364:	57                   	push   %edi
424365:	50                   	push   %eax
424366:	e8 15 73 ff ff       	call   0x41b680
42436b:	83 c4 0c             	add    $0xc,%esp
42436e:	33 c0                	xor    %eax,%eax
424370:	eb 36                	jmp    0x4243a8
424372:	ff 75 0c             	push   0xc(%ebp)
424375:	6a 00                	push   $0x0
424377:	50                   	push   %eax
424378:	e8 93 78 ff ff       	call   0x41bc10
42437d:	83 c4 0c             	add    $0xc,%esp
424380:	85 ff                	test   %edi,%edi
424382:	75 09                	jne    0x42438d
424384:	e8 a7 f6 ff ff       	call   0x423a30
424389:	6a 16                	push   $0x16
42438b:	eb 0c                	jmp    0x424399
42438d:	39 75 0c             	cmp    %esi,0xc(%ebp)
424390:	73 13                	jae    0x4243a5
424392:	e8 99 f6 ff ff       	call   0x423a30
424397:	6a 22                	push   $0x22
424399:	5e                   	pop    %esi
42439a:	89 30                	mov    %esi,(%eax)
42439c:	e8 e2 b5 ff ff       	call   0x41f983
4243a1:	8b c6                	mov    %esi,%eax
4243a3:	eb 03                	jmp    0x4243a8
4243a5:	6a 16                	push   $0x16
4243a7:	58                   	pop    %eax
4243a8:	5f                   	pop    %edi
4243a9:	5e                   	pop    %esi
4243aa:	5d                   	pop    %ebp
4243ab:	c3                   	ret
4243ac:	8b ff                	mov    %edi,%edi
4243ae:	55                   	push   %ebp
4243af:	8b ec                	mov    %esp,%ebp
4243b1:	5d                   	pop    %ebp
4243b2:	e9 63 8d 00 00       	jmp    0x42d11a
4243b7:	cc                   	int3
4243b8:	cc                   	int3
4243b9:	cc                   	int3
4243ba:	cc                   	int3
4243bb:	cc                   	int3
4243bc:	cc                   	int3
4243bd:	cc                   	int3
4243be:	cc                   	int3
4243bf:	cc                   	int3
4243c0:	8b ff                	mov    %edi,%edi
4243c2:	55                   	push   %ebp
4243c3:	8b ec                	mov    %esp,%ebp
4243c5:	81 ec 20 02 00 00    	sub    $0x220,%esp
4243cb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4243ce:	53                   	push   %ebx
4243cf:	56                   	push   %esi
4243d0:	57                   	push   %edi
4243d1:	8b 01                	mov    (%ecx),%eax
4243d3:	89 45 f8             	mov    %eax,-0x8(%ebp)
4243d6:	85 c0                	test   %eax,%eax
4243d8:	0f 84 82 04 00 00    	je     0x424860
4243de:	8b 7d 0c             	mov    0xc(%ebp),%edi
4243e1:	8b 37                	mov    (%edi),%esi
4243e3:	89 75 ec             	mov    %esi,-0x14(%ebp)
4243e6:	85 f6                	test   %esi,%esi
4243e8:	0f 84 72 04 00 00    	je     0x424860
4243ee:	48                   	dec    %eax
4243ef:	89 45 f4             	mov    %eax,-0xc(%ebp)
4243f2:	83 c6 ff             	add    $0xffffffff,%esi
4243f5:	0f 85 3e 01 00 00    	jne    0x424539
4243fb:	8b 5f 04             	mov    0x4(%edi),%ebx
4243fe:	83 fb 01             	cmp    $0x1,%ebx
424401:	75 3b                	jne    0x42443e
424403:	8b 55 08             	mov    0x8(%ebp),%edx
424406:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
42440c:	8b 71 04             	mov    0x4(%ecx),%esi
42440f:	83 c1 04             	add    $0x4,%ecx
424412:	6a 00                	push   $0x0
424414:	50                   	push   %eax
424415:	68 cc 01 00 00       	push   $0x1cc
42441a:	51                   	push   %ecx
42441b:	c7 85 e0 fd ff ff 00 	movl   $0x0,-0x220(%ebp)
424422:	00 00 00
424425:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
42442b:	e8 fb fe ff ff       	call   0x42432b
424430:	83 c4 10             	add    $0x10,%esp
424433:	8b c6                	mov    %esi,%eax
424435:	33 d2                	xor    %edx,%edx
424437:	5f                   	pop    %edi
424438:	5e                   	pop    %esi
424439:	5b                   	pop    %ebx
42443a:	8b e5                	mov    %ebp,%esp
42443c:	5d                   	pop    %ebp
42443d:	c3                   	ret
42443e:	85 c0                	test   %eax,%eax
424440:	75 48                	jne    0x42448a
424442:	8b 79 04             	mov    0x4(%ecx),%edi
424445:	8d 71 04             	lea    0x4(%ecx),%esi
424448:	50                   	push   %eax
424449:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
42444f:	89 01                	mov    %eax,(%ecx)
424451:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
424457:	50                   	push   %eax
424458:	68 cc 01 00 00       	push   $0x1cc
42445d:	56                   	push   %esi
42445e:	e8 c8 fe ff ff       	call   0x42432b
424463:	33 d2                	xor    %edx,%edx
424465:	8b c7                	mov    %edi,%eax
424467:	f7 f3                	div    %ebx
424469:	83 c4 10             	add    $0x10,%esp
42446c:	33 c0                	xor    %eax,%eax
42446e:	3b c2                	cmp    %edx,%eax
424470:	89 16                	mov    %edx,(%esi)
424472:	8b 55 08             	mov    0x8(%ebp),%edx
424475:	8b c7                	mov    %edi,%eax
424477:	1b c9                	sbb    %ecx,%ecx
424479:	f7 d9                	neg    %ecx
42447b:	5f                   	pop    %edi
42447c:	89 0a                	mov    %ecx,(%edx)
42447e:	33 d2                	xor    %edx,%edx
424480:	f7 f3                	div    %ebx
424482:	5e                   	pop    %esi
424483:	33 d2                	xor    %edx,%edx
424485:	5b                   	pop    %ebx
424486:	8b e5                	mov    %ebp,%esp
424488:	5d                   	pop    %ebp
424489:	c3                   	ret
42448a:	33 ff                	xor    %edi,%edi
42448c:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
424493:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
42449a:	89 7d ec             	mov    %edi,-0x14(%ebp)
42449d:	83 f8 ff             	cmp    $0xffffffff,%eax
4244a0:	74 4a                	je     0x4244ec
4244a2:	40                   	inc    %eax
4244a3:	8d 04 81             	lea    (%ecx,%eax,4),%eax
4244a6:	89 45 e8             	mov    %eax,-0x18(%ebp)
4244a9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4244b0:	6a 00                	push   $0x0
4244b2:	53                   	push   %ebx
4244b3:	33 f6                	xor    %esi,%esi
4244b5:	0b 30                	or     (%eax),%esi
4244b7:	57                   	push   %edi
4244b8:	56                   	push   %esi
4244b9:	e8 82 60 ff ff       	call   0x41a540
4244be:	6a 00                	push   $0x0
4244c0:	33 c9                	xor    %ecx,%ecx
4244c2:	03 c1                	add    %ecx,%eax
4244c4:	53                   	push   %ebx
4244c5:	13 4d f4             	adc    -0xc(%ebp),%ecx
4244c8:	57                   	push   %edi
4244c9:	56                   	push   %esi
4244ca:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4244cd:	89 45 f4             	mov    %eax,-0xc(%ebp)
4244d0:	e8 eb 5c 01 00       	call   0x43a1c0
4244d5:	8b f8                	mov    %eax,%edi
4244d7:	89 55 ec             	mov    %edx,-0x14(%ebp)
4244da:	8b 45 e8             	mov    -0x18(%ebp),%eax
4244dd:	83 e8 04             	sub    $0x4,%eax
4244e0:	83 6d f8 01          	subl   $0x1,-0x8(%ebp)
4244e4:	89 45 e8             	mov    %eax,-0x18(%ebp)
4244e7:	75 c7                	jne    0x4244b0
4244e9:	8b 4d 08             	mov    0x8(%ebp),%ecx
4244ec:	6a 00                	push   $0x0
4244ee:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
4244f4:	c7 85 e0 fd ff ff 00 	movl   $0x0,-0x220(%ebp)
4244fb:	00 00 00
4244fe:	50                   	push   %eax
4244ff:	8d 71 04             	lea    0x4(%ecx),%esi
424502:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
424508:	68 cc 01 00 00       	push   $0x1cc
42450d:	56                   	push   %esi
42450e:	e8 18 fe ff ff       	call   0x42432b
424513:	8b 45 ec             	mov    -0x14(%ebp),%eax
424516:	83 c4 10             	add    $0x10,%esp
424519:	8b 55 08             	mov    0x8(%ebp),%edx
42451c:	33 c9                	xor    %ecx,%ecx
42451e:	3b c8                	cmp    %eax,%ecx
424520:	89 3e                	mov    %edi,(%esi)
424522:	1b c9                	sbb    %ecx,%ecx
424524:	f7 d9                	neg    %ecx
424526:	89 42 08             	mov    %eax,0x8(%edx)
424529:	8b 45 f4             	mov    -0xc(%ebp),%eax
42452c:	41                   	inc    %ecx
42452d:	5f                   	pop    %edi
42452e:	5e                   	pop    %esi
42452f:	89 0a                	mov    %ecx,(%edx)
424531:	8b 55 fc             	mov    -0x4(%ebp),%edx
424534:	5b                   	pop    %ebx
424535:	8b e5                	mov    %ebp,%esp
424537:	5d                   	pop    %ebp
424538:	c3                   	ret
424539:	3b f0                	cmp    %eax,%esi
42453b:	0f 87 1f 03 00 00    	ja     0x424860
424541:	8b d0                	mov    %eax,%edx
424543:	8b d8                	mov    %eax,%ebx
424545:	2b d6                	sub    %esi,%edx
424547:	3b da                	cmp    %edx,%ebx
424549:	7c 1f                	jl     0x42456a
42454b:	8d 0c 99             	lea    (%ecx,%ebx,4),%ecx
42454e:	83 c1 04             	add    $0x4,%ecx
424551:	46                   	inc    %esi
424552:	8d 34 b7             	lea    (%edi,%esi,4),%esi
424555:	8b 3e                	mov    (%esi),%edi
424557:	3b 39                	cmp    (%ecx),%edi
424559:	75 0d                	jne    0x424568
42455b:	48                   	dec    %eax
42455c:	83 ee 04             	sub    $0x4,%esi
42455f:	83 e9 04             	sub    $0x4,%ecx
424562:	3b c2                	cmp    %edx,%eax
424564:	7d ef                	jge    0x424555
424566:	eb 02                	jmp    0x42456a
424568:	73 01                	jae    0x42456b
42456a:	42                   	inc    %edx
42456b:	85 d2                	test   %edx,%edx
42456d:	0f 84 ed 02 00 00    	je     0x424860
424573:	8b 7d ec             	mov    -0x14(%ebp),%edi
424576:	8b 75 0c             	mov    0xc(%ebp),%esi
424579:	8b 44 be fc          	mov    -0x4(%esi,%edi,4),%eax
42457d:	8b 1c be             	mov    (%esi,%edi,4),%ebx
424580:	89 45 e0             	mov    %eax,-0x20(%ebp)
424583:	0f bd c3             	bsr    %ebx,%eax
424586:	89 5d d0             	mov    %ebx,-0x30(%ebp)
424589:	74 09                	je     0x424594
42458b:	b9 1f 00 00 00       	mov    $0x1f,%ecx
424590:	2b c8                	sub    %eax,%ecx
424592:	eb 05                	jmp    0x424599
424594:	b9 20 00 00 00       	mov    $0x20,%ecx
424599:	b8 20 00 00 00       	mov    $0x20,%eax
42459e:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4245a1:	2b c1                	sub    %ecx,%eax
4245a3:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4245a6:	85 c9                	test   %ecx,%ecx
4245a8:	74 2d                	je     0x4245d7
4245aa:	8b 45 e0             	mov    -0x20(%ebp),%eax
4245ad:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4245b0:	d3 e8                	shr    %cl,%eax
4245b2:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4245b5:	d3 e3                	shl    %cl,%ebx
4245b7:	0b d8                	or     %eax,%ebx
4245b9:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4245bc:	8b 5d e0             	mov    -0x20(%ebp),%ebx
4245bf:	d3 e3                	shl    %cl,%ebx
4245c1:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4245c4:	83 ff 02             	cmp    $0x2,%edi
4245c7:	76 0e                	jbe    0x4245d7
4245c9:	8b 44 be f8          	mov    -0x8(%esi,%edi,4),%eax
4245cd:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4245d0:	d3 e8                	shr    %cl,%eax
4245d2:	0b d8                	or     %eax,%ebx
4245d4:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4245d7:	8d 5a ff             	lea    -0x1(%edx),%ebx
4245da:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
4245e1:	33 f6                	xor    %esi,%esi
4245e3:	89 5d b0             	mov    %ebx,-0x50(%ebp)
4245e6:	85 db                	test   %ebx,%ebx
4245e8:	0f 88 31 02 00 00    	js     0x42481f
4245ee:	8b 55 08             	mov    0x8(%ebp),%edx
4245f1:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
4245f4:	89 45 c8             	mov    %eax,-0x38(%ebp)
4245f7:	8d 4a 04             	lea    0x4(%edx),%ecx
4245fa:	8d 0c 99             	lea    (%ecx,%ebx,4),%ecx
4245fd:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
424600:	8d 4a fc             	lea    -0x4(%edx),%ecx
424603:	8d 0c 81             	lea    (%ecx,%eax,4),%ecx
424606:	89 4d e8             	mov    %ecx,-0x18(%ebp)
424609:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
424610:	3b 45 f4             	cmp    -0xc(%ebp),%eax
424613:	77 05                	ja     0x42461a
424615:	8b 51 08             	mov    0x8(%ecx),%edx
424618:	eb 02                	jmp    0x42461c
42461a:	33 d2                	xor    %edx,%edx
42461c:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
424620:	8b 41 04             	mov    0x4(%ecx),%eax
424623:	8b 19                	mov    (%ecx),%ebx
424625:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
42462c:	89 55 b8             	mov    %edx,-0x48(%ebp)
42462f:	89 45 fc             	mov    %eax,-0x4(%ebp)
424632:	89 55 dc             	mov    %edx,-0x24(%ebp)
424635:	89 5d f8             	mov    %ebx,-0x8(%ebp)
424638:	76 3c                	jbe    0x424676
42463a:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
42463d:	8b fb                	mov    %ebx,%edi
42463f:	d3 ef                	shr    %cl,%edi
424641:	33 f6                	xor    %esi,%esi
424643:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
424646:	e8 f5 5b 01 00       	call   0x43a240
42464b:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
42464e:	0b c7                	or     %edi,%eax
424650:	0b d6                	or     %esi,%edx
424652:	d3 e3                	shl    %cl,%ebx
424654:	83 7d c8 03          	cmpl   $0x3,-0x38(%ebp)
424658:	89 45 fc             	mov    %eax,-0x4(%ebp)
42465b:	89 55 dc             	mov    %edx,-0x24(%ebp)
42465e:	89 5d f8             	mov    %ebx,-0x8(%ebp)
424661:	72 13                	jb     0x424676
424663:	8b 45 e8             	mov    -0x18(%ebp),%eax
424666:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
424669:	8b 40 fc             	mov    -0x4(%eax),%eax
42466c:	d3 e8                	shr    %cl,%eax
42466e:	0b d8                	or     %eax,%ebx
424670:	8b 45 fc             	mov    -0x4(%ebp),%eax
424673:	89 5d f8             	mov    %ebx,-0x8(%ebp)
424676:	8b 75 d0             	mov    -0x30(%ebp),%esi
424679:	6a 00                	push   $0x0