43840c:	55                   	push   %ebp
43840d:	8b ec                	mov    %esp,%ebp
43840f:	51                   	push   %ecx
438410:	53                   	push   %ebx
438411:	56                   	push   %esi
438412:	57                   	push   %edi
438413:	88 4d ff             	mov    %cl,-0x1(%ebp)
438416:	8b fa                	mov    %edx,%edi
438418:	8b f0                	mov    %eax,%esi
43841a:	8b 5d 10             	mov    0x10(%ebp),%ebx
43841d:	84 9e aa 01 00 00    	test   %bl,0x1aa(%esi)
438423:	74 21                	je     0x438446
438425:	8b c6                	mov    %esi,%eax
438427:	e8 44 ff ff ff       	call   0x438370
43842c:	84 c0                	test   %al,%al
43842e:	74 0c                	je     0x43843c
438430:	8b c6                	mov    %esi,%eax
438432:	8b 10                	mov    (%eax),%edx
438434:	ff 92 8c 00 00 00    	call   *0x8c(%edx)
43843a:	eb 0a                	jmp    0x438446
43843c:	8b c6                	mov    %esi,%eax
43843e:	8b 10                	mov    (%eax),%edx
438440:	ff 92 90 00 00 00    	call   *0x90(%edx)
438446:	66 83 be a2 01 00 00 	cmpw   $0x0,0x1a2(%esi)
43844d:	00
43844e:	74 20                	je     0x438470
438450:	0f b6 45 14          	movzbl 0x14(%ebp),%eax
438454:	50                   	push   %eax
438455:	53                   	push   %ebx
438456:	8b 45 0c             	mov    0xc(%ebp),%eax
438459:	50                   	push   %eax
43845a:	8b 45 08             	mov    0x8(%ebp),%eax
43845d:	50                   	push   %eax
43845e:	0f b6 4d ff          	movzbl -0x1(%ebp),%ecx
438462:	8b d7                	mov    %edi,%edx
438464:	8b 86 a4 01 00 00    	mov    0x1a4(%esi),%eax
43846a:	ff 96 a0 01 00 00    	call   *0x1a0(%esi)
438470:	5f                   	pop    %edi
438471:	5e                   	pop    %esi
438472:	5b                   	pop    %ebx
438473:	59                   	pop    %ecx
438474:	5d                   	pop    %ebp
438475:	c2 10 00             	ret    $0x10
438478:	3a 90 a9 01 00 00    	cmp    0x1a9(%eax),%dl
43847e:	74 0d                	je     0x43848d
438480:	88 90 a9 01 00 00    	mov    %dl,0x1a9(%eax)
438486:	8b d0                	mov    %eax,%edx
438488:	e8 5b 00 00 00       	call   0x4384e8
43848d:	c3                   	ret
43848e:	8b c0                	mov    %eax,%eax
438490:	56                   	push   %esi
438491:	8b f0                	mov    %eax,%esi
438493:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
438499:	8b 08                	mov    (%eax),%ecx
43849b:	ff 51 08             	call   *0x8(%ecx)
43849e:	5e                   	pop    %esi
43849f:	c3                   	ret
4384a0:	3a 90 a8 01 00 00    	cmp    0x1a8(%eax),%dl
4384a6:	74 0d                	je     0x4384b5
4384a8:	88 90 a8 01 00 00    	mov    %dl,0x1a8(%eax)
4384ae:	8b d0                	mov    %eax,%edx
4384b0:	e8 33 00 00 00       	call   0x4384e8
4384b5:	c3                   	ret
4384b6:	8b c0                	mov    %eax,%eax
4384b8:	3a 90 ab 01 00 00    	cmp    0x1ab(%eax),%dl
4384be:	74 0d                	je     0x4384cd
4384c0:	88 90 ab 01 00 00    	mov    %dl,0x1ab(%eax)
4384c6:	8b d0                	mov    %eax,%edx
4384c8:	e8 1b 00 00 00       	call   0x4384e8
4384cd:	c3                   	ret
4384ce:	8b c0                	mov    %eax,%eax
4384d0:	3a 90 ad 01 00 00    	cmp    0x1ad(%eax),%dl
4384d6:	74 0d                	je     0x4384e5
4384d8:	88 90 ad 01 00 00    	mov    %dl,0x1ad(%eax)
4384de:	8b d0                	mov    %eax,%edx
4384e0:	e8 03 00 00 00       	call   0x4384e8
4384e5:	c3                   	ret
4384e6:	8b c0                	mov    %eax,%eax
4384e8:	53                   	push   %ebx
4384e9:	56                   	push   %esi
4384ea:	83 c4 f0             	add    $0xfffffff0,%esp
4384ed:	8b f0                	mov    %eax,%esi
4384ef:	80 7e 5c 00          	cmpb   $0x0,0x5c(%esi)
4384f3:	74 46                	je     0x43853b
4384f5:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
4384fb:	e8 84 f0 fe ff       	call   0x427584
438500:	85 c0                	test   %eax,%eax
438502:	7e 37                	jle    0x43853b
438504:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
43850a:	e8 8d f0 fe ff       	call   0x42759c
43850f:	85 c0                	test   %eax,%eax
438511:	7e 28                	jle    0x43853b
438513:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
438519:	e8 66 f0 fe ff       	call   0x427584
43851e:	50                   	push   %eax
43851f:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
438525:	e8 72 f0 fe ff       	call   0x42759c
43852a:	50                   	push   %eax
43852b:	8b 4e 44             	mov    0x44(%esi),%ecx
43852e:	8b 56 40             	mov    0x40(%esi),%edx
438531:	8b c6                	mov    %esi,%eax
438533:	8b 18                	mov    (%eax),%ebx
438535:	ff 93 88 00 00 00    	call   *0x88(%ebx)
43853b:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
438541:	8b 58 0c             	mov    0xc(%eax),%ebx
438544:	85 db                	test   %ebx,%ebx
438546:	0f 84 9d 00 00 00    	je     0x4385e9
43854c:	8b c3                	mov    %ebx,%eax
43854e:	8b 15 90 2e 42 00    	mov    0x422e90,%edx
438554:	e8 4f b5 fc ff       	call   0x403aa8
438559:	84 c0                	test   %al,%al
43855b:	75 1f                	jne    0x43857c
43855d:	8b c3                	mov    %ebx,%eax
43855f:	8b 15 1c 31 42 00    	mov    0x42311c,%edx
438565:	e8 3e b5 fc ff       	call   0x403aa8
43856a:	84 c0                	test   %al,%al
43856c:	75 0e                	jne    0x43857c
43856e:	0f b6 96 ab 01 00 00 	movzbl 0x1ab(%esi),%edx
438575:	8b c3                	mov    %ebx,%eax
438577:	8b 08                	mov    (%eax),%ecx
438579:	ff 51 3c             	call   *0x3c(%ecx)
43857c:	8b d4                	mov    %esp,%edx
43857e:	8b c6                	mov    %esi,%eax
438580:	e8 ff fb ff ff       	call   0x438184
438585:	8b c3                	mov    %ebx,%eax
438587:	8b 10                	mov    (%eax),%edx
438589:	ff 52 28             	call   *0x28(%edx)
43858c:	84 c0                	test   %al,%al
43858e:	75 2c                	jne    0x4385bc
438590:	83 3c 24 00          	cmpl   $0x0,(%esp)
438594:	7f 26                	jg     0x4385bc
438596:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
43859b:	7f 1f                	jg     0x4385bc
43859d:	8b 44 24 08          	mov    0x8(%esp),%eax
4385a1:	3b 46 48             	cmp    0x48(%esi),%eax
4385a4:	7c 16                	jl     0x4385bc
4385a6:	8b 44 24 0c          	mov    0xc(%esp),%eax
4385aa:	3b 46 4c             	cmp    0x4c(%esi),%eax
4385ad:	7c 0d                	jl     0x4385bc
4385af:	a1 10 86 43 00       	mov    0x438610,%eax
4385b4:	0b 46 50             	or     0x50(%esi),%eax
4385b7:	89 46 50             	mov    %eax,0x50(%esi)
4385ba:	eb 0d                	jmp    0x4385c9
4385bc:	a1 10 86 43 00       	mov    0x438610,%eax
4385c1:	f7 d0                	not    %eax
4385c3:	23 46 50             	and    0x50(%esi),%eax
4385c6:	89 46 50             	mov    %eax,0x50(%esi)
4385c9:	8b c6                	mov    %esi,%eax
4385cb:	e8 a0 fd ff ff       	call   0x438370
4385d0:	84 c0                	test   %al,%al
4385d2:	74 22                	je     0x4385f6
4385d4:	80 be ac 01 00 00 00 	cmpb   $0x0,0x1ac(%esi)
4385db:	74 19                	je     0x4385f6
4385dd:	8b c6                	mov    %esi,%eax
4385df:	8b 10                	mov    (%eax),%edx
4385e1:	ff 92 8c 00 00 00    	call   *0x8c(%edx)
4385e7:	eb 0d                	jmp    0x4385f6
4385e9:	a1 10 86 43 00       	mov    0x438610,%eax
4385ee:	f7 d0                	not    %eax
4385f0:	23 46 50             	and    0x50(%esi),%eax
4385f3:	89 46 50             	mov    %eax,0x50(%esi)
4385f6:	80 be ac 01 00 00 00 	cmpb   $0x0,0x1ac(%esi)
4385fd:	75 0a                	jne    0x438609
4385ff:	8b c6                	mov    %esi,%eax
438601:	8b 10                	mov    (%eax),%edx
438603:	ff 92 80 00 00 00    	call   *0x80(%edx)
438609:	83 c4 10             	add    $0x10,%esp
43860c:	5e                   	pop    %esi
43860d:	5b                   	pop    %ebx
43860e:	c3                   	ret
43860f:	00 40 00             	add    %al,0x0(%eax)
438612:	00 00                	add    %al,(%eax)
438614:	53                   	push   %ebx
438615:	56                   	push   %esi
438616:	57                   	push   %edi
438617:	55                   	push   %ebp
438618:	8b e9                	mov    %ecx,%ebp
43861a:	8b fa                	mov    %edx,%edi
43861c:	8b f0                	mov    %eax,%esi
43861e:	b3 01                	mov    $0x1,%bl
438620:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
438624:	74 1e                	je     0x438644
438626:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
43862c:	e8 53 ef fe ff       	call   0x427584
438631:	85 c0                	test   %eax,%eax
438633:	7e 40                	jle    0x438675
438635:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
43863b:	e8 5c ef fe ff       	call   0x42759c
438640:	85 c0                	test   %eax,%eax
438642:	7e 31                	jle    0x438675
438644:	0f b6 46 5b          	movzbl 0x5b(%esi),%eax
438648:	84 c0                	test   %al,%al
43864a:	74 06                	je     0x438652
43864c:	04 fd                	add    $0xfd,%al
43864e:	2c 02                	sub    $0x2,%al
438650:	73 0d                	jae    0x43865f
438652:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
438658:	e8 27 ef fe ff       	call   0x427584
43865d:	89 07                	mov    %eax,(%edi)
43865f:	0f b6 46 5b          	movzbl 0x5b(%esi),%eax
438663:	2c 03                	sub    $0x3,%al
438665:	73 0e                	jae    0x438675
438667:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
43866d:	e8 2a ef fe ff       	call   0x42759c
438672:	89 45 00             	mov    %eax,0x0(%ebp)
438675:	8b c3                	mov    %ebx,%eax
438677:	5d                   	pop    %ebp
438678:	5f                   	pop    %edi
438679:	5e                   	pop    %esi
43867a:	5b                   	pop    %ebx
43867b:	c3                   	ret
43867c:	53                   	push   %ebx
43867d:	56                   	push   %esi
43867e:	84 d2                	test   %dl,%dl
438680:	74 08                	je     0x43868a
438682:	83 c4 f0             	add    $0xfffffff0,%esp
438685:	e8 b6 b5 fc ff       	call   0x403c40
43868a:	8b da                	mov    %edx,%ebx
43868c:	8b f0                	mov    %eax,%esi
43868e:	33 d2                	xor    %edx,%edx
438690:	8b c6                	mov    %esi,%eax
438692:	e8 45 a9 01 00       	call   0x452fdc
438697:	8b 46 50             	mov    0x50(%esi),%eax
43869a:	0b 05 e4 86 43 00    	or     0x4386e4,%eax
4386a0:	89 46 50             	mov    %eax,0x50(%esi)
4386a3:	c6 86 98 01 00 00 00 	movb   $0x0,0x198(%esi)
4386aa:	c6 86 99 01 00 00 00 	movb   $0x0,0x199(%esi)
4386b1:	ba 32 00 00 00       	mov    $0x32,%edx
4386b6:	8b c6                	mov    %esi,%eax
4386b8:	e8 9f 0e 01 00       	call   0x44955c
4386bd:	ba 32 00 00 00       	mov    $0x32,%edx
4386c2:	8b c6                	mov    %esi,%eax
4386c4:	e8 c7 0e 01 00       	call   0x449590
4386c9:	8b c6                	mov    %esi,%eax
4386cb:	84 db                	test   %bl,%bl
4386cd:	74 0f                	je     0x4386de
4386cf:	e8 c4 b5 fc ff       	call   0x403c98
4386d4:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4386db:	83 c4 0c             	add    $0xc,%esp
4386de:	8b c6                	mov    %esi,%eax
4386e0:	5e                   	pop    %esi
4386e1:	5b                   	pop    %ebx
4386e2:	c3                   	ret
4386e3:	00 00                	add    %al,(%eax)
4386e5:	08 00                	or     %al,(%eax)
4386e7:	00 56 8b             	add    %dl,-0x75(%esi)
4386ea:	f0 3a 96 98 01 00 00 	lock cmp 0x198(%esi),%dl
4386f1:	74 10                	je     0x438703
4386f3:	88 96 98 01 00 00    	mov    %dl,0x198(%esi)
4386f9:	8b c6                	mov    %esi,%eax
4386fb:	8b 10                	mov    (%eax),%edx
4386fd:	ff 92 80 00 00 00    	call   *0x80(%edx)
438703:	5e                   	pop    %esi
438704:	c3                   	ret
438705:	8d 40 00             	lea    0x0(%eax),%eax
438708:	56                   	push   %esi
438709:	8b f0                	mov    %eax,%esi
43870b:	3a 96 99 01 00 00    	cmp    0x199(%esi),%dl
438711:	74 10                	je     0x438723
438713:	88 96 99 01 00 00    	mov    %dl,0x199(%esi)
438719:	8b c6                	mov    %esi,%eax
43871b:	8b 10                	mov    (%eax),%edx
43871d:	ff 92 80 00 00 00    	call   *0x80(%edx)
438723:	5e                   	pop    %esi
438724:	c3                   	ret
438725:	8d 40 00             	lea    0x0(%eax),%eax
438728:	55                   	push   %ebp
438729:	8b ec                	mov    %esp,%ebp
43872b:	83 c4 d0             	add    $0xffffffd0,%esp
43872e:	53                   	push   %ebx
43872f:	56                   	push   %esi
438730:	8b d8                	mov    %eax,%ebx
438732:	8b 45 08             	mov    0x8(%ebp),%eax
438735:	8b 40 fc             	mov    -0x4(%eax),%eax
438738:	8b b0 90 01 00 00    	mov    0x190(%eax),%esi
43873e:	8b 45 08             	mov    0x8(%ebp),%eax
438741:	8b 50 f8             	mov    -0x8(%eax),%edx
438744:	8b 46 10             	mov    0x10(%esi),%eax
438747:	e8 c4 be fe ff       	call   0x424610
43874c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
43874f:	8b 53 0c             	mov    0xc(%ebx),%edx
438752:	8b 03                	mov    (%ebx),%eax
438754:	e8 ff e5 fd ff       	call   0x416d58
438759:	8b 45 e0             	mov    -0x20(%ebp),%eax
43875c:	89 45 e8             	mov    %eax,-0x18(%ebp)
43875f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
438762:	89 45 ec             	mov    %eax,-0x14(%ebp)
438765:	8d 4d d8             	lea    -0x28(%ebp),%ecx
438768:	8b 53 04             	mov    0x4(%ebx),%edx
43876b:	8b 03                	mov    (%ebx),%eax
43876d:	e8 e6 e5 fd ff       	call   0x416d58
438772:	8b 45 d8             	mov    -0x28(%ebp),%eax
438775:	89 45 f0             	mov    %eax,-0x10(%ebp)
438778:	8b 45 dc             	mov    -0x24(%ebp),%eax
43877b:	89 45 f4             	mov    %eax,-0xc(%ebp)
43877e:	8d 4d d0             	lea    -0x30(%ebp),%ecx
438781:	8b 53 04             	mov    0x4(%ebx),%edx
438784:	8b 43 08             	mov    0x8(%ebx),%eax
438787:	e8 cc e5 fd ff       	call   0x416d58
43878c:	8b 45 d0             	mov    -0x30(%ebp),%eax
43878f:	89 45 f8             	mov    %eax,-0x8(%ebp)
438792:	8b 45 d4             	mov    -0x2c(%ebp),%eax
438795:	89 45 fc             	mov    %eax,-0x4(%ebp)
438798:	8d 55 e8             	lea    -0x18(%ebp),%edx
43879b:	b9 02 00 00 00       	mov    $0x2,%ecx
4387a0:	8b c6                	mov    %esi,%eax
4387a2:	e8 f1 c5 fe ff       	call   0x424d98
4387a7:	8b 45 08             	mov    0x8(%ebp),%eax
4387aa:	8b 50 f4             	mov    -0xc(%eax),%edx
4387ad:	8b 46 10             	mov    0x10(%esi),%eax
4387b0:	e8 5b be fe ff       	call   0x424610
4387b5:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4387b8:	8b 53 04             	mov    0x4(%ebx),%edx
4387bb:	8b 43 08             	mov    0x8(%ebx),%eax
4387be:	e8 95 e5 fd ff       	call   0x416d58
4387c3:	8b 45 e0             	mov    -0x20(%ebp),%eax
4387c6:	89 45 e8             	mov    %eax,-0x18(%ebp)
4387c9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4387cc:	89 45 ec             	mov    %eax,-0x14(%ebp)
4387cf:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4387d2:	8b 53 0c             	mov    0xc(%ebx),%edx
4387d5:	8b 43 08             	mov    0x8(%ebx),%eax
4387d8:	e8 7b e5 fd ff       	call   0x416d58
4387dd:	8b 45 d8             	mov    -0x28(%ebp),%eax
4387e0:	89 45 f0             	mov    %eax,-0x10(%ebp)
4387e3:	8b 45 dc             	mov    -0x24(%ebp),%eax
4387e6:	89 45 f4             	mov    %eax,-0xc(%ebp)
4387e9:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4387ec:	8b 53 0c             	mov    0xc(%ebx),%edx
4387ef:	8b 03                	mov    (%ebx),%eax
4387f1:	e8 62 e5 fd ff       	call   0x416d58
4387f6:	8b 45 d0             	mov    -0x30(%ebp),%eax
4387f9:	89 45 f8             	mov    %eax,-0x8(%ebp)
4387fc:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4387ff:	89 45 fc             	mov    %eax,-0x4(%ebp)
438802:	8d 55 e8             	lea    -0x18(%ebp),%edx
438805:	b9 02 00 00 00       	mov    $0x2,%ecx
43880a:	8b c6                	mov    %esi,%eax
43880c:	e8 87 c5 fe ff       	call   0x424d98
438811:	5e                   	pop    %esi
438812:	5b                   	pop    %ebx
438813:	8b e5                	mov    %ebp,%esp
438815:	5d                   	pop    %ebp
438816:	c3                   	ret
438817:	90                   	nop
438818:	55                   	push   %ebp
438819:	8b ec                	mov    %esp,%ebp
43881b:	53                   	push   %ebx
43881c:	56                   	push   %esi
43881d:	57                   	push   %edi