438277:	75 9e                	jne    0x438217
438279:	8d 45 fc             	lea    -0x4(%ebp),%eax
43827c:	89 45 f4             	mov    %eax,-0xc(%ebp)
43827f:	8d 45 f4             	lea    -0xc(%ebp),%eax
438282:	50                   	push   %eax
438283:	6a 05                	push   $0x5
438285:	e8 80 fb ff ff       	call   0x437e0a
43828a:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
43828e:	59                   	pop    %ecx
43828f:	59                   	pop    %ecx
438290:	74 85                	je     0x438217
438292:	a1 f0 a6 46 00       	mov    0x46a6f0,%eax
438297:	a3 1c a1 46 00       	mov    %eax,0x46a11c
43829c:	e9 76 ff ff ff       	jmp    0x438217
4382a1:	80 3d 78 b3 46 00 00 	cmpb   $0x0,0x46b378
4382a8:	75 12                	jne    0x4382bc
4382aa:	6a 01                	push   $0x1
4382ac:	6a fd                	push   $0xfffffffd
4382ae:	e8 ed fe ff ff       	call   0x4381a0
4382b3:	59                   	pop    %ecx
4382b4:	59                   	pop    %ecx
4382b5:	c6 05 78 b3 46 00 01 	movb   $0x1,0x46b378
4382bc:	b0 01                	mov    $0x1,%al
4382be:	c3                   	ret
4382bf:	6a 0c                	push   $0xc
4382c1:	68 60 7e 46 00       	push   $0x467e60
4382c6:	e8 65 65 ff ff       	call   0x42e830
4382cb:	33 f6                	xor    %esi,%esi
4382cd:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4382d0:	e8 89 dd ff ff       	call   0x43605e
4382d5:	8b f8                	mov    %eax,%edi
4382d7:	8b 0d 50 a7 46 00    	mov    0x46a750,%ecx
4382dd:	85 8f 50 03 00 00    	test   %ecx,0x350(%edi)
4382e3:	74 11                	je     0x4382f6
4382e5:	39 77 4c             	cmp    %esi,0x4c(%edi)
4382e8:	74 0c                	je     0x4382f6
4382ea:	8b 77 48             	mov    0x48(%edi),%esi
4382ed:	85 f6                	test   %esi,%esi
4382ef:	75 68                	jne    0x438359
4382f1:	e8 06 cf ff ff       	call   0x4351fc
4382f6:	6a 05                	push   $0x5
4382f8:	e8 39 03 00 00       	call   0x438636
4382fd:	59                   	pop    %ecx
4382fe:	89 75 fc             	mov    %esi,-0x4(%ebp)
438301:	8b 77 48             	mov    0x48(%edi),%esi
438304:	89 75 e4             	mov    %esi,-0x1c(%ebp)
438307:	3b 35 f0 a6 46 00    	cmp    0x46a6f0,%esi
43830d:	74 30                	je     0x43833f
43830f:	85 f6                	test   %esi,%esi
438311:	74 18                	je     0x43832b
438313:	83 c8 ff             	or     $0xffffffff,%eax
438316:	f0 0f c1 06          	lock xadd %eax,(%esi)
43831a:	75 0f                	jne    0x43832b
43831c:	81 fe d0 a4 46 00    	cmp    $0x46a4d0,%esi
438322:	74 07                	je     0x43832b
438324:	56                   	push   %esi
438325:	e8 f0 cd ff ff       	call   0x43511a
43832a:	59                   	pop    %ecx
43832b:	a1 f0 a6 46 00       	mov    0x46a6f0,%eax
438330:	89 47 48             	mov    %eax,0x48(%edi)
438333:	8b 35 f0 a6 46 00    	mov    0x46a6f0,%esi
438339:	89 75 e4             	mov    %esi,-0x1c(%ebp)
43833c:	f0 ff 06             	lock incl (%esi)
43833f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
438346:	e8 05 00 00 00       	call   0x438350
43834b:	eb a0                	jmp    0x4382ed
43834d:	8b 75 e4             	mov    -0x1c(%ebp),%esi
438350:	6a 05                	push   $0x5
438352:	e8 27 03 00 00       	call   0x43867e
438357:	59                   	pop    %ecx
438358:	c3                   	ret
438359:	8b c6                	mov    %esi,%eax
43835b:	e8 16 65 ff ff       	call   0x42e876
438360:	c3                   	ret
438361:	8b ff                	mov    %edi,%edi
438363:	55                   	push   %ebp
438364:	8b ec                	mov    %esp,%ebp
438366:	83 ec 20             	sub    $0x20,%esp
438369:	a1 08 a0 46 00       	mov    0x46a008,%eax
43836e:	33 c5                	xor    %ebp,%eax
438370:	89 45 fc             	mov    %eax,-0x4(%ebp)
438373:	53                   	push   %ebx
438374:	56                   	push   %esi
438375:	ff 75 08             	push   0x8(%ebp)
438378:	8b 75 0c             	mov    0xc(%ebp),%esi
43837b:	e8 b4 fb ff ff       	call   0x437f34
438380:	8b d8                	mov    %eax,%ebx
438382:	59                   	pop    %ecx
438383:	85 db                	test   %ebx,%ebx
438385:	75 0e                	jne    0x438395
438387:	56                   	push   %esi
438388:	e8 1a fc ff ff       	call   0x437fa7
43838d:	59                   	pop    %ecx
43838e:	33 c0                	xor    %eax,%eax
438390:	e9 ad 01 00 00       	jmp    0x438542
438395:	57                   	push   %edi
438396:	33 ff                	xor    %edi,%edi
438398:	8b cf                	mov    %edi,%ecx
43839a:	8b c7                	mov    %edi,%eax
43839c:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
43839f:	39 98 d8 a1 46 00    	cmp    %ebx,0x46a1d8(%eax)
4383a5:	0f 84 ea 00 00 00    	je     0x438495
4383ab:	41                   	inc    %ecx
4383ac:	83 c0 30             	add    $0x30,%eax
4383af:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4383b2:	3d f0 00 00 00       	cmp    $0xf0,%eax
4383b7:	72 e6                	jb     0x43839f
4383b9:	81 fb e8 fd 00 00    	cmp    $0xfde8,%ebx
4383bf:	0f 84 c8 00 00 00    	je     0x43848d
4383c5:	81 fb e9 fd 00 00    	cmp    $0xfde9,%ebx
4383cb:	0f 84 bc 00 00 00    	je     0x43848d
4383d1:	0f b7 c3             	movzwl %bx,%eax
4383d4:	50                   	push   %eax
4383d5:	ff 15 70 b2 44 00    	call   *0x44b270
4383db:	85 c0                	test   %eax,%eax
4383dd:	0f 84 aa 00 00 00    	je     0x43848d
4383e3:	8d 45 e8             	lea    -0x18(%ebp),%eax
4383e6:	50                   	push   %eax
4383e7:	53                   	push   %ebx
4383e8:	ff 15 cc b0 44 00    	call   *0x44b0cc
4383ee:	85 c0                	test   %eax,%eax
4383f0:	0f 84 84 00 00 00    	je     0x43847a
4383f6:	68 01 01 00 00       	push   $0x101
4383fb:	8d 46 18             	lea    0x18(%esi),%eax
4383fe:	57                   	push   %edi
4383ff:	50                   	push   %eax
438400:	e8 6b 72 ff ff       	call   0x42f670
438405:	89 5e 04             	mov    %ebx,0x4(%esi)
438408:	83 c4 0c             	add    $0xc,%esp
43840b:	33 db                	xor    %ebx,%ebx
43840d:	89 be 1c 02 00 00    	mov    %edi,0x21c(%esi)
438413:	43                   	inc    %ebx
438414:	39 5d e8             	cmp    %ebx,-0x18(%ebp)
438417:	76 51                	jbe    0x43846a
438419:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
43841d:	8d 45 ee             	lea    -0x12(%ebp),%eax
438420:	74 21                	je     0x438443
438422:	8a 48 01             	mov    0x1(%eax),%cl
438425:	84 c9                	test   %cl,%cl
438427:	74 1a                	je     0x438443
438429:	0f b6 d1             	movzbl %cl,%edx
43842c:	0f b6 08             	movzbl (%eax),%ecx
43842f:	eb 06                	jmp    0x438437
438431:	80 4c 0e 19 04       	orb    $0x4,0x19(%esi,%ecx,1)
438436:	41                   	inc    %ecx
438437:	3b ca                	cmp    %edx,%ecx
438439:	76 f6                	jbe    0x438431
43843b:	83 c0 02             	add    $0x2,%eax
43843e:	80 38 00             	cmpb   $0x0,(%eax)
438441:	75 df                	jne    0x438422
438443:	8d 46 1a             	lea    0x1a(%esi),%eax
438446:	b9 fe 00 00 00       	mov    $0xfe,%ecx
43844b:	80 08 08             	orb    $0x8,(%eax)
43844e:	40                   	inc    %eax
43844f:	83 e9 01             	sub    $0x1,%ecx
438452:	75 f7                	jne    0x43844b
438454:	ff 76 04             	push   0x4(%esi)
438457:	e8 9a fa ff ff       	call   0x437ef6
43845c:	83 c4 04             	add    $0x4,%esp
43845f:	89 86 1c 02 00 00    	mov    %eax,0x21c(%esi)
438465:	89 5e 08             	mov    %ebx,0x8(%esi)
438468:	eb 03                	jmp    0x43846d
43846a:	89 7e 08             	mov    %edi,0x8(%esi)
43846d:	33 c0                	xor    %eax,%eax
43846f:	8d 7e 0c             	lea    0xc(%esi),%edi
438472:	ab                   	stos   %eax,%es:(%edi)
438473:	ab                   	stos   %eax,%es:(%edi)
438474:	ab                   	stos   %eax,%es:(%edi)
438475:	e9 be 00 00 00       	jmp    0x438538
43847a:	39 3d 74 b3 46 00    	cmp    %edi,0x46b374
438480:	74 0b                	je     0x43848d
438482:	56                   	push   %esi
438483:	e8 1f fb ff ff       	call   0x437fa7
438488:	e9 b1 00 00 00       	jmp    0x43853e
43848d:	83 c8 ff             	or     $0xffffffff,%eax
438490:	e9 ac 00 00 00       	jmp    0x438541
438495:	68 01 01 00 00       	push   $0x101
43849a:	8d 46 18             	lea    0x18(%esi),%eax
43849d:	57                   	push   %edi
43849e:	50                   	push   %eax
43849f:	e8 cc 71 ff ff       	call   0x42f670
4384a4:	83 c4 0c             	add    $0xc,%esp
4384a7:	6b 45 e4 30          	imul   $0x30,-0x1c(%ebp),%eax
4384ab:	89 45 e0             	mov    %eax,-0x20(%ebp)
4384ae:	8d 80 e8 a1 46 00    	lea    0x46a1e8(%eax),%eax
4384b4:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4384b7:	80 38 00             	cmpb   $0x0,(%eax)
4384ba:	8b c8                	mov    %eax,%ecx
4384bc:	74 35                	je     0x4384f3
4384be:	8a 41 01             	mov    0x1(%ecx),%al
4384c1:	84 c0                	test   %al,%al
4384c3:	74 2b                	je     0x4384f0
4384c5:	0f b6 11             	movzbl (%ecx),%edx
4384c8:	0f b6 c0             	movzbl %al,%eax
4384cb:	eb 17                	jmp    0x4384e4
4384cd:	81 fa 00 01 00 00    	cmp    $0x100,%edx
4384d3:	73 13                	jae    0x4384e8
4384d5:	8a 87 d0 a1 46 00    	mov    0x46a1d0(%edi),%al
4384db:	08 44 16 19          	or     %al,0x19(%esi,%edx,1)
4384df:	42                   	inc    %edx
4384e0:	0f b6 41 01          	movzbl 0x1(%ecx),%eax
4384e4:	3b d0                	cmp    %eax,%edx
4384e6:	76 e5                	jbe    0x4384cd
4384e8:	83 c1 02             	add    $0x2,%ecx
4384eb:	80 39 00             	cmpb   $0x0,(%ecx)
4384ee:	75 ce                	jne    0x4384be
4384f0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4384f3:	47                   	inc    %edi
4384f4:	83 c0 08             	add    $0x8,%eax
4384f7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4384fa:	83 ff 04             	cmp    $0x4,%edi
4384fd:	72 b8                	jb     0x4384b7
4384ff:	53                   	push   %ebx
438500:	89 5e 04             	mov    %ebx,0x4(%esi)
438503:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
43850a:	e8 e7 f9 ff ff       	call   0x437ef6
43850f:	83 c4 04             	add    $0x4,%esp
438512:	89 86 1c 02 00 00    	mov    %eax,0x21c(%esi)
438518:	8b 45 e0             	mov    -0x20(%ebp),%eax
43851b:	8d 4e 0c             	lea    0xc(%esi),%ecx
43851e:	6a 06                	push   $0x6
438520:	8d 90 dc a1 46 00    	lea    0x46a1dc(%eax),%edx
438526:	5f                   	pop    %edi
438527:	66 8b 02             	mov    (%edx),%ax
43852a:	8d 52 02             	lea    0x2(%edx),%edx
43852d:	66 89 01             	mov    %ax,(%ecx)
438530:	8d 49 02             	lea    0x2(%ecx),%ecx
438533:	83 ef 01             	sub    $0x1,%edi
438536:	75 ef                	jne    0x438527
438538:	56                   	push   %esi
438539:	e8 ce fa ff ff       	call   0x43800c
43853e:	59                   	pop    %ecx
43853f:	33 c0                	xor    %eax,%eax
438541:	5f                   	pop    %edi
438542:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438545:	5e                   	pop    %esi
438546:	33 cd                	xor    %ebp,%ecx
438548:	5b                   	pop    %ebx
438549:	e8 e8 58 ff ff       	call   0x42de36
43854e:	8b e5                	mov    %ebp,%esp
438550:	5d                   	pop    %ebp
438551:	c3                   	ret
438552:	ff 15 c8 b0 44 00    	call   *0x44b0c8
438558:	a3 88 b3 46 00       	mov    %eax,0x46b388
43855d:	ff 15 5c b1 44 00    	call   *0x44b15c
438563:	a3 8c b3 46 00       	mov    %eax,0x46b38c
438568:	b0 01                	mov    $0x1,%al
43856a:	c3                   	ret
43856b:	b0 01                	mov    $0x1,%al
43856d:	c3                   	ret
43856e:	8b ff                	mov    %edi,%edi
438570:	55                   	push   %ebp
438571:	8b ec                	mov    %esp,%ebp
438573:	8b 55 08             	mov    0x8(%ebp),%edx
438576:	57                   	push   %edi
438577:	33 ff                	xor    %edi,%edi
438579:	66 39 3a             	cmp    %di,(%edx)
43857c:	74 21                	je     0x43859f
43857e:	56                   	push   %esi
43857f:	8b ca                	mov    %edx,%ecx
438581:	8d 71 02             	lea    0x2(%ecx),%esi
438584:	66 8b 01             	mov    (%ecx),%ax
438587:	83 c1 02             	add    $0x2,%ecx
43858a:	66 3b c7             	cmp    %di,%ax
43858d:	75 f5                	jne    0x438584
43858f:	2b ce                	sub    %esi,%ecx
438591:	d1 f9                	sar    $1,%ecx
438593:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
438596:	83 c2 02             	add    $0x2,%edx
438599:	66 39 3a             	cmp    %di,(%edx)
43859c:	75 e1                	jne    0x43857f
43859e:	5e                   	pop    %esi
43859f:	8d 42 02             	lea    0x2(%edx),%eax
4385a2:	5f                   	pop    %edi
4385a3:	5d                   	pop    %ebp
4385a4:	c3                   	ret
4385a5:	8b ff                	mov    %edi,%edi
4385a7:	56                   	push   %esi
4385a8:	57                   	push   %edi
4385a9:	ff 15 94 b1 44 00    	call   *0x44b194
4385af:	8b f0                	mov    %eax,%esi
4385b1:	85 f6                	test   %esi,%esi
4385b3:	75 04                	jne    0x4385b9
4385b5:	33 ff                	xor    %edi,%edi
4385b7:	eb 37                	jmp    0x4385f0
4385b9:	53                   	push   %ebx
4385ba:	56                   	push   %esi
4385bb:	e8 ae ff ff ff       	call   0x43856e
4385c0:	2b c6                	sub    %esi,%eax
4385c2:	d1 f8                	sar    $1,%eax
4385c4:	8d 1c 00             	lea    (%eax,%eax,1),%ebx
4385c7:	53                   	push   %ebx
4385c8:	e8 87 cb ff ff       	call   0x435154
4385cd:	8b f8                	mov    %eax,%edi
4385cf:	59                   	pop    %ecx
4385d0:	59                   	pop    %ecx
4385d1:	85 ff                	test   %edi,%edi
4385d3:	74 0b                	je     0x4385e0
4385d5:	53                   	push   %ebx
4385d6:	56                   	push   %esi
4385d7:	57                   	push   %edi
4385d8:	e8 13 6b ff ff       	call   0x42f0f0
4385dd:	83 c4 0c             	add    $0xc,%esp
4385e0:	6a 00                	push   $0x0
4385e2:	e8 33 cb ff ff       	call   0x43511a
4385e7:	59                   	pop    %ecx
4385e8:	56                   	push   %esi
4385e9:	ff 15 74 b2 44 00    	call   *0x44b274
4385ef:	5b                   	pop    %ebx
4385f0:	8b c7                	mov    %edi,%eax
4385f2:	5f                   	pop    %edi
4385f3:	5e                   	pop    %esi
4385f4:	c3                   	ret
4385f5:	8b ff                	mov    %edi,%edi
4385f7:	56                   	push   %esi
4385f8:	57                   	push   %edi
4385f9:	bf 98 b3 46 00       	mov    $0x46b398,%edi
4385fe:	33 f6                	xor    %esi,%esi
438600:	6a 00                	push   $0x0
438602:	68 a0 0f 00 00       	push   $0xfa0
438607:	57                   	push   %edi
438608:	e8 fa 02 00 00       	call   0x438907
43860d:	85 c0                	test   %eax,%eax
43860f:	74 18                	je     0x438629
438611:	ff 05 d0 b4 46 00    	incl   0x46b4d0
438617:	83 c6 18             	add    $0x18,%esi
43861a:	83 c7 18             	add    $0x18,%edi
43861d:	81 fe 38 01 00 00    	cmp    $0x138,%esi
438623:	72 db                	jb     0x438600
438625:	b0 01                	mov    $0x1,%al
438627:	eb 0a                	jmp    0x438633
438629:	6a 00                	push   $0x0
43862b:	e8 1d 00 00 00       	call   0x43864d
438630:	59                   	pop    %ecx
438631:	32 c0                	xor    %al,%al
438633:	5f                   	pop    %edi
438634:	5e                   	pop    %esi
438635:	c3                   	ret
438636:	8b ff                	mov    %edi,%edi
438638:	55                   	push   %ebp
438639:	8b ec                	mov    %esp,%ebp
43863b:	6b 45 08 18          	imul   $0x18,0x8(%ebp),%eax
43863f:	05 98 b3 46 00       	add    $0x46b398,%eax
438644:	50                   	push   %eax
438645:	ff 15 b4 b1 44 00    	call   *0x44b1b4
43864b:	5d                   	pop    %ebp
43864c:	c3                   	ret
43864d:	8b ff                	mov    %edi,%edi
43864f:	56                   	push   %esi
438650:	8b 35 d0 b4 46 00    	mov    0x46b4d0,%esi