431303:	74 0a                	je     0x43130f
431305:	46                   	inc    %esi
431306:	b8 ff 00 00 00       	mov    $0xff,%eax
43130b:	3b f3                	cmp    %ebx,%esi
43130d:	72 da                	jb     0x4312e9
43130f:	8b c6                	mov    %esi,%eax
431311:	e9 a4 01 00 00       	jmp    0x4314ba
431316:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
43131a:	75 56                	jne    0x431372
43131c:	85 db                	test   %ebx,%ebx
43131e:	74 1c                	je     0x43133c
431320:	8b c1                	mov    %ecx,%eax
431322:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
431325:	66 39 30             	cmp    %si,(%eax)
431328:	74 0b                	je     0x431335
43132a:	83 c0 02             	add    $0x2,%eax
43132d:	83 6d e4 01          	subl   $0x1,-0x1c(%ebp)
431331:	75 f2                	jne    0x431325
431333:	eb 07                	jmp    0x43133c
431335:	8b d8                	mov    %eax,%ebx
431337:	2b d9                	sub    %ecx,%ebx
431339:	d1 fb                	sar    $1,%ebx
43133b:	43                   	inc    %ebx
43133c:	8d 45 f0             	lea    -0x10(%ebp),%eax
43133f:	50                   	push   %eax
431340:	56                   	push   %esi
431341:	53                   	push   %ebx
431342:	52                   	push   %edx
431343:	53                   	push   %ebx
431344:	51                   	push   %ecx
431345:	56                   	push   %esi
431346:	ff 75 ec             	push   -0x14(%ebp)
431349:	e8 2c 1d 00 00       	call   0x43307a
43134e:	83 c4 20             	add    $0x20,%esp
431351:	85 c0                	test   %eax,%eax
431353:	0f 84 53 01 00 00    	je     0x4314ac
431359:	39 75 f0             	cmp    %esi,-0x10(%ebp)
43135c:	0f 85 4a 01 00 00    	jne    0x4314ac
431362:	8b 4d e0             	mov    -0x20(%ebp),%ecx
431365:	80 7c 01 ff 00       	cmpb   $0x0,-0x1(%ecx,%eax,1)
43136a:	0f 85 4a 01 00 00    	jne    0x4314ba
431370:	eb 26                	jmp    0x431398
431372:	8d 45 f0             	lea    -0x10(%ebp),%eax
431375:	50                   	push   %eax
431376:	56                   	push   %esi
431377:	53                   	push   %ebx
431378:	52                   	push   %edx
431379:	6a ff                	push   $0xffffffff
43137b:	51                   	push   %ecx
43137c:	56                   	push   %esi
43137d:	ff 75 ec             	push   -0x14(%ebp)
431380:	e8 f5 1c 00 00       	call   0x43307a
431385:	83 c4 20             	add    $0x20,%esp
431388:	89 45 ec             	mov    %eax,-0x14(%ebp)
43138b:	39 75 f0             	cmp    %esi,-0x10(%ebp)
43138e:	0f 85 18 01 00 00    	jne    0x4314ac
431394:	85 c0                	test   %eax,%eax
431396:	74 06                	je     0x43139e
431398:	48                   	dec    %eax
431399:	e9 1c 01 00 00       	jmp    0x4314ba
43139e:	ff 15 60 f0 43 00    	call   *0x43f060
4313a4:	83 f8 7a             	cmp    $0x7a,%eax
4313a7:	0f 85 ff 00 00 00    	jne    0x4314ac
4313ad:	85 db                	test   %ebx,%ebx
4313af:	0f 84 9a 00 00 00    	je     0x43144f
4313b5:	8b 45 e8             	mov    -0x18(%ebp),%eax
4313b8:	8b 57 0c             	mov    0xc(%edi),%edx
4313bb:	8b 4a 04             	mov    0x4(%edx),%ecx
4313be:	83 f9 05             	cmp    $0x5,%ecx
4313c1:	7e 03                	jle    0x4313c6
4313c3:	6a 05                	push   $0x5
4313c5:	59                   	pop    %ecx
4313c6:	8d 5d f0             	lea    -0x10(%ebp),%ebx
4313c9:	53                   	push   %ebx
4313ca:	56                   	push   %esi
4313cb:	51                   	push   %ecx
4313cc:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4313cf:	51                   	push   %ecx
4313d0:	6a 01                	push   $0x1
4313d2:	50                   	push   %eax
4313d3:	56                   	push   %esi
4313d4:	ff 72 08             	push   0x8(%edx)
4313d7:	e8 9e 1c 00 00       	call   0x43307a
4313dc:	8b 5d 10             	mov    0x10(%ebp),%ebx
4313df:	8b d0                	mov    %eax,%edx
4313e1:	83 c4 20             	add    $0x20,%esp
4313e4:	89 55 dc             	mov    %edx,-0x24(%ebp)
4313e7:	85 d2                	test   %edx,%edx
4313e9:	0f 84 bd 00 00 00    	je     0x4314ac
4313ef:	39 75 f0             	cmp    %esi,-0x10(%ebp)
4313f2:	0f 85 b4 00 00 00    	jne    0x4314ac
4313f8:	85 d2                	test   %edx,%edx
4313fa:	0f 88 ac 00 00 00    	js     0x4314ac
431400:	83 fa 05             	cmp    $0x5,%edx
431403:	0f 87 a3 00 00 00    	ja     0x4314ac
431409:	8b 4d ec             	mov    -0x14(%ebp),%ecx
43140c:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
43140f:	3b c3                	cmp    %ebx,%eax
431411:	77 38                	ja     0x43144b
431413:	8b c6                	mov    %esi,%eax
431415:	89 45 e4             	mov    %eax,-0x1c(%ebp)
431418:	85 d2                	test   %edx,%edx
43141a:	7e 1e                	jle    0x43143a
43141c:	8b 55 e0             	mov    -0x20(%ebp),%edx
43141f:	8a 44 05 f4          	mov    -0xc(%ebp,%eax,1),%al
431423:	88 04 0a             	mov    %al,(%edx,%ecx,1)
431426:	84 c0                	test   %al,%al
431428:	74 21                	je     0x43144b
43142a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43142d:	40                   	inc    %eax
43142e:	41                   	inc    %ecx
43142f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
431432:	89 4d ec             	mov    %ecx,-0x14(%ebp)
431435:	3b 45 dc             	cmp    -0x24(%ebp),%eax
431438:	7c e5                	jl     0x43141f
43143a:	8b 45 e8             	mov    -0x18(%ebp),%eax
43143d:	83 c0 02             	add    $0x2,%eax
431440:	89 45 e8             	mov    %eax,-0x18(%ebp)
431443:	3b cb                	cmp    %ebx,%ecx
431445:	0f 82 6d ff ff ff    	jb     0x4313b8
43144b:	8b c1                	mov    %ecx,%eax
43144d:	eb 6b                	jmp    0x4314ba
43144f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
431452:	eb f7                	jmp    0x43144b
431454:	39 75 dc             	cmp    %esi,-0x24(%ebp)
431457:	75 30                	jne    0x431489
431459:	0f b7 01             	movzwl (%ecx),%eax
43145c:	66 85 c0             	test   %ax,%ax
43145f:	0f 84 aa fe ff ff    	je     0x43130f
431465:	8b d0                	mov    %eax,%edx
431467:	b8 ff 00 00 00       	mov    $0xff,%eax
43146c:	66 3b d0             	cmp    %ax,%dx
43146f:	77 3b                	ja     0x4314ac
431471:	83 c1 02             	add    $0x2,%ecx
431474:	46                   	inc    %esi
431475:	0f b7 01             	movzwl (%ecx),%eax
431478:	8b d0                	mov    %eax,%edx
43147a:	66 85 c0             	test   %ax,%ax
43147d:	b8 ff 00 00 00       	mov    $0xff,%eax
431482:	75 e8                	jne    0x43146c
431484:	e9 86 fe ff ff       	jmp    0x43130f
431489:	8d 45 f0             	lea    -0x10(%ebp),%eax
43148c:	50                   	push   %eax
43148d:	56                   	push   %esi
43148e:	56                   	push   %esi
43148f:	56                   	push   %esi
431490:	6a ff                	push   $0xffffffff
431492:	51                   	push   %ecx
431493:	56                   	push   %esi
431494:	ff 75 ec             	push   -0x14(%ebp)
431497:	e8 de 1b 00 00       	call   0x43307a
43149c:	83 c4 20             	add    $0x20,%esp
43149f:	85 c0                	test   %eax,%eax
4314a1:	74 09                	je     0x4314ac
4314a3:	39 75 f0             	cmp    %esi,-0x10(%ebp)
4314a6:	0f 84 ec fe ff ff    	je     0x431398
4314ac:	c7 47 18 2a 00 00 00 	movl   $0x2a,0x18(%edi)
4314b3:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
4314b7:	83 c8 ff             	or     $0xffffffff,%eax
4314ba:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4314bd:	5f                   	pop    %edi
4314be:	5e                   	pop    %esi
4314bf:	33 cd                	xor    %ebp,%ecx
4314c1:	5b                   	pop    %ebx
4314c2:	e8 09 a4 fe ff       	call   0x41b8d0
4314c7:	c9                   	leave
4314c8:	c3                   	ret
4314c9:	8b ff                	mov    %edi,%edi
4314cb:	55                   	push   %ebp
4314cc:	8b ec                	mov    %esp,%ebp
4314ce:	83 ec 28             	sub    $0x28,%esp
4314d1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4314d4:	56                   	push   %esi
4314d5:	ff 75 1c             	push   0x1c(%ebp)
4314d8:	e8 86 f2 fe ff       	call   0x420763
4314dd:	8d 45 d8             	lea    -0x28(%ebp),%eax
4314e0:	50                   	push   %eax
4314e1:	ff 75 18             	push   0x18(%ebp)
4314e4:	ff 75 14             	push   0x14(%ebp)
4314e7:	ff 75 10             	push   0x10(%ebp)
4314ea:	ff 75 0c             	push   0xc(%ebp)
4314ed:	ff 75 08             	push   0x8(%ebp)
4314f0:	e8 58 fc ff ff       	call   0x43114d
4314f5:	83 c4 18             	add    $0x18,%esp
4314f8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4314fb:	8b f0                	mov    %eax,%esi
4314fd:	e8 a9 f2 fe ff       	call   0x4207ab
431502:	8b c6                	mov    %esi,%eax
431504:	5e                   	pop    %esi
431505:	c9                   	leave
431506:	c3                   	ret
431507:	8b ff                	mov    %edi,%edi
431509:	55                   	push   %ebp
43150a:	8b ec                	mov    %esp,%ebp
43150c:	83 ec 18             	sub    $0x18,%esp
43150f:	a1 14 40 45 00       	mov    0x454014,%eax
431514:	33 c5                	xor    %ebp,%eax
431516:	89 45 fc             	mov    %eax,-0x4(%ebp)
431519:	53                   	push   %ebx
43151a:	56                   	push   %esi
43151b:	57                   	push   %edi
43151c:	ff 75 08             	push   0x8(%ebp)
43151f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
431522:	e8 ca 38 ff ff       	call   0x424df1
431527:	8b 45 ec             	mov    -0x14(%ebp),%eax
43152a:	33 ff                	xor    %edi,%edi
43152c:	57                   	push   %edi
43152d:	57                   	push   %edi
43152e:	ff 75 10             	push   0x10(%ebp)
431531:	8b 40 08             	mov    0x8(%eax),%eax
431534:	ff 75 0c             	push   0xc(%ebp)
431537:	89 45 f8             	mov    %eax,-0x8(%ebp)
43153a:	e8 31 db ff ff       	call   0x42f070
43153f:	8b d8                	mov    %eax,%ebx
431541:	85 db                	test   %ebx,%ebx
431543:	74 7d                	je     0x4315c2
431545:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
431548:	8d 48 08             	lea    0x8(%eax),%ecx
43154b:	3b c1                	cmp    %ecx,%eax
43154d:	1b c0                	sbb    %eax,%eax
43154f:	23 c1                	and    %ecx,%eax
431551:	74 66                	je     0x4315b9
431553:	3d 00 04 00 00       	cmp    $0x400,%eax
431558:	77 13                	ja     0x43156d
43155a:	e8 d1 af fe ff       	call   0x41c530
43155f:	8b f4                	mov    %esp,%esi
431561:	85 f6                	test   %esi,%esi
431563:	74 56                	je     0x4315bb
431565:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
43156b:	eb 13                	jmp    0x431580
43156d:	50                   	push   %eax
43156e:	e8 3e af ff ff       	call   0x42c4b1
431573:	8b f0                	mov    %eax,%esi
431575:	59                   	pop    %ecx
431576:	85 f6                	test   %esi,%esi
431578:	74 41                	je     0x4315bb
43157a:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
431580:	83 c6 08             	add    $0x8,%esi
431583:	85 f6                	test   %esi,%esi
431585:	74 34                	je     0x4315bb
431587:	53                   	push   %ebx
431588:	56                   	push   %esi
431589:	ff 75 10             	push   0x10(%ebp)
43158c:	ff 75 0c             	push   0xc(%ebp)
43158f:	e8 dc da ff ff       	call   0x42f070
431594:	85 c0                	test   %eax,%eax
431596:	74 23                	je     0x4315bb
431598:	8b 45 18             	mov    0x18(%ebp),%eax
43159b:	57                   	push   %edi
43159c:	57                   	push   %edi
43159d:	50                   	push   %eax
43159e:	f7 d8                	neg    %eax
4315a0:	1b c0                	sbb    %eax,%eax
4315a2:	23 45 14             	and    0x14(%ebp),%eax
4315a5:	50                   	push   %eax
4315a6:	6a ff                	push   $0xffffffff
4315a8:	56                   	push   %esi
4315a9:	57                   	push   %edi
4315aa:	ff 75 f8             	push   -0x8(%ebp)
4315ad:	e8 c8 1a 00 00       	call   0x43307a
4315b2:	83 c4 20             	add    $0x20,%esp
4315b5:	8b f8                	mov    %eax,%edi
4315b7:	eb 02                	jmp    0x4315bb
4315b9:	8b f7                	mov    %edi,%esi
4315bb:	56                   	push   %esi
4315bc:	e8 f1 a2 fe ff       	call   0x41b8b2
4315c1:	59                   	pop    %ecx
4315c2:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
4315c6:	74 0a                	je     0x4315d2
4315c8:	8b 45 e8             	mov    -0x18(%ebp),%eax
4315cb:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
4315d2:	8b c7                	mov    %edi,%eax
4315d4:	8d 65 dc             	lea    -0x24(%ebp),%esp
4315d7:	5f                   	pop    %edi
4315d8:	5e                   	pop    %esi
4315d9:	5b                   	pop    %ebx
4315da:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4315dd:	33 cd                	xor    %ebp,%ecx
4315df:	e8 ec a2 fe ff       	call   0x41b8d0
4315e4:	c9                   	leave
4315e5:	c3                   	ret
4315e6:	8b ff                	mov    %edi,%edi
4315e8:	55                   	push   %ebp
4315e9:	8b ec                	mov    %esp,%ebp
4315eb:	81 ec 90 00 00 00    	sub    $0x90,%esp
4315f1:	a1 14 40 45 00       	mov    0x454014,%eax
4315f6:	33 c5                	xor    %ebp,%eax
4315f8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4315fb:	8b 45 0c             	mov    0xc(%ebp),%eax
4315fe:	8b 4d 08             	mov    0x8(%ebp),%ecx
431601:	53                   	push   %ebx
431602:	8b 5d 18             	mov    0x18(%ebp),%ebx
431605:	56                   	push   %esi
431606:	8b 75 10             	mov    0x10(%ebp),%esi
431609:	57                   	push   %edi
43160a:	33 ff                	xor    %edi,%edi
43160c:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
431612:	89 b5 78 ff ff ff    	mov    %esi,-0x88(%ebp)
431618:	89 3b                	mov    %edi,(%ebx)
43161a:	83 f8 01             	cmp    $0x1,%eax
43161d:	0f 85 e2 00 00 00    	jne    0x431705
431623:	68 80 00 00 00       	push   $0x80
431628:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
43162e:	50                   	push   %eax
43162f:	ff 75 14             	push   0x14(%ebp)
431632:	56                   	push   %esi
431633:	51                   	push   %ecx
431634:	e8 ce fe ff ff       	call   0x431507
431639:	83 c4 14             	add    $0x14,%esp
43163c:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
431642:	85 c0                	test   %eax,%eax
431644:	74 46                	je     0x43168c
431646:	6a 01                	push   $0x1
431648:	50                   	push   %eax
431649:	e8 cc ad ff ff       	call   0x42c41a
43164e:	57                   	push   %edi
43164f:	89 03                	mov    %eax,(%ebx)
431651:	e8 21 ae ff ff       	call   0x42c477
431656:	83 c4 0c             	add    $0xc,%esp
431659:	39 3b                	cmp    %edi,(%ebx)
43165b:	0f 84 18 01 00 00    	je     0x431779
431661:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
431667:	8d 41 ff             	lea    -0x1(%ecx),%eax
43166a:	50                   	push   %eax
43166b:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
431671:	50                   	push   %eax
431672:	51                   	push   %ecx
431673:	ff 33                	push   (%ebx)
431675:	e8 0b 93 00 00       	call   0x43a985
43167a:	83 c4 10             	add    $0x10,%esp
43167d:	85 c0                	test   %eax,%eax
43167f:	0f 85 06 01 00 00    	jne    0x43178b
431685:	33 c0                	xor    %eax,%eax
431687:	e9 f0 00 00 00       	jmp    0x43177c
43168c:	ff 15 60 f0 43 00    	call   *0x43f060
431692:	83 f8 7a             	cmp    $0x7a,%eax
431695:	0f 85 de 00 00 00    	jne    0x431779
43169b:	57                   	push   %edi
43169c:	57                   	push   %edi
43169d:	ff 75 14             	push   0x14(%ebp)
4316a0:	56                   	push   %esi
4316a1:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
4316a7:	e8 5b fe ff ff       	call   0x431507
4316ac:	83 c4 14             	add    $0x14,%esp
4316af:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
4316b5:	85 c0                	test   %eax,%eax
4316b7:	0f 84 bc 00 00 00    	je     0x431779
4316bd:	6a 01                	push   $0x1
4316bf:	50                   	push   %eax
4316c0:	e8 55 ad ff ff       	call   0x42c41a