4147e8:	83 e1 07             	and    $0x7,%ecx
4147eb:	89 4e 04             	mov    %ecx,0x4(%esi)
4147ee:	0f b7 84 47 a4 13 00 	movzwl 0x13a4(%edi,%eax,2),%eax
4147f5:	00
4147f6:	eb 5b                	jmp    0x414853
4147f8:	6a 0f                	push   $0xf
4147fa:	5b                   	pop    %ebx
4147fb:	8d 4a 01             	lea    0x1(%edx),%ecx
4147fe:	3b cb                	cmp    %ebx,%ecx
414800:	73 18                	jae    0x41481a
414802:	8d 94 8f 20 0f 00 00 	lea    0xf20(%edi,%ecx,4),%edx
414809:	3b 02                	cmp    (%edx),%eax
41480b:	72 0b                	jb     0x414818
41480d:	41                   	inc    %ecx
41480e:	83 c2 04             	add    $0x4,%edx
414811:	83 f9 0f             	cmp    $0xf,%ecx
414814:	72 f3                	jb     0x414809
414816:	eb 02                	jmp    0x41481a
414818:	8b d9                	mov    %ecx,%ebx
41481a:	8b 4e 04             	mov    0x4(%esi),%ecx
41481d:	03 cb                	add    %ebx,%ecx
41481f:	8b d1                	mov    %ecx,%edx
414821:	83 e1 07             	and    $0x7,%ecx
414824:	89 4e 04             	mov    %ecx,0x4(%esi)
414827:	c1 ea 03             	shr    $0x3,%edx
41482a:	01 16                	add    %edx,(%esi)
41482c:	2b 84 9f 1c 0f 00 00 	sub    0xf1c(%edi,%ebx,4),%eax
414833:	6a 10                	push   $0x10
414835:	59                   	pop    %ecx
414836:	2b cb                	sub    %ebx,%ecx
414838:	d3 e8                	shr    %cl,%eax
41483a:	03 84 9f 60 0f 00 00 	add    0xf60(%edi,%ebx,4),%eax
414841:	3b 87 1c 0f 00 00    	cmp    0xf1c(%edi),%eax
414847:	72 02                	jb     0x41484b
414849:	33 c0                	xor    %eax,%eax
41484b:	0f b7 84 47 a4 1b 00 	movzwl 0x1ba4(%edi,%eax,2),%eax
414852:	00
414853:	83 f8 04             	cmp    $0x4,%eax
414856:	73 09                	jae    0x414861
414858:	40                   	inc    %eax
414859:	89 45 08             	mov    %eax,0x8(%ebp)
41485c:	e9 15 01 00 00       	jmp    0x414976
414861:	8b d8                	mov    %eax,%ebx
414863:	d1 eb                	shr    $1,%ebx
414865:	83 e0 01             	and    $0x1,%eax
414868:	4b                   	dec    %ebx
414869:	83 c8 02             	or     $0x2,%eax
41486c:	8b cb                	mov    %ebx,%ecx
41486e:	d3 e0                	shl    %cl,%eax
414870:	40                   	inc    %eax
414871:	89 45 08             	mov    %eax,0x8(%ebp)
414874:	85 db                	test   %ebx,%ebx
414876:	0f 86 fa 00 00 00    	jbe    0x414976
41487c:	83 fb 04             	cmp    $0x4,%ebx
41487f:	0f 82 ce 00 00 00    	jb     0x414953
414885:	76 28                	jbe    0x4148af
414887:	8b ce                	mov    %esi,%ecx
414889:	e8 81 de ff ff       	call   0x41270f
41488e:	6a 24                	push   $0x24
414890:	59                   	pop    %ecx
414891:	2b cb                	sub    %ebx,%ecx
414893:	d3 e8                	shr    %cl,%eax
414895:	c1 e0 04             	shl    $0x4,%eax
414898:	01 45 08             	add    %eax,0x8(%ebp)
41489b:	8b 46 04             	mov    0x4(%esi),%eax
41489e:	8d 5c 18 fc          	lea    -0x4(%eax,%ebx,1),%ebx
4148a2:	8b c3                	mov    %ebx,%eax
4148a4:	c1 e8 03             	shr    $0x3,%eax
4148a7:	01 06                	add    %eax,(%esi)
4148a9:	83 e3 07             	and    $0x7,%ebx
4148ac:	89 5e 04             	mov    %ebx,0x4(%esi)
4148af:	8b ce                	mov    %esi,%ecx
4148b1:	e8 54 4e ff ff       	call   0x40970a
4148b6:	8b 9f 8c 1e 00 00    	mov    0x1e8c(%edi),%ebx
4148bc:	25 fe ff 00 00       	and    $0xfffe,%eax
4148c1:	3b 84 9f 0c 1e 00 00 	cmp    0x1e0c(%edi,%ebx,4),%eax
4148c8:	73 29                	jae    0x4148f3
4148ca:	6a 10                	push   $0x10
4148cc:	59                   	pop    %ecx
4148cd:	2b cb                	sub    %ebx,%ecx
4148cf:	d3 e8                	shr    %cl,%eax
4148d1:	0f b6 8c 38 90 1e 00 	movzbl 0x1e90(%eax,%edi,1),%ecx
4148d8:	00
4148d9:	03 4e 04             	add    0x4(%esi),%ecx
4148dc:	8b d1                	mov    %ecx,%edx
4148de:	c1 ea 03             	shr    $0x3,%edx
4148e1:	01 16                	add    %edx,(%esi)
4148e3:	83 e1 07             	and    $0x7,%ecx
4148e6:	89 4e 04             	mov    %ecx,0x4(%esi)
4148e9:	0f b7 84 47 90 22 00 	movzwl 0x2290(%edi,%eax,2),%eax
4148f0:	00
4148f1:	eb 5b                	jmp    0x41494e
4148f3:	6a 0f                	push   $0xf
4148f5:	5a                   	pop    %edx
4148f6:	8d 4b 01             	lea    0x1(%ebx),%ecx
4148f9:	3b ca                	cmp    %edx,%ecx
4148fb:	73 18                	jae    0x414915
4148fd:	8d 9c 8f 0c 1e 00 00 	lea    0x1e0c(%edi,%ecx,4),%ebx
414904:	3b 03                	cmp    (%ebx),%eax
414906:	72 0b                	jb     0x414913
414908:	41                   	inc    %ecx
414909:	83 c3 04             	add    $0x4,%ebx
41490c:	83 f9 0f             	cmp    $0xf,%ecx
41490f:	72 f3                	jb     0x414904
414911:	eb 02                	jmp    0x414915
414913:	8b d1                	mov    %ecx,%edx
414915:	8b 4e 04             	mov    0x4(%esi),%ecx
414918:	03 ca                	add    %edx,%ecx
41491a:	8b d9                	mov    %ecx,%ebx
41491c:	83 e1 07             	and    $0x7,%ecx
41491f:	89 4e 04             	mov    %ecx,0x4(%esi)
414922:	c1 eb 03             	shr    $0x3,%ebx
414925:	01 1e                	add    %ebx,(%esi)
414927:	2b 84 97 08 1e 00 00 	sub    0x1e08(%edi,%edx,4),%eax
41492e:	6a 10                	push   $0x10
414930:	59                   	pop    %ecx
414931:	2b ca                	sub    %edx,%ecx
414933:	d3 e8                	shr    %cl,%eax
414935:	03 84 97 4c 1e 00 00 	add    0x1e4c(%edi,%edx,4),%eax
41493c:	3b 87 08 1e 00 00    	cmp    0x1e08(%edi),%eax
414942:	72 02                	jb     0x414946
414944:	33 c0                	xor    %eax,%eax
414946:	0f b7 84 47 90 2a 00 	movzwl 0x2a90(%edi,%eax,2),%eax
41494d:	00
41494e:	01 45 08             	add    %eax,0x8(%ebp)
414951:	eb 23                	jmp    0x414976
414953:	8b ce                	mov    %esi,%ecx
414955:	e8 b5 dd ff ff       	call   0x41270f
41495a:	6a 20                	push   $0x20
41495c:	59                   	pop    %ecx
41495d:	2b cb                	sub    %ebx,%ecx
41495f:	d3 e8                	shr    %cl,%eax
414961:	01 45 08             	add    %eax,0x8(%ebp)
414964:	8b 46 04             	mov    0x4(%esi),%eax
414967:	03 c3                	add    %ebx,%eax
414969:	8b c8                	mov    %eax,%ecx
41496b:	c1 e9 03             	shr    $0x3,%ecx
41496e:	01 0e                	add    %ecx,(%esi)
414970:	83 e0 07             	and    $0x7,%eax
414973:	89 46 04             	mov    %eax,0x4(%esi)
414976:	8b 55 08             	mov    0x8(%ebp),%edx
414979:	81 fa 00 01 00 00    	cmp    $0x100,%edx
41497f:	76 18                	jbe    0x414999
414981:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414984:	41                   	inc    %ecx
414985:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
41498b:	76 0f                	jbe    0x41499c
41498d:	41                   	inc    %ecx
41498e:	81 fa 00 00 04 00    	cmp    $0x40000,%edx
414994:	76 06                	jbe    0x41499c
414996:	41                   	inc    %ecx
414997:	eb 03                	jmp    0x41499c
414999:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41499c:	8b 45 e8             	mov    -0x18(%ebp),%eax
41499f:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4149a5:	66 89 48 04          	mov    %cx,0x4(%eax)
4149a9:	89 50 08             	mov    %edx,0x8(%eax)
4149ac:	e9 35 fc ff ff       	jmp    0x4145e6
4149b1:	3b c1                	cmp    %ecx,%eax
4149b3:	75 4f                	jne    0x414a04
4149b5:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4149b8:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4149bb:	50                   	push   %eax
4149bc:	56                   	push   %esi
4149bd:	e8 f2 f4 ff ff       	call   0x413eb4
4149c2:	66 0f b6 45 d4       	movzbw -0x2c(%ebp),%ax
4149c7:	66 89 43 04          	mov    %ax,0x4(%ebx)
4149cb:	8b 45 d8             	mov    -0x28(%ebp),%eax
4149ce:	89 43 08             	mov    %eax,0x8(%ebx)
4149d1:	6a 04                	push   $0x4
4149d3:	59                   	pop    %ecx
4149d4:	89 0b                	mov    %ecx,(%ebx)
4149d6:	8b 97 d8 4a 00 00    	mov    0x4ad8(%edi),%edx
4149dc:	8b c2                	mov    %edx,%eax
4149de:	6b c0 0c             	imul   $0xc,%eax,%eax
4149e1:	03 87 d4 4a 00 00    	add    0x4ad4(%edi),%eax
4149e7:	42                   	inc    %edx
4149e8:	89 97 d8 4a 00 00    	mov    %edx,0x4ad8(%edi)
4149ee:	89 08                	mov    %ecx,(%eax)
4149f0:	66 0f b6 4d e0       	movzbw -0x20(%ebp),%cx
4149f5:	66 89 48 04          	mov    %cx,0x4(%eax)
4149f9:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4149fc:	89 48 08             	mov    %ecx,0x8(%eax)
4149ff:	e9 e2 fb ff ff       	jmp    0x4145e6
414a04:	3d 01 01 00 00       	cmp    $0x101,%eax
414a09:	75 0b                	jne    0x414a16
414a0b:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
414a11:	e9 d0 fb ff ff       	jmp    0x4145e6
414a16:	05 fe fe ff ff       	add    $0xfffffefe,%eax
414a1b:	8b ce                	mov    %esi,%ecx
414a1d:	c7 03 03 00 00 00    	movl   $0x3,(%ebx)
414a23:	89 43 08             	mov    %eax,0x8(%ebx)
414a26:	e8 df 4c ff ff       	call   0x40970a
414a2b:	8b 97 78 2d 00 00    	mov    0x2d78(%edi),%edx
414a31:	25 fe ff 00 00       	and    $0xfffe,%eax
414a36:	3b 84 97 f8 2c 00 00 	cmp    0x2cf8(%edi,%edx,4),%eax
414a3d:	73 29                	jae    0x414a68
414a3f:	6a 10                	push   $0x10
414a41:	59                   	pop    %ecx
414a42:	2b ca                	sub    %edx,%ecx
414a44:	d3 e8                	shr    %cl,%eax
414a46:	0f b6 8c 38 7c 2d 00 	movzbl 0x2d7c(%eax,%edi,1),%ecx
414a4d:	00
414a4e:	03 4e 04             	add    0x4(%esi),%ecx
414a51:	8b d1                	mov    %ecx,%edx
414a53:	c1 ea 03             	shr    $0x3,%edx
414a56:	01 16                	add    %edx,(%esi)
414a58:	83 e1 07             	and    $0x7,%ecx
414a5b:	89 4e 04             	mov    %ecx,0x4(%esi)
414a5e:	0f b7 84 47 7c 31 00 	movzwl 0x317c(%edi,%eax,2),%eax
414a65:	00
414a66:	eb 63                	jmp    0x414acb
414a68:	42                   	inc    %edx
414a69:	c7 45 08 0f 00 00 00 	movl   $0xf,0x8(%ebp)
414a70:	83 fa 0f             	cmp    $0xf,%edx
414a73:	73 19                	jae    0x414a8e
414a75:	8d 8c 97 f8 2c 00 00 	lea    0x2cf8(%edi,%edx,4),%ecx
414a7c:	3b 01                	cmp    (%ecx),%eax
414a7e:	72 0b                	jb     0x414a8b
414a80:	42                   	inc    %edx
414a81:	83 c1 04             	add    $0x4,%ecx
414a84:	83 fa 0f             	cmp    $0xf,%edx
414a87:	72 f3                	jb     0x414a7c
414a89:	eb 03                	jmp    0x414a8e
414a8b:	89 55 08             	mov    %edx,0x8(%ebp)
414a8e:	8b 4e 04             	mov    0x4(%esi),%ecx
414a91:	03 4d 08             	add    0x8(%ebp),%ecx
414a94:	6a 10                	push   $0x10
414a96:	8b d1                	mov    %ecx,%edx
414a98:	c1 ea 03             	shr    $0x3,%edx
414a9b:	01 16                	add    %edx,(%esi)
414a9d:	8b 55 08             	mov    0x8(%ebp),%edx
414aa0:	83 e1 07             	and    $0x7,%ecx
414aa3:	89 4e 04             	mov    %ecx,0x4(%esi)
414aa6:	2b 84 97 f4 2c 00 00 	sub    0x2cf4(%edi,%edx,4),%eax
414aad:	59                   	pop    %ecx
414aae:	2b ca                	sub    %edx,%ecx
414ab0:	d3 e8                	shr    %cl,%eax
414ab2:	03 84 97 38 2d 00 00 	add    0x2d38(%edi,%edx,4),%eax
414ab9:	3b 87 f4 2c 00 00    	cmp    0x2cf4(%edi),%eax
414abf:	72 02                	jb     0x414ac3
414ac1:	33 c0                	xor    %eax,%eax
414ac3:	0f b7 84 47 7c 39 00 	movzwl 0x397c(%edi,%eax,2),%eax
414aca:	00
414acb:	83 f8 08             	cmp    $0x8,%eax
414ace:	73 05                	jae    0x414ad5
414ad0:	83 c0 02             	add    $0x2,%eax
414ad3:	eb 42                	jmp    0x414b17
414ad5:	8b c8                	mov    %eax,%ecx
414ad7:	83 e0 03             	and    $0x3,%eax
414ada:	c1 e9 02             	shr    $0x2,%ecx
414add:	49                   	dec    %ecx
414ade:	83 c8 04             	or     $0x4,%eax
414ae1:	d3 e0                	shl    %cl,%eax
414ae3:	89 4d fc             	mov    %ecx,-0x4(%ebp)
414ae6:	40                   	inc    %eax
414ae7:	40                   	inc    %eax
414ae8:	89 45 08             	mov    %eax,0x8(%ebp)
414aeb:	85 c9                	test   %ecx,%ecx
414aed:	76 28                	jbe    0x414b17
414aef:	8b ce                	mov    %esi,%ecx
414af1:	e8 14 4c ff ff       	call   0x40970a
414af6:	6a 10                	push   $0x10
414af8:	59                   	pop    %ecx
414af9:	2b 4d fc             	sub    -0x4(%ebp),%ecx
414afc:	d3 e8                	shr    %cl,%eax
414afe:	01 45 08             	add    %eax,0x8(%ebp)
414b01:	8b 46 04             	mov    0x4(%esi),%eax
414b04:	03 45 fc             	add    -0x4(%ebp),%eax
414b07:	8b c8                	mov    %eax,%ecx
414b09:	c1 e9 03             	shr    $0x3,%ecx
414b0c:	01 0e                	add    %ecx,(%esi)
414b0e:	83 e0 07             	and    $0x7,%eax
414b11:	89 46 04             	mov    %eax,0x4(%esi)
414b14:	8b 45 08             	mov    0x8(%ebp),%eax
414b17:	66 89 43 04          	mov    %ax,0x4(%ebx)
414b1b:	e9 c6 fa ff ff       	jmp    0x4145e6
414b20:	c6 87 d3 4a 00 00 01 	movb   $0x1,0x4ad3(%edi)
414b27:	5b                   	pop    %ebx
414b28:	5e                   	pop    %esi
414b29:	5f                   	pop    %edi
414b2a:	c9                   	leave
414b2b:	c2 04 00             	ret    $0x4
414b2e:	53                   	push   %ebx
414b2f:	56                   	push   %esi
414b30:	57                   	push   %edi
414b31:	8b f9                	mov    %ecx,%edi
414b33:	8d 77 04             	lea    0x4(%edi),%esi
414b36:	8b ce                	mov    %esi,%ecx
414b38:	e8 cd 4b ff ff       	call   0x40970a
414b3d:	32 d2                	xor    %dl,%dl
414b3f:	a9 00 80 00 00       	test   $0x8000,%eax
414b44:	74 08                	je     0x414b4e
414b46:	8b 46 04             	mov    0x4(%esi),%eax
414b49:	b1 01                	mov    $0x1,%cl
414b4b:	40                   	inc    %eax
414b4c:	eb 0e                	jmp    0x414b5c
414b4e:	8b c8                	mov    %eax,%ecx
414b50:	8b 46 04             	mov    0x4(%esi),%eax
414b53:	c1 e9 0e             	shr    $0xe,%ecx
414b56:	b2 01                	mov    $0x1,%dl
414b58:	22 ca                	and    %dl,%cl
414b5a:	40                   	inc    %eax
414b5b:	40                   	inc    %eax
414b5c:	8b d8                	mov    %eax,%ebx
414b5e:	c1 eb 03             	shr    $0x3,%ebx
414b61:	01 1e                	add    %ebx,(%esi)
414b63:	83 e0 07             	and    $0x7,%eax
414b66:	84 c9                	test   %cl,%cl
414b68:	89 46 04             	mov    %eax,0x4(%esi)
414b6b:	0f 94 c0             	sete   %al
414b6e:	88 87 74 e6 00 00    	mov    %al,0xe674(%edi)
414b74:	84 d2                	test   %dl,%dl
414b76:	74 06                	je     0x414b7e
414b78:	5f                   	pop    %edi
414b79:	5e                   	pop    %esi
414b7a:	32 c0                	xor    %al,%al
414b7c:	5b                   	pop    %ebx
414b7d:	c3                   	ret
414b7e:	8b cf                	mov    %edi,%ecx
414b80:	5f                   	pop    %edi
414b81:	5e                   	pop    %esi
414b82:	5b                   	pop    %ebx
414b83:	e9 7f ef ff ff       	jmp    0x413b07
414b88:	56                   	push   %esi
414b89:	8b f1                	mov    %ecx,%esi
414b8b:	8d 4e 14             	lea    0x14(%esi),%ecx
414b8e:	e8 f7 ee ff ff       	call   0x413a8a
414b93:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
414b98:	74 07                	je     0x414ba1
414b9a:	56                   	push   %esi
414b9b:	e8 37 53 00 00       	call   0x419ed7
414ba0:	59                   	pop    %ecx
414ba1:	8b c6                	mov    %esi,%eax
414ba3:	5e                   	pop    %esi
414ba4:	c2 04 00             	ret    $0x4
414ba7:	55                   	push   %ebp
414ba8:	8b ec                	mov    %esp,%ebp
414baa:	83 ec 18             	sub    $0x18,%esp
414bad:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
414bb1:	53                   	push   %ebx
414bb2:	56                   	push   %esi
414bb3:	8b f1                	mov    %ecx,%esi
414bb5:	8b 4e 74             	mov    0x74(%esi),%ecx
414bb8:	8b 46 70             	mov    0x70(%esi),%eax
414bbb:	2b c1                	sub    %ecx,%eax
414bbd:	23 86 f8 e6 00 00    	and    0xe6f8(%esi),%eax
414bc3:	83 be d4 e6 00 00 00 	cmpl   $0x0,0xe6d4(%esi)
414bca:	57                   	push   %edi
414bcb:	89 4d f8             	mov    %ecx,-0x8(%ebp)