46b654:	6a f0                	push   $0xfffffff0
46b656:	56                   	push   %esi
46b657:	ff 15 f0 d4 48 00    	call   *0x48d4f0
46b65d:	8b 45 0c             	mov    0xc(%ebp),%eax
46b660:	6a 01                	push   $0x1
46b662:	57                   	push   %edi
46b663:	ff 75 08             	push   0x8(%ebp)
46b666:	89 47 4c             	mov    %eax,0x4c(%edi)
46b669:	e8 70 29 00 00       	call   0x46dfde
46b66e:	e9 64 ff ff ff       	jmp    0x46b5d7
46b673:	33 c0                	xor    %eax,%eax
46b675:	40                   	inc    %eax
46b676:	5f                   	pop    %edi
46b677:	5e                   	pop    %esi
46b678:	5b                   	pop    %ebx
46b679:	c9                   	leave
46b67a:	c2 08 00             	ret    $0x8
46b67d:	55                   	push   %ebp
46b67e:	8b ec                	mov    %esp,%ebp
46b680:	51                   	push   %ecx
46b681:	51                   	push   %ecx
46b682:	8d 45 fc             	lea    -0x4(%ebp),%eax
46b685:	50                   	push   %eax
46b686:	8d 45 f8             	lea    -0x8(%ebp),%eax
46b689:	50                   	push   %eax
46b68a:	ff 75 08             	push   0x8(%ebp)
46b68d:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46b692:	e8 67 1d fa ff       	call   0x40d3fe
46b697:	84 c0                	test   %al,%al
46b699:	75 04                	jne    0x46b69f
46b69b:	33 c0                	xor    %eax,%eax
46b69d:	eb 21                	jmp    0x46b6c0
46b69f:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46b6a4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46b6a7:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46b6aa:	8b 08                	mov    (%eax),%ecx
46b6ac:	66 8b 45 0c          	mov    0xc(%ebp),%ax
46b6b0:	51                   	push   %ecx
46b6b1:	66 89 81 84 00 00 00 	mov    %ax,0x84(%ecx)
46b6b8:	e8 ec f2 ff ff       	call   0x46a9a9
46b6bd:	33 c0                	xor    %eax,%eax
46b6bf:	40                   	inc    %eax
46b6c0:	c9                   	leave
46b6c1:	c2 08 00             	ret    $0x8
46b6c4:	55                   	push   %ebp
46b6c5:	8b ec                	mov    %esp,%ebp
46b6c7:	b8 10 21 00 00       	mov    $0x2110,%eax
46b6cc:	e8 cf 41 fc ff       	call   0x42f8a0
46b6d1:	53                   	push   %ebx
46b6d2:	56                   	push   %esi
46b6d3:	57                   	push   %edi
46b6d4:	8d 45 e4             	lea    -0x1c(%ebp),%eax
46b6d7:	50                   	push   %eax
46b6d8:	8d 45 f8             	lea    -0x8(%ebp),%eax
46b6db:	33 f6                	xor    %esi,%esi
46b6dd:	50                   	push   %eax
46b6de:	ff 75 08             	push   0x8(%ebp)
46b6e1:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46b6e6:	89 75 e8             	mov    %esi,-0x18(%ebp)
46b6e9:	89 75 f0             	mov    %esi,-0x10(%ebp)
46b6ec:	89 75 f4             	mov    %esi,-0xc(%ebp)
46b6ef:	89 75 ec             	mov    %esi,-0x14(%ebp)
46b6f2:	e8 07 1d fa ff       	call   0x40d3fe
46b6f7:	84 c0                	test   %al,%al
46b6f9:	75 07                	jne    0x46b702
46b6fb:	33 c0                	xor    %eax,%eax
46b6fd:	e9 f5 04 00 00       	jmp    0x46bbf7
46b702:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46b705:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46b70a:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46b70d:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46b710:	8b 10                	mov    (%eax),%edx
46b712:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46b717:	89 55 f8             	mov    %edx,-0x8(%ebp)
46b71a:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46b71d:	8b 18                	mov    (%eax),%ebx
46b71f:	8a 83 90 00 00 00    	mov    0x90(%ebx),%al
46b725:	8b 3b                	mov    (%ebx),%edi
46b727:	84 c0                	test   %al,%al
46b729:	74 36                	je     0x46b761
46b72b:	3c 01                	cmp    $0x1,%al
46b72d:	74 14                	je     0x46b743
46b72f:	76 04                	jbe    0x46b735
46b731:	3c 03                	cmp    $0x3,%al
46b733:	76 48                	jbe    0x46b77d
46b735:	8b 4d 10             	mov    0x10(%ebp),%ecx
46b738:	85 c9                	test   %ecx,%ecx
46b73a:	74 44                	je     0x46b780
46b73c:	66 39 31             	cmp    %si,(%ecx)
46b73f:	74 3f                	je     0x46b780
46b741:	eb b8                	jmp    0x46b6fb
46b743:	c7 45 e8 80 01 00 00 	movl   $0x180,-0x18(%ebp)
46b74a:	c7 45 f0 a2 01 00 00 	movl   $0x1a2,-0x10(%ebp)
46b751:	c7 45 f4 86 01 00 00 	movl   $0x186,-0xc(%ebp)
46b758:	c7 45 ec 84 01 00 00 	movl   $0x184,-0x14(%ebp)
46b75f:	eb 1c                	jmp    0x46b77d
46b761:	c7 45 e8 43 01 00 00 	movl   $0x143,-0x18(%ebp)
46b768:	c7 45 f0 58 01 00 00 	movl   $0x158,-0x10(%ebp)
46b76f:	c7 45 f4 4e 01 00 00 	movl   $0x14e,-0xc(%ebp)
46b776:	c7 45 ec 4b 01 00 00 	movl   $0x14b,-0x14(%ebp)
46b77d:	8b 4d 10             	mov    0x10(%ebp),%ecx
46b780:	0f b6 c0             	movzbl %al,%eax
46b783:	83 f8 1c             	cmp    $0x1c,%eax
46b786:	0f 87 41 04 00 00    	ja     0x46bbcd
46b78c:	0f b6 80 34 bc 46 00 	movzbl 0x46bc34(%eax),%eax
46b793:	ff 24 85 00 bc 46 00 	jmp    *0x46bc00(,%eax,4)
46b79a:	8b 45 0c             	mov    0xc(%ebp),%eax
46b79d:	85 c0                	test   %eax,%eax
46b79f:	75 08                	jne    0x46b7a9
46b7a1:	83 c8 ff             	or     $0xffffffff,%eax
46b7a4:	e9 4e 04 00 00       	jmp    0x46bbf7
46b7a9:	50                   	push   %eax
46b7aa:	6a ff                	push   $0xffffffff
46b7ac:	ff 75 f0             	push   -0x10(%ebp)
46b7af:	57                   	push   %edi
46b7b0:	ff 15 70 d6 48 00    	call   *0x48d670
46b7b6:	83 f8 ff             	cmp    $0xffffffff,%eax
46b7b9:	74 1d                	je     0x46b7d8
46b7bb:	56                   	push   %esi
46b7bc:	50                   	push   %eax
46b7bd:	ff 75 f4             	push   -0xc(%ebp)
46b7c0:	57                   	push   %edi
46b7c1:	ff 15 70 d6 48 00    	call   *0x48d670
46b7c7:	8b 45 f8             	mov    -0x8(%ebp),%eax
46b7ca:	6a 01                	push   $0x1
46b7cc:	53                   	push   %ebx
46b7cd:	50                   	push   %eax
46b7ce:	e8 0b 28 00 00       	call   0x46dfde
46b7d3:	e9 23 ff ff ff       	jmp    0x46b6fb
46b7d8:	8b 45 0c             	mov    0xc(%ebp),%eax
46b7db:	89 45 0c             	mov    %eax,0xc(%ebp)
46b7de:	0f b7 08             	movzwl (%eax),%ecx
46b7e1:	66 3b 0d 3c 16 4c 00 	cmp    0x4c163c,%cx
46b7e8:	74 05                	je     0x46b7ef
46b7ea:	66 85 c9             	test   %cx,%cx
46b7ed:	75 17                	jne    0x46b806
46b7ef:	50                   	push   %eax
46b7f0:	ff 15 44 d5 48 00    	call   *0x48d544
46b7f6:	8b 1d 70 d6 48 00    	mov    0x48d670,%ebx
46b7fc:	56                   	push   %esi
46b7fd:	56                   	push   %esi
46b7fe:	ff 75 ec             	push   -0x14(%ebp)
46b801:	89 45 0c             	mov    %eax,0xc(%ebp)
46b804:	eb 2a                	jmp    0x46b830
46b806:	8b 1d 70 d6 48 00    	mov    0x48d670,%ebx
46b80c:	68 3c 16 4c 00       	push   $0x4c163c
46b811:	8d 45 0c             	lea    0xc(%ebp),%eax
46b814:	50                   	push   %eax
46b815:	8d 85 f4 de ff ff    	lea    -0x210c(%ebp),%eax
46b81b:	50                   	push   %eax
46b81c:	e8 ed 20 00 00       	call   0x46d90e
46b821:	84 c0                	test   %al,%al
46b823:	74 10                	je     0x46b835
46b825:	8d 85 f4 de ff ff    	lea    -0x210c(%ebp),%eax
46b82b:	50                   	push   %eax
46b82c:	56                   	push   %esi
46b82d:	ff 75 e8             	push   -0x18(%ebp)
46b830:	57                   	push   %edi
46b831:	ff d3                	call   *%ebx
46b833:	eb d7                	jmp    0x46b80c
46b835:	8b 45 10             	mov    0x10(%ebp),%eax
46b838:	85 c0                	test   %eax,%eax
46b83a:	0f 84 b4 03 00 00    	je     0x46bbf4
46b840:	50                   	push   %eax
46b841:	6a ff                	push   $0xffffffff
46b843:	ff 75 f0             	push   -0x10(%ebp)
46b846:	57                   	push   %edi
46b847:	ff d3                	call   *%ebx
46b849:	83 f8 ff             	cmp    $0xffffffff,%eax
46b84c:	0f 84 a2 03 00 00    	je     0x46bbf4
46b852:	56                   	push   %esi
46b853:	50                   	push   %eax
46b854:	ff 75 f4             	push   -0xc(%ebp)
46b857:	57                   	push   %edi
46b858:	ff d3                	call   *%ebx
46b85a:	e9 95 03 00 00       	jmp    0x46bbf4
46b85f:	56                   	push   %esi
46b860:	ff 75 0c             	push   0xc(%ebp)
46b863:	e8 d3 67 fb ff       	call   0x42203b
46b868:	59                   	pop    %ecx
46b869:	e8 62 60 00 00       	call   0x4718d0
46b86e:	50                   	push   %eax
46b86f:	68 02 04 00 00       	push   $0x402
46b874:	57                   	push   %edi
46b875:	ff 15 70 d6 48 00    	call   *0x48d670
46b87b:	e9 74 03 00 00       	jmp    0x46bbf4
46b880:	ff 75 0c             	push   0xc(%ebp)
46b883:	e8 b3 67 fb ff       	call   0x42203b
46b888:	59                   	pop    %ecx
46b889:	e8 42 60 00 00       	call   0x4718d0
46b88e:	50                   	push   %eax
46b88f:	6a 01                	push   $0x1
46b891:	68 05 04 00 00       	push   $0x405
46b896:	eb dc                	jmp    0x46b874
46b898:	ff 75 0c             	push   0xc(%ebp)
46b89b:	e8 9b 67 fb ff       	call   0x42203b
46b8a0:	59                   	pop    %ecx
46b8a1:	e8 2a 60 00 00       	call   0x4718d0
46b8a6:	89 43 4c             	mov    %eax,0x4c(%ebx)
46b8a9:	e9 46 03 00 00       	jmp    0x46bbf4
46b8ae:	85 c9                	test   %ecx,%ecx
46b8b0:	74 11                	je     0x46b8c3
46b8b2:	66 39 31             	cmp    %si,(%ecx)
46b8b5:	74 0c                	je     0x46b8c3
46b8b7:	ff 75 0c             	push   0xc(%ebp)
46b8ba:	6a 01                	push   $0x1
46b8bc:	68 c2 00 00 00       	push   $0xc2
46b8c1:	eb b1                	jmp    0x46b874
46b8c3:	ff 75 0c             	push   0xc(%ebp)
46b8c6:	57                   	push   %edi
46b8c7:	ff 15 04 d6 48 00    	call   *0x48d604
46b8cd:	68 3f 42 0f 00       	push   $0xf423f
46b8d2:	68 40 42 0f 00       	push   $0xf4240
46b8d7:	68 b1 00 00 00       	push   $0xb1
46b8dc:	57                   	push   %edi
46b8dd:	ff 15 70 d6 48 00    	call   *0x48d670
46b8e3:	8b 45 f8             	mov    -0x8(%ebp),%eax
46b8e6:	83 88 c4 01 00 00 ff 	orl    $0xffffffff,0x1c4(%eax)
46b8ed:	e9 02 03 00 00       	jmp    0x46bbf4
46b8f2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46b8f5:	6a 01                	push   $0x1
46b8f7:	6a 01                	push   $0x1
46b8f9:	8d 55 d4             	lea    -0x2c(%ebp),%edx
46b8fc:	e8 b0 c4 fd ff       	call   0x447db1
46b901:	59                   	pop    %ecx
46b902:	59                   	pop    %ecx
46b903:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46b906:	50                   	push   %eax
46b907:	56                   	push   %esi
46b908:	68 02 10 00 00       	push   $0x1002
46b90d:	57                   	push   %edi
46b90e:	ff 15 70 d6 48 00    	call   *0x48d670
46b914:	85 c0                	test   %eax,%eax
46b916:	0f 85 d8 02 00 00    	jne    0x46bbf4
46b91c:	e9 da fd ff ff       	jmp    0x46b6fb
46b921:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46b924:	85 db                	test   %ebx,%ebx
46b926:	0f 84 75 fe ff ff    	je     0x46b7a1
46b92c:	6a 20                	push   $0x20
46b92e:	8d 45 80             	lea    -0x80(%ebp),%eax
46b931:	56                   	push   %esi
46b932:	50                   	push   %eax
46b933:	e8 18 54 fb ff       	call   0x420d50
46b938:	83 c4 0c             	add    $0xc,%esp
46b93b:	89 5d 0c             	mov    %ebx,0xc(%ebp)
46b93e:	68 3c 16 4c 00       	push   $0x4c163c
46b943:	8d 45 0c             	lea    0xc(%ebp),%eax
46b946:	50                   	push   %eax
46b947:	8d 85 f4 de ff ff    	lea    -0x210c(%ebp),%eax
46b94d:	50                   	push   %eax
46b94e:	e8 bb 1f 00 00       	call   0x46d90e
46b953:	84 c0                	test   %al,%al
46b955:	74 36                	je     0x46b98d
46b957:	66 83 bd f4 de ff ff 	cmpw   $0x0,-0x210c(%ebp)
46b95e:	00
46b95f:	8d 85 f4 de ff ff    	lea    -0x210c(%ebp),%eax
46b965:	c7 45 80 04 00 00 00 	movl   $0x4,-0x80(%ebp)
46b96c:	89 45 8c             	mov    %eax,-0x74(%ebp)
46b96f:	74 19                	je     0x46b98a
46b971:	8d 45 80             	lea    -0x80(%ebp),%eax
46b974:	50                   	push   %eax
46b975:	56                   	push   %esi
46b976:	68 60 10 00 00       	push   $0x1060
46b97b:	57                   	push   %edi
46b97c:	ff 15 70 d6 48 00    	call   *0x48d670
46b982:	85 c0                	test   %eax,%eax
46b984:	0f 84 71 fd ff ff    	je     0x46b6fb
46b98a:	46                   	inc    %esi
46b98b:	eb b1                	jmp    0x46b93e
46b98d:	53                   	push   %ebx
46b98e:	e8 48 53 fb ff       	call   0x420cdb
46b993:	59                   	pop    %ecx
46b994:	85 c0                	test   %eax,%eax
46b996:	74 19                	je     0x46b9b1
46b998:	53                   	push   %ebx
46b999:	e8 3d 53 fb ff       	call   0x420cdb
46b99e:	66 8b 44 43 fe       	mov    -0x2(%ebx,%eax,2),%ax
46b9a3:	59                   	pop    %ecx
46b9a4:	66 3b 05 3c 16 4c 00 	cmp    0x4c163c,%ax
46b9ab:	0f 85 43 02 00 00    	jne    0x46bbf4
46b9b1:	8b 45 0c             	mov    0xc(%ebp),%eax
46b9b4:	89 45 8c             	mov    %eax,-0x74(%ebp)
46b9b7:	8d 45 80             	lea    -0x80(%ebp),%eax
46b9ba:	50                   	push   %eax
46b9bb:	56                   	push   %esi
46b9bc:	68 60 10 00 00       	push   $0x1060
46b9c1:	e9 47 ff ff ff       	jmp    0x46b90d
46b9c6:	8b 7d 0c             	mov    0xc(%ebp),%edi
46b9c9:	8b 5b 34             	mov    0x34(%ebx),%ebx
46b9cc:	85 ff                	test   %edi,%edi
46b9ce:	0f 84 cd fd ff ff    	je     0x46b7a1
46b9d4:	6a 34                	push   $0x34
46b9d6:	8d 45 a0             	lea    -0x60(%ebp),%eax
46b9d9:	56                   	push   %esi
46b9da:	50                   	push   %eax
46b9db:	e8 70 53 fb ff       	call   0x420d50
46b9e0:	8b 45 08             	mov    0x8(%ebp),%eax
46b9e3:	83 c4 0c             	add    $0xc,%esp
46b9e6:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
46b9ec:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
46b9f2:	50                   	push   %eax
46b9f3:	6a ff                	push   $0xffffffff
46b9f5:	68 53 10 00 00       	push   $0x1053
46b9fa:	53                   	push   %ebx
46b9fb:	c7 85 38 ff ff ff 01 	movl   $0x1,-0xc8(%ebp)
46ba02:	00 00 00
46ba05:	ff 15 70 d6 48 00    	call   *0x48d670
46ba0b:	89 45 a4             	mov    %eax,-0x5c(%ebp)
46ba0e:	83 f8 ff             	cmp    $0xffffffff,%eax
46ba11:	0f 84 e4 fc ff ff    	je     0x46b6fb
46ba17:	89 7d 0c             	mov    %edi,0xc(%ebp)
46ba1a:	68 3c 16 4c 00       	push   $0x4c163c
46ba1f:	8d 45 0c             	lea    0xc(%ebp),%eax
46ba22:	50                   	push   %eax
46ba23:	8d 85 f4 de ff ff    	lea    -0x210c(%ebp),%eax
46ba29:	50                   	push   %eax
46ba2a:	e8 df 1e 00 00       	call   0x46d90e
46ba2f:	84 c0                	test   %al,%al
46ba31:	74 3b                	je     0x46ba6e
46ba33:	66 83 bd f4 de ff ff 	cmpw   $0x0,-0x210c(%ebp)
46ba3a:	00
46ba3b:	8d 85 f4 de ff ff    	lea    -0x210c(%ebp),%eax
46ba41:	c7 45 a0 01 00 00 00 	movl   $0x1,-0x60(%ebp)
46ba48:	89 45 b4             	mov    %eax,-0x4c(%ebp)
46ba4b:	89 75 a8             	mov    %esi,-0x58(%ebp)
46ba4e:	74 1b                	je     0x46ba6b
46ba50:	8d 45 a0             	lea    -0x60(%ebp),%eax
46ba53:	50                   	push   %eax
46ba54:	ff 75 a4             	push   -0x5c(%ebp)
46ba57:	68 74 10 00 00       	push   $0x1074
46ba5c:	53                   	push   %ebx
46ba5d:	ff 15 70 d6 48 00    	call   *0x48d670
46ba63:	85 c0                	test   %eax,%eax
46ba65:	0f 84 90 fc ff ff    	je     0x46b6fb
46ba6b:	46                   	inc    %esi
46ba6c:	eb ac                	jmp    0x46ba1a
46ba6e:	57                   	push   %edi
46ba6f:	e8 67 52 fb ff       	call   0x420cdb
46ba74:	59                   	pop    %ecx
46ba75:	85 c0                	test   %eax,%eax
46ba77:	74 19                	je     0x46ba92
46ba79:	57                   	push   %edi
46ba7a:	e8 5c 52 fb ff       	call   0x420cdb
46ba7f:	66 8b 44 47 fe       	mov    -0x2(%edi,%eax,2),%ax
46ba84:	59                   	pop    %ecx
46ba85:	66 3b 05 3c 16 4c 00 	cmp    0x4c163c,%ax
46ba8c:	0f 85 62 01 00 00    	jne    0x46bbf4
46ba92:	8b 45 0c             	mov    0xc(%ebp),%eax
46ba95:	89 45 b4             	mov    %eax,-0x4c(%ebp)
46ba98:	8d 45 a0             	lea    -0x60(%ebp),%eax