41a529:	8d 45 cc             	lea    -0x34(%ebp),%eax
41a52c:	50                   	push   %eax
41a52d:	6a 01                	push   $0x1
41a52f:	6a 7f                	push   $0x7f
41a531:	ff 15 2c 11 45 00    	call   *0x45112c
41a537:	85 c0                	test   %eax,%eax
41a539:	74 0f                	je     0x41a54a
41a53b:	0f b7 45 d0          	movzwl -0x30(%ebp),%eax
41a53f:	a9 04 01 00 00       	test   $0x104,%eax
41a544:	0f 85 30 d2 00 00    	jne    0x42777a
41a54a:	f6 c3 08             	test   $0x8,%bl
41a54d:	0f 84 68 d2 00 00    	je     0x4277bb
41a553:	f6 c3 04             	test   $0x4,%bl
41a556:	0f 85 6e d2 00 00    	jne    0x4277ca
41a55c:	8b 45 ac             	mov    -0x54(%ebp),%eax
41a55f:	f6 c3 01             	test   $0x1,%bl
41a562:	75 14                	jne    0x41a578
41a564:	f6 c3 02             	test   $0x2,%bl
41a567:	0f 85 52 d2 00 00    	jne    0x4277bf
41a56d:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41a572:	0f 87 52 d2 00 00    	ja     0x4277ca
41a578:	f6 c3 02             	test   $0x2,%bl
41a57b:	0f 85 6b d2 00 00    	jne    0x4277ec
41a581:	8b 7d b8             	mov    -0x48(%ebp),%edi
41a584:	33 c9                	xor    %ecx,%ecx
41a586:	83 c7 10             	add    $0x10,%edi
41a589:	89 4d 98             	mov    %ecx,-0x68(%ebp)
41a58c:	33 f6                	xor    %esi,%esi
41a58e:	bb 2a 00 00 00       	mov    $0x2a,%ebx
41a593:	0f b7 04 77          	movzwl (%edi,%esi,2),%eax
41a597:	66 3b d8             	cmp    %ax,%bx
41a59a:	0f 84 56 d2 00 00    	je     0x4277f6
41a5a0:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
41a5a4:	8d 45 d8             	lea    -0x28(%ebp),%eax
41a5a7:	50                   	push   %eax
41a5a8:	6a 01                	push   $0x1
41a5aa:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41a5ad:	50                   	push   %eax
41a5ae:	6a 01                	push   $0x1
41a5b0:	6a 7f                	push   $0x7f
41a5b2:	ff 15 2c 11 45 00    	call   *0x45112c
41a5b8:	85 c0                	test   %eax,%eax
41a5ba:	0f 84 42 d2 00 00    	je     0x427802
41a5c0:	f6 45 d8 04          	testb  $0x4,-0x28(%ebp)
41a5c4:	0f 84 38 d2 00 00    	je     0x427802
41a5ca:	83 c8 ff             	or     $0xffffffff,%eax
41a5cd:	0f b7 c8             	movzwl %ax,%ecx
41a5d0:	89 4d 98             	mov    %ecx,-0x68(%ebp)
41a5d3:	46                   	inc    %esi
41a5d4:	83 fe 02             	cmp    $0x2,%esi
41a5d7:	72 ba                	jb     0x41a593
41a5d9:	66 3b c1             	cmp    %cx,%ax
41a5dc:	0f 85 20 d2 00 00    	jne    0x427802
41a5e2:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41a5e5:	33 f6                	xor    %esi,%esi
41a5e7:	8b c1                	mov    %ecx,%eax
41a5e9:	ba 0c 00 00 00       	mov    $0xc,%edx
41a5ee:	2b f8                	sub    %eax,%edi
41a5f0:	8d 42 f6             	lea    -0xa(%edx),%eax
41a5f3:	85 c0                	test   %eax,%eax
41a5f5:	74 19                	je     0x41a610
41a5f7:	0f b7 04 0f          	movzwl (%edi,%ecx,1),%eax
41a5fb:	66 85 c0             	test   %ax,%ax
41a5fe:	74 10                	je     0x41a610
41a600:	66 89 01             	mov    %ax,(%ecx)
41a603:	83 c1 02             	add    $0x2,%ecx
41a606:	83 ea 01             	sub    $0x1,%edx
41a609:	75 e5                	jne    0x41a5f0
41a60b:	e9 fc d1 00 00       	jmp    0x42780c
41a610:	85 d2                	test   %edx,%edx
41a612:	0f 84 f4 d1 00 00    	je     0x42780c
41a618:	33 c0                	xor    %eax,%eax
41a61a:	66 89 01             	mov    %ax,(%ecx)
41a61d:	85 f6                	test   %esi,%esi
41a61f:	0f 88 dd d1 00 00    	js     0x427802
41a625:	0f b7 75 e4          	movzwl -0x1c(%ebp),%esi
41a629:	8d 7d e6             	lea    -0x1a(%ebp),%edi
41a62c:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
41a630:	33 db                	xor    %ebx,%ebx
41a632:	89 45 a8             	mov    %eax,-0x58(%ebp)
41a635:	8d 45 c0             	lea    -0x40(%ebp),%eax
41a638:	66 89 75 bc          	mov    %si,-0x44(%ebp)
41a63c:	50                   	push   %eax
41a63d:	6a 01                	push   $0x1
41a63f:	8d 45 bc             	lea    -0x44(%ebp),%eax
41a642:	50                   	push   %eax
41a643:	6a 01                	push   $0x1
41a645:	6a 7f                	push   $0x7f
41a647:	ff 15 2c 11 45 00    	call   *0x45112c
41a64d:	85 c0                	test   %eax,%eax
41a64f:	74 0a                	je     0x41a65b
41a651:	f6 45 c0 08          	testb  $0x8,-0x40(%ebp)
41a655:	0f 85 be d1 00 00    	jne    0x427819
41a65b:	66 83 fe 2d          	cmp    $0x2d,%si
41a65f:	0f 84 bf d1 00 00    	je     0x427824
41a665:	66 83 fe 2b          	cmp    $0x2b,%si
41a669:	74 4c                	je     0x41a6b7
41a66b:	eb 03                	jmp    0x41a670
41a66d:	8d 49 00             	lea    0x0(%ecx),%ecx
41a670:	8d 45 c8             	lea    -0x38(%ebp),%eax
41a673:	66 89 75 c4          	mov    %si,-0x3c(%ebp)
41a677:	50                   	push   %eax
41a678:	6a 01                	push   $0x1
41a67a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41a67d:	50                   	push   %eax
41a67e:	6a 01                	push   $0x1
41a680:	6a 7f                	push   $0x7f
41a682:	ff 15 2c 11 45 00    	call   *0x45112c
41a688:	85 c0                	test   %eax,%eax
41a68a:	74 33                	je     0x41a6bf
41a68c:	f6 45 c8 04          	testb  $0x4,-0x38(%ebp)
41a690:	74 2d                	je     0x41a6bf
41a692:	0f b7 ce             	movzwl %si,%ecx
41a695:	83 e9 30             	sub    $0x30,%ecx
41a698:	83 f9 0a             	cmp    $0xa,%ecx
41a69b:	73 4d                	jae    0x41a6ea
41a69d:	8b 45 a8             	mov    -0x58(%ebp),%eax
41a6a0:	83 cb 08             	or     $0x8,%ebx
41a6a3:	3d 99 99 99 19       	cmp    $0x19999999,%eax
41a6a8:	0f 83 b3 d1 00 00    	jae    0x427861
41a6ae:	8d 04 80             	lea    (%eax,%eax,4),%eax
41a6b1:	8d 04 41             	lea    (%ecx,%eax,2),%eax
41a6b4:	89 45 a8             	mov    %eax,-0x58(%ebp)
41a6b7:	0f b7 37             	movzwl (%edi),%esi
41a6ba:	83 c7 02             	add    $0x2,%edi
41a6bd:	eb b1                	jmp    0x41a670
41a6bf:	8d 45 d0             	lea    -0x30(%ebp),%eax
41a6c2:	66 89 75 cc          	mov    %si,-0x34(%ebp)
41a6c6:	50                   	push   %eax
41a6c7:	6a 01                	push   $0x1
41a6c9:	8d 45 cc             	lea    -0x34(%ebp),%eax
41a6cc:	50                   	push   %eax
41a6cd:	6a 01                	push   $0x1
41a6cf:	6a 7f                	push   $0x7f
41a6d1:	ff 15 2c 11 45 00    	call   *0x45112c
41a6d7:	85 c0                	test   %eax,%eax
41a6d9:	74 0f                	je     0x41a6ea
41a6db:	0f b7 45 d0          	movzwl -0x30(%ebp),%eax
41a6df:	a9 04 01 00 00       	test   $0x104,%eax
41a6e4:	0f 85 49 d1 00 00    	jne    0x427833
41a6ea:	f6 c3 08             	test   $0x8,%bl
41a6ed:	0f 84 81 d1 00 00    	je     0x427874
41a6f3:	f6 c3 04             	test   $0x4,%bl
41a6f6:	0f 85 87 d1 00 00    	jne    0x427883
41a6fc:	8b 45 a8             	mov    -0x58(%ebp),%eax
41a6ff:	f6 c3 01             	test   $0x1,%bl
41a702:	75 14                	jne    0x41a718
41a704:	f6 c3 02             	test   $0x2,%bl
41a707:	0f 85 6b d1 00 00    	jne    0x427878
41a70d:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41a712:	0f 87 6b d1 00 00    	ja     0x427883
41a718:	f6 c3 02             	test   $0x2,%bl
41a71b:	0f 85 84 d1 00 00    	jne    0x4278a5
41a721:	8b 7d b8             	mov    -0x48(%ebp),%edi
41a724:	33 c9                	xor    %ecx,%ecx
41a726:	83 c7 14             	add    $0x14,%edi
41a729:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
41a72c:	33 f6                	xor    %esi,%esi
41a72e:	ba 2a 00 00 00       	mov    $0x2a,%edx
41a733:	0f b7 04 77          	movzwl (%edi,%esi,2),%eax
41a737:	66 3b d0             	cmp    %ax,%dx
41a73a:	0f 84 6f d1 00 00    	je     0x4278af
41a740:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
41a744:	8d 45 d8             	lea    -0x28(%ebp),%eax
41a747:	50                   	push   %eax
41a748:	6a 01                	push   $0x1
41a74a:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41a74d:	50                   	push   %eax
41a74e:	6a 01                	push   $0x1
41a750:	6a 7f                	push   $0x7f
41a752:	ff 15 2c 11 45 00    	call   *0x45112c
41a758:	85 c0                	test   %eax,%eax
41a75a:	0f 84 a2 d0 00 00    	je     0x427802
41a760:	f6 45 d8 04          	testb  $0x4,-0x28(%ebp)
41a764:	0f 84 98 d0 00 00    	je     0x427802
41a76a:	83 c8 ff             	or     $0xffffffff,%eax
41a76d:	0f b7 c8             	movzwl %ax,%ecx
41a770:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
41a773:	8d 50 2b             	lea    0x2b(%eax),%edx
41a776:	46                   	inc    %esi
41a777:	83 fe 02             	cmp    $0x2,%esi
41a77a:	72 b7                	jb     0x41a733
41a77c:	66 3b c1             	cmp    %cx,%ax
41a77f:	0f 85 7d d0 00 00    	jne    0x427802
41a785:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41a788:	33 f6                	xor    %esi,%esi
41a78a:	8b c1                	mov    %ecx,%eax
41a78c:	ba 0c 00 00 00       	mov    $0xc,%edx
41a791:	2b f8                	sub    %eax,%edi
41a793:	8d 42 f6             	lea    -0xa(%edx),%eax
41a796:	85 c0                	test   %eax,%eax
41a798:	74 19                	je     0x41a7b3
41a79a:	0f b7 04 39          	movzwl (%ecx,%edi,1),%eax
41a79e:	66 85 c0             	test   %ax,%ax
41a7a1:	74 10                	je     0x41a7b3
41a7a3:	66 89 01             	mov    %ax,(%ecx)
41a7a6:	83 c1 02             	add    $0x2,%ecx
41a7a9:	83 ea 01             	sub    $0x1,%edx
41a7ac:	75 e5                	jne    0x41a793
41a7ae:	e9 0d d1 00 00       	jmp    0x4278c0
41a7b3:	85 d2                	test   %edx,%edx
41a7b5:	0f 84 05 d1 00 00    	je     0x4278c0
41a7bb:	33 c0                	xor    %eax,%eax
41a7bd:	66 89 01             	mov    %ax,(%ecx)
41a7c0:	85 f6                	test   %esi,%esi
41a7c2:	0f 88 3a d0 00 00    	js     0x427802
41a7c8:	0f b7 75 e4          	movzwl -0x1c(%ebp),%esi
41a7cc:	8d 7d e6             	lea    -0x1a(%ebp),%edi
41a7cf:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
41a7d3:	33 db                	xor    %ebx,%ebx
41a7d5:	89 45 a4             	mov    %eax,-0x5c(%ebp)
41a7d8:	8d 45 c0             	lea    -0x40(%ebp),%eax
41a7db:	66 89 75 bc          	mov    %si,-0x44(%ebp)
41a7df:	50                   	push   %eax
41a7e0:	6a 01                	push   $0x1
41a7e2:	8d 45 bc             	lea    -0x44(%ebp),%eax
41a7e5:	50                   	push   %eax
41a7e6:	6a 01                	push   $0x1
41a7e8:	6a 7f                	push   $0x7f
41a7ea:	ff 15 2c 11 45 00    	call   *0x45112c
41a7f0:	85 c0                	test   %eax,%eax
41a7f2:	74 0a                	je     0x41a7fe
41a7f4:	f6 45 c0 08          	testb  $0x8,-0x40(%ebp)
41a7f8:	0f 85 cf d0 00 00    	jne    0x4278cd
41a7fe:	66 83 fe 2d          	cmp    $0x2d,%si
41a802:	0f 84 d0 d0 00 00    	je     0x4278d8
41a808:	66 83 fe 2b          	cmp    $0x2b,%si
41a80c:	74 49                	je     0x41a857
41a80e:	8b ff                	mov    %edi,%edi
41a810:	8d 45 c8             	lea    -0x38(%ebp),%eax
41a813:	66 89 75 c4          	mov    %si,-0x3c(%ebp)
41a817:	50                   	push   %eax
41a818:	6a 01                	push   $0x1
41a81a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41a81d:	50                   	push   %eax
41a81e:	6a 01                	push   $0x1
41a820:	6a 7f                	push   $0x7f
41a822:	ff 15 2c 11 45 00    	call   *0x45112c
41a828:	85 c0                	test   %eax,%eax
41a82a:	74 33                	je     0x41a85f
41a82c:	f6 45 c8 04          	testb  $0x4,-0x38(%ebp)
41a830:	74 2d                	je     0x41a85f
41a832:	0f b7 ce             	movzwl %si,%ecx
41a835:	83 e9 30             	sub    $0x30,%ecx
41a838:	83 f9 0a             	cmp    $0xa,%ecx
41a83b:	73 4d                	jae    0x41a88a
41a83d:	8b 45 a4             	mov    -0x5c(%ebp),%eax
41a840:	83 cb 08             	or     $0x8,%ebx
41a843:	3d 99 99 99 19       	cmp    $0x19999999,%eax
41a848:	0f 83 c7 d0 00 00    	jae    0x427915
41a84e:	8d 04 80             	lea    (%eax,%eax,4),%eax
41a851:	8d 04 41             	lea    (%ecx,%eax,2),%eax
41a854:	89 45 a4             	mov    %eax,-0x5c(%ebp)
41a857:	0f b7 37             	movzwl (%edi),%esi
41a85a:	83 c7 02             	add    $0x2,%edi
41a85d:	eb b1                	jmp    0x41a810
41a85f:	8d 45 d0             	lea    -0x30(%ebp),%eax
41a862:	66 89 75 cc          	mov    %si,-0x34(%ebp)
41a866:	50                   	push   %eax
41a867:	6a 01                	push   $0x1
41a869:	8d 45 cc             	lea    -0x34(%ebp),%eax
41a86c:	50                   	push   %eax
41a86d:	6a 01                	push   $0x1
41a86f:	6a 7f                	push   $0x7f
41a871:	ff 15 2c 11 45 00    	call   *0x45112c
41a877:	85 c0                	test   %eax,%eax
41a879:	74 0f                	je     0x41a88a
41a87b:	0f b7 45 d0          	movzwl -0x30(%ebp),%eax
41a87f:	a9 04 01 00 00       	test   $0x104,%eax
41a884:	0f 85 5d d0 00 00    	jne    0x4278e7
41a88a:	f6 c3 08             	test   $0x8,%bl
41a88d:	0f 84 95 d0 00 00    	je     0x427928
41a893:	f6 c3 04             	test   $0x4,%bl
41a896:	0f 85 9b d0 00 00    	jne    0x427937
41a89c:	8b 45 a4             	mov    -0x5c(%ebp),%eax
41a89f:	f6 c3 01             	test   $0x1,%bl
41a8a2:	75 14                	jne    0x41a8b8
41a8a4:	f6 c3 02             	test   $0x2,%bl
41a8a7:	0f 85 7f d0 00 00    	jne    0x42792c
41a8ad:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41a8b2:	0f 87 7f d0 00 00    	ja     0x427937
41a8b8:	f6 c3 02             	test   $0x2,%bl
41a8bb:	0f 85 98 d0 00 00    	jne    0x427959
41a8c1:	8b 7d b8             	mov    -0x48(%ebp),%edi
41a8c4:	33 c9                	xor    %ecx,%ecx
41a8c6:	83 c7 18             	add    $0x18,%edi
41a8c9:	89 4d 90             	mov    %ecx,-0x70(%ebp)
41a8cc:	33 f6                	xor    %esi,%esi
41a8ce:	ba 2a 00 00 00       	mov    $0x2a,%edx
41a8d3:	0f b7 04 77          	movzwl (%edi,%esi,2),%eax
41a8d7:	66 3b d0             	cmp    %ax,%dx
41a8da:	0f 84 83 d0 00 00    	je     0x427963
41a8e0:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
41a8e4:	8d 45 d8             	lea    -0x28(%ebp),%eax
41a8e7:	50                   	push   %eax
41a8e8:	6a 01                	push   $0x1
41a8ea:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41a8ed:	50                   	push   %eax
41a8ee:	6a 01                	push   $0x1
41a8f0:	6a 7f                	push   $0x7f
41a8f2:	ff 15 2c 11 45 00    	call   *0x45112c
41a8f8:	85 c0                	test   %eax,%eax
41a8fa:	0f 84 02 cf 00 00    	je     0x427802
41a900:	f6 45 d8 04          	testb  $0x4,-0x28(%ebp)
41a904:	0f 84 f8 ce 00 00    	je     0x427802
41a90a:	83 c8 ff             	or     $0xffffffff,%eax
41a90d:	0f b7 c8             	movzwl %ax,%ecx
41a910:	89 4d 90             	mov    %ecx,-0x70(%ebp)
41a913:	8d 50 2b             	lea    0x2b(%eax),%edx
41a916:	46                   	inc    %esi
41a917:	83 fe 02             	cmp    $0x2,%esi
41a91a:	72 b7                	jb     0x41a8d3
41a91c:	66 3b c1             	cmp    %cx,%ax
41a91f:	0f 85 dd ce 00 00    	jne    0x427802
41a925:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41a928:	33 f6                	xor    %esi,%esi
41a92a:	8b c1                	mov    %ecx,%eax
41a92c:	ba 0c 00 00 00       	mov    $0xc,%edx
41a931:	2b f8                	sub    %eax,%edi
41a933:	8d 42 f6             	lea    -0xa(%edx),%eax
41a936:	85 c0                	test   %eax,%eax
41a938:	74 19                	je     0x41a953
41a93a:	0f b7 04 39          	movzwl (%ecx,%edi,1),%eax
41a93e:	66 85 c0             	test   %ax,%ax
41a941:	74 10                	je     0x41a953
41a943:	66 89 01             	mov    %ax,(%ecx)
41a946:	83 c1 02             	add    $0x2,%ecx
41a949:	83 ea 01             	sub    $0x1,%edx
41a94c:	75 e5                	jne    0x41a933
41a94e:	e9 21 d0 00 00       	jmp    0x427974
41a953:	85 d2                	test   %edx,%edx
41a955:	0f 84 19 d0 00 00    	je     0x427974
41a95b:	33 c0                	xor    %eax,%eax
41a95d:	66 89 01             	mov    %ax,(%ecx)
41a960:	85 f6                	test   %esi,%esi
41a962:	0f 88 9a ce 00 00    	js     0x427802
41a968:	0f b7 75 e4          	movzwl -0x1c(%ebp),%esi
41a96c:	8d 7d e6             	lea    -0x1a(%ebp),%edi
41a96f:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
41a973:	33 db                	xor    %ebx,%ebx
41a975:	89 45 b0             	mov    %eax,-0x50(%ebp)
41a978:	8d 45 c0             	lea    -0x40(%ebp),%eax
41a97b:	66 89 75 bc          	mov    %si,-0x44(%ebp)
41a97f:	50                   	push   %eax
41a980:	6a 01                	push   $0x1
41a982:	8d 45 bc             	lea    -0x44(%ebp),%eax
41a985:	50                   	push   %eax
41a986:	6a 01                	push   $0x1
41a988:	6a 7f                	push   $0x7f
41a98a:	ff 15 2c 11 45 00    	call   *0x45112c