4392c5:	74 2a                	je     0x4392f1
4392c7:	84 db                	test   %bl,%bl
4392c9:	75 26                	jne    0x4392f1
4392cb:	8b 87 88 01 00 00    	mov    0x188(%edi),%eax
4392d1:	50                   	push   %eax
4392d2:	8b 87 8c 01 00 00    	mov    0x18c(%edi),%eax
4392d8:	50                   	push   %eax
4392d9:	8b 8f 84 01 00 00    	mov    0x184(%edi),%ecx
4392df:	8b 97 80 01 00 00    	mov    0x180(%edi),%edx
4392e5:	8b c7                	mov    %edi,%eax
4392e7:	8b 18                	mov    (%eax),%ebx
4392e9:	ff 93 88 00 00 00    	call   *0x88(%ebx)
4392ef:	eb 0b                	jmp    0x4392fc
4392f1:	8b c7                	mov    %edi,%eax
4392f3:	66 be ee ff          	mov    $0xffee,%si
4392f7:	e8 f4 a7 fc ff       	call   0x403af0
4392fc:	8b c7                	mov    %edi,%eax
4392fe:	8b 10                	mov    (%eax),%edx
439300:	ff 52 5c             	call   *0x5c(%edx)
439303:	5a                   	pop    %edx
439304:	5f                   	pop    %edi
439305:	5e                   	pop    %esi
439306:	5b                   	pop    %ebx
439307:	c3                   	ret
439308:	55                   	push   %ebp
439309:	8b ec                	mov    %esp,%ebp
43930b:	53                   	push   %ebx
43930c:	56                   	push   %esi
43930d:	57                   	push   %edi
43930e:	8b f9                	mov    %ecx,%edi
439310:	8b f2                	mov    %edx,%esi
439312:	8b d8                	mov    %eax,%ebx
439314:	8d 4d 08             	lea    0x8(%ebp),%ecx
439317:	8d 55 0c             	lea    0xc(%ebp),%edx
43931a:	8b c3                	mov    %ebx,%eax
43931c:	e8 3f 28 00 00       	call   0x43bb60
439321:	84 c0                	test   %al,%al
439323:	74 79                	je     0x43939e
439325:	3b 73 40             	cmp    0x40(%ebx),%esi
439328:	75 15                	jne    0x43933f
43932a:	3b 7b 44             	cmp    0x44(%ebx),%edi
43932d:	75 10                	jne    0x43933f
43932f:	8b 45 0c             	mov    0xc(%ebp),%eax
439332:	3b 43 48             	cmp    0x48(%ebx),%eax
439335:	75 08                	jne    0x43933f
439337:	8b 45 08             	mov    0x8(%ebp),%eax
43933a:	3b 43 4c             	cmp    0x4c(%ebx),%eax
43933d:	74 5f                	je     0x43939e
43933f:	33 c9                	xor    %ecx,%ecx
439341:	0f b6 53 57          	movzbl 0x57(%ebx),%edx
439345:	8b c3                	mov    %ebx,%eax
439347:	e8 78 0f 00 00       	call   0x43a2c4
43934c:	89 73 40             	mov    %esi,0x40(%ebx)
43934f:	89 7b 44             	mov    %edi,0x44(%ebx)
439352:	8b 45 0c             	mov    0xc(%ebp),%eax
439355:	89 43 48             	mov    %eax,0x48(%ebx)
439358:	8b 45 08             	mov    0x8(%ebp),%eax
43935b:	89 43 4c             	mov    %eax,0x4c(%ebx)
43935e:	8b c3                	mov    %ebx,%eax
439360:	e8 43 00 00 00       	call   0x4393a8
439365:	8b c3                	mov    %ebx,%eax
439367:	e8 4c 36 00 00       	call   0x43c9b8
43936c:	8b c3                	mov    %ebx,%eax
43936e:	8b 10                	mov    (%eax),%edx
439370:	ff 92 80 00 00 00    	call   *0x80(%edx)
439376:	6a 00                	push   $0x0
439378:	33 c9                	xor    %ecx,%ecx
43937a:	ba 47 00 00 00       	mov    $0x47,%edx
43937f:	8b c3                	mov    %ebx,%eax
439381:	e8 96 1d 00 00       	call   0x43b11c
439386:	8b c3                	mov    %ebx,%eax
439388:	8b 10                	mov    (%eax),%edx
43938a:	ff 52 5c             	call   *0x5c(%edx)
43938d:	f6 43 1c 01          	testb  $0x1,0x1c(%ebx)
439391:	75 0b                	jne    0x43939e
439393:	8b c3                	mov    %ebx,%eax
439395:	66 be cf ff          	mov    $0xffcf,%si
439399:	e8 52 a7 fc ff       	call   0x403af0
43939e:	5f                   	pop    %edi
43939f:	5e                   	pop    %esi
4393a0:	5b                   	pop    %ebx
4393a1:	5d                   	pop    %ebp
4393a2:	c2 08 00             	ret    $0x8
4393a5:	8d 40 00             	lea    0x0(%eax),%eax
4393a8:	53                   	push   %ebx
4393a9:	56                   	push   %esi
4393aa:	57                   	push   %edi
4393ab:	83 c4 f8             	add    $0xfffffff8,%esp
4393ae:	8b f0                	mov    %eax,%esi
4393b0:	80 be 64 01 00 00 00 	cmpb   $0x0,0x164(%esi)
4393b7:	0f 85 64 01 00 00    	jne    0x439521
4393bd:	f6 46 1c 01          	testb  $0x1,0x1c(%esi)
4393c1:	0f 85 5a 01 00 00    	jne    0x439521
4393c7:	0f b6 5e 61          	movzbl 0x61(%esi),%ebx
4393cb:	ba 01 00 00 00       	mov    $0x1,%edx
4393d0:	8b 46 78             	mov    0x78(%esi),%eax
4393d3:	8b 08                	mov    (%eax),%ecx
4393d5:	ff 51 10             	call   *0x10(%ecx)
4393d8:	8b f8                	mov    %eax,%edi
4393da:	ba 03 00 00 00       	mov    $0x3,%edx
4393df:	8b 46 78             	mov    0x78(%esi),%eax
4393e2:	8b 08                	mov    (%eax),%ecx
4393e4:	ff 51 10             	call   *0x10(%ecx)
4393e7:	d1 f8                	sar    $1,%eax
4393e9:	79 03                	jns    0x4393ee
4393eb:	83 d0 00             	adc    $0x0,%eax
4393ee:	03 f8                	add    %eax,%edi
4393f0:	57                   	push   %edi
4393f1:	33 d2                	xor    %edx,%edx
4393f3:	8b 46 78             	mov    0x78(%esi),%eax
4393f6:	8b 08                	mov    (%eax),%ecx
4393f8:	ff 51 10             	call   *0x10(%ecx)
4393fb:	8b f8                	mov    %eax,%edi
4393fd:	ba 02 00 00 00       	mov    $0x2,%edx
439402:	8b 46 78             	mov    0x78(%esi),%eax
439405:	8b 08                	mov    (%eax),%ecx
439407:	ff 51 10             	call   *0x10(%ecx)
43940a:	d1 f8                	sar    $1,%eax
43940c:	79 03                	jns    0x439411
43940e:	83 d0 00             	adc    $0x0,%eax
439411:	03 f8                	add    %eax,%edi
439413:	8b c7                	mov    %edi,%eax
439415:	8d 4c 24 04          	lea    0x4(%esp),%ecx
439419:	5a                   	pop    %edx
43941a:	e8 d1 d2 fd ff       	call   0x4166f0
43941f:	8b 04 24             	mov    (%esp),%eax
439422:	89 86 6d 01 00 00    	mov    %eax,0x16d(%esi)
439428:	8b 44 24 04          	mov    0x4(%esp),%eax
43942c:	89 86 71 01 00 00    	mov    %eax,0x171(%esi)
439432:	0f b6 05 28 95 43 00 	movzbl 0x439528,%eax
439439:	3a c3                	cmp    %bl,%al
43943b:	75 15                	jne    0x439452
43943d:	33 c0                	xor    %eax,%eax
43943f:	89 86 75 01 00 00    	mov    %eax,0x175(%esi)
439445:	33 c0                	xor    %eax,%eax
439447:	89 86 79 01 00 00    	mov    %eax,0x179(%esi)
43944d:	e9 cf 00 00 00       	jmp    0x439521
439452:	f6 c3 04             	test   $0x4,%bl
439455:	74 2c                	je     0x439483
439457:	f6 c3 01             	test   $0x1,%bl
43945a:	74 15                	je     0x439471
43945c:	ba 02 00 00 00       	mov    $0x2,%edx
439461:	8b 46 78             	mov    0x78(%esi),%eax
439464:	8b 08                	mov    (%eax),%ecx
439466:	ff 51 10             	call   *0x10(%ecx)
439469:	89 86 65 01 00 00    	mov    %eax,0x165(%esi)
43946f:	eb 3a                	jmp    0x4394ab
439471:	33 d2                	xor    %edx,%edx
439473:	8b 46 78             	mov    0x78(%esi),%eax
439476:	8b 08                	mov    (%eax),%ecx
439478:	ff 51 10             	call   *0x10(%ecx)
43947b:	89 86 65 01 00 00    	mov    %eax,0x165(%esi)
439481:	eb 28                	jmp    0x4394ab
439483:	33 d2                	xor    %edx,%edx
439485:	8b 46 78             	mov    0x78(%esi),%eax
439488:	8b 08                	mov    (%eax),%ecx
43948a:	ff 51 10             	call   *0x10(%ecx)
43948d:	8b f8                	mov    %eax,%edi
43948f:	ba 02 00 00 00       	mov    $0x2,%edx
439494:	8b 46 78             	mov    0x78(%esi),%eax
439497:	8b 08                	mov    (%eax),%ecx
439499:	ff 51 10             	call   *0x10(%ecx)
43949c:	d1 f8                	sar    $1,%eax
43949e:	79 03                	jns    0x4394a3
4394a0:	83 d0 00             	adc    $0x0,%eax
4394a3:	03 f8                	add    %eax,%edi
4394a5:	89 be 65 01 00 00    	mov    %edi,0x165(%esi)
4394ab:	f6 c3 08             	test   $0x8,%bl
4394ae:	74 2f                	je     0x4394df
4394b0:	f6 c3 02             	test   $0x2,%bl
4394b3:	74 15                	je     0x4394ca
4394b5:	ba 03 00 00 00       	mov    $0x3,%edx
4394ba:	8b 46 78             	mov    0x78(%esi),%eax
4394bd:	8b 08                	mov    (%eax),%ecx
4394bf:	ff 51 10             	call   *0x10(%ecx)
4394c2:	89 86 69 01 00 00    	mov    %eax,0x169(%esi)
4394c8:	eb 40                	jmp    0x43950a
4394ca:	ba 01 00 00 00       	mov    $0x1,%edx
4394cf:	8b 46 78             	mov    0x78(%esi),%eax
4394d2:	8b 08                	mov    (%eax),%ecx
4394d4:	ff 51 10             	call   *0x10(%ecx)
4394d7:	89 86 69 01 00 00    	mov    %eax,0x169(%esi)
4394dd:	eb 2b                	jmp    0x43950a
4394df:	ba 01 00 00 00       	mov    $0x1,%edx
4394e4:	8b 46 78             	mov    0x78(%esi),%eax
4394e7:	8b 08                	mov    (%eax),%ecx
4394e9:	ff 51 10             	call   *0x10(%ecx)
4394ec:	8b d8                	mov    %eax,%ebx
4394ee:	ba 03 00 00 00       	mov    $0x3,%edx
4394f3:	8b 46 78             	mov    0x78(%esi),%eax
4394f6:	8b 08                	mov    (%eax),%ecx
4394f8:	ff 51 10             	call   *0x10(%ecx)
4394fb:	d1 f8                	sar    $1,%eax
4394fd:	79 03                	jns    0x439502
4394ff:	83 d0 00             	adc    $0x0,%eax
439502:	03 d8                	add    %eax,%ebx
439504:	89 9e 69 01 00 00    	mov    %ebx,0x169(%esi)
43950a:	8b 46 30             	mov    0x30(%esi),%eax
43950d:	85 c0                	test   %eax,%eax
43950f:	74 10                	je     0x439521
439511:	8d 8e 75 01 00 00    	lea    0x175(%esi),%ecx
439517:	8b d6                	mov    %esi,%edx
439519:	8b 18                	mov    (%eax),%ebx
43951b:	ff 93 d0 00 00 00    	call   *0xd0(%ebx)
439521:	59                   	pop    %ecx
439522:	5a                   	pop    %edx
439523:	5f                   	pop    %edi
439524:	5e                   	pop    %esi
439525:	5b                   	pop    %ebx
439526:	c3                   	ret
439527:	00 03                	add    %al,(%ebx)
439529:	00 00                	add    %al,(%eax)
43952b:	00 53 56             	add    %dl,0x56(%ebx)
43952e:	8b d8                	mov    %eax,%ebx
439530:	8b 43 48             	mov    0x48(%ebx),%eax
439533:	50                   	push   %eax
439534:	8b 43 4c             	mov    0x4c(%ebx),%eax
439537:	50                   	push   %eax
439538:	8b 4b 44             	mov    0x44(%ebx),%ecx
43953b:	8b c3                	mov    %ebx,%eax
43953d:	8b 30                	mov    (%eax),%esi
43953f:	ff 96 88 00 00 00    	call   *0x88(%esi)
439545:	80 8b 8c 00 00 00 01 	orb    $0x1,0x8c(%ebx)
43954c:	f6 43 1c 02          	testb  $0x2,0x1c(%ebx)
439550:	74 09                	je     0x43955b
439552:	8b 43 40             	mov    0x40(%ebx),%eax
439555:	89 83 80 01 00 00    	mov    %eax,0x180(%ebx)
43955b:	5e                   	pop    %esi
43955c:	5b                   	pop    %ebx
43955d:	c3                   	ret
43955e:	8b c0                	mov    %eax,%eax
439560:	53                   	push   %ebx
439561:	56                   	push   %esi
439562:	8b d8                	mov    %eax,%ebx
439564:	8b 43 48             	mov    0x48(%ebx),%eax
439567:	50                   	push   %eax
439568:	8b 43 4c             	mov    0x4c(%ebx),%eax
43956b:	50                   	push   %eax
43956c:	8b ca                	mov    %edx,%ecx
43956e:	8b c3                	mov    %ebx,%eax
439570:	8b 53 40             	mov    0x40(%ebx),%edx
439573:	8b 30                	mov    (%eax),%esi
439575:	ff 96 88 00 00 00    	call   *0x88(%esi)
43957b:	80 8b 8c 00 00 00 02 	orb    $0x2,0x8c(%ebx)
439582:	f6 43 1c 02          	testb  $0x2,0x1c(%ebx)
439586:	74 09                	je     0x439591
439588:	8b 43 44             	mov    0x44(%ebx),%eax
43958b:	89 83 84 01 00 00    	mov    %eax,0x184(%ebx)
439591:	5e                   	pop    %esi
439592:	5b                   	pop    %ebx
439593:	c3                   	ret
439594:	53                   	push   %ebx
439595:	56                   	push   %esi
439596:	8b d8                	mov    %eax,%ebx
439598:	52                   	push   %edx
439599:	8b 43 4c             	mov    0x4c(%ebx),%eax
43959c:	50                   	push   %eax
43959d:	8b 4b 44             	mov    0x44(%ebx),%ecx
4395a0:	8b c3                	mov    %ebx,%eax
4395a2:	8b 53 40             	mov    0x40(%ebx),%edx
4395a5:	8b 30                	mov    (%eax),%esi
4395a7:	ff 96 88 00 00 00    	call   *0x88(%esi)
4395ad:	80 8b 8c 00 00 00 04 	orb    $0x4,0x8c(%ebx)
4395b4:	f6 43 1c 02          	testb  $0x2,0x1c(%ebx)
4395b8:	74 09                	je     0x4395c3
4395ba:	8b 43 48             	mov    0x48(%ebx),%eax
4395bd:	89 83 88 01 00 00    	mov    %eax,0x188(%ebx)
4395c3:	5e                   	pop    %esi
4395c4:	5b                   	pop    %ebx
4395c5:	c3                   	ret
4395c6:	8b c0                	mov    %eax,%eax
4395c8:	53                   	push   %ebx
4395c9:	56                   	push   %esi
4395ca:	8b d8                	mov    %eax,%ebx
4395cc:	8b 43 48             	mov    0x48(%ebx),%eax
4395cf:	50                   	push   %eax
4395d0:	52                   	push   %edx
4395d1:	8b 4b 44             	mov    0x44(%ebx),%ecx
4395d4:	8b c3                	mov    %ebx,%eax
4395d6:	8b 53 40             	mov    0x40(%ebx),%edx
4395d9:	8b 30                	mov    (%eax),%esi
4395db:	ff 96 88 00 00 00    	call   *0x88(%esi)
4395e1:	80 8b 8c 00 00 00 08 	orb    $0x8,0x8c(%ebx)
4395e8:	f6 43 1c 02          	testb  $0x2,0x1c(%ebx)
4395ec:	74 09                	je     0x4395f7
4395ee:	8b 43 4c             	mov    0x4c(%ebx),%eax
4395f1:	89 83 8c 01 00 00    	mov    %eax,0x18c(%ebx)
4395f7:	5e                   	pop    %esi
4395f8:	5b                   	pop    %ebx
4395f9:	c3                   	ret
4395fa:	8b c0                	mov    %eax,%eax
4395fc:	55                   	push   %ebp
4395fd:	8b ec                	mov    %esp,%ebp
4395ff:	83 c4 e8             	add    $0xffffffe8,%esp
439602:	56                   	push   %esi
439603:	57                   	push   %edi
439604:	8b f1                	mov    %ecx,%esi
439606:	8d 7d e8             	lea    -0x18(%ebp),%edi
439609:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43960a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43960b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43960c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43960d:	8b fa                	mov    %edx,%edi
43960f:	89 45 fc             	mov    %eax,-0x4(%ebp)
439612:	8b 45 fc             	mov    -0x4(%ebp),%eax
439615:	3b b8 94 00 00 00    	cmp    0x94(%eax),%edi
43961b:	74 55                	je     0x439672
43961d:	8b 45 fc             	mov    -0x4(%ebp),%eax
439620:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
439626:	85 c0                	test   %eax,%eax
439628:	74 28                	je     0x439652
43962a:	83 b8 ac 01 00 00 00 	cmpl   $0x0,0x1ac(%eax)
439631:	74 1f                	je     0x439652
439633:	8b 80 ac 01 00 00    	mov    0x1ac(%eax),%eax
439639:	8b 55 fc             	mov    -0x4(%ebp),%edx
43963c:	e8 73 e6 fd ff       	call   0x417cb4
439641:	8b 45 fc             	mov    -0x4(%ebp),%eax
439644:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
43964a:	8b 55 fc             	mov    -0x4(%ebp),%edx
43964d:	e8 8a 46 fe ff       	call   0x41dcdc
439652:	85 ff                	test   %edi,%edi
439654:	74 1c                	je     0x439672
439656:	83 ff ff             	cmp    $0xffffffff,%edi
439659:	74 17                	je     0x439672
43965b:	83 bf ac 01 00 00 00 	cmpl   $0x0,0x1ac(%edi)
439662:	74 0e                	je     0x439672
439664:	8b 87 ac 01 00 00    	mov    0x1ac(%edi),%eax
43966a:	8b 55 fc             	mov    -0x4(%ebp),%edx
43966d:	e8 9e e3 fd ff       	call   0x417a10
439672:	8b 45 fc             	mov    -0x4(%ebp),%eax
439675:	66 81 48 54 00 04    	orw    $0x400,0x54(%eax)
43967b:	33 d2                	xor    %edx,%edx
43967d:	55                   	push   %ebp
43967e:	68 1c 97 43 00       	push   $0x43971c
439683:	64 ff 32             	push   %fs:(%edx)
439686:	64 89 22             	mov    %esp,%fs:(%edx)
439689:	83 ff ff             	cmp    $0xffffffff,%edi
43968c:	74 11                	je     0x43969f
43968e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
439691:	8b d7                	mov    %edi,%edx
439693:	8b 45 fc             	mov    -0x4(%ebp),%eax
439696:	66 be e4 ff          	mov    $0xffe4,%si
43969a:	e8 51 a4 fc ff       	call   0x403af0
43969f:	8b 45 fc             	mov    -0x4(%ebp),%eax
4396a2:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
4396a8:	3b f8                	cmp    %eax,%edi
4396aa:	74 59                	je     0x439705
4396ac:	89 45 f8             	mov    %eax,-0x8(%ebp)
4396af:	83 ff ff             	cmp    $0xffffffff,%edi
4396b2:	74 31                	je     0x4396e5