4118d6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4118d9:	56                   	push   %esi
4118da:	8b 50 4c             	mov    0x4c(%eax),%edx
4118dd:	8d 7b 10             	lea    0x10(%ebx),%edi
4118e0:	89 16                	mov    %edx,(%esi)
4118e2:	8b 50 48             	mov    0x48(%eax),%edx
4118e5:	50                   	push   %eax
4118e6:	89 17                	mov    %edx,(%edi)
4118e8:	e8 96 b0 00 00       	call   0x41c983
4118ed:	ff 73 04             	push   0x4(%ebx)
4118f0:	8b 75 fc             	mov    -0x4(%ebp),%esi
4118f3:	57                   	push   %edi
4118f4:	56                   	push   %esi
4118f5:	e8 e7 b0 00 00       	call   0x41c9e1
4118fa:	8b 86 50 03 00 00    	mov    0x350(%esi),%eax
411900:	83 c4 18             	add    $0x18,%esp
411903:	a8 02                	test   $0x2,%al
411905:	75 0d                	jne    0x411914
411907:	83 c8 02             	or     $0x2,%eax
41190a:	89 86 50 03 00 00    	mov    %eax,0x350(%esi)
411910:	c6 43 14 02          	movb   $0x2,0x14(%ebx)
411914:	5f                   	pop    %edi
411915:	5e                   	pop    %esi
411916:	5b                   	pop    %ebx
411917:	8b e5                	mov    %ebp,%esp
411919:	5d                   	pop    %ebp
41191a:	c3                   	ret
41191b:	83 39 00             	cmpl   $0x0,(%ecx)
41191e:	75 13                	jne    0x411933
411920:	e8 4c ad 00 00       	call   0x41c671
411925:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41192b:	e8 be ba ff ff       	call   0x40d3ee
411930:	32 c0                	xor    %al,%al
411932:	c3                   	ret
411933:	b0 01                	mov    $0x1,%al
411935:	c3                   	ret
411936:	8b ff                	mov    %edi,%edi
411938:	55                   	push   %ebp
411939:	8b ec                	mov    %esp,%ebp
41193b:	8b 01                	mov    (%ecx),%eax
41193d:	85 c0                	test   %eax,%eax
41193f:	75 22                	jne    0x411963
411941:	8b 45 08             	mov    0x8(%ebp),%eax
411944:	50                   	push   %eax
411945:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
411949:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
411950:	33 c0                	xor    %eax,%eax
411952:	50                   	push   %eax
411953:	50                   	push   %eax
411954:	50                   	push   %eax
411955:	50                   	push   %eax
411956:	50                   	push   %eax
411957:	e8 15 ba ff ff       	call   0x40d371
41195c:	83 c4 18             	add    $0x18,%esp
41195f:	32 c0                	xor    %al,%al
411961:	eb 07                	jmp    0x41196a
411963:	50                   	push   %eax
411964:	e8 36 00 00 00       	call   0x41199f
411969:	59                   	pop    %ecx
41196a:	5d                   	pop    %ebp
41196b:	c2 04 00             	ret    $0x4
41196e:	8b ff                	mov    %edi,%edi
411970:	55                   	push   %ebp
411971:	8b ec                	mov    %esp,%ebp
411973:	33 d2                	xor    %edx,%edx
411975:	39 11                	cmp    %edx,(%ecx)
411977:	75 20                	jne    0x411999
411979:	8b 45 08             	mov    0x8(%ebp),%eax
41197c:	50                   	push   %eax
41197d:	52                   	push   %edx
41197e:	52                   	push   %edx
41197f:	52                   	push   %edx
411980:	52                   	push   %edx
411981:	52                   	push   %edx
411982:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
411986:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
41198d:	e8 df b9 ff ff       	call   0x40d371
411992:	83 c4 18             	add    $0x18,%esp
411995:	32 c0                	xor    %al,%al
411997:	eb 02                	jmp    0x41199b
411999:	b0 01                	mov    $0x1,%al
41199b:	5d                   	pop    %ebp
41199c:	c2 04 00             	ret    $0x4
41199f:	8b ff                	mov    %edi,%edi
4119a1:	55                   	push   %ebp
4119a2:	8b ec                	mov    %esp,%ebp
4119a4:	8b 4d 08             	mov    0x8(%ebp),%ecx
4119a7:	56                   	push   %esi
4119a8:	8b 41 0c             	mov    0xc(%ecx),%eax
4119ab:	90                   	nop
4119ac:	c1 e8 0c             	shr    $0xc,%eax
4119af:	a8 01                	test   $0x1,%al
4119b1:	75 6e                	jne    0x411a21
4119b3:	57                   	push   %edi
4119b4:	51                   	push   %ecx
4119b5:	e8 86 be 00 00       	call   0x41d840
4119ba:	59                   	pop    %ecx
4119bb:	b9 d0 d2 43 00       	mov    $0x43d2d0,%ecx
4119c0:	83 f8 ff             	cmp    $0xffffffff,%eax
4119c3:	74 1b                	je     0x4119e0
4119c5:	83 f8 fe             	cmp    $0xfffffffe,%eax
4119c8:	74 16                	je     0x4119e0
4119ca:	8b f0                	mov    %eax,%esi
4119cc:	8b d0                	mov    %eax,%edx
4119ce:	83 e6 3f             	and    $0x3f,%esi
4119d1:	c1 fa 06             	sar    $0x6,%edx
4119d4:	6b fe 38             	imul   $0x38,%esi,%edi
4119d7:	03 3c 95 00 f8 43 00 	add    0x43f800(,%edx,4),%edi
4119de:	eb 0c                	jmp    0x4119ec
4119e0:	8b d0                	mov    %eax,%edx
4119e2:	8b f0                	mov    %eax,%esi
4119e4:	c1 fa 06             	sar    $0x6,%edx
4119e7:	8b f9                	mov    %ecx,%edi
4119e9:	83 e6 3f             	and    $0x3f,%esi
4119ec:	80 7f 29 00          	cmpb   $0x0,0x29(%edi)
4119f0:	5f                   	pop    %edi
4119f1:	75 1a                	jne    0x411a0d
4119f3:	83 f8 ff             	cmp    $0xffffffff,%eax
4119f6:	74 0f                	je     0x411a07
4119f8:	83 f8 fe             	cmp    $0xfffffffe,%eax
4119fb:	74 0a                	je     0x411a07
4119fd:	6b ce 38             	imul   $0x38,%esi,%ecx
411a00:	03 0c 95 00 f8 43 00 	add    0x43f800(,%edx,4),%ecx
411a07:	f6 41 2d 01          	testb  $0x1,0x2d(%ecx)
411a0b:	74 14                	je     0x411a21
411a0d:	e8 5f ac 00 00       	call   0x41c671
411a12:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
411a18:	e8 d1 b9 ff ff       	call   0x40d3ee
411a1d:	32 c0                	xor    %al,%al
411a1f:	eb 02                	jmp    0x411a23
411a21:	b0 01                	mov    $0x1,%al
411a23:	5e                   	pop    %esi
411a24:	5d                   	pop    %ebp
411a25:	c3                   	ret
411a26:	8b ff                	mov    %edi,%edi
411a28:	55                   	push   %ebp
411a29:	8b ec                	mov    %esp,%ebp
411a2b:	ff 75 10             	push   0x10(%ebp)
411a2e:	ff 75 08             	push   0x8(%ebp)
411a31:	e8 12 00 00 00       	call   0x411a48
411a36:	84 c0                	test   %al,%al
411a38:	8b 45 0c             	mov    0xc(%ebp),%eax
411a3b:	74 04                	je     0x411a41
411a3d:	ff 00                	incl   (%eax)
411a3f:	eb 03                	jmp    0x411a44
411a41:	83 08 ff             	orl    $0xffffffff,(%eax)
411a44:	5d                   	pop    %ebp
411a45:	c2 0c 00             	ret    $0xc
411a48:	8b ff                	mov    %edi,%edi
411a4a:	55                   	push   %ebp
411a4b:	8b ec                	mov    %esp,%ebp
411a4d:	8b 01                	mov    (%ecx),%eax
411a4f:	8b 40 0c             	mov    0xc(%eax),%eax
411a52:	90                   	nop
411a53:	c1 e8 0c             	shr    $0xc,%eax
411a56:	a8 01                	test   $0x1,%al
411a58:	74 0c                	je     0x411a66
411a5a:	8b 01                	mov    (%ecx),%eax
411a5c:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
411a60:	75 04                	jne    0x411a66
411a62:	b0 01                	mov    $0x1,%al
411a64:	eb 18                	jmp    0x411a7e
411a66:	ff 75 0c             	push   0xc(%ebp)
411a69:	0f be 45 08          	movsbl 0x8(%ebp),%eax
411a6d:	ff 31                	push   (%ecx)
411a6f:	50                   	push   %eax
411a70:	e8 cd c0 00 00       	call   0x41db42
411a75:	83 c4 0c             	add    $0xc,%esp
411a78:	83 f8 ff             	cmp    $0xffffffff,%eax
411a7b:	0f 95 c0             	setne  %al
411a7e:	5d                   	pop    %ebp
411a7f:	c2 08 00             	ret    $0x8
411a82:	8b ff                	mov    %edi,%edi
411a84:	55                   	push   %ebp
411a85:	8b ec                	mov    %esp,%ebp
411a87:	8b 01                	mov    (%ecx),%eax
411a89:	8b 40 0c             	mov    0xc(%eax),%eax
411a8c:	90                   	nop
411a8d:	c1 e8 0c             	shr    $0xc,%eax
411a90:	a8 01                	test   $0x1,%al
411a92:	74 14                	je     0x411aa8
411a94:	8b 01                	mov    (%ecx),%eax
411a96:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
411a9a:	75 0c                	jne    0x411aa8
411a9c:	8b 4d 10             	mov    0x10(%ebp),%ecx
411a9f:	8b 45 0c             	mov    0xc(%ebp),%eax
411aa2:	01 01                	add    %eax,(%ecx)
411aa4:	5d                   	pop    %ebp
411aa5:	c2 10 00             	ret    $0x10
411aa8:	5d                   	pop    %ebp
411aa9:	e9 d8 00 00 00       	jmp    0x411b86
411aae:	8b ff                	mov    %edi,%edi
411ab0:	55                   	push   %ebp
411ab1:	8b ec                	mov    %esp,%ebp
411ab3:	53                   	push   %ebx
411ab4:	57                   	push   %edi
411ab5:	8b 7d 0c             	mov    0xc(%ebp),%edi
411ab8:	8b d9                	mov    %ecx,%ebx
411aba:	85 ff                	test   %edi,%edi
411abc:	74 51                	je     0x411b0f
411abe:	8b 03                	mov    (%ebx),%eax
411ac0:	56                   	push   %esi
411ac1:	8b 70 04             	mov    0x4(%eax),%esi
411ac4:	39 70 08             	cmp    %esi,0x8(%eax)
411ac7:	75 0b                	jne    0x411ad4
411ac9:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
411acd:	8b 45 10             	mov    0x10(%ebp),%eax
411ad0:	74 35                	je     0x411b07
411ad2:	eb 2b                	jmp    0x411aff
411ad4:	2b 70 08             	sub    0x8(%eax),%esi
411ad7:	3b f7                	cmp    %edi,%esi
411ad9:	72 02                	jb     0x411add
411adb:	8b f7                	mov    %edi,%esi
411add:	56                   	push   %esi
411ade:	ff 75 08             	push   0x8(%ebp)
411ae1:	ff 30                	push   (%eax)
411ae3:	e8 58 93 ff ff       	call   0x40ae40
411ae8:	8b 03                	mov    (%ebx),%eax
411aea:	83 c4 0c             	add    $0xc,%esp
411aed:	01 30                	add    %esi,(%eax)
411aef:	8b 03                	mov    (%ebx),%eax
411af1:	01 70 08             	add    %esi,0x8(%eax)
411af4:	8b 03                	mov    (%ebx),%eax
411af6:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
411afa:	8b 45 10             	mov    0x10(%ebp),%eax
411afd:	74 04                	je     0x411b03
411aff:	01 38                	add    %edi,(%eax)
411b01:	eb 0b                	jmp    0x411b0e
411b03:	3b f7                	cmp    %edi,%esi
411b05:	74 05                	je     0x411b0c
411b07:	83 08 ff             	orl    $0xffffffff,(%eax)
411b0a:	eb 02                	jmp    0x411b0e
411b0c:	01 30                	add    %esi,(%eax)
411b0e:	5e                   	pop    %esi
411b0f:	5f                   	pop    %edi
411b10:	5b                   	pop    %ebx
411b11:	5d                   	pop    %ebp
411b12:	c2 10 00             	ret    $0x10
411b15:	8b ff                	mov    %edi,%edi
411b17:	55                   	push   %ebp
411b18:	8b ec                	mov    %esp,%ebp
411b1a:	51                   	push   %ecx
411b1b:	53                   	push   %ebx
411b1c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
411b1f:	8b c1                	mov    %ecx,%eax
411b21:	89 45 fc             	mov    %eax,-0x4(%ebp)
411b24:	85 db                	test   %ebx,%ebx
411b26:	74 59                	je     0x411b81
411b28:	8b 00                	mov    (%eax),%eax
411b2a:	57                   	push   %edi
411b2b:	8b 78 04             	mov    0x4(%eax),%edi
411b2e:	39 78 08             	cmp    %edi,0x8(%eax)
411b31:	75 0b                	jne    0x411b3e
411b33:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
411b37:	8b 45 10             	mov    0x10(%ebp),%eax
411b3a:	74 3d                	je     0x411b79
411b3c:	eb 33                	jmp    0x411b71
411b3e:	2b 78 08             	sub    0x8(%eax),%edi
411b41:	3b fb                	cmp    %ebx,%edi
411b43:	72 02                	jb     0x411b47
411b45:	8b fb                	mov    %ebx,%edi
411b47:	56                   	push   %esi
411b48:	8d 34 3f             	lea    (%edi,%edi,1),%esi
411b4b:	56                   	push   %esi
411b4c:	ff 75 08             	push   0x8(%ebp)
411b4f:	ff 30                	push   (%eax)
411b51:	e8 ea 92 ff ff       	call   0x40ae40
411b56:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411b59:	83 c4 0c             	add    $0xc,%esp
411b5c:	8b 01                	mov    (%ecx),%eax
411b5e:	01 30                	add    %esi,(%eax)
411b60:	8b 01                	mov    (%ecx),%eax
411b62:	5e                   	pop    %esi
411b63:	01 78 08             	add    %edi,0x8(%eax)
411b66:	8b 01                	mov    (%ecx),%eax
411b68:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
411b6c:	8b 45 10             	mov    0x10(%ebp),%eax
411b6f:	74 04                	je     0x411b75
411b71:	01 18                	add    %ebx,(%eax)
411b73:	eb 0b                	jmp    0x411b80
411b75:	3b fb                	cmp    %ebx,%edi
411b77:	74 05                	je     0x411b7e
411b79:	83 08 ff             	orl    $0xffffffff,(%eax)
411b7c:	eb 02                	jmp    0x411b80
411b7e:	01 38                	add    %edi,(%eax)
411b80:	5f                   	pop    %edi
411b81:	5b                   	pop    %ebx
411b82:	c9                   	leave
411b83:	c2 10 00             	ret    $0x10
411b86:	8b ff                	mov    %edi,%edi
411b88:	55                   	push   %ebp
411b89:	8b ec                	mov    %esp,%ebp
411b8b:	83 ec 10             	sub    $0x10,%esp
411b8e:	53                   	push   %ebx
411b8f:	8b 5d 08             	mov    0x8(%ebp),%ebx
411b92:	56                   	push   %esi
411b93:	8b 75 14             	mov    0x14(%ebp),%esi
411b96:	89 4d fc             	mov    %ecx,-0x4(%ebp)
411b99:	8b 46 18             	mov    0x18(%esi),%eax
411b9c:	89 45 f4             	mov    %eax,-0xc(%ebp)
411b9f:	8b 46 1c             	mov    0x1c(%esi),%eax
411ba2:	89 45 f0             	mov    %eax,-0x10(%ebp)
411ba5:	8b 45 0c             	mov    0xc(%ebp),%eax
411ba8:	03 c3                	add    %ebx,%eax
411baa:	89 45 f8             	mov    %eax,-0x8(%ebp)
411bad:	3b d8                	cmp    %eax,%ebx
411baf:	74 42                	je     0x411bf3
411bb1:	57                   	push   %edi
411bb2:	8b 7d 10             	mov    0x10(%ebp),%edi
411bb5:	0f b6 03             	movzbl (%ebx),%eax
411bb8:	56                   	push   %esi
411bb9:	50                   	push   %eax
411bba:	e8 89 fe ff ff       	call   0x411a48
411bbf:	84 c0                	test   %al,%al
411bc1:	75 1a                	jne    0x411bdd
411bc3:	38 46 1c             	cmp    %al,0x1c(%esi)
411bc6:	74 27                	je     0x411bef
411bc8:	83 7e 18 2a          	cmpl   $0x2a,0x18(%esi)
411bcc:	75 21                	jne    0x411bef
411bce:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411bd1:	56                   	push   %esi
411bd2:	6a 3f                	push   $0x3f
411bd4:	e8 6f fe ff ff       	call   0x411a48
411bd9:	84 c0                	test   %al,%al
411bdb:	74 04                	je     0x411be1
411bdd:	ff 07                	incl   (%edi)
411bdf:	eb 03                	jmp    0x411be4
411be1:	83 0f ff             	orl    $0xffffffff,(%edi)
411be4:	43                   	inc    %ebx
411be5:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
411be8:	74 08                	je     0x411bf2
411bea:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411bed:	eb c6                	jmp    0x411bb5
411bef:	83 0f ff             	orl    $0xffffffff,(%edi)
411bf2:	5f                   	pop    %edi
411bf3:	8b 45 f4             	mov    -0xc(%ebp),%eax
411bf6:	89 46 18             	mov    %eax,0x18(%esi)
411bf9:	8b 45 f0             	mov    -0x10(%ebp),%eax
411bfc:	89 46 1c             	mov    %eax,0x1c(%esi)
411bff:	5e                   	pop    %esi
411c00:	5b                   	pop    %ebx
411c01:	c9                   	leave
411c02:	c2 10 00             	ret    $0x10
411c05:	8b ff                	mov    %edi,%edi
411c07:	55                   	push   %ebp
411c08:	8b ec                	mov    %esp,%ebp
411c0a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
411c0d:	8d 41 01             	lea    0x1(%ecx),%eax
411c10:	3d 00 01 00 00       	cmp    $0x100,%eax
411c15:	77 0c                	ja     0x411c23