4134dd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4134e0:	d1 fe                	sar    $1,%esi
4134e2:	8d 51 02             	lea    0x2(%ecx),%edx
4134e5:	66 8b 01             	mov    (%ecx),%ax
4134e8:	83 c1 02             	add    $0x2,%ecx
4134eb:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
4134ef:	75 f4                	jne    0x4134e5
4134f1:	2b ca                	sub    %edx,%ecx
4134f3:	8d 46 02             	lea    0x2(%esi),%eax
4134f6:	d1 f9                	sar    $1,%ecx
4134f8:	03 c1                	add    %ecx,%eax
4134fa:	3b c3                	cmp    %ebx,%eax
4134fc:	77 50                	ja     0x41354e
4134fe:	ff 75 08             	push   0x8(%ebp)
413501:	8b d3                	mov    %ebx,%edx
413503:	8b cf                	mov    %edi,%ecx
413505:	e8 96 be ff ff       	call   0x40f3a0
41350a:	0f b7 07             	movzwl (%edi),%eax
41350d:	8b cf                	mov    %edi,%ecx
41350f:	8b d0                	mov    %eax,%edx
413511:	66 85 c0             	test   %ax,%ax
413514:	74 0f                	je     0x413525
413516:	33 d2                	xor    %edx,%edx
413518:	8b c1                	mov    %ecx,%eax
41351a:	83 c1 02             	add    $0x2,%ecx
41351d:	66 39 11             	cmp    %dx,(%ecx)
413520:	75 f6                	jne    0x413518
413522:	0f b7 10             	movzwl (%eax),%edx
413525:	66 83 fa 5c          	cmp    $0x5c,%dx
413529:	74 0e                	je     0x413539
41352b:	68 0c 25 40 00       	push   $0x40250c
413530:	8b d3                	mov    %ebx,%edx
413532:	8b cf                	mov    %edi,%ecx
413534:	e8 07 c7 ff ff       	call   0x40fc40
413539:	ff 75 0c             	push   0xc(%ebp)
41353c:	8b d3                	mov    %ebx,%edx
41353e:	8b cf                	mov    %edi,%ecx
413540:	e8 fb c6 ff ff       	call   0x40fc40
413545:	33 c0                	xor    %eax,%eax
413547:	5f                   	pop    %edi
413548:	5e                   	pop    %esi
413549:	5b                   	pop    %ebx
41354a:	c9                   	leave
41354b:	c2 08 00             	ret    $0x8
41354e:	6a 6f                	push   $0x6f
413550:	58                   	pop    %eax
413551:	eb f4                	jmp    0x413547
413553:	8b ff                	mov    %edi,%edi
413555:	55                   	push   %ebp
413556:	8b ec                	mov    %esp,%ebp
413558:	83 e4 f8             	and    $0xfffffff8,%esp
41355b:	81 ec 94 02 00 00    	sub    $0x294,%esp
413561:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
413566:	33 c4                	xor    %esp,%eax
413568:	89 84 24 90 02 00 00 	mov    %eax,0x290(%esp)
41356f:	53                   	push   %ebx
413570:	33 c0                	xor    %eax,%eax
413572:	89 4c 24 04          	mov    %ecx,0x4(%esp)
413576:	33 c9                	xor    %ecx,%ecx
413578:	89 44 24 18          	mov    %eax,0x18(%esp)
41357c:	66 89 44 24 20       	mov    %ax,0x20(%esp)
413581:	33 db                	xor    %ebx,%ebx
413583:	56                   	push   %esi
413584:	57                   	push   %edi
413585:	89 4c 24 10          	mov    %ecx,0x10(%esp)
413589:	8d 7c 24 4a          	lea    0x4a(%esp),%edi
41358d:	89 4c 24 14          	mov    %ecx,0x14(%esp)
413591:	be 04 01 00 00       	mov    $0x104,%esi
413596:	89 4c 24 18          	mov    %ecx,0x18(%esp)
41359a:	43                   	inc    %ebx
41359b:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
41359f:	89 4c 24 24          	mov    %ecx,0x24(%esp)
4135a3:	89 4c 24 2a          	mov    %ecx,0x2a(%esp)
4135a7:	89 4c 24 2e          	mov    %ecx,0x2e(%esp)
4135ab:	89 4c 24 32          	mov    %ecx,0x32(%esp)
4135af:	89 4c 24 36          	mov    %ecx,0x36(%esp)
4135b3:	89 4c 24 3a          	mov    %ecx,0x3a(%esp)
4135b7:	89 4c 24 3e          	mov    %ecx,0x3e(%esp)
4135bb:	89 4c 24 42          	mov    %ecx,0x42(%esp)
4135bf:	89 4c 24 46          	mov    %ecx,0x46(%esp)
4135c3:	ab                   	stos   %eax,%es:(%edi)
4135c4:	56                   	push   %esi
4135c5:	51                   	push   %ecx
4135c6:	89 8c 24 90 02 00 00 	mov    %ecx,0x290(%esp)
4135cd:	ab                   	stos   %eax,%es:(%edi)
4135ce:	88 9c 24 94 02 00 00 	mov    %bl,0x294(%esp)
4135d5:	89 b4 24 98 02 00 00 	mov    %esi,0x298(%esp)
4135dc:	ab                   	stos   %eax,%es:(%edi)
4135dd:	66 ab                	stos   %ax,%es:(%edi)
4135df:	33 c0                	xor    %eax,%eax
4135e1:	89 4c 24 60          	mov    %ecx,0x60(%esp)
4135e5:	8d 7c 24 7c          	lea    0x7c(%esp),%edi
4135e9:	89 4c 24 64          	mov    %ecx,0x64(%esp)
4135ed:	89 4c 24 68          	mov    %ecx,0x68(%esp)
4135f1:	88 4c 24 6c          	mov    %cl,0x6c(%esp)
4135f5:	89 4c 24 70          	mov    %ecx,0x70(%esp)
4135f9:	89 4c 24 74          	mov    %ecx,0x74(%esp)
4135fd:	89 4c 24 78          	mov    %ecx,0x78(%esp)
413601:	ab                   	stos   %eax,%es:(%edi)
413602:	ab                   	stos   %eax,%es:(%edi)
413603:	ab                   	stos   %eax,%es:(%edi)
413604:	8d 84 24 88 00 00 00 	lea    0x88(%esp),%eax
41360b:	50                   	push   %eax
41360c:	e8 ac 49 00 00       	call   0x417fbd
413611:	33 c0                	xor    %eax,%eax
413613:	8d 8c 24 8c 00 00 00 	lea    0x8c(%esp),%ecx
41361a:	83 c4 0c             	add    $0xc,%esp
41361d:	38 84 24 8c 02 00 00 	cmp    %al,0x28c(%esp)
413624:	0f 94 c0             	sete   %al
413627:	48                   	dec    %eax
413628:	25 e3 7e 00 00       	and    $0x7ee3,%eax
41362d:	03 c6                	add    %esi,%eax
41362f:	50                   	push   %eax
413630:	e8 bb ad ff ff       	call   0x40e3f0
413635:	33 ff                	xor    %edi,%edi
413637:	85 c0                	test   %eax,%eax
413639:	78 7f                	js     0x4136ba
41363b:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
41363f:	8d 54 24 10          	lea    0x10(%esp),%edx
413643:	8b 35 78 67 43 00    	mov    0x436778,%esi
413649:	c7 44 24 14 06 00 00 	movl   $0x6,0x14(%esp)
413650:	00
413651:	89 7c 24 18          	mov    %edi,0x18(%esp)
413655:	89 7c 24 58          	mov    %edi,0x58(%esp)
413659:	89 7c 24 6c          	mov    %edi,0x6c(%esp)
41365d:	e8 4f 3e ff ff       	call   0x4074b1
413662:	3b c3                	cmp    %ebx,%eax
413664:	74 54                	je     0x4136ba
413666:	8b 8c 24 88 02 00 00 	mov    0x288(%esp),%ecx
41366d:	85 c9                	test   %ecx,%ecx
41366f:	74 7a                	je     0x4136eb
413671:	8b 94 24 90 02 00 00 	mov    0x290(%esp),%edx
413678:	57                   	push   %edi
413679:	e8 20 58 ff ff       	call   0x408e9e
41367e:	39 7c 24 58          	cmp    %edi,0x58(%esp)
413682:	0f 84 17 c1 00 00    	je     0x41f79f
413688:	81 4c 24 10 00 00 01 	orl    $0x10000,0x10(%esp)
41368f:	00
413690:	8d 4c 24 10          	lea    0x10(%esp),%ecx
413694:	e8 71 36 ff ff       	call   0x406d0a
413699:	8b d8                	mov    %eax,%ebx
41369b:	8b 84 24 88 02 00 00 	mov    0x288(%esp),%eax
4136a2:	85 c0                	test   %eax,%eax
4136a4:	74 51                	je     0x4136f7
4136a6:	ff b4 24 90 02 00 00 	push   0x290(%esp)
4136ad:	50                   	push   %eax
4136ae:	e8 d8 ec ff ff       	call   0x41238b
4136b3:	8b ce                	mov    %esi,%ecx
4136b5:	e8 d5 e2 ff ff       	call   0x41198f
4136ba:	8b 8c 24 88 02 00 00 	mov    0x288(%esp),%ecx
4136c1:	89 bc 24 88 02 00 00 	mov    %edi,0x288(%esp)
4136c8:	85 c9                	test   %ecx,%ecx
4136ca:	74 08                	je     0x4136d4
4136cc:	51                   	push   %ecx
4136cd:	ff 15 e0 a3 44 00    	call   *0x44a3e0
4136d3:	59                   	pop    %ecx
4136d4:	8b 8c 24 9c 02 00 00 	mov    0x29c(%esp),%ecx
4136db:	8b c3                	mov    %ebx,%eax
4136dd:	5f                   	pop    %edi
4136de:	5e                   	pop    %esi
4136df:	5b                   	pop    %ebx
4136e0:	33 cc                	xor    %esp,%ecx
4136e2:	e8 49 34 00 00       	call   0x416b30
4136e7:	8b e5                	mov    %ebp,%esp
4136e9:	5d                   	pop    %ebp
4136ea:	c3                   	ret
4136eb:	8d 8c 24 80 00 00 00 	lea    0x80(%esp),%ecx
4136f2:	e9 7a ff ff ff       	jmp    0x413671
4136f7:	8d 84 24 80 00 00 00 	lea    0x80(%esp),%eax
4136fe:	eb a6                	jmp    0x4136a6
413700:	8b ff                	mov    %edi,%edi
413702:	55                   	push   %ebp
413703:	8b ec                	mov    %esp,%ebp
413705:	8b 4d 08             	mov    0x8(%ebp),%ecx
413708:	8b 49 3c             	mov    0x3c(%ecx),%ecx
41370b:	e8 43 fe ff ff       	call   0x413553
413710:	a3 dc 65 43 00       	mov    %eax,0x4365dc
413715:	5d                   	pop    %ebp
413716:	c2 04 00             	ret    $0x4
413719:	8b ff                	mov    %edi,%edi
41371b:	55                   	push   %ebp
41371c:	8b ec                	mov    %esp,%ebp
41371e:	81 ec 2c 02 00 00    	sub    $0x22c,%esp
413724:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
413729:	33 c5                	xor    %ebp,%eax
41372b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41372e:	53                   	push   %ebx
41372f:	8b 5d 08             	mov    0x8(%ebp),%ebx
413732:	33 c0                	xor    %eax,%eax
413734:	56                   	push   %esi
413735:	8b 75 0c             	mov    0xc(%ebp),%esi
413738:	57                   	push   %edi
413739:	bf 04 01 00 00       	mov    $0x104,%edi
41373e:	89 85 d4 fd ff ff    	mov    %eax,-0x22c(%ebp)
413744:	57                   	push   %edi
413745:	50                   	push   %eax
413746:	89 45 e8             	mov    %eax,-0x18(%ebp)
413749:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
41374f:	50                   	push   %eax
413750:	89 95 d8 fd ff ff    	mov    %edx,-0x228(%ebp)
413756:	89 8d dc fd ff ff    	mov    %ecx,-0x224(%ebp)
41375c:	c6 45 ec 01          	movb   $0x1,-0x14(%ebp)
413760:	89 7d f0             	mov    %edi,-0x10(%ebp)
413763:	e8 55 48 00 00       	call   0x417fbd
413768:	33 c0                	xor    %eax,%eax
41376a:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
413770:	83 c4 0c             	add    $0xc,%esp
413773:	38 45 ec             	cmp    %al,-0x14(%ebp)
413776:	0f 94 c0             	sete   %al
413779:	48                   	dec    %eax
41377a:	25 e3 7e 00 00       	and    $0x7ee3,%eax
41377f:	03 c7                	add    %edi,%eax
413781:	50                   	push   %eax
413782:	e8 69 ac ff ff       	call   0x40e3f0
413787:	85 c0                	test   %eax,%eax
413789:	0f 88 22 c0 00 00    	js     0x41f7b1
41378f:	6a 5c                	push   $0x5c
413791:	5a                   	pop    %edx
413792:	8b ce                	mov    %esi,%ecx
413794:	e8 5c ca ff ff       	call   0x4101f5
413799:	8b f8                	mov    %eax,%edi
41379b:	6a 3a                	push   $0x3a
41379d:	58                   	pop    %eax
41379e:	85 ff                	test   %edi,%edi
4137a0:	0f 84 0f c0 00 00    	je     0x41f7b5
4137a6:	83 c7 02             	add    $0x2,%edi
4137a9:	6a 5c                	push   $0x5c
4137ab:	5a                   	pop    %edx
4137ac:	8b cb                	mov    %ebx,%ecx
4137ae:	e8 42 ca ff ff       	call   0x4101f5
4137b3:	8b f0                	mov    %eax,%esi
4137b5:	85 f6                	test   %esi,%esi
4137b7:	0f 84 14 c0 00 00    	je     0x41f7d1
4137bd:	83 c6 02             	add    $0x2,%esi
4137c0:	8b 45 e8             	mov    -0x18(%ebp),%eax
4137c3:	85 c0                	test   %eax,%eax
4137c5:	0f 84 2b c0 00 00    	je     0x41f7f6
4137cb:	ff 75 f0             	push   -0x10(%ebp)
4137ce:	8b d6                	mov    %esi,%edx
4137d0:	8b cf                	mov    %edi,%ecx
4137d2:	50                   	push   %eax
4137d3:	e8 e5 03 00 00       	call   0x413bbd
4137d8:	8b f8                	mov    %eax,%edi
4137da:	85 ff                	test   %edi,%edi
4137dc:	0f 85 1f c0 00 00    	jne    0x41f801
4137e2:	3b f3                	cmp    %ebx,%esi
4137e4:	0f 84 2f c0 00 00    	je     0x41f819
4137ea:	8b cb                	mov    %ebx,%ecx
4137ec:	8d 51 02             	lea    0x2(%ecx),%edx
4137ef:	66 8b 01             	mov    (%ecx),%ax
4137f2:	83 c1 02             	add    $0x2,%ecx
4137f5:	66 3b 85 d4 fd ff ff 	cmp    -0x22c(%ebp),%ax
4137fc:	75 f1                	jne    0x4137ef
4137fe:	2b ca                	sub    %edx,%ecx
413800:	d1 f9                	sar    $1,%ecx
413802:	81 f9 e7 7f 00 00    	cmp    $0x7fe7,%ecx
413808:	0f 83 03 c0 00 00    	jae    0x41f811
41380e:	8b 95 d8 fd ff ff    	mov    -0x228(%ebp),%edx
413814:	8b 8d dc fd ff ff    	mov    -0x224(%ebp),%ecx
41381a:	53                   	push   %ebx
41381b:	e8 80 bb ff ff       	call   0x40f3a0
413820:	2b f3                	sub    %ebx,%esi
413822:	d1 fe                	sar    $1,%esi
413824:	3b b5 d8 fd ff ff    	cmp    -0x228(%ebp),%esi
41382a:	0f 83 e1 bf 00 00    	jae    0x41f811
413830:	8b 9d dc fd ff ff    	mov    -0x224(%ebp),%ebx
413836:	33 c0                	xor    %eax,%eax
413838:	33 d2                	xor    %edx,%edx
41383a:	66 89 04 73          	mov    %ax,(%ebx,%esi,2)
41383e:	8b f3                	mov    %ebx,%esi
413840:	8d 4e 02             	lea    0x2(%esi),%ecx
413843:	66 8b 06             	mov    (%esi),%ax
413846:	83 c6 02             	add    $0x2,%esi
413849:	66 3b c2             	cmp    %dx,%ax
41384c:	75 f5                	jne    0x413843
41384e:	2b f1                	sub    %ecx,%esi
413850:	8b 4d e8             	mov    -0x18(%ebp),%ecx
413853:	d1 fe                	sar    $1,%esi
413855:	8b d1                	mov    %ecx,%edx
413857:	85 c9                	test   %ecx,%ecx
413859:	74 60                	je     0x4138bb
41385b:	8d 42 02             	lea    0x2(%edx),%eax
41385e:	89 85 dc fd ff ff    	mov    %eax,-0x224(%ebp)
413864:	66 8b 02             	mov    (%edx),%ax
413867:	83 c2 02             	add    $0x2,%edx
41386a:	66 3b 85 d4 fd ff ff 	cmp    -0x22c(%ebp),%ax
413871:	75 f1                	jne    0x413864
413873:	2b 95 dc fd ff ff    	sub    -0x224(%ebp),%edx
413879:	8d 46 01             	lea    0x1(%esi),%eax
41387c:	d1 fa                	sar    $1,%edx
41387e:	03 c2                	add    %edx,%eax
413880:	3d e7 7f 00 00       	cmp    $0x7fe7,%eax
413885:	77 3c                	ja     0x4138c3
413887:	85 c9                	test   %ecx,%ecx
413889:	74 3d                	je     0x4138c8
41388b:	8b 95 d8 fd ff ff    	mov    -0x228(%ebp),%edx
413891:	51                   	push   %ecx
413892:	8b cb                	mov    %ebx,%ecx
413894:	e8 a7 c3 ff ff       	call   0x40fc40
413899:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41389c:	85 c9                	test   %ecx,%ecx
41389e:	74 08                	je     0x4138a8
4138a0:	51                   	push   %ecx
4138a1:	ff 15 e0 a3 44 00    	call   *0x44a3e0
4138a7:	59                   	pop    %ecx
4138a8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4138ab:	8b c7                	mov    %edi,%eax
4138ad:	5f                   	pop    %edi
4138ae:	5e                   	pop    %esi
4138af:	33 cd                	xor    %ebp,%ecx
4138b1:	5b                   	pop    %ebx
4138b2:	e8 79 32 00 00       	call   0x416b30
4138b7:	c9                   	leave
4138b8:	c2 08 00             	ret    $0x8
4138bb:	8d 95 e0 fd ff ff    	lea    -0x220(%ebp),%edx
4138c1:	eb 98                	jmp    0x41385b
4138c3:	6a 6f                	push   $0x6f
4138c5:	5f                   	pop    %edi
4138c6:	eb d4                	jmp    0x41389c
4138c8:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
4138ce:	eb bb                	jmp    0x41388b
4138d0:	8b ff                	mov    %edi,%edi
4138d2:	55                   	push   %ebp
4138d3:	8b ec                	mov    %esp,%ebp
4138d5:	83 e4 f8             	and    $0xfffffff8,%esp
4138d8:	81 ec 4c 04 00 00    	sub    $0x44c,%esp
4138de:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
4138e3:	33 c4                	xor    %esp,%eax
4138e5:	89 84 24 48 04 00 00 	mov    %eax,0x448(%esp)
4138ec:	8b 45 14             	mov    0x14(%ebp),%eax
4138ef:	83 a4 24 1c 02 00 00 	andl   $0x0,0x21c(%esp)
4138f6:	00
4138f7:	53                   	push   %ebx
4138f8:	56                   	push   %esi
4138f9:	8b 75 08             	mov    0x8(%ebp),%esi
4138fc:	33 db                	xor    %ebx,%ebx
4138fe:	57                   	push   %edi
4138ff:	8b 7d 0c             	mov    0xc(%ebp),%edi
413902:	43                   	inc    %ebx
413903:	89 44 24 1c          	mov    %eax,0x1c(%esp)
413907:	8b 00                	mov    (%eax),%eax
413909:	88 9c 24 2c 02 00 00 	mov    %bl,0x22c(%esp)
413910:	0f b7 4f 02          	movzwl 0x2(%edi),%ecx
413914:	89 4c 24 14          	mov    %ecx,0x14(%esp)
413918:	8b c8                	mov    %eax,%ecx
41391a:	25 00 20 00 00       	and    $0x2000,%eax
41391f:	81 e1 00 08 00 00    	and    $0x800,%ecx
413925:	89 44 24 10          	mov    %eax,0x10(%esp)
413929:	b8 04 01 00 00       	mov    $0x104,%eax
41392e:	50                   	push   %eax