44ae90:	53                   	push   %ebx
44ae91:	57                   	push   %edi
44ae92:	e8 79 f8 01 00       	call   0x46a710
44ae97:	83 c4 08             	add    $0x8,%esp
44ae9a:	5f                   	pop    %edi
44ae9b:	5b                   	pop    %ebx
44ae9c:	8b e5                	mov    %ebp,%esp
44ae9e:	5d                   	pop    %ebp
44ae9f:	c2 04 00             	ret    $0x4
44aea2:	cc                   	int3
44aea3:	cc                   	int3
44aea4:	cc                   	int3
44aea5:	cc                   	int3
44aea6:	cc                   	int3
44aea7:	cc                   	int3
44aea8:	cc                   	int3
44aea9:	cc                   	int3
44aeaa:	cc                   	int3
44aeab:	cc                   	int3
44aeac:	cc                   	int3
44aead:	cc                   	int3
44aeae:	cc                   	int3
44aeaf:	cc                   	int3
44aeb0:	8b 51 08             	mov    0x8(%ecx),%edx
44aeb3:	f6 c2 01             	test   $0x1,%dl
44aeb6:	74 18                	je     0x44aed0
44aeb8:	8b 41 10             	mov    0x10(%ecx),%eax
44aebb:	83 e0 fe             	and    $0xfffffffe,%eax
44aebe:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
44aec5:	83 78 14 0f          	cmpl   $0xf,0x14(%eax)
44aec9:	76 02                	jbe    0x44aecd
44aecb:	8b 00                	mov    (%eax),%eax
44aecd:	c6 00 00             	movb   $0x0,(%eax)
44aed0:	f6 c2 06             	test   $0x6,%dl
44aed3:	74 08                	je     0x44aedd
44aed5:	33 c0                	xor    %eax,%eax
44aed7:	89 41 14             	mov    %eax,0x14(%ecx)
44aeda:	89 41 18             	mov    %eax,0x18(%ecx)
44aedd:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%ecx)
44aee4:	83 c1 04             	add    $0x4,%ecx
44aee7:	f6 01 01             	testb  $0x1,(%ecx)
44aeea:	0f 85 c0 57 00 00    	jne    0x4506b0
44aef0:	c3                   	ret
44aef1:	cc                   	int3
44aef2:	cc                   	int3
44aef3:	cc                   	int3
44aef4:	cc                   	int3
44aef5:	cc                   	int3
44aef6:	cc                   	int3
44aef7:	cc                   	int3
44aef8:	cc                   	int3
44aef9:	cc                   	int3
44aefa:	cc                   	int3
44aefb:	cc                   	int3
44aefc:	cc                   	int3
44aefd:	cc                   	int3
44aefe:	cc                   	int3
44aeff:	cc                   	int3
44af00:	53                   	push   %ebx
44af01:	56                   	push   %esi
44af02:	8b f1                	mov    %ecx,%esi
44af04:	33 d2                	xor    %edx,%edx
44af06:	8b 5e 08             	mov    0x8(%esi),%ebx
44af09:	f6 c3 07             	test   $0x7,%bl
44af0c:	74 58                	je     0x44af66
44af0e:	f6 c3 01             	test   $0x1,%bl
44af11:	74 1f                	je     0x44af32
44af13:	8b 46 10             	mov    0x10(%esi),%eax
44af16:	83 e0 fe             	and    $0xfffffffe,%eax
44af19:	8b 48 10             	mov    0x10(%eax),%ecx
44af1c:	8b c1                	mov    %ecx,%eax
44af1e:	83 c8 01             	or     $0x1,%eax
44af21:	0f bd c0             	bsr    %eax,%eax
44af24:	8d 51 01             	lea    0x1(%ecx),%edx
44af27:	8d 04 c0             	lea    (%eax,%eax,8),%eax
44af2a:	83 c0 49             	add    $0x49,%eax
44af2d:	c1 e8 06             	shr    $0x6,%eax
44af30:	03 d0                	add    %eax,%edx
44af32:	f6 c3 02             	test   $0x2,%bl
44af35:	74 15                	je     0x44af4c
44af37:	8b 46 14             	mov    0x14(%esi),%eax
44af3a:	83 c8 01             	or     $0x1,%eax
44af3d:	0f bd c0             	bsr    %eax,%eax
44af40:	8d 04 c0             	lea    (%eax,%eax,8),%eax
44af43:	83 c0 49             	add    $0x49,%eax
44af46:	c1 e8 06             	shr    $0x6,%eax
44af49:	40                   	inc    %eax
44af4a:	03 d0                	add    %eax,%edx
44af4c:	f6 c3 04             	test   $0x4,%bl
44af4f:	74 15                	je     0x44af66
44af51:	8b 46 18             	mov    0x18(%esi),%eax
44af54:	83 c8 01             	or     $0x1,%eax
44af57:	0f bd c0             	bsr    %eax,%eax
44af5a:	8d 04 c0             	lea    (%eax,%eax,8),%eax
44af5d:	83 c0 49             	add    $0x49,%eax
44af60:	c1 e8 06             	shr    $0x6,%eax
44af63:	40                   	inc    %eax
44af64:	03 d0                	add    %eax,%edx
44af66:	8d 46 04             	lea    0x4(%esi),%eax
44af69:	83 c6 0c             	add    $0xc,%esi
44af6c:	f6 00 01             	testb  $0x1,(%eax)
44af6f:	74 0e                	je     0x44af7f
44af71:	56                   	push   %esi
44af72:	52                   	push   %edx
44af73:	50                   	push   %eax
44af74:	e8 37 45 02 00       	call   0x46f4b0
44af79:	83 c4 0c             	add    $0xc,%esp
44af7c:	5e                   	pop    %esi
44af7d:	5b                   	pop    %ebx
44af7e:	c3                   	ret
44af7f:	89 16                	mov    %edx,(%esi)
44af81:	8b c2                	mov    %edx,%eax
44af83:	5e                   	pop    %esi
44af84:	5b                   	pop    %ebx
44af85:	c3                   	ret
44af86:	cc                   	int3
44af87:	cc                   	int3
44af88:	cc                   	int3
44af89:	cc                   	int3
44af8a:	cc                   	int3
44af8b:	cc                   	int3
44af8c:	cc                   	int3
44af8d:	cc                   	int3
44af8e:	cc                   	int3
44af8f:	cc                   	int3
44af90:	55                   	push   %ebp
44af91:	8b ec                	mov    %esp,%ebp
44af93:	83 ec 24             	sub    $0x24,%esp
44af96:	53                   	push   %ebx
44af97:	56                   	push   %esi
44af98:	8b d9                	mov    %ecx,%ebx
44af9a:	33 f6                	xor    %esi,%esi
44af9c:	57                   	push   %edi
44af9d:	8b 7d 08             	mov    0x8(%ebp),%edi
44afa0:	89 5d fc             	mov    %ebx,-0x4(%ebp)
44afa3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44afa6:	3b 39                	cmp    (%ecx),%edi
44afa8:	72 28                	jb     0x44afd2
44afaa:	8b c7                	mov    %edi,%eax
44afac:	2b 41 04             	sub    0x4(%ecx),%eax
44afaf:	3b 41 10             	cmp    0x10(%ecx),%eax
44afb2:	0f 84 d8 01 00 00    	je     0x44b190
44afb8:	ff 71 48             	push   0x48(%ecx)
44afbb:	50                   	push   %eax
44afbc:	8d 45 f4             	lea    -0xc(%ebp),%eax
44afbf:	50                   	push   %eax
44afc0:	e8 6b 3f 01 00       	call   0x45ef30
44afc5:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
44afc9:	8b 7d f4             	mov    -0xc(%ebp),%edi
44afcc:	0f 85 f7 01 00 00    	jne    0x44b1c9
44afd2:	0f b6 1f             	movzbl (%edi),%ebx
44afd5:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
44afdb:	73 03                	jae    0x44afe0
44afdd:	47                   	inc    %edi
44afde:	eb 2f                	jmp    0x44b00f
44afe0:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
44afe4:	83 c3 80             	add    $0xffffff80,%ebx
44afe7:	8b c1                	mov    %ecx,%eax
44afe9:	c1 e0 07             	shl    $0x7,%eax
44afec:	03 d8                	add    %eax,%ebx
44afee:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
44aff4:	73 05                	jae    0x44affb
44aff6:	83 c7 02             	add    $0x2,%edi
44aff9:	eb 14                	jmp    0x44b00f
44affb:	53                   	push   %ebx
44affc:	8d 45 ec             	lea    -0x14(%ebp),%eax
44afff:	57                   	push   %edi
44b000:	50                   	push   %eax
44b001:	e8 da 49 01 00       	call   0x45f9e0
44b006:	8b 5d f0             	mov    -0x10(%ebp),%ebx
44b009:	83 c4 0c             	add    $0xc,%esp
44b00c:	8b 7d ec             	mov    -0x14(%ebp),%edi
44b00f:	85 ff                	test   %edi,%edi
44b011:	0f 84 ad 01 00 00    	je     0x44b1c4
44b017:	8b c3                	mov    %ebx,%eax
44b019:	c1 e8 03             	shr    $0x3,%eax
44b01c:	83 e8 01             	sub    $0x1,%eax
44b01f:	0f 84 cd 00 00 00    	je     0x44b0f2
44b025:	83 e8 01             	sub    $0x1,%eax
44b028:	74 66                	je     0x44b090
44b02a:	83 e8 01             	sub    $0x1,%eax
44b02d:	0f 85 18 01 00 00    	jne    0x44b14b
44b033:	80 fb 18             	cmp    $0x18,%bl
44b036:	0f 85 0f 01 00 00    	jne    0x44b14b
44b03c:	0f b6 17             	movzbl (%edi),%edx
44b03f:	83 ce 04             	or     $0x4,%esi
44b042:	84 d2                	test   %dl,%dl
44b044:	78 03                	js     0x44b049
44b046:	47                   	inc    %edi
44b047:	eb 2b                	jmp    0x44b074
44b049:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
44b04d:	83 c2 80             	add    $0xffffff80,%edx
44b050:	8b c1                	mov    %ecx,%eax
44b052:	c1 e0 07             	shl    $0x7,%eax
44b055:	03 d0                	add    %eax,%edx
44b057:	84 c9                	test   %cl,%cl
44b059:	78 05                	js     0x44b060
44b05b:	83 c7 02             	add    $0x2,%edi
44b05e:	eb 14                	jmp    0x44b074
44b060:	52                   	push   %edx
44b061:	8d 45 e4             	lea    -0x1c(%ebp),%eax
44b064:	57                   	push   %edi
44b065:	50                   	push   %eax
44b066:	e8 f5 49 01 00       	call   0x45fa60
44b06b:	8b 55 e8             	mov    -0x18(%ebp),%edx
44b06e:	83 c4 0c             	add    $0xc,%esp
44b071:	8b 7d e4             	mov    -0x1c(%ebp),%edi
44b074:	8b 5d fc             	mov    -0x4(%ebp),%ebx
44b077:	89 53 18             	mov    %edx,0x18(%ebx)
44b07a:	85 ff                	test   %edi,%edi
44b07c:	0f 85 21 ff ff ff    	jne    0x44afa3
44b082:	09 73 08             	or     %esi,0x8(%ebx)
44b085:	8b c7                	mov    %edi,%eax
44b087:	5f                   	pop    %edi
44b088:	5e                   	pop    %esi
44b089:	5b                   	pop    %ebx
44b08a:	8b e5                	mov    %ebp,%esp
44b08c:	5d                   	pop    %ebp
44b08d:	c2 08 00             	ret    $0x8
44b090:	80 fb 12             	cmp    $0x12,%bl
44b093:	0f 85 b2 00 00 00    	jne    0x44b14b
44b099:	8b 5d fc             	mov    -0x4(%ebp),%ebx
44b09c:	83 4b 08 01          	orl    $0x1,0x8(%ebx)
44b0a0:	8b 4b 04             	mov    0x4(%ebx),%ecx
44b0a3:	f6 c1 03             	test   $0x3,%cl
44b0a6:	75 05                	jne    0x44b0ad
44b0a8:	83 e1 fc             	and    $0xfffffffc,%ecx
44b0ab:	eb 11                	jmp    0x44b0be
44b0ad:	8b c1                	mov    %ecx,%eax
44b0af:	d1 e8                	shr    $1,%eax
44b0b1:	a8 01                	test   $0x1,%al
44b0b3:	74 04                	je     0x44b0b9
44b0b5:	33 c9                	xor    %ecx,%ecx
44b0b7:	eb 05                	jmp    0x44b0be
44b0b9:	83 e1 fc             	and    $0xfffffffc,%ecx
44b0bc:	8b 09                	mov    (%ecx),%ecx
44b0be:	51                   	push   %ecx
44b0bf:	c6 45 08 00          	movb   $0x0,0x8(%ebp)
44b0c3:	8d 4b 10             	lea    0x10(%ebx),%ecx
44b0c6:	ff 75 08             	push   0x8(%ebp)
44b0c9:	e8 62 08 01 00       	call   0x45b930
44b0ce:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44b0d1:	51                   	push   %ecx
44b0d2:	57                   	push   %edi
44b0d3:	50                   	push   %eax
44b0d4:	e8 17 40 01 00       	call   0x45f0f0
44b0d9:	8b f8                	mov    %eax,%edi
44b0db:	83 c4 0c             	add    $0xc,%esp
44b0de:	85 ff                	test   %edi,%edi
44b0e0:	0f 85 bd fe ff ff    	jne    0x44afa3
44b0e6:	09 73 08             	or     %esi,0x8(%ebx)
44b0e9:	5f                   	pop    %edi
44b0ea:	5e                   	pop    %esi
44b0eb:	5b                   	pop    %ebx
44b0ec:	8b e5                	mov    %ebp,%esp
44b0ee:	5d                   	pop    %ebp
44b0ef:	c2 08 00             	ret    $0x8
44b0f2:	80 fb 08             	cmp    $0x8,%bl
44b0f5:	75 54                	jne    0x44b14b
44b0f7:	0f b6 17             	movzbl (%edi),%edx
44b0fa:	83 ce 02             	or     $0x2,%esi
44b0fd:	84 d2                	test   %dl,%dl
44b0ff:	78 03                	js     0x44b104
44b101:	47                   	inc    %edi
44b102:	eb 2b                	jmp    0x44b12f
44b104:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
44b108:	83 c2 80             	add    $0xffffff80,%edx
44b10b:	8b c1                	mov    %ecx,%eax
44b10d:	c1 e0 07             	shl    $0x7,%eax
44b110:	03 d0                	add    %eax,%edx
44b112:	84 c9                	test   %cl,%cl
44b114:	78 05                	js     0x44b11b
44b116:	83 c7 02             	add    $0x2,%edi
44b119:	eb 14                	jmp    0x44b12f
44b11b:	52                   	push   %edx
44b11c:	8d 45 dc             	lea    -0x24(%ebp),%eax
44b11f:	57                   	push   %edi
44b120:	50                   	push   %eax
44b121:	e8 3a 49 01 00       	call   0x45fa60
44b126:	8b 55 e0             	mov    -0x20(%ebp),%edx
44b129:	83 c4 0c             	add    $0xc,%esp
44b12c:	8b 7d dc             	mov    -0x24(%ebp),%edi
44b12f:	8b 5d fc             	mov    -0x4(%ebp),%ebx
44b132:	89 53 14             	mov    %edx,0x14(%ebx)
44b135:	85 ff                	test   %edi,%edi
44b137:	0f 85 66 fe ff ff    	jne    0x44afa3
44b13d:	09 73 08             	or     %esi,0x8(%ebx)
44b140:	8b c7                	mov    %edi,%eax
44b142:	5f                   	pop    %edi
44b143:	5e                   	pop    %esi
44b144:	5b                   	pop    %ebx
44b145:	8b e5                	mov    %ebp,%esp
44b147:	5d                   	pop    %ebp
44b148:	c2 08 00             	ret    $0x8
44b14b:	8b c3                	mov    %ebx,%eax
44b14d:	24 07                	and    $0x7,%al
44b14f:	3c 04                	cmp    $0x4,%al
44b151:	74 57                	je     0x44b1aa
44b153:	85 db                	test   %ebx,%ebx
44b155:	74 53                	je     0x44b1aa
44b157:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44b15a:	83 c1 04             	add    $0x4,%ecx
44b15d:	f6 01 01             	testb  $0x1,(%ecx)
44b160:	74 0a                	je     0x44b16c
44b162:	8b 01                	mov    (%ecx),%eax
44b164:	83 e0 fc             	and    $0xfffffffc,%eax
44b167:	83 c0 04             	add    $0x4,%eax
44b16a:	eb 05                	jmp    0x44b171
44b16c:	e8 bf 5a 00 00       	call   0x450c30
44b171:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44b174:	51                   	push   %ecx
44b175:	57                   	push   %edi
44b176:	50                   	push   %eax
44b177:	6a 00                	push   $0x0
44b179:	53                   	push   %ebx
44b17a:	e8 31 5e 01 00       	call   0x460fb0
44b17f:	8b 5d fc             	mov    -0x4(%ebp),%ebx
44b182:	8b f8                	mov    %eax,%edi
44b184:	83 c4 14             	add    $0x14,%esp
44b187:	85 ff                	test   %edi,%edi
44b189:	74 3c                	je     0x44b1c7
44b18b:	e9 13 fe ff ff       	jmp    0x44afa3
44b190:	85 c0                	test   %eax,%eax
44b192:	7e 35                	jle    0x44b1c9
44b194:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
44b198:	75 2f                	jne    0x44b1c9
44b19a:	33 ff                	xor    %edi,%edi
44b19c:	09 73 08             	or     %esi,0x8(%ebx)
44b19f:	8b c7                	mov    %edi,%eax
44b1a1:	5f                   	pop    %edi
44b1a2:	5e                   	pop    %esi
44b1a3:	5b                   	pop    %ebx
44b1a4:	8b e5                	mov    %ebp,%esp
44b1a6:	5d                   	pop    %ebp
44b1a7:	c2 08 00             	ret    $0x8
44b1aa:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44b1ad:	8d 43 ff             	lea    -0x1(%ebx),%eax
44b1b0:	8b 5d fc             	mov    -0x4(%ebp),%ebx
44b1b3:	89 41 3c             	mov    %eax,0x3c(%ecx)
44b1b6:	8b c7                	mov    %edi,%eax
44b1b8:	09 73 08             	or     %esi,0x8(%ebx)
44b1bb:	5f                   	pop    %edi
44b1bc:	5e                   	pop    %esi
44b1bd:	5b                   	pop    %ebx
44b1be:	8b e5                	mov    %ebp,%esp
44b1c0:	5d                   	pop    %ebp
44b1c1:	c2 08 00             	ret    $0x8
44b1c4:	8b 5d fc             	mov    -0x4(%ebp),%ebx
44b1c7:	33 ff                	xor    %edi,%edi
44b1c9:	09 73 08             	or     %esi,0x8(%ebx)