43c747:	8b f0                	mov    %eax,%esi
43c749:	89 37                	mov    %esi,(%edi)
43c74b:	f6 c3 01             	test   $0x1,%bl
43c74e:	74 08                	je     0x43c758
43c750:	8d 4d b8             	lea    -0x48(%ebp),%ecx
43c753:	e8 5b 28 fd ff       	call   0x40efb3
43c758:	6a 05                	push   $0x5
43c75a:	58                   	pop    %eax
43c75b:	e8 b3 32 00 00       	call   0x43fa13
43c760:	c3                   	ret
43c761:	6a 38                	push   $0x38
43c763:	b8 a3 2b 49 00       	mov    $0x492ba3,%eax
43c768:	e8 dd 32 00 00       	call   0x43fa4a
43c76d:	8b 7d 08             	mov    0x8(%ebp),%edi
43c770:	33 f6                	xor    %esi,%esi
43c772:	8b de                	mov    %esi,%ebx
43c774:	89 5d f0             	mov    %ebx,-0x10(%ebp)
43c777:	85 ff                	test   %edi,%edi
43c779:	74 43                	je     0x43c7be
43c77b:	39 37                	cmp    %esi,(%edi)
43c77d:	75 3f                	jne    0x43c7be
43c77f:	6a 0c                	push   $0xc
43c781:	e8 1d 2b 00 00       	call   0x43f2a3
43c786:	59                   	pop    %ecx
43c787:	89 45 f0             	mov    %eax,-0x10(%ebp)
43c78a:	89 75 fc             	mov    %esi,-0x4(%ebp)
43c78d:	85 c0                	test   %eax,%eax
43c78f:	74 1e                	je     0x43c7af
43c791:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43c794:	e8 78 31 fe ff       	call   0x41f911
43c799:	50                   	push   %eax
43c79a:	8d 4d bc             	lea    -0x44(%ebp),%ecx
43c79d:	e8 ad 00 fd ff       	call   0x40c84f
43c7a2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43c7a5:	43                   	inc    %ebx
43c7a6:	56                   	push   %esi
43c7a7:	50                   	push   %eax
43c7a8:	e8 9b f9 ff ff       	call   0x43c148
43c7ad:	8b f0                	mov    %eax,%esi
43c7af:	89 37                	mov    %esi,(%edi)
43c7b1:	f6 c3 01             	test   $0x1,%bl
43c7b4:	74 08                	je     0x43c7be
43c7b6:	8d 4d bc             	lea    -0x44(%ebp),%ecx
43c7b9:	e8 f5 27 fd ff       	call   0x40efb3
43c7be:	6a 05                	push   $0x5
43c7c0:	58                   	pop    %eax
43c7c1:	e8 4d 32 00 00       	call   0x43fa13
43c7c6:	c3                   	ret
43c7c7:	6a 10                	push   $0x10
43c7c9:	b8 c6 2b 49 00       	mov    $0x492bc6,%eax
43c7ce:	e8 77 32 00 00       	call   0x43fa4a
43c7d3:	89 4d ec             	mov    %ecx,-0x14(%ebp)
43c7d6:	8b 45 1c             	mov    0x1c(%ebp),%eax
43c7d9:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
43c7dc:	ff 70 30             	push   0x30(%eax)
43c7df:	e8 58 c6 fe ff       	call   0x428e3c
43c7e4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43c7e8:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43c7eb:	50                   	push   %eax
43c7ec:	e8 cb c4 fc ff       	call   0x408cbc
43c7f1:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
43c7f5:	8b f0                	mov    %eax,%esi
43c7f7:	59                   	pop    %ecx
43c7f8:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
43c7fb:	89 75 f0             	mov    %esi,-0x10(%ebp)
43c7fe:	e8 e4 2b fd ff       	call   0x40f3e7
43c803:	8b 5d 28             	mov    0x28(%ebp),%ebx
43c806:	8b 7d 20             	mov    0x20(%ebp),%edi
43c809:	eb 7f                	jmp    0x43c88a
43c80b:	80 f9 25             	cmp    $0x25,%cl
43c80e:	75 40                	jne    0x43c850
43c810:	8b 45 ec             	mov    -0x14(%ebp),%eax
43c813:	43                   	inc    %ebx
43c814:	6a 00                	push   $0x0
43c816:	8b 00                	mov    (%eax),%eax
43c818:	8b 70 24             	mov    0x24(%eax),%esi
43c81b:	8b ce                	mov    %esi,%ecx
43c81d:	0f b6 03             	movzbl (%ebx),%eax
43c820:	50                   	push   %eax
43c821:	ff 75 24             	push   0x24(%ebp)
43c824:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43c827:	57                   	push   %edi
43c828:	ff 75 1c             	push   0x1c(%ebp)
43c82b:	ff 75 18             	push   0x18(%ebp)
43c82e:	ff 75 14             	push   0x14(%ebp)
43c831:	ff 75 10             	push   0x10(%ebp)
43c834:	ff 75 0c             	push   0xc(%ebp)
43c837:	50                   	push   %eax
43c838:	ff 15 54 43 49 00    	call   *0x494354
43c83e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
43c841:	ff d6                	call   *%esi
43c843:	8b 08                	mov    (%eax),%ecx
43c845:	89 4d 0c             	mov    %ecx,0xc(%ebp)
43c848:	8b 40 04             	mov    0x4(%eax),%eax
43c84b:	89 45 10             	mov    %eax,0x10(%ebp)
43c84e:	eb 36                	jmp    0x43c886
43c850:	80 f9 20             	cmp    $0x20,%cl
43c853:	74 64                	je     0x43c8b9
43c855:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
43c859:	75 08                	jne    0x43c863
43c85b:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43c85e:	e8 17 e9 fe ff       	call   0x42b17a
43c863:	8b 06                	mov    (%esi),%eax
43c865:	6a 00                	push   $0x0
43c867:	ff 75 11             	push   0x11(%ebp)
43c86a:	8b 70 28             	mov    0x28(%eax),%esi
43c86d:	8b ce                	mov    %esi,%ecx
43c86f:	ff 15 54 43 49 00    	call   *0x494354
43c875:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43c878:	ff d6                	call   *%esi
43c87a:	3a 03                	cmp    (%ebx),%al
43c87c:	75 4d                	jne    0x43c8cb
43c87e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43c881:	e8 cf e0 fe ff       	call   0x42a955
43c886:	8b 75 f0             	mov    -0x10(%ebp),%esi
43c889:	43                   	inc    %ebx
43c88a:	8a 0b                	mov    (%ebx),%cl
43c88c:	84 c9                	test   %cl,%cl
43c88e:	0f 85 77 ff ff ff    	jne    0x43c80b
43c894:	eb 38                	jmp    0x43c8ce
43c896:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
43c89a:	75 08                	jne    0x43c8a4
43c89c:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43c89f:	e8 d6 e8 fe ff       	call   0x42b17a
43c8a4:	0f b6 4d 11          	movzbl 0x11(%ebp),%ecx
43c8a8:	8b 46 0c             	mov    0xc(%esi),%eax
43c8ab:	f6 04 48 48          	testb  $0x48,(%eax,%ecx,2)
43c8af:	74 d8                	je     0x43c889
43c8b1:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43c8b4:	e8 9c e0 fe ff       	call   0x42a955
43c8b9:	8d 45 14             	lea    0x14(%ebp),%eax
43c8bc:	50                   	push   %eax
43c8bd:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43c8c0:	e8 70 f9 fe ff       	call   0x42c235
43c8c5:	84 c0                	test   %al,%al
43c8c7:	74 cd                	je     0x43c896
43c8c9:	eb be                	jmp    0x43c889
43c8cb:	83 0f 02             	orl    $0x2,(%edi)
43c8ce:	8d 45 14             	lea    0x14(%ebp),%eax
43c8d1:	50                   	push   %eax
43c8d2:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43c8d5:	e8 5b f9 fe ff       	call   0x42c235
43c8da:	84 c0                	test   %al,%al
43c8dc:	74 03                	je     0x43c8e1
43c8de:	83 0f 01             	orl    $0x1,(%edi)
43c8e1:	8b 45 08             	mov    0x8(%ebp),%eax
43c8e4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43c8e7:	89 08                	mov    %ecx,(%eax)
43c8e9:	8b 4d 10             	mov    0x10(%ebp),%ecx
43c8ec:	89 48 04             	mov    %ecx,0x4(%eax)
43c8ef:	e8 1f 31 00 00       	call   0x43fa13
43c8f4:	c2 24 00             	ret    $0x24
43c8f7:	55                   	push   %ebp
43c8f8:	8b ec                	mov    %esp,%ebp
43c8fa:	83 ec 44             	sub    $0x44,%esp
43c8fd:	a1 94 80 4b 00       	mov    0x4b8094,%eax
43c902:	33 c5                	xor    %ebp,%eax
43c904:	89 45 fc             	mov    %eax,-0x4(%ebp)
43c907:	8b 45 10             	mov    0x10(%ebp),%eax
43c90a:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
43c90d:	53                   	push   %ebx
43c90e:	56                   	push   %esi
43c90f:	8b 75 20             	mov    0x20(%ebp),%esi
43c912:	8d 5d dc             	lea    -0x24(%ebp),%ebx
43c915:	57                   	push   %edi
43c916:	8b 7d 0c             	mov    0xc(%ebp),%edi
43c919:	89 4d bc             	mov    %ecx,-0x44(%ebp)
43c91c:	8b cf                	mov    %edi,%ecx
43c91e:	50                   	push   %eax
43c91f:	89 45 d0             	mov    %eax,-0x30(%ebp)
43c922:	89 75 d4             	mov    %esi,-0x2c(%ebp)
43c925:	89 5d c8             	mov    %ebx,-0x38(%ebp)
43c928:	e8 08 f9 fe ff       	call   0x42c235
43c92d:	33 c9                	xor    %ecx,%ecx
43c92f:	84 c0                	test   %al,%al
43c931:	75 4a                	jne    0x43c97d
43c933:	38 4f 04             	cmp    %cl,0x4(%edi)
43c936:	75 09                	jne    0x43c941
43c938:	8b cf                	mov    %edi,%ecx
43c93a:	e8 3b e8 fe ff       	call   0x42b17a
43c93f:	33 c9                	xor    %ecx,%ecx
43c941:	8a 47 05             	mov    0x5(%edi),%al
43c944:	88 45 cc             	mov    %al,-0x34(%ebp)
43c947:	8b 06                	mov    (%esi),%eax
43c949:	51                   	push   %ecx
43c94a:	ff 75 cc             	push   -0x34(%ebp)
43c94d:	8b 70 28             	mov    0x28(%eax),%esi
43c950:	8b ce                	mov    %esi,%ecx
43c952:	ff 15 54 43 49 00    	call   *0x494354
43c958:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
43c95b:	ff d6                	call   *%esi
43c95d:	3c 2b                	cmp    $0x2b,%al
43c95f:	75 05                	jne    0x43c966
43c961:	88 45 dc             	mov    %al,-0x24(%ebp)
43c964:	eb 07                	jmp    0x43c96d
43c966:	3c 2d                	cmp    $0x2d,%al
43c968:	75 10                	jne    0x43c97a
43c96a:	88 45 dc             	mov    %al,-0x24(%ebp)
43c96d:	8d 5d dd             	lea    -0x23(%ebp),%ebx
43c970:	8b cf                	mov    %edi,%ecx
43c972:	89 5d c8             	mov    %ebx,-0x38(%ebp)
43c975:	e8 db df fe ff       	call   0x42a955
43c97a:	8b 75 d4             	mov    -0x2c(%ebp),%esi
43c97d:	ff 75 d0             	push   -0x30(%ebp)
43c980:	8b cf                	mov    %edi,%ecx
43c982:	c6 45 db 00          	movb   $0x0,-0x25(%ebp)
43c986:	e8 aa f8 fe ff       	call   0x42c235
43c98b:	84 c0                	test   %al,%al
43c98d:	0f 85 a7 00 00 00    	jne    0x43ca3a
43c993:	8a 5d db             	mov    -0x25(%ebp),%bl
43c996:	eb 03                	jmp    0x43c99b
43c998:	8b 75 d4             	mov    -0x2c(%ebp),%esi
43c99b:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
43c99f:	75 07                	jne    0x43c9a8
43c9a1:	8b cf                	mov    %edi,%ecx
43c9a3:	e8 d2 e7 fe ff       	call   0x42b17a
43c9a8:	8a 47 05             	mov    0x5(%edi),%al
43c9ab:	88 45 cc             	mov    %al,-0x34(%ebp)
43c9ae:	8b 06                	mov    (%esi),%eax
43c9b0:	6a 00                	push   $0x0
43c9b2:	ff 75 cc             	push   -0x34(%ebp)
43c9b5:	8b 70 28             	mov    0x28(%eax),%esi
43c9b8:	8b ce                	mov    %esi,%ecx
43c9ba:	ff 15 54 43 49 00    	call   *0x494354
43c9c0:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
43c9c3:	ff d6                	call   *%esi
43c9c5:	3c 30                	cmp    $0x30,%al
43c9c7:	75 17                	jne    0x43c9e0
43c9c9:	8b cf                	mov    %edi,%ecx
43c9cb:	b3 01                	mov    $0x1,%bl
43c9cd:	e8 83 df fe ff       	call   0x42a955
43c9d2:	ff 75 d0             	push   -0x30(%ebp)
43c9d5:	8b cf                	mov    %edi,%ecx
43c9d7:	e8 59 f8 fe ff       	call   0x42c235
43c9dc:	84 c0                	test   %al,%al
43c9de:	74 b8                	je     0x43c998
43c9e0:	88 5d db             	mov    %bl,-0x25(%ebp)
43c9e3:	84 db                	test   %bl,%bl
43c9e5:	8b 5d c8             	mov    -0x38(%ebp),%ebx
43c9e8:	74 50                	je     0x43ca3a
43c9ea:	c6 03 30             	movb   $0x30,(%ebx)
43c9ed:	43                   	inc    %ebx
43c9ee:	eb 4a                	jmp    0x43ca3a
43c9f0:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
43c9f4:	75 07                	jne    0x43c9fd
43c9f6:	8b cf                	mov    %edi,%ecx
43c9f8:	e8 7d e7 fe ff       	call   0x42b17a
43c9fd:	8a 47 05             	mov    0x5(%edi),%al
43ca00:	88 45 cc             	mov    %al,-0x34(%ebp)
43ca03:	8b 45 d4             	mov    -0x2c(%ebp),%eax
43ca06:	6a 00                	push   $0x0
43ca08:	ff 75 cc             	push   -0x34(%ebp)
43ca0b:	8b 00                	mov    (%eax),%eax
43ca0d:	8b 70 28             	mov    0x28(%eax),%esi
43ca10:	8b ce                	mov    %esi,%ecx
43ca12:	ff 15 54 43 49 00    	call   *0x494354
43ca18:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
43ca1b:	ff d6                	call   *%esi
43ca1d:	8d 48 d0             	lea    -0x30(%eax),%ecx
43ca20:	80 f9 09             	cmp    $0x9,%cl
43ca23:	77 23                	ja     0x43ca48
43ca25:	88 03                	mov    %al,(%ebx)
43ca27:	8d 45 fb             	lea    -0x5(%ebp),%eax
43ca2a:	3b d8                	cmp    %eax,%ebx
43ca2c:	73 01                	jae    0x43ca2f
43ca2e:	43                   	inc    %ebx
43ca2f:	8b cf                	mov    %edi,%ecx
43ca31:	c6 45 db 01          	movb   $0x1,-0x25(%ebp)
43ca35:	e8 1b df fe ff       	call   0x42a955
43ca3a:	ff 75 d0             	push   -0x30(%ebp)
43ca3d:	8b cf                	mov    %edi,%ecx
43ca3f:	e8 f1 f7 fe ff       	call   0x42c235
43ca44:	84 c0                	test   %al,%al
43ca46:	74 a8                	je     0x43c9f0
43ca48:	80 7d db 00          	cmpb   $0x0,-0x25(%ebp)
43ca4c:	75 03                	jne    0x43ca51
43ca4e:	8d 5d dc             	lea    -0x24(%ebp),%ebx
43ca51:	33 c0                	xor    %eax,%eax
43ca53:	88 03                	mov    %al,(%ebx)
43ca55:	89 45 c4             	mov    %eax,-0x3c(%ebp)
43ca58:	8d 45 c4             	lea    -0x3c(%ebp),%eax
43ca5b:	50                   	push   %eax
43ca5c:	6a 0a                	push   $0xa
43ca5e:	8d 45 c0             	lea    -0x40(%ebp),%eax
43ca61:	50                   	push   %eax
43ca62:	8d 45 dc             	lea    -0x24(%ebp),%eax
43ca65:	50                   	push   %eax
43ca66:	e8 75 ad fe ff       	call   0x4277e0
43ca6b:	83 c4 10             	add    $0x10,%esp
43ca6e:	8b cf                	mov    %edi,%ecx
43ca70:	8b f0                	mov    %eax,%esi
43ca72:	ff 75 d0             	push   -0x30(%ebp)
43ca75:	e8 bb f7 fe ff       	call   0x42c235
43ca7a:	84 c0                	test   %al,%al
43ca7c:	74 05                	je     0x43ca83
43ca7e:	33 c0                	xor    %eax,%eax
43ca80:	40                   	inc    %eax
43ca81:	eb 02                	jmp    0x43ca85
43ca83:	33 c0                	xor    %eax,%eax
43ca85:	8d 4d dc             	lea    -0x24(%ebp),%ecx
43ca88:	39 4d c0             	cmp    %ecx,-0x40(%ebp)
43ca8b:	74 17                	je     0x43caa4
43ca8d:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
43ca91:	75 11                	jne    0x43caa4
43ca93:	3b 75 14             	cmp    0x14(%ebp),%esi
43ca96:	7c 0c                	jl     0x43caa4
43ca98:	39 75 18             	cmp    %esi,0x18(%ebp)
43ca9b:	7c 07                	jl     0x43caa4
43ca9d:	8b 4d bc             	mov    -0x44(%ebp),%ecx
43caa0:	89 31                	mov    %esi,(%ecx)
43caa2:	eb 03                	jmp    0x43caa7
43caa4:	83 c8 02             	or     $0x2,%eax
43caa7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43caaa:	5f                   	pop    %edi
43caab:	5e                   	pop    %esi
43caac:	33 cd                	xor    %ebp,%ecx
43caae:	5b                   	pop    %ebx
43caaf:	e8 4e 2f 00 00       	call   0x43fa02
43cab4:	c9                   	leave
43cab5:	c3                   	ret
43cab6:	68 b4 00 00 00       	push   $0xb4
43cabb:	b8 bb 2c 49 00       	mov    $0x492cbb,%eax
43cac0:	e8 b9 2f 00 00       	call   0x43fa7e
43cac5:	8b 4d 18             	mov    0x18(%ebp),%ecx
43cac8:	8b 45 08             	mov    0x8(%ebp),%eax
43cacb:	83 65 8c 00          	andl   $0x0,-0x74(%ebp)
43cacf:	8b 7d 0c             	mov    0xc(%ebp),%edi
43cad2:	ff 71 30             	push   0x30(%ecx)
43cad5:	89 45 80             	mov    %eax,-0x80(%ebp)
43cad8:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
43cade:	8b 45 10             	mov    0x10(%ebp),%eax
43cae1:	89 45 90             	mov    %eax,-0x70(%ebp)
43cae4:	8b 45 1c             	mov    0x1c(%ebp),%eax
43cae7:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
43caed:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
43caf3:	89 bd 44 ff ff ff    	mov    %edi,-0xbc(%ebp)
43caf9:	89 45 88             	mov    %eax,-0x78(%ebp)
43cafc:	e8 3b c3 fe ff       	call   0x428e3c
43cb01:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
43cb05:	74 1a                	je     0x43cb21
43cb07:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
43cb0d:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
43cb14:	50                   	push   %eax
43cb15:	e8 6c f2 ff ff       	call   0x43bd86
43cb1a:	8b d8                	mov    %eax,%ebx
43cb1c:	89 5d 98             	mov    %ebx,-0x68(%ebp)
43cb1f:	eb 18                	jmp    0x43cb39
43cb21:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
43cb27:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
43cb2e:	50                   	push   %eax