4533ac:	55                   	push   %ebp
4533ad:	8b ec                	mov    %esp,%ebp
4533af:	83 c4 f8             	add    $0xfffffff8,%esp
4533b2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4533b5:	a1 1c de 46 00       	mov    0x46de1c,%eax
4533ba:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
4533be:	74 63                	je     0x453423
4533c0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4533c3:	8a 40 30             	mov    0x30(%eax),%al
4533c6:	88 45 fb             	mov    %al,-0x5(%ebp)
4533c9:	8b 55 fc             	mov    -0x4(%ebp),%edx
4533cc:	8a 52 41             	mov    0x41(%edx),%dl
4533cf:	88 55 fa             	mov    %dl,-0x6(%ebp)
4533d2:	33 d2                	xor    %edx,%edx
4533d4:	55                   	push   %ebp
4533d5:	68 1c 34 45 00       	push   $0x45341c
4533da:	64 ff 32             	push   %fs:(%edx)
4533dd:	64 89 22             	mov    %esp,%fs:(%edx)
4533e0:	84 c0                	test   %al,%al
4533e2:	75 0c                	jne    0x4533f0
4533e4:	b2 01                	mov    $0x1,%dl
4533e6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4533e9:	e8 ce 04 00 00       	call   0x4538bc
4533ee:	eb 0a                	jmp    0x4533fa
4533f0:	33 d2                	xor    %edx,%edx
4533f2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4533f5:	e8 c2 04 00 00       	call   0x4538bc
4533fa:	33 c0                	xor    %eax,%eax
4533fc:	5a                   	pop    %edx
4533fd:	59                   	pop    %ecx
4533fe:	59                   	pop    %ecx
4533ff:	64 89 10             	mov    %edx,%fs:(%eax)
453402:	68 23 34 45 00       	push   $0x453423
453407:	8a 55 fb             	mov    -0x5(%ebp),%dl
45340a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45340d:	e8 aa 04 00 00       	call   0x4538bc
453412:	8b 45 fc             	mov    -0x4(%ebp),%eax
453415:	8a 55 fa             	mov    -0x6(%ebp),%dl
453418:	88 50 41             	mov    %dl,0x41(%eax)
45341b:	c3                   	ret
45341c:	e9 7b 05 fb ff       	jmp    0x40399c
453421:	eb e4                	jmp    0x453407
453423:	59                   	pop    %ecx
453424:	59                   	pop    %ecx
453425:	5d                   	pop    %ebp
453426:	c3                   	ret
453427:	90                   	nop
453428:	53                   	push   %ebx
453429:	56                   	push   %esi
45342a:	8b f2                	mov    %edx,%esi
45342c:	8b d8                	mov    %eax,%ebx
45342e:	89 73 38             	mov    %esi,0x38(%ebx)
453431:	8b c3                	mov    %ebx,%eax
453433:	e8 e0 fe ff ff       	call   0x453318
453438:	a1 1c de 46 00       	mov    0x46de1c,%eax
45343d:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
453441:	74 1a                	je     0x45345d
453443:	85 f6                	test   %esi,%esi
453445:	74 16                	je     0x45345d
453447:	80 7b 41 00          	cmpb   $0x0,0x41(%ebx)
45344b:	74 09                	je     0x453456
45344d:	8b c3                	mov    %ebx,%eax
45344f:	e8 8c 04 00 00       	call   0x4538e0
453454:	eb 07                	jmp    0x45345d
453456:	8b c3                	mov    %ebx,%eax
453458:	e8 4f ff ff ff       	call   0x4533ac
45345d:	5e                   	pop    %esi
45345e:	5b                   	pop    %ebx
45345f:	c3                   	ret
453460:	53                   	push   %ebx
453461:	66 83 78 52 00       	cmpw   $0x0,0x52(%eax)
453466:	74 0d                	je     0x453475
453468:	51                   	push   %ecx
453469:	8b d8                	mov    %eax,%ebx
45346b:	8b ca                	mov    %edx,%ecx
45346d:	8b d0                	mov    %eax,%edx
45346f:	8b 43 54             	mov    0x54(%ebx),%eax
453472:	ff 53 50             	call   *0x50(%ebx)
453475:	5b                   	pop    %ebx
453476:	c3                   	ret
453477:	90                   	nop
453478:	53                   	push   %ebx
453479:	8b d8                	mov    %eax,%ebx
45347b:	8b c3                	mov    %ebx,%eax
45347d:	e8 aa 6e fc ff       	call   0x41a32c
453482:	33 c9                	xor    %ecx,%ecx
453484:	33 d2                	xor    %edx,%edx
453486:	8b c3                	mov    %ebx,%eax
453488:	8b 18                	mov    (%eax),%ebx
45348a:	ff 53 30             	call   *0x30(%ebx)
45348d:	5b                   	pop    %ebx
45348e:	c3                   	ret
45348f:	90                   	nop
453490:	55                   	push   %ebp
453491:	8b ec                	mov    %esp,%ebp
453493:	53                   	push   %ebx
453494:	56                   	push   %esi
453495:	8b f1                	mov    %ecx,%esi
453497:	8b d8                	mov    %eax,%ebx
453499:	66 a1 c4 34 45 00    	mov    0x4534c4,%ax
45349f:	66 23 43 1c          	and    0x1c(%ebx),%ax
4534a3:	66 8b 15 c8 34 45 00 	mov    0x4534c8,%dx
4534aa:	66 3b d0             	cmp    %ax,%dx
4534ad:	75 0c                	jne    0x4534bb
4534af:	8a 4d 08             	mov    0x8(%ebp),%cl
4534b2:	8b d6                	mov    %esi,%edx
4534b4:	8b c3                	mov    %ebx,%eax
4534b6:	8b 18                	mov    (%eax),%ebx
4534b8:	ff 53 30             	call   *0x30(%ebx)
4534bb:	5e                   	pop    %esi
4534bc:	5b                   	pop    %ebx
4534bd:	5d                   	pop    %ebp
4534be:	c2 04 00             	ret    $0x4
4534c1:	00 00                	add    %al,(%eax)
4534c3:	00 09                	add    %cl,(%ecx)
4534c5:	00 00                	add    %al,(%eax)
4534c7:	00 00                	add    %al,(%eax)
4534c9:	00 00                	add    %al,(%eax)
4534cb:	00 3b                	add    %bh,(%ebx)
4534cd:	50                   	push   %eax
4534ce:	48                   	dec    %eax
4534cf:	75 05                	jne    0x4534d6
4534d1:	e8 16 f8 ff ff       	call   0x452cec
4534d6:	c3                   	ret
4534d7:	90                   	nop
4534d8:	53                   	push   %ebx
4534d9:	56                   	push   %esi
4534da:	8b f2                	mov    %edx,%esi
4534dc:	8b d8                	mov    %eax,%ebx
4534de:	8b 43 48             	mov    0x48(%ebx),%eax
4534e1:	85 c0                	test   %eax,%eax
4534e3:	74 08                	je     0x4534ed
4534e5:	8b 53 44             	mov    0x44(%ebx),%edx
4534e8:	e8 1b a2 ff ff       	call   0x44d708
4534ed:	8b c6                	mov    %esi,%eax
4534ef:	89 43 48             	mov    %eax,0x48(%ebx)
4534f2:	85 c0                	test   %eax,%eax
4534f4:	74 12                	je     0x453508
4534f6:	8b 53 44             	mov    0x44(%ebx),%edx
4534f9:	e8 4e a2 ff ff       	call   0x44d74c
4534fe:	8b d3                	mov    %ebx,%edx
453500:	8b 43 48             	mov    0x48(%ebx),%eax
453503:	e8 a4 6a fc ff       	call   0x419fac
453508:	8b c3                	mov    %ebx,%eax
45350a:	e8 dd f7 ff ff       	call   0x452cec
45350f:	5e                   	pop    %esi
453510:	5b                   	pop    %ebx
453511:	c3                   	ret
453512:	8b c0                	mov    %eax,%eax
453514:	53                   	push   %ebx
453515:	56                   	push   %esi
453516:	57                   	push   %edi
453517:	8b d9                	mov    %ecx,%ebx
453519:	8b f2                	mov    %edx,%esi
45351b:	8b f8                	mov    %eax,%edi
45351d:	8b cb                	mov    %ebx,%ecx
45351f:	8b d6                	mov    %esi,%edx
453521:	8b c7                	mov    %edi,%eax
453523:	e8 d0 6c fc ff       	call   0x41a1f8
453528:	3b 77 48             	cmp    0x48(%edi),%esi
45352b:	75 0e                	jne    0x45353b
45352d:	80 fb 01             	cmp    $0x1,%bl
453530:	75 09                	jne    0x45353b
453532:	33 d2                	xor    %edx,%edx
453534:	8b c7                	mov    %edi,%eax
453536:	e8 9d ff ff ff       	call   0x4534d8
45353b:	5f                   	pop    %edi
45353c:	5e                   	pop    %esi
45353d:	5b                   	pop    %ebx
45353e:	c3                   	ret
45353f:	90                   	nop
453540:	8b 15 1c de 46 00    	mov    0x46de1c,%edx
453546:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
45354a:	74 06                	je     0x453552
45354c:	80 78 30 00          	cmpb   $0x0,0x30(%eax)
453550:	75 03                	jne    0x453555
453552:	33 c0                	xor    %eax,%eax
453554:	c3                   	ret
453555:	b0 01                	mov    $0x1,%al
453557:	c3                   	ret
453558:	55                   	push   %ebp
453559:	8b ec                	mov    %esp,%ebp
45355b:	56                   	push   %esi
45355c:	33 f6                	xor    %esi,%esi
45355e:	f6 c2 10             	test   $0x10,%dl
453561:	74 19                	je     0x45357c
453563:	51                   	push   %ecx
453564:	50                   	push   %eax
453565:	e8 02 31 fb ff       	call   0x40666c
45356a:	8b 55 0c             	mov    0xc(%ebp),%edx
45356d:	8b 52 fc             	mov    -0x4(%edx),%edx
453570:	b1 01                	mov    $0x1,%cl
453572:	92                   	xchg   %eax,%edx
453573:	e8 24 f8 ff ff       	call   0x452d9c
453578:	8b f0                	mov    %eax,%esi
45357a:	eb 1c                	jmp    0x453598
45357c:	51                   	push   %ecx
45357d:	50                   	push   %eax
45357e:	e8 91 30 fb ff       	call   0x406614
453583:	83 f8 ff             	cmp    $0xffffffff,%eax
453586:	74 10                	je     0x453598
453588:	8b 55 0c             	mov    0xc(%ebp),%edx
45358b:	8b 52 fc             	mov    -0x4(%edx),%edx
45358e:	33 c9                	xor    %ecx,%ecx
453590:	92                   	xchg   %eax,%edx
453591:	e8 06 f8 ff ff       	call   0x452d9c
453596:	8b f0                	mov    %eax,%esi
453598:	85 f6                	test   %esi,%esi
45359a:	74 0f                	je     0x4535ab
45359c:	33 c0                	xor    %eax,%eax
45359e:	8a 45 08             	mov    0x8(%ebp),%al
4535a1:	8b 56 30             	mov    0x30(%esi),%edx
4535a4:	e8 9b 32 00 00       	call   0x456844
4535a9:	eb 02                	jmp    0x4535ad
4535ab:	33 c0                	xor    %eax,%eax
4535ad:	5e                   	pop    %esi
4535ae:	5d                   	pop    %ebp
4535af:	c2 04 00             	ret    $0x4
4535b2:	8b c0                	mov    %eax,%eax
4535b4:	55                   	push   %ebp
4535b5:	8b ec                	mov    %esp,%ebp
4535b7:	6a 00                	push   $0x0
4535b9:	6a 00                	push   $0x0
4535bb:	6a 00                	push   $0x0
4535bd:	6a 00                	push   $0x0
4535bf:	53                   	push   %ebx
4535c0:	56                   	push   %esi
4535c1:	8b f1                	mov    %ecx,%esi
4535c3:	66 89 55 fe          	mov    %dx,-0x2(%ebp)
4535c7:	33 d2                	xor    %edx,%edx
4535c9:	55                   	push   %ebp
4535ca:	68 89 36 45 00       	push   $0x453689
4535cf:	64 ff 32             	push   %fs:(%edx)
4535d2:	64 89 22             	mov    %esp,%fs:(%edx)
4535d5:	f6 45 fe 10          	testb  $0x10,-0x2(%ebp)
4535d9:	74 19                	je     0x4535f4
4535db:	56                   	push   %esi
4535dc:	50                   	push   %eax
4535dd:	e8 8a 30 fb ff       	call   0x40666c
4535e2:	8b 55 0c             	mov    0xc(%ebp),%edx
4535e5:	8b 52 fc             	mov    -0x4(%edx),%edx
4535e8:	b1 01                	mov    $0x1,%cl
4535ea:	92                   	xchg   %eax,%edx
4535eb:	e8 ac f7 ff ff       	call   0x452d9c
4535f0:	8b d8                	mov    %eax,%ebx
4535f2:	eb 2a                	jmp    0x45361e
4535f4:	8b 55 0c             	mov    0xc(%ebp),%edx
4535f7:	8b 52 fc             	mov    -0x4(%edx),%edx
4535fa:	b1 01                	mov    $0x1,%cl
4535fc:	92                   	xchg   %eax,%edx
4535fd:	e8 9a f7 ff ff       	call   0x452d9c
453602:	8b d8                	mov    %eax,%ebx
453604:	85 db                	test   %ebx,%ebx
453606:	74 16                	je     0x45361e
453608:	8b c3                	mov    %ebx,%eax
45360a:	e8 39 e3 ff ff       	call   0x451948
45360f:	3b f0                	cmp    %eax,%esi
453611:	7d 0b                	jge    0x45361e
453613:	8b d6                	mov    %esi,%edx
453615:	8b c3                	mov    %ebx,%eax
453617:	e8 3c e3 ff ff       	call   0x451958
45361c:	8b d8                	mov    %eax,%ebx
45361e:	85 db                	test   %ebx,%ebx
453620:	74 4a                	je     0x45366c
453622:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
453626:	74 44                	je     0x45366c
453628:	8d 45 f8             	lea    -0x8(%ebp),%eax
45362b:	8a 55 08             	mov    0x8(%ebp),%dl
45362e:	e8 4d 0b fb ff       	call   0x404180
453633:	8b 45 f8             	mov    -0x8(%ebp),%eax
453636:	50                   	push   %eax
453637:	8d 45 f4             	lea    -0xc(%ebp),%eax
45363a:	8b 53 30             	mov    0x30(%ebx),%edx
45363d:	8a 12                	mov    (%edx),%dl
45363f:	e8 3c 0b fb ff       	call   0x404180
453644:	8b 45 f4             	mov    -0xc(%ebp),%eax
453647:	5a                   	pop    %edx
453648:	e8 c3 46 fb ff       	call   0x407d10
45364d:	85 c0                	test   %eax,%eax
45364f:	75 11                	jne    0x453662
453651:	8d 55 f0             	lea    -0x10(%ebp),%edx
453654:	8b 43 30             	mov    0x30(%ebx),%eax
453657:	e8 a4 0d 00 00       	call   0x454400
45365c:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
453660:	74 04                	je     0x453666
453662:	33 c0                	xor    %eax,%eax
453664:	eb 02                	jmp    0x453668
453666:	b0 01                	mov    $0x1,%al
453668:	8b d8                	mov    %eax,%ebx
45366a:	eb 02                	jmp    0x45366e
45366c:	33 db                	xor    %ebx,%ebx
45366e:	33 c0                	xor    %eax,%eax
453670:	5a                   	pop    %edx
453671:	59                   	pop    %ecx
453672:	59                   	pop    %ecx
453673:	64 89 10             	mov    %edx,%fs:(%eax)
453676:	68 90 36 45 00       	push   $0x453690
45367b:	8d 45 f0             	lea    -0x10(%ebp),%eax
45367e:	ba 03 00 00 00       	mov    $0x3,%edx
453683:	e8 34 09 fb ff       	call   0x403fbc
453688:	c3                   	ret
453689:	e9 0e 03 fb ff       	jmp    0x40399c
45368e:	eb eb                	jmp    0x45367b
453690:	8b c3                	mov    %ebx,%eax
453692:	5e                   	pop    %esi
453693:	5b                   	pop    %ebx
453694:	8b e5                	mov    %ebp,%esp
453696:	5d                   	pop    %ebp
453697:	c2 04 00             	ret    $0x4
45369a:	8b c0                	mov    %eax,%eax
45369c:	55                   	push   %ebp
45369d:	8b ec                	mov    %esp,%ebp
45369f:	83 c4 e8             	add    $0xffffffe8,%esp
4536a2:	53                   	push   %ebx
4536a3:	56                   	push   %esi
4536a4:	57                   	push   %edi
4536a5:	8b da                	mov    %edx,%ebx
4536a7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4536aa:	33 c0                	xor    %eax,%eax
4536ac:	89 43 0c             	mov    %eax,0xc(%ebx)
4536af:	c7 45 f4 ff ff ff ff 	movl   $0xffffffff,-0xc(%ebp)
4536b6:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
4536bd:	c7 45 ec ff ff ff ff 	movl   $0xffffffff,-0x14(%ebp)
4536c4:	8b 43 08             	mov    0x8(%ebx),%eax
4536c7:	50                   	push   %eax
4536c8:	e8 3f 2f fb ff       	call   0x40660c
4536cd:	89 45 f8             	mov    %eax,-0x8(%ebp)
4536d0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4536d3:	48                   	dec    %eax
4536d4:	85 c0                	test   %eax,%eax
4536d6:	7c 77                	jl     0x45374f
4536d8:	40                   	inc    %eax
4536d9:	89 45 e8             	mov    %eax,-0x18(%ebp)
4536dc:	33 f6                	xor    %esi,%esi
4536de:	68 00 04 00 00       	push   $0x400
4536e3:	56                   	push   %esi
4536e4:	8b 43 08             	mov    0x8(%ebx),%eax
4536e7:	50                   	push   %eax
4536e8:	e8 37 2f fb ff       	call   0x406624
4536ed:	8b f8                	mov    %eax,%edi
4536ef:	55                   	push   %ebp
4536f0:	8a 43 04             	mov    0x4(%ebx),%al
4536f3:	50                   	push   %eax
4536f4:	8b 43 08             	mov    0x8(%ebx),%eax
4536f7:	8b ce                	mov    %esi,%ecx
4536f9:	8b d7                	mov    %edi,%edx
4536fb:	e8 58 fe ff ff       	call   0x453558
453700:	59                   	pop    %ecx
453701:	84 c0                	test   %al,%al
453703:	74 44                	je     0x453749