47a74f:	b9 c8 74 4c 00       	mov    $0x4c74c8,%ecx
47a754:	68 10 f9 48 00       	push   $0x48f910
47a759:	a3 10 7f 4c 00       	mov    %eax,0x4c7f10
47a75e:	e8 d7 f7 f8 ff       	call   0x409f3a
47a763:	68 1e b8 43 00       	push   $0x43b81e
47a768:	e8 13 88 fa ff       	call   0x422f80
47a76d:	59                   	pop    %ecx
47a76e:	8b 4b 04             	mov    0x4(%ebx),%ecx
47a771:	8b 06                	mov    (%esi),%eax
47a773:	6a 7f                	push   $0x7f
47a775:	5a                   	pop    %edx
47a776:	6a 33                	push   $0x33
47a778:	8b 04 81             	mov    (%ecx,%eax,4),%eax
47a77b:	89 55 e4             	mov    %edx,-0x1c(%ebp)
47a77e:	5a                   	pop    %edx
47a77f:	6a 7f                	push   $0x7f
47a781:	66 39 50 08          	cmp    %dx,0x8(%eax)
47a785:	5a                   	pop    %edx
47a786:	0f 85 5f 01 00 00    	jne    0x47a8eb
47a78c:	8b 06                	mov    (%esi),%eax
47a78e:	ff 75 10             	push   0x10(%ebp)
47a791:	8b 04 81             	mov    (%ecx,%eax,4),%eax
47a794:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47a797:	51                   	push   %ecx
47a798:	8b 00                	mov    (%eax),%eax
47a79a:	50                   	push   %eax
47a79b:	89 45 f4             	mov    %eax,-0xc(%ebp)
47a79e:	e8 f7 dd f8 ff       	call   0x40859a
47a7a3:	85 c0                	test   %eax,%eax
47a7a5:	0f 85 8c 01 00 00    	jne    0x47a937
47a7ab:	ff 75 10             	push   0x10(%ebp)
47a7ae:	68 00 01 00 00       	push   $0x100
47a7b3:	68 c8 74 4c 00       	push   $0x4c74c8
47a7b8:	ff 75 f4             	push   -0xc(%ebp)
47a7bb:	e8 60 de f8 ff       	call   0x408620
47a7c0:	ff 06                	incl   (%esi)
47a7c2:	8b 16                	mov    (%esi),%edx
47a7c4:	8b 4b 04             	mov    0x4(%ebx),%ecx
47a7c7:	6a 4e                	push   $0x4e
47a7c9:	89 45 f8             	mov    %eax,-0x8(%ebp)
47a7cc:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
47a7cf:	5a                   	pop    %edx
47a7d0:	66 39 51 08          	cmp    %dx,0x8(%ecx)
47a7d4:	75 23                	jne    0x47a7f9
47a7d6:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47a7d9:	51                   	push   %ecx
47a7da:	8d 8d e4 fe ff ff    	lea    -0x11c(%ebp),%ecx
47a7e0:	51                   	push   %ecx
47a7e1:	50                   	push   %eax
47a7e2:	56                   	push   %esi
47a7e3:	53                   	push   %ebx
47a7e4:	8b cf                	mov    %edi,%ecx
47a7e6:	e8 f1 28 f9 ff       	call   0x40d0dc
47a7eb:	85 c0                	test   %eax,%eax
47a7ed:	0f 88 0d 01 00 00    	js     0x47a900
47a7f3:	8b 45 0c             	mov    0xc(%ebp),%eax
47a7f6:	89 45 08             	mov    %eax,0x8(%ebp)
47a7f9:	8b 16                	mov    (%esi),%edx
47a7fb:	8b 4b 04             	mov    0x4(%ebx),%ecx
47a7fe:	8b 04 91             	mov    (%ecx,%edx,4),%eax
47a801:	66 83 78 08 41       	cmpw   $0x41,0x8(%eax)
47a806:	0f 85 17 01 00 00    	jne    0x47a923
47a80c:	42                   	inc    %edx
47a80d:	6a 4e                	push   $0x4e
47a80f:	89 16                	mov    %edx,(%esi)
47a811:	8b 04 91             	mov    (%ecx,%edx,4),%eax
47a814:	0f bf 48 0a          	movswl 0xa(%eax),%ecx
47a818:	89 4d e8             	mov    %ecx,-0x18(%ebp)
47a81b:	59                   	pop    %ecx
47a81c:	66 39 48 08          	cmp    %cx,0x8(%eax)
47a820:	75 77                	jne    0x47a899
47a822:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47a825:	83 79 0c 05          	cmpl   $0x5,0xc(%ecx)
47a829:	74 28                	je     0x47a853
47a82b:	8d 42 ff             	lea    -0x1(%edx),%eax
47a82e:	89 06                	mov    %eax,(%esi)
47a830:	8d 45 0c             	lea    0xc(%ebp),%eax
47a833:	50                   	push   %eax
47a834:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
47a83a:	50                   	push   %eax
47a83b:	51                   	push   %ecx
47a83c:	56                   	push   %esi
47a83d:	53                   	push   %ebx
47a83e:	8b cf                	mov    %edi,%ecx
47a840:	e8 21 02 00 00       	call   0x47aa66
47a845:	85 c0                	test   %eax,%eax
47a847:	0f 88 b3 00 00 00    	js     0x47a900
47a84d:	8b 45 0c             	mov    0xc(%ebp),%eax
47a850:	89 45 08             	mov    %eax,0x8(%ebp)
47a853:	ff 75 f4             	push   -0xc(%ebp)
47a856:	8b cf                	mov    %edi,%ecx
47a858:	ff 36                	push   (%esi)
47a85a:	53                   	push   %ebx
47a85b:	e8 00 28 f9 ff       	call   0x40d060
47a860:	85 c0                	test   %eax,%eax
47a862:	0f 88 98 00 00 00    	js     0x47a900
47a868:	8b 45 08             	mov    0x8(%ebp),%eax
47a86b:	85 c0                	test   %eax,%eax
47a86d:	7e 0f                	jle    0x47a87e
47a86f:	8b c8                	mov    %eax,%ecx
47a871:	8d bd e4 fe ff ff    	lea    -0x11c(%ebp),%edi
47a877:	33 c0                	xor    %eax,%eax
47a879:	f3 ab                	rep stos %eax,%es:(%edi)
47a87b:	8b 7d ec             	mov    -0x14(%ebp),%edi
47a87e:	6a 01                	push   $0x1
47a880:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
47a886:	8b cf                	mov    %edi,%ecx
47a888:	50                   	push   %eax
47a889:	ff 75 f8             	push   -0x8(%ebp)
47a88c:	56                   	push   %esi
47a88d:	53                   	push   %ebx
47a88e:	e8 4a 26 f9 ff       	call   0x40cedd
47a893:	84 c0                	test   %al,%al
47a895:	74 69                	je     0x47a900
47a897:	eb 22                	jmp    0x47a8bb
47a899:	ff 75 f4             	push   -0xc(%ebp)
47a89c:	8b cf                	mov    %edi,%ecx
47a89e:	52                   	push   %edx
47a89f:	53                   	push   %ebx
47a8a0:	e8 bb 27 f9 ff       	call   0x40d060
47a8a5:	85 c0                	test   %eax,%eax
47a8a7:	78 57                	js     0x47a900
47a8a9:	6a ff                	push   $0xffffffff
47a8ab:	ff 75 f8             	push   -0x8(%ebp)
47a8ae:	8b cf                	mov    %edi,%ecx
47a8b0:	56                   	push   %esi
47a8b1:	53                   	push   %ebx
47a8b2:	e8 49 f7 f8 ff       	call   0x40a000
47a8b7:	85 c0                	test   %eax,%eax
47a8b9:	78 61                	js     0x47a91c
47a8bb:	8b 16                	mov    (%esi),%edx
47a8bd:	8b 4b 04             	mov    0x4(%ebx),%ecx
47a8c0:	8b 04 91             	mov    (%ecx,%edx,4),%eax
47a8c3:	0f b7 40 08          	movzwl 0x8(%eax),%eax
47a8c7:	66 3b 45 e4          	cmp    -0x1c(%ebp),%ax
47a8cb:	74 33                	je     0x47a900
47a8cd:	66 83 f8 40          	cmp    $0x40,%ax
47a8d1:	75 36                	jne    0x47a909
47a8d3:	8d 42 01             	lea    0x1(%edx),%eax
47a8d6:	89 06                	mov    %eax,(%esi)
47a8d8:	8b 04 81             	mov    (%ecx,%eax,4),%eax
47a8db:	6a 33                	push   $0x33
47a8dd:	5a                   	pop    %edx
47a8de:	66 39 50 08          	cmp    %dx,0x8(%eax)
47a8e2:	0f 84 a4 fe ff ff    	je     0x47a78c
47a8e8:	6a 7f                	push   $0x7f
47a8ea:	5a                   	pop    %edx
47a8eb:	8b 0e                	mov    (%esi),%ecx
47a8ed:	8b 43 04             	mov    0x4(%ebx),%eax
47a8f0:	8b 04 88             	mov    (%eax,%ecx,4),%eax
47a8f3:	0f bf 40 0a          	movswl 0xa(%eax),%eax
47a8f7:	50                   	push   %eax
47a8f8:	52                   	push   %edx
47a8f9:	8b cf                	mov    %edi,%ecx
47a8fb:	e8 b5 f7 fe ff       	call   0x46a0b5
47a900:	5f                   	pop    %edi
47a901:	5e                   	pop    %esi
47a902:	5b                   	pop    %ebx
47a903:	8b e5                	mov    %ebp,%esp
47a905:	5d                   	pop    %ebp
47a906:	c2 0c 00             	ret    $0xc
47a909:	8b 43 04             	mov    0x4(%ebx),%eax
47a90c:	8b ca                	mov    %edx,%ecx
47a90e:	8b 04 88             	mov    (%eax,%ecx,4),%eax
47a911:	0f bf 40 0a          	movswl 0xa(%eax),%eax
47a915:	50                   	push   %eax
47a916:	6a 7f                	push   $0x7f
47a918:	58                   	pop    %eax
47a919:	50                   	push   %eax
47a91a:	eb dd                	jmp    0x47a8f9
47a91c:	ff 75 e8             	push   -0x18(%ebp)
47a91f:	6a 6e                	push   $0x6e
47a921:	eb d6                	jmp    0x47a8f9
47a923:	8b 43 04             	mov    0x4(%ebx),%eax
47a926:	8b ca                	mov    %edx,%ecx
47a928:	8b 04 88             	mov    (%eax,%ecx,4),%eax
47a92b:	0f bf 40 0a          	movswl 0xa(%eax),%eax
47a92f:	50                   	push   %eax
47a930:	68 80 00 00 00       	push   $0x80
47a935:	eb c2                	jmp    0x47a8f9
47a937:	f7 45 f0 00 01 00 00 	testl  $0x100,-0x10(%ebp)
47a93e:	8b 0e                	mov    (%esi),%ecx
47a940:	8b 43 04             	mov    0x4(%ebx),%eax
47a943:	8b 04 88             	mov    (%eax,%ecx,4),%eax
47a946:	8b cf                	mov    %edi,%ecx
47a948:	0f bf 40 0a          	movswl 0xa(%eax),%eax
47a94c:	50                   	push   %eax
47a94d:	74 07                	je     0x47a956
47a94f:	68 ae 00 00 00       	push   $0xae
47a954:	eb a5                	jmp    0x47a8fb
47a956:	68 a4 00 00 00       	push   $0xa4
47a95b:	eb 9e                	jmp    0x47a8fb
47a95d:	55                   	push   %ebp
47a95e:	8b ec                	mov    %esp,%ebp
47a960:	8b 45 08             	mov    0x8(%ebp),%eax
47a963:	83 ec 38             	sub    $0x38,%esp
47a966:	8b 40 04             	mov    0x4(%eax),%eax
47a969:	53                   	push   %ebx
47a96a:	8b d9                	mov    %ecx,%ebx
47a96c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47a96f:	56                   	push   %esi
47a970:	57                   	push   %edi
47a971:	8b 11                	mov    (%ecx),%edx
47a973:	42                   	inc    %edx
47a974:	89 11                	mov    %edx,(%ecx)
47a976:	8b 04 90             	mov    (%eax,%edx,4),%eax
47a979:	66 83 78 08 7f       	cmpw   $0x7f,0x8(%eax)
47a97e:	74 13                	je     0x47a993
47a980:	0f bf 40 0a          	movswl 0xa(%eax),%eax
47a984:	50                   	push   %eax
47a985:	6a 72                	push   $0x72
47a987:	8b cb                	mov    %ebx,%ecx
47a989:	e8 27 f7 fe ff       	call   0x46a0b5
47a98e:	e9 ca 00 00 00       	jmp    0x47aa5d
47a993:	8b 7d 10             	mov    0x10(%ebp),%edi
47a996:	8d b3 5c 01 00 00    	lea    0x15c(%ebx),%esi
47a99c:	33 c9                	xor    %ecx,%ecx
47a99e:	33 c0                	xor    %eax,%eax
47a9a0:	39 0e                	cmp    %ecx,(%esi)
47a9a2:	0f 94 c0             	sete   %al
47a9a5:	84 c0                	test   %al,%al
47a9a7:	75 4d                	jne    0x47a9f6
47a9a9:	8b ce                	mov    %esi,%ecx
47a9ab:	e8 68 54 fa ff       	call   0x41fe18
47a9b0:	50                   	push   %eax
47a9b1:	8d 4d cc             	lea    -0x34(%ebp),%ecx
47a9b4:	e8 ab 54 fa ff       	call   0x41fe64
47a9b9:	83 7d cc 04          	cmpl   $0x4,-0x34(%ebp)
47a9bd:	74 25                	je     0x47a9e4
47a9bf:	83 7d cc 05          	cmpl   $0x5,-0x34(%ebp)
47a9c3:	74 1f                	je     0x47a9e4
47a9c5:	8b 45 d4             	mov    -0x2c(%ebp),%eax
47a9c8:	8b ce                	mov    %esi,%ecx
47a9ca:	40                   	inc    %eax
47a9cb:	89 07                	mov    %eax,(%edi)
47a9cd:	e8 fd 53 fa ff       	call   0x41fdcf
47a9d2:	8d 4d ec             	lea    -0x14(%ebp),%ecx
47a9d5:	e8 46 f0 f8 ff       	call   0x409a20
47a9da:	8d 4d dc             	lea    -0x24(%ebp),%ecx
47a9dd:	e8 3e f0 f8 ff       	call   0x409a20
47a9e2:	eb b8                	jmp    0x47a99c
47a9e4:	8d 4d ec             	lea    -0x14(%ebp),%ecx
47a9e7:	e8 34 f0 f8 ff       	call   0x409a20
47a9ec:	8d 4d dc             	lea    -0x24(%ebp),%ecx
47a9ef:	e8 2c f0 f8 ff       	call   0x409a20
47a9f4:	33 c9                	xor    %ecx,%ecx
47a9f6:	39 0e                	cmp    %ecx,(%esi)
47a9f8:	75 1d                	jne    0x47aa17
47a9fa:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47a9fd:	8b 45 08             	mov    0x8(%ebp),%eax
47aa00:	8b 09                	mov    (%ecx),%ecx
47aa02:	8b 40 04             	mov    0x4(%eax),%eax
47aa05:	8b 04 88             	mov    (%eax,%ecx,4),%eax
47aa08:	0f bf 40 0a          	movswl 0xa(%eax),%eax
47aa0c:	50                   	push   %eax
47aa0d:	68 b5 00 00 00       	push   $0xb5
47aa12:	e9 70 ff ff ff       	jmp    0x47a987
47aa17:	33 f6                	xor    %esi,%esi
47aa19:	8b 07                	mov    (%edi),%eax
47aa1b:	50                   	push   %eax
47aa1c:	8d 50 01             	lea    0x1(%eax),%edx
47aa1f:	89 17                	mov    %edx,(%edi)
47aa21:	e8 a2 c7 f8 ff       	call   0x4071c8
47aa26:	85 c0                	test   %eax,%eax
47aa28:	74 33                	je     0x47aa5d
47aa2a:	8b 40 04             	mov    0x4(%eax),%eax
47aa2d:	8b 00                	mov    (%eax),%eax
47aa2f:	66 39 70 08          	cmp    %si,0x8(%eax)
47aa33:	75 e4                	jne    0x47aa19
47aa35:	8b 00                	mov    (%eax),%eax
47aa37:	83 e8 14             	sub    $0x14,%eax
47aa3a:	74 19                	je     0x47aa55
47aa3c:	48                   	dec    %eax
47aa3d:	74 10                	je     0x47aa4f
47aa3f:	48                   	dec    %eax
47aa40:	74 06                	je     0x47aa48
47aa42:	48                   	dec    %eax
47aa43:	74 10                	je     0x47aa55
47aa45:	48                   	dec    %eax
47aa46:	75 d1                	jne    0x47aa19
47aa48:	85 c9                	test   %ecx,%ecx
47aa4a:	74 0c                	je     0x47aa58
47aa4c:	49                   	dec    %ecx
47aa4d:	eb ca                	jmp    0x47aa19
47aa4f:	85 c9                	test   %ecx,%ecx
47aa51:	75 c6                	jne    0x47aa19
47aa53:	eb 08                	jmp    0x47aa5d
47aa55:	41                   	inc    %ecx
47aa56:	eb c1                	jmp    0x47aa19
47aa58:	8d 42 ff             	lea    -0x1(%edx),%eax
47aa5b:	89 07                	mov    %eax,(%edi)
47aa5d:	5f                   	pop    %edi
47aa5e:	5e                   	pop    %esi
47aa5f:	5b                   	pop    %ebx
47aa60:	8b e5                	mov    %ebp,%esp
47aa62:	5d                   	pop    %ebp
47aa63:	c2 0c 00             	ret    $0xc
47aa66:	55                   	push   %ebp
47aa67:	8b ec                	mov    %esp,%ebp
47aa69:	51                   	push   %ecx
47aa6a:	51                   	push   %ecx
47aa6b:	53                   	push   %ebx
47aa6c:	8b 5d 18             	mov    0x18(%ebp),%ebx
47aa6f:	56                   	push   %esi
47aa70:	57                   	push   %edi
47aa71:	8b 7d 0c             	mov    0xc(%ebp),%edi
47aa74:	89 4d f8             	mov    %ecx,-0x8(%ebp)
47aa77:	8b 4d 08             	mov    0x8(%ebp),%ecx
47aa7a:	53                   	push   %ebx
47aa7b:	8b 17                	mov    (%edi),%edx
47aa7d:	52                   	push   %edx
47aa7e:	8b 41 04             	mov    0x4(%ecx),%eax
47aa81:	51                   	push   %ecx
47aa82:	6a 00                	push   $0x0
47aa84:	8b 04 90             	mov    (%eax,%edx,4),%eax
47aa87:	0f bf 40 0a          	movswl 0xa(%eax),%eax
47aa8b:	89 45 fc             	mov    %eax,-0x4(%ebp)
47aa8e:	e8 8c 00 00 00       	call   0x47ab1f
47aa93:	8b 4d 14             	mov    0x14(%ebp),%ecx
47aa96:	33 f6                	xor    %esi,%esi
47aa98:	46                   	inc    %esi
47aa99:	89 01                	mov    %eax,(%ecx)
47aa9b:	39 33                	cmp    %esi,(%ebx)
47aa9d:	7e 18                	jle    0x47aab7
47aa9f:	6a 00                	push   $0x0
47aaa1:	ff 37                	push   (%edi)
47aaa3:	ff 75 08             	push   0x8(%ebp)
47aaa6:	56                   	push   %esi
47aaa7:	e8 73 00 00 00       	call   0x47ab1f
47aaac:	8b 4d 14             	mov    0x14(%ebp),%ecx
47aaaf:	89 04 b1             	mov    %eax,(%ecx,%esi,4)
47aab2:	46                   	inc    %esi
47aab3:	3b 33                	cmp    (%ebx),%esi
47aab5:	7c e8                	jl     0x47aa9f
47aab7:	8b 75 10             	mov    0x10(%ebp),%esi
47aaba:	8b ce                	mov    %esi,%ecx
47aabc:	e8 6d e9 f8 ff       	call   0x40942e
47aac1:	83 7e 0c 05          	cmpl   $0x5,0xc(%esi)
47aac5:	75 04                	jne    0x47aacb
47aac7:	8b 0e                	mov    (%esi),%ecx
47aac9:	eb 02                	jmp    0x47aacd
47aacb:	33 c9                	xor    %ecx,%ecx
47aacd:	8b 01                	mov    (%ecx),%eax
47aacf:	33 f6                	xor    %esi,%esi
47aad1:	83 a0 10 02 00 00 00 	andl   $0x0,0x210(%eax)
47aad8:	39 33                	cmp    %esi,(%ebx)
47aada:	7e 13                	jle    0x47aaef
47aadc:	8b 7d 14             	mov    0x14(%ebp),%edi
47aadf:	ff 34 b7             	push   (%edi,%esi,4)
47aae2:	e8 a5 e7 f8 ff       	call   0x40928c