41ec9b:	3b 4e 08             	cmp    0x8(%esi),%ecx
41ec9e:	75 60                	jne    0x41ed00
41eca0:	8a 4c 02 04          	mov    0x4(%edx,%eax,1),%cl
41eca4:	88 4d 0f             	mov    %cl,0xf(%ebp)
41eca7:	fe c1                	inc    %cl
41eca9:	88 4c 02 04          	mov    %cl,0x4(%edx,%eax,1)
41ecad:	83 fa 20             	cmp    $0x20,%edx
41ecb0:	73 25                	jae    0x41ecd7
41ecb2:	80 7d 0f 00          	cmpb   $0x0,0xf(%ebp)
41ecb6:	75 0e                	jne    0x41ecc6
41ecb8:	8b ca                	mov    %edx,%ecx
41ecba:	bb 00 00 00 80       	mov    $0x80000000,%ebx
41ecbf:	d3 eb                	shr    %cl,%ebx
41ecc1:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ecc4:	09 19                	or     %ebx,(%ecx)
41ecc6:	bb 00 00 00 80       	mov    $0x80000000,%ebx
41eccb:	8b ca                	mov    %edx,%ecx
41eccd:	d3 eb                	shr    %cl,%ebx
41eccf:	8d 44 b8 44          	lea    0x44(%eax,%edi,4),%eax
41ecd3:	09 18                	or     %ebx,(%eax)
41ecd5:	eb 29                	jmp    0x41ed00
41ecd7:	80 7d 0f 00          	cmpb   $0x0,0xf(%ebp)
41ecdb:	75 10                	jne    0x41eced
41ecdd:	8d 4a e0             	lea    -0x20(%edx),%ecx
41ece0:	bb 00 00 00 80       	mov    $0x80000000,%ebx
41ece5:	d3 eb                	shr    %cl,%ebx
41ece7:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ecea:	09 59 04             	or     %ebx,0x4(%ecx)
41eced:	8d 4a e0             	lea    -0x20(%edx),%ecx
41ecf0:	ba 00 00 00 80       	mov    $0x80000000,%edx
41ecf5:	d3 ea                	shr    %cl,%edx
41ecf7:	8d 84 b8 c4 00 00 00 	lea    0xc4(%eax,%edi,4),%eax
41ecfe:	09 10                	or     %edx,(%eax)
41ed00:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ed03:	89 06                	mov    %eax,(%esi)
41ed05:	89 44 30 fc          	mov    %eax,-0x4(%eax,%esi,1)
41ed09:	8b 45 f0             	mov    -0x10(%ebp),%eax
41ed0c:	ff 08                	decl   (%eax)
41ed0e:	0f 85 f3 00 00 00    	jne    0x41ee07
41ed14:	a1 60 ee 44 00       	mov    0x44ee60,%eax
41ed19:	85 c0                	test   %eax,%eax
41ed1b:	0f 84 d8 00 00 00    	je     0x41edf9
41ed21:	8b 0d f0 08 45 00    	mov    0x4508f0,%ecx
41ed27:	8b 35 b8 a1 42 00    	mov    0x42a1b8,%esi
41ed2d:	68 00 40 00 00       	push   $0x4000
41ed32:	c1 e1 0f             	shl    $0xf,%ecx
41ed35:	03 48 0c             	add    0xc(%eax),%ecx
41ed38:	bb 00 80 00 00       	mov    $0x8000,%ebx
41ed3d:	53                   	push   %ebx
41ed3e:	51                   	push   %ecx
41ed3f:	ff d6                	call   *%esi
41ed41:	8b 0d f0 08 45 00    	mov    0x4508f0,%ecx
41ed47:	a1 60 ee 44 00       	mov    0x44ee60,%eax
41ed4c:	ba 00 00 00 80       	mov    $0x80000000,%edx
41ed51:	d3 ea                	shr    %cl,%edx
41ed53:	09 50 08             	or     %edx,0x8(%eax)
41ed56:	a1 60 ee 44 00       	mov    0x44ee60,%eax
41ed5b:	8b 40 10             	mov    0x10(%eax),%eax
41ed5e:	8b 0d f0 08 45 00    	mov    0x4508f0,%ecx
41ed64:	83 a4 88 c4 00 00 00 	andl   $0x0,0xc4(%eax,%ecx,4)
41ed6b:	00
41ed6c:	a1 60 ee 44 00       	mov    0x44ee60,%eax
41ed71:	8b 40 10             	mov    0x10(%eax),%eax
41ed74:	fe 48 43             	decb   0x43(%eax)
41ed77:	a1 60 ee 44 00       	mov    0x44ee60,%eax
41ed7c:	8b 48 10             	mov    0x10(%eax),%ecx
41ed7f:	80 79 43 00          	cmpb   $0x0,0x43(%ecx)
41ed83:	75 09                	jne    0x41ed8e
41ed85:	83 60 04 fe          	andl   $0xfffffffe,0x4(%eax)
41ed89:	a1 60 ee 44 00       	mov    0x44ee60,%eax
41ed8e:	83 78 08 ff          	cmpl   $0xffffffff,0x8(%eax)
41ed92:	75 65                	jne    0x41edf9
41ed94:	53                   	push   %ebx
41ed95:	6a 00                	push   $0x0
41ed97:	ff 70 0c             	push   0xc(%eax)
41ed9a:	ff d6                	call   *%esi
41ed9c:	a1 60 ee 44 00       	mov    0x44ee60,%eax
41eda1:	ff 70 10             	push   0x10(%eax)
41eda4:	6a 00                	push   $0x0
41eda6:	ff 35 08 ed 44 00    	push   0x44ed08
41edac:	ff 15 44 a2 42 00    	call   *0x42a244
41edb2:	8b 0d dc 08 45 00    	mov    0x4508dc,%ecx
41edb8:	a1 60 ee 44 00       	mov    0x44ee60,%eax
41edbd:	6b c9 14             	imul   $0x14,%ecx,%ecx
41edc0:	8b 15 e0 08 45 00    	mov    0x4508e0,%edx
41edc6:	2b c8                	sub    %eax,%ecx
41edc8:	8d 4c 11 ec          	lea    -0x14(%ecx,%edx,1),%ecx
41edcc:	51                   	push   %ecx
41edcd:	8d 48 14             	lea    0x14(%eax),%ecx
41edd0:	51                   	push   %ecx
41edd1:	50                   	push   %eax
41edd2:	e8 99 d7 ff ff       	call   0x41c570
41edd7:	8b 45 08             	mov    0x8(%ebp),%eax
41edda:	83 c4 0c             	add    $0xc,%esp
41eddd:	ff 0d dc 08 45 00    	decl   0x4508dc
41ede3:	3b 05 60 ee 44 00    	cmp    0x44ee60,%eax
41ede9:	76 04                	jbe    0x41edef
41edeb:	83 6d 08 14          	subl   $0x14,0x8(%ebp)
41edef:	a1 e0 08 45 00       	mov    0x4508e0,%eax
41edf4:	a3 e8 08 45 00       	mov    %eax,0x4508e8
41edf9:	8b 45 08             	mov    0x8(%ebp),%eax
41edfc:	a3 60 ee 44 00       	mov    %eax,0x44ee60
41ee01:	89 3d f0 08 45 00    	mov    %edi,0x4508f0
41ee07:	5b                   	pop    %ebx
41ee08:	5f                   	pop    %edi
41ee09:	5e                   	pop    %esi
41ee0a:	c9                   	leave
41ee0b:	c3                   	ret
41ee0c:	a1 ec 08 45 00       	mov    0x4508ec,%eax
41ee11:	56                   	push   %esi
41ee12:	8b 35 dc 08 45 00    	mov    0x4508dc,%esi
41ee18:	57                   	push   %edi
41ee19:	33 ff                	xor    %edi,%edi
41ee1b:	3b f0                	cmp    %eax,%esi
41ee1d:	75 34                	jne    0x41ee53
41ee1f:	83 c0 10             	add    $0x10,%eax
41ee22:	6b c0 14             	imul   $0x14,%eax,%eax
41ee25:	50                   	push   %eax
41ee26:	ff 35 e0 08 45 00    	push   0x4508e0
41ee2c:	57                   	push   %edi
41ee2d:	ff 35 08 ed 44 00    	push   0x44ed08
41ee33:	ff 15 40 a2 42 00    	call   *0x42a240
41ee39:	3b c7                	cmp    %edi,%eax
41ee3b:	75 04                	jne    0x41ee41
41ee3d:	33 c0                	xor    %eax,%eax
41ee3f:	eb 78                	jmp    0x41eeb9
41ee41:	83 05 ec 08 45 00 10 	addl   $0x10,0x4508ec
41ee48:	8b 35 dc 08 45 00    	mov    0x4508dc,%esi
41ee4e:	a3 e0 08 45 00       	mov    %eax,0x4508e0
41ee53:	6b f6 14             	imul   $0x14,%esi,%esi
41ee56:	03 35 e0 08 45 00    	add    0x4508e0,%esi
41ee5c:	68 c4 41 00 00       	push   $0x41c4
41ee61:	6a 08                	push   $0x8
41ee63:	ff 35 08 ed 44 00    	push   0x44ed08
41ee69:	ff 15 3c a2 42 00    	call   *0x42a23c
41ee6f:	89 46 10             	mov    %eax,0x10(%esi)
41ee72:	3b c7                	cmp    %edi,%eax
41ee74:	74 c7                	je     0x41ee3d
41ee76:	6a 04                	push   $0x4
41ee78:	68 00 20 00 00       	push   $0x2000
41ee7d:	68 00 00 10 00       	push   $0x100000
41ee82:	57                   	push   %edi
41ee83:	ff 15 b4 a1 42 00    	call   *0x42a1b4
41ee89:	89 46 0c             	mov    %eax,0xc(%esi)
41ee8c:	3b c7                	cmp    %edi,%eax
41ee8e:	75 12                	jne    0x41eea2
41ee90:	ff 76 10             	push   0x10(%esi)
41ee93:	57                   	push   %edi
41ee94:	ff 35 08 ed 44 00    	push   0x44ed08
41ee9a:	ff 15 44 a2 42 00    	call   *0x42a244
41eea0:	eb 9b                	jmp    0x41ee3d
41eea2:	83 4e 08 ff          	orl    $0xffffffff,0x8(%esi)
41eea6:	89 3e                	mov    %edi,(%esi)
41eea8:	89 7e 04             	mov    %edi,0x4(%esi)
41eeab:	ff 05 dc 08 45 00    	incl   0x4508dc
41eeb1:	8b 46 10             	mov    0x10(%esi),%eax
41eeb4:	83 08 ff             	orl    $0xffffffff,(%eax)
41eeb7:	8b c6                	mov    %esi,%eax
41eeb9:	5f                   	pop    %edi
41eeba:	5e                   	pop    %esi
41eebb:	c3                   	ret
41eebc:	8b ff                	mov    %edi,%edi
41eebe:	55                   	push   %ebp
41eebf:	8b ec                	mov    %esp,%ebp
41eec1:	51                   	push   %ecx
41eec2:	51                   	push   %ecx
41eec3:	8b 4d 08             	mov    0x8(%ebp),%ecx
41eec6:	8b 41 08             	mov    0x8(%ecx),%eax
41eec9:	53                   	push   %ebx
41eeca:	56                   	push   %esi
41eecb:	8b 71 10             	mov    0x10(%ecx),%esi
41eece:	57                   	push   %edi
41eecf:	33 db                	xor    %ebx,%ebx
41eed1:	eb 03                	jmp    0x41eed6
41eed3:	03 c0                	add    %eax,%eax
41eed5:	43                   	inc    %ebx
41eed6:	85 c0                	test   %eax,%eax
41eed8:	7d f9                	jge    0x41eed3
41eeda:	8b c3                	mov    %ebx,%eax
41eedc:	69 c0 04 02 00 00    	imul   $0x204,%eax,%eax
41eee2:	8d 84 30 44 01 00 00 	lea    0x144(%eax,%esi,1),%eax
41eee9:	6a 3f                	push   $0x3f
41eeeb:	89 45 f8             	mov    %eax,-0x8(%ebp)
41eeee:	5a                   	pop    %edx
41eeef:	89 40 08             	mov    %eax,0x8(%eax)
41eef2:	89 40 04             	mov    %eax,0x4(%eax)
41eef5:	83 c0 08             	add    $0x8,%eax
41eef8:	4a                   	dec    %edx
41eef9:	75 f4                	jne    0x41eeef
41eefb:	6a 04                	push   $0x4
41eefd:	8b fb                	mov    %ebx,%edi
41eeff:	68 00 10 00 00       	push   $0x1000
41ef04:	c1 e7 0f             	shl    $0xf,%edi
41ef07:	03 79 0c             	add    0xc(%ecx),%edi
41ef0a:	68 00 80 00 00       	push   $0x8000
41ef0f:	57                   	push   %edi
41ef10:	ff 15 b4 a1 42 00    	call   *0x42a1b4
41ef16:	85 c0                	test   %eax,%eax
41ef18:	75 08                	jne    0x41ef22
41ef1a:	83 c8 ff             	or     $0xffffffff,%eax
41ef1d:	e9 9d 00 00 00       	jmp    0x41efbf
41ef22:	8d 97 00 70 00 00    	lea    0x7000(%edi),%edx
41ef28:	89 55 fc             	mov    %edx,-0x4(%ebp)
41ef2b:	3b fa                	cmp    %edx,%edi
41ef2d:	77 43                	ja     0x41ef72
41ef2f:	8b ca                	mov    %edx,%ecx
41ef31:	2b cf                	sub    %edi,%ecx
41ef33:	c1 e9 0c             	shr    $0xc,%ecx
41ef36:	8d 47 10             	lea    0x10(%edi),%eax
41ef39:	41                   	inc    %ecx
41ef3a:	83 48 f8 ff          	orl    $0xffffffff,-0x8(%eax)
41ef3e:	83 88 ec 0f 00 00 ff 	orl    $0xffffffff,0xfec(%eax)
41ef45:	8d 90 fc 0f 00 00    	lea    0xffc(%eax),%edx
41ef4b:	89 10                	mov    %edx,(%eax)
41ef4d:	8d 90 fc ef ff ff    	lea    -0x1004(%eax),%edx
41ef53:	c7 40 fc f0 0f 00 00 	movl   $0xff0,-0x4(%eax)
41ef5a:	89 50 04             	mov    %edx,0x4(%eax)
41ef5d:	c7 80 e8 0f 00 00 f0 	movl   $0xff0,0xfe8(%eax)
41ef64:	0f 00 00
41ef67:	05 00 10 00 00       	add    $0x1000,%eax
41ef6c:	49                   	dec    %ecx
41ef6d:	75 cb                	jne    0x41ef3a
41ef6f:	8b 55 fc             	mov    -0x4(%ebp),%edx
41ef72:	8b 45 f8             	mov    -0x8(%ebp),%eax
41ef75:	05 f8 01 00 00       	add    $0x1f8,%eax
41ef7a:	8d 4f 0c             	lea    0xc(%edi),%ecx
41ef7d:	89 48 04             	mov    %ecx,0x4(%eax)
41ef80:	89 41 08             	mov    %eax,0x8(%ecx)
41ef83:	8d 4a 0c             	lea    0xc(%edx),%ecx
41ef86:	89 48 08             	mov    %ecx,0x8(%eax)
41ef89:	89 41 04             	mov    %eax,0x4(%ecx)
41ef8c:	83 64 9e 44 00       	andl   $0x0,0x44(%esi,%ebx,4)
41ef91:	33 ff                	xor    %edi,%edi
41ef93:	47                   	inc    %edi
41ef94:	89 bc 9e c4 00 00 00 	mov    %edi,0xc4(%esi,%ebx,4)
41ef9b:	8a 46 43             	mov    0x43(%esi),%al
41ef9e:	8a c8                	mov    %al,%cl
41efa0:	fe c1                	inc    %cl
41efa2:	84 c0                	test   %al,%al
41efa4:	8b 45 08             	mov    0x8(%ebp),%eax
41efa7:	88 4e 43             	mov    %cl,0x43(%esi)
41efaa:	75 03                	jne    0x41efaf
41efac:	09 78 04             	or     %edi,0x4(%eax)
41efaf:	ba 00 00 00 80       	mov    $0x80000000,%edx
41efb4:	8b cb                	mov    %ebx,%ecx
41efb6:	d3 ea                	shr    %cl,%edx
41efb8:	f7 d2                	not    %edx
41efba:	21 50 08             	and    %edx,0x8(%eax)
41efbd:	8b c3                	mov    %ebx,%eax
41efbf:	5f                   	pop    %edi
41efc0:	5e                   	pop    %esi
41efc1:	5b                   	pop    %ebx
41efc2:	c9                   	leave
41efc3:	c3                   	ret
41efc4:	8b ff                	mov    %edi,%edi
41efc6:	55                   	push   %ebp
41efc7:	8b ec                	mov    %esp,%ebp
41efc9:	83 ec 0c             	sub    $0xc,%esp
41efcc:	8b 4d 08             	mov    0x8(%ebp),%ecx
41efcf:	8b 41 10             	mov    0x10(%ecx),%eax
41efd2:	53                   	push   %ebx
41efd3:	56                   	push   %esi
41efd4:	8b 75 10             	mov    0x10(%ebp),%esi
41efd7:	57                   	push   %edi
41efd8:	8b 7d 0c             	mov    0xc(%ebp),%edi
41efdb:	8b d7                	mov    %edi,%edx
41efdd:	2b 51 0c             	sub    0xc(%ecx),%edx
41efe0:	83 c6 17             	add    $0x17,%esi
41efe3:	c1 ea 0f             	shr    $0xf,%edx
41efe6:	8b ca                	mov    %edx,%ecx
41efe8:	69 c9 04 02 00 00    	imul   $0x204,%ecx,%ecx
41efee:	8d 8c 01 44 01 00 00 	lea    0x144(%ecx,%eax,1),%ecx
41eff5:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41eff8:	8b 4f fc             	mov    -0x4(%edi),%ecx
41effb:	83 e6 f0             	and    $0xfffffff0,%esi
41effe:	49                   	dec    %ecx
41efff:	3b f1                	cmp    %ecx,%esi
41f001:	8d 7c 39 fc          	lea    -0x4(%ecx,%edi,1),%edi
41f005:	8b 1f                	mov    (%edi),%ebx
41f007:	89 4d 10             	mov    %ecx,0x10(%ebp)
41f00a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41f00d:	0f 8e 55 01 00 00    	jle    0x41f168
41f013:	f6 c3 01             	test   $0x1,%bl
41f016:	0f 85 45 01 00 00    	jne    0x41f161
41f01c:	03 d9                	add    %ecx,%ebx
41f01e:	3b f3                	cmp    %ebx,%esi
41f020:	0f 8f 3b 01 00 00    	jg     0x41f161
41f026:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41f029:	c1 f9 04             	sar    $0x4,%ecx
41f02c:	49                   	dec    %ecx
41f02d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41f030:	83 f9 3f             	cmp    $0x3f,%ecx
41f033:	76 06                	jbe    0x41f03b
41f035:	6a 3f                	push   $0x3f
41f037:	59                   	pop    %ecx
41f038:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41f03b:	8b 5f 04             	mov    0x4(%edi),%ebx
41f03e:	3b 5f 08             	cmp    0x8(%edi),%ebx
41f041:	75 43                	jne    0x41f086
41f043:	bb 00 00 00 80       	mov    $0x80000000,%ebx
41f048:	83 f9 20             	cmp    $0x20,%ecx
41f04b:	73 1a                	jae    0x41f067
41f04d:	d3 eb                	shr    %cl,%ebx
41f04f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41f052:	8d 4c 01 04          	lea    0x4(%ecx,%eax,1),%ecx
41f056:	f7 d3                	not    %ebx
41f058:	21 5c 90 44          	and    %ebx,0x44(%eax,%edx,4)
41f05c:	fe 09                	decb   (%ecx)
41f05e:	75 26                	jne    0x41f086
41f060:	8b 4d 08             	mov    0x8(%ebp),%ecx
41f063:	21 19                	and    %ebx,(%ecx)
41f065:	eb 1f                	jmp    0x41f086
41f067:	83 c1 e0             	add    $0xffffffe0,%ecx
41f06a:	d3 eb                	shr    %cl,%ebx
41f06c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41f06f:	8d 4c 01 04          	lea    0x4(%ecx,%eax,1),%ecx
41f073:	f7 d3                	not    %ebx
41f075:	21 9c 90 c4 00 00 00 	and    %ebx,0xc4(%eax,%edx,4)
41f07c:	fe 09                	decb   (%ecx)
41f07e:	75 06                	jne    0x41f086
41f080:	8b 4d 08             	mov    0x8(%ebp),%ecx
41f083:	21 59 04             	and    %ebx,0x4(%ecx)
41f086:	8b 4f 08             	mov    0x8(%edi),%ecx
41f089:	8b 5f 04             	mov    0x4(%edi),%ebx
41f08c:	89 59 04             	mov    %ebx,0x4(%ecx)
41f08f:	8b 4f 04             	mov    0x4(%edi),%ecx
41f092:	8b 7f 08             	mov    0x8(%edi),%edi
41f095:	89 79 08             	mov    %edi,0x8(%ecx)
41f098:	8b 4d 10             	mov    0x10(%ebp),%ecx
41f09b:	2b ce                	sub    %esi,%ecx
41f09d:	01 4d fc             	add    %ecx,-0x4(%ebp)
41f0a0:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41f0a4:	0f 8e a5 00 00 00    	jle    0x41f14f
41f0aa:	8b 7d fc             	mov    -0x4(%ebp),%edi
41f0ad:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41f0b0:	c1 ff 04             	sar    $0x4,%edi
41f0b3:	4f                   	dec    %edi
41f0b4:	8d 4c 31 fc          	lea    -0x4(%ecx,%esi,1),%ecx
41f0b8:	83 ff 3f             	cmp    $0x3f,%edi
41f0bb:	76 03                	jbe    0x41f0c0
41f0bd:	6a 3f                	push   $0x3f
41f0bf:	5f                   	pop    %edi
41f0c0:	8b 5d f4             	mov    -0xc(%ebp),%ebx
41f0c3:	8d 1c fb             	lea    (%ebx,%edi,8),%ebx
41f0c6:	89 5d 10             	mov    %ebx,0x10(%ebp)
41f0c9:	8b 5b 04             	mov    0x4(%ebx),%ebx
41f0cc:	89 59 04             	mov    %ebx,0x4(%ecx)
41f0cf:	8b 5d 10             	mov    0x10(%ebp),%ebx
41f0d2:	89 59 08             	mov    %ebx,0x8(%ecx)
41f0d5:	89 4b 04             	mov    %ecx,0x4(%ebx)