41354d:	57                   	push   %edi
41354e:	53                   	push   %ebx
41354f:	ff 15 ac c3 42 00    	call   *0x42c3ac
413555:	83 c4 10             	add    $0x10,%esp
413558:	85 c0                	test   %eax,%eax
41355a:	78 08                	js     0x413564
41355c:	3b c7                	cmp    %edi,%eax
41355e:	77 04                	ja     0x413564
413560:	75 0d                	jne    0x41356f
413562:	eb 05                	jmp    0x413569
413564:	be 7a 00 07 80       	mov    $0x8007007a,%esi
413569:	33 c0                	xor    %eax,%eax
41356b:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
41356f:	5f                   	pop    %edi
413570:	5b                   	pop    %ebx
413571:	eb 0c                	jmp    0x41357f
413573:	85 c0                	test   %eax,%eax
413575:	74 08                	je     0x41357f
413577:	8b 4d 08             	mov    0x8(%ebp),%ecx
41357a:	33 c0                	xor    %eax,%eax
41357c:	66 89 01             	mov    %ax,(%ecx)
41357f:	8b c6                	mov    %esi,%eax
413581:	5e                   	pop    %esi
413582:	5d                   	pop    %ebp
413583:	c3                   	ret
413584:	8b ff                	mov    %edi,%edi
413586:	55                   	push   %ebp
413587:	8b ec                	mov    %esp,%ebp
413589:	ff 75 0c             	push   0xc(%ebp)
41358c:	ba 5b 02 00 00       	mov    $0x25b,%edx
413591:	6a 02                	push   $0x2
413593:	ff 75 04             	push   0x4(%ebp)
413596:	6a 00                	push   $0x0
413598:	6a 00                	push   $0x0
41359a:	68 0c 55 40 00       	push   $0x40550c
41359f:	e8 7b aa ff ff       	call   0x40e01f
4135a4:	5d                   	pop    %ebp
4135a5:	c2 08 00             	ret    $0x8
4135a8:	8b ff                	mov    %edi,%edi
4135aa:	55                   	push   %ebp
4135ab:	8b ec                	mov    %esp,%ebp
4135ad:	83 ec 0c             	sub    $0xc,%esp
4135b0:	53                   	push   %ebx
4135b1:	56                   	push   %esi
4135b2:	8b 75 14             	mov    0x14(%ebp),%esi
4135b5:	33 db                	xor    %ebx,%ebx
4135b7:	89 55 f4             	mov    %edx,-0xc(%ebp)
4135ba:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4135bd:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4135c0:	57                   	push   %edi
4135c1:	6a 0a                	push   $0xa
4135c3:	5f                   	pop    %edi
4135c4:	85 f6                	test   %esi,%esi
4135c6:	74 1d                	je     0x4135e5
4135c8:	8b d6                	mov    %esi,%edx
4135ca:	8d 4a 02             	lea    0x2(%edx),%ecx
4135cd:	66 8b 02             	mov    (%edx),%ax
4135d0:	83 c2 02             	add    $0x2,%edx
4135d3:	66 3b c3             	cmp    %bx,%ax
4135d6:	75 f5                	jne    0x4135cd
4135d8:	2b d1                	sub    %ecx,%edx
4135da:	d1 fa                	sar    $1,%edx
4135dc:	8d 1c 55 02 00 00 00 	lea    0x2(,%edx,2),%ebx
4135e3:	eb 02                	jmp    0x4135e7
4135e5:	8b df                	mov    %edi,%ebx
4135e7:	85 f6                	test   %esi,%esi
4135e9:	75 05                	jne    0x4135f0
4135eb:	be 18 1c 40 00       	mov    $0x401c18,%esi
4135f0:	8b 4d 10             	mov    0x10(%ebp),%ecx
4135f3:	85 c9                	test   %ecx,%ecx
4135f5:	74 20                	je     0x413617
4135f7:	8b d1                	mov    %ecx,%edx
4135f9:	8d 7a 02             	lea    0x2(%edx),%edi
4135fc:	66 8b 02             	mov    (%edx),%ax
4135ff:	83 c2 02             	add    $0x2,%edx
413602:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
413606:	75 f4                	jne    0x4135fc
413608:	2b d7                	sub    %edi,%edx
41360a:	d1 fa                	sar    $1,%edx
41360c:	8d 3c 55 02 00 00 00 	lea    0x2(,%edx,2),%edi
413613:	85 c9                	test   %ecx,%ecx
413615:	75 05                	jne    0x41361c
413617:	b9 18 1c 40 00       	mov    $0x401c18,%ecx
41361c:	33 c0                	xor    %eax,%eax
41361e:	50                   	push   %eax
41361f:	53                   	push   %ebx
413620:	56                   	push   %esi
413621:	57                   	push   %edi
413622:	51                   	push   %ecx
413623:	ff 75 f8             	push   -0x8(%ebp)
413626:	ff 75 f4             	push   -0xc(%ebp)
413629:	6a 2b                	push   $0x2b
41362b:	ff 75 0c             	push   0xc(%ebp)
41362e:	ff 75 08             	push   0x8(%ebp)
413631:	ff 15 68 c4 42 00    	call   *0x42c468
413637:	83 c4 28             	add    $0x28,%esp
41363a:	5f                   	pop    %edi
41363b:	5e                   	pop    %esi
41363c:	5b                   	pop    %ebx
41363d:	c9                   	leave
41363e:	c2 10 00             	ret    $0x10
413641:	6a 14                	push   $0x14
413643:	b8 56 89 42 00       	mov    $0x428956,%eax
413648:	e8 84 4a 01 00       	call   0x4280d1
41364d:	8b c2                	mov    %edx,%eax
41364f:	89 45 e0             	mov    %eax,-0x20(%ebp)
413652:	8b d9                	mov    %ecx,%ebx
413654:	89 5d e8             	mov    %ebx,-0x18(%ebp)
413657:	85 db                	test   %ebx,%ebx
413659:	0f 84 dd 00 00 00    	je     0x41373c
41365f:	85 c0                	test   %eax,%eax
413661:	0f 84 d5 00 00 00    	je     0x41373c
413667:	33 f6                	xor    %esi,%esi
413669:	56                   	push   %esi
41366a:	56                   	push   %esi
41366b:	53                   	push   %ebx
41366c:	ff 15 0c c1 42 00    	call   *0x42c10c
413672:	33 c9                	xor    %ecx,%ecx
413674:	89 45 ec             	mov    %eax,-0x14(%ebp)
413677:	6a 02                	push   $0x2
413679:	5a                   	pop    %edx
41367a:	f7 e2                	mul    %edx
41367c:	89 75 fc             	mov    %esi,-0x4(%ebp)
41367f:	0f 90 c1             	seto   %cl
413682:	f7 d9                	neg    %ecx
413684:	0b c8                	or     %eax,%ecx
413686:	51                   	push   %ecx
413687:	e8 86 46 01 00       	call   0x427d12
41368c:	59                   	pop    %ecx
41368d:	8b f8                	mov    %eax,%edi
41368f:	eb 0d                	jmp    0x41369e
413691:	b8 97 36 41 00       	mov    $0x413697,%eax
413696:	c3                   	ret
413697:	8b 5d e8             	mov    -0x18(%ebp),%ebx
41369a:	33 f6                	xor    %esi,%esi
41369c:	8b fe                	mov    %esi,%edi
41369e:	85 ff                	test   %edi,%edi
4136a0:	75 2f                	jne    0x4136d1
4136a2:	a1 00 b0 42 00       	mov    0x42b000,%eax
4136a7:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4136ac:	74 1c                	je     0x4136ca
4136ae:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4136b2:	74 16                	je     0x4136ca
4136b4:	ff 75 ec             	push   -0x14(%ebp)
4136b7:	ba 90 28 40 00       	mov    $0x402890,%edx
4136bc:	ff 70 14             	push   0x14(%eax)
4136bf:	ff 70 10             	push   0x10(%eax)
4136c2:	6a 0b                	push   $0xb
4136c4:	59                   	pop    %ecx
4136c5:	e8 04 3d ff ff       	call   0x4073ce
4136ca:	be 0e 00 07 80       	mov    $0x8007000e,%esi
4136cf:	eb 67                	jmp    0x413738
4136d1:	ff 75 ec             	push   -0x14(%ebp)
4136d4:	57                   	push   %edi
4136d5:	53                   	push   %ebx
4136d6:	ff 15 0c c1 42 00    	call   *0x42c10c
4136dc:	85 c0                	test   %eax,%eax
4136de:	75 42                	jne    0x413722
4136e0:	a1 00 b0 42 00       	mov    0x42b000,%eax
4136e5:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4136ea:	74 25                	je     0x413711
4136ec:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4136f0:	74 1f                	je     0x413711
4136f2:	ff 15 18 c2 42 00    	call   *0x42c218
4136f8:	50                   	push   %eax
4136f9:	a1 00 b0 42 00       	mov    0x42b000,%eax
4136fe:	ba 90 28 40 00       	mov    $0x402890,%edx
413703:	ff 70 14             	push   0x14(%eax)
413706:	ff 70 10             	push   0x10(%eax)
413709:	6a 0c                	push   $0xc
41370b:	59                   	pop    %ecx
41370c:	e8 bd 3c ff ff       	call   0x4073ce
413711:	ff 15 18 c2 42 00    	call   *0x42c218
413717:	8b c8                	mov    %eax,%ecx
413719:	e8 8c 7e ff ff       	call   0x40b5aa
41371e:	8b f0                	mov    %eax,%esi
413720:	eb 0b                	jmp    0x41372d
413722:	8b 4d e0             	mov    -0x20(%ebp),%ecx
413725:	57                   	push   %edi
413726:	e8 7b 92 ff ff       	call   0x40c9a6
41372b:	8b fe                	mov    %esi,%edi
41372d:	85 ff                	test   %edi,%edi
41372f:	74 07                	je     0x413738
413731:	57                   	push   %edi
413732:	e8 04 46 01 00       	call   0x427d3b
413737:	59                   	pop    %ecx
413738:	8b c6                	mov    %esi,%eax
41373a:	eb 2a                	jmp    0x413766
41373c:	a1 00 b0 42 00       	mov    0x42b000,%eax
413741:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
413746:	74 19                	je     0x413761
413748:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41374c:	74 13                	je     0x413761
41374e:	ff 70 14             	push   0x14(%eax)
413751:	ba 90 28 40 00       	mov    $0x402890,%edx
413756:	ff 70 10             	push   0x10(%eax)
413759:	6a 0a                	push   $0xa
41375b:	59                   	pop    %ecx
41375c:	e8 4f 3c ff ff       	call   0x4073b0
413761:	b8 57 00 07 80       	mov    $0x80070057,%eax
413766:	e8 cb 48 01 00       	call   0x428036
41376b:	c3                   	ret
41376c:	8b d1                	mov    %ecx,%edx
41376e:	56                   	push   %esi
41376f:	85 d2                	test   %edx,%edx
413771:	75 29                	jne    0x41379c
413773:	a1 00 b0 42 00       	mov    0x42b000,%eax
413778:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41377d:	74 19                	je     0x413798
41377f:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
413783:	74 13                	je     0x413798
413785:	ff 70 14             	push   0x14(%eax)
413788:	ba 90 28 40 00       	mov    $0x402890,%edx
41378d:	ff 70 10             	push   0x10(%eax)
413790:	6a 1b                	push   $0x1b
413792:	59                   	pop    %ecx
413793:	e8 18 3c ff ff       	call   0x4073b0
413798:	33 c0                	xor    %eax,%eax
41379a:	5e                   	pop    %esi
41379b:	c3                   	ret
41379c:	8d 71 02             	lea    0x2(%ecx),%esi
41379f:	66 8b 01             	mov    (%ecx),%ax
4137a2:	83 c1 02             	add    $0x2,%ecx
4137a5:	66 85 c0             	test   %ax,%ax
4137a8:	75 f5                	jne    0x41379f
4137aa:	2b ce                	sub    %esi,%ecx
4137ac:	d1 f9                	sar    $1,%ecx
4137ae:	8d 04 4a             	lea    (%edx,%ecx,2),%eax
4137b1:	eb 15                	jmp    0x4137c8
4137b3:	83 e8 02             	sub    $0x2,%eax
4137b6:	0f b7 08             	movzwl (%eax),%ecx
4137b9:	83 f9 5c             	cmp    $0x5c,%ecx
4137bc:	74 10                	je     0x4137ce
4137be:	83 f9 2f             	cmp    $0x2f,%ecx
4137c1:	74 0b                	je     0x4137ce
4137c3:	83 f9 3a             	cmp    $0x3a,%ecx
4137c6:	74 06                	je     0x4137ce
4137c8:	8b f0                	mov    %eax,%esi
4137ca:	3b c2                	cmp    %edx,%eax
4137cc:	77 e5                	ja     0x4137b3
4137ce:	8b c6                	mov    %esi,%eax
4137d0:	5e                   	pop    %esi
4137d1:	c3                   	ret
4137d2:	8b ff                	mov    %edi,%edi
4137d4:	56                   	push   %esi
4137d5:	8b f2                	mov    %edx,%esi
4137d7:	ff 15 dc c2 42 00    	call   *0x42c2dc
4137dd:	6a 00                	push   $0x0
4137df:	68 10 27 00 00       	push   $0x2710
4137e4:	56                   	push   %esi
4137e5:	ff 15 5c c1 42 00    	call   *0x42c15c
4137eb:	8b f0                	mov    %eax,%esi
4137ed:	ff 15 dc c2 42 00    	call   *0x42c2dc
4137f3:	8b c6                	mov    %esi,%eax
4137f5:	5e                   	pop    %esi
4137f6:	c2 04 00             	ret    $0x4
4137f9:	8b ff                	mov    %edi,%edi
4137fb:	55                   	push   %ebp
4137fc:	8b ec                	mov    %esp,%ebp
4137fe:	83 ec 0c             	sub    $0xc,%esp
413801:	8b 45 0c             	mov    0xc(%ebp),%eax
413804:	53                   	push   %ebx
413805:	56                   	push   %esi
413806:	57                   	push   %edi
413807:	8b 7d 10             	mov    0x10(%ebp),%edi
41380a:	8b d9                	mov    %ecx,%ebx
41380c:	33 f6                	xor    %esi,%esi
41380e:	89 45 f8             	mov    %eax,-0x8(%ebp)
413811:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
413818:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41381b:	85 ff                	test   %edi,%edi
41381d:	74 02                	je     0x413821
41381f:	89 37                	mov    %esi,(%edi)
413821:	8d 45 fc             	lea    -0x4(%ebp),%eax
413824:	50                   	push   %eax
413825:	68 01 01 00 00       	push   $0x101
41382a:	56                   	push   %esi
41382b:	52                   	push   %edx
41382c:	53                   	push   %ebx
41382d:	ff 15 48 c0 42 00    	call   *0x42c048
413833:	85 c0                	test   %eax,%eax
413835:	75 1c                	jne    0x413853
413837:	8d 45 f4             	lea    -0xc(%ebp),%eax
41383a:	50                   	push   %eax
41383b:	8d 45 f8             	lea    -0x8(%ebp),%eax
41383e:	50                   	push   %eax
41383f:	56                   	push   %esi
413840:	6a 10                	push   $0x10
413842:	ff 75 08             	push   0x8(%ebp)
413845:	56                   	push   %esi
413846:	ff 75 fc             	push   -0x4(%ebp)
413849:	ff 15 28 c0 42 00    	call   *0x42c028
41384f:	85 c0                	test   %eax,%eax
413851:	74 09                	je     0x41385c
413853:	8b c8                	mov    %eax,%ecx
413855:	e8 50 7d ff ff       	call   0x40b5aa
41385a:	8b f0                	mov    %eax,%esi
41385c:	85 f6                	test   %esi,%esi
41385e:	79 10                	jns    0x413870
413860:	8b 45 0c             	mov    0xc(%ebp),%eax
413863:	89 45 f8             	mov    %eax,-0x8(%ebp)
413866:	85 ff                	test   %edi,%edi
413868:	74 06                	je     0x413870
41386a:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
413870:	8b 45 fc             	mov    -0x4(%ebp),%eax
413873:	85 c0                	test   %eax,%eax
413875:	74 0b                	je     0x413882
413877:	3b c3                	cmp    %ebx,%eax
413879:	74 07                	je     0x413882
41387b:	50                   	push   %eax
41387c:	ff 15 44 c0 42 00    	call   *0x42c044
413882:	8b 45 f8             	mov    -0x8(%ebp),%eax
413885:	5f                   	pop    %edi
413886:	5e                   	pop    %esi
413887:	5b                   	pop    %ebx
413888:	c9                   	leave
413889:	c2 10 00             	ret    $0x10
41388c:	8b ff                	mov    %edi,%edi
41388e:	55                   	push   %ebp
41388f:	8b ec                	mov    %esp,%ebp
413891:	83 ec 10             	sub    $0x10,%esp
413894:	53                   	push   %ebx
413895:	56                   	push   %esi
413896:	8b 75 14             	mov    0x14(%ebp),%esi
413899:	33 db                	xor    %ebx,%ebx
41389b:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41389e:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4138a1:	c7 45 f8 08 00 00 00 	movl   $0x8,-0x8(%ebp)
4138a8:	57                   	push   %edi
4138a9:	8b f9                	mov    %ecx,%edi
4138ab:	89 7d fc             	mov    %edi,-0x4(%ebp)
4138ae:	85 f6                	test   %esi,%esi
4138b0:	74 02                	je     0x4138b4
4138b2:	89 1e                	mov    %ebx,(%esi)
4138b4:	8d 45 fc             	lea    -0x4(%ebp),%eax
4138b7:	50                   	push   %eax
4138b8:	68 01 01 00 00       	push   $0x101
4138bd:	53                   	push   %ebx
4138be:	52                   	push   %edx
4138bf:	57                   	push   %edi
4138c0:	ff 15 48 c0 42 00    	call   *0x42c048
4138c6:	85 c0                	test   %eax,%eax
4138c8:	74 09                	je     0x4138d3
4138ca:	8b c8                	mov    %eax,%ecx
4138cc:	e8 d9 7c ff ff       	call   0x40b5aa
4138d1:	eb 20                	jmp    0x4138f3
4138d3:	8d 45 f8             	lea    -0x8(%ebp),%eax
4138d6:	50                   	push   %eax
4138d7:	8d 45 f0             	lea    -0x10(%ebp),%eax
4138da:	50                   	push   %eax