4e4e8c:	cc                   	int3
4e4e8d:	cc                   	int3
4e4e8e:	cc                   	int3
4e4e8f:	cc                   	int3
4e4e90:	56                   	push   %esi
4e4e91:	8b 74 24 08          	mov    0x8(%esp),%esi
4e4e95:	57                   	push   %edi
4e4e96:	8b 7c 24 10          	mov    0x10(%esp),%edi
4e4e9a:	89 7c 24 10          	mov    %edi,0x10(%esp)
4e4e9e:	85 f6                	test   %esi,%esi
4e4ea0:	74 20                	je     0x4e4ec2
4e4ea2:	8b 16                	mov    (%esi),%edx
4e4ea4:	85 d2                	test   %edx,%edx
4e4ea6:	74 1a                	je     0x4e4ec2
4e4ea8:	8b 46 10             	mov    0x10(%esi),%eax
4e4eab:	85 c0                	test   %eax,%eax
4e4ead:	75 19                	jne    0x4e4ec8
4e4eaf:	85 d2                	test   %edx,%edx
4e4eb1:	7e 0f                	jle    0x4e4ec2
4e4eb3:	8b 4e 04             	mov    0x4(%esi),%ecx
4e4eb6:	39 39                	cmp    %edi,(%ecx)
4e4eb8:	74 0b                	je     0x4e4ec5
4e4eba:	40                   	inc    %eax
4e4ebb:	83 c1 04             	add    $0x4,%ecx
4e4ebe:	3b c2                	cmp    %edx,%eax
4e4ec0:	7c f4                	jl     0x4e4eb6
4e4ec2:	83 c8 ff             	or     $0xffffffff,%eax
4e4ec5:	5f                   	pop    %edi
4e4ec6:	5e                   	pop    %esi
4e4ec7:	c3                   	ret
4e4ec8:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
4e4ecc:	75 1f                	jne    0x4e4eed
4e4ece:	83 fa 01             	cmp    $0x1,%edx
4e4ed1:	7e 13                	jle    0x4e4ee6
4e4ed3:	50                   	push   %eax
4e4ed4:	6a 04                	push   $0x4
4e4ed6:	52                   	push   %edx
4e4ed7:	ff 76 04             	push   0x4(%esi)
4e4eda:	e8 c1 fa 0f 00       	call   0x5e49a0
4e4edf:	8b 7c 24 20          	mov    0x20(%esp),%edi
4e4ee3:	83 c4 10             	add    $0x10,%esp
4e4ee6:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
4e4eed:	85 ff                	test   %edi,%edi
4e4eef:	74 d1                	je     0x4e4ec2
4e4ef1:	6a 02                	push   $0x2
4e4ef3:	ff 76 10             	push   0x10(%esi)
4e4ef6:	8d 44 24 18          	lea    0x18(%esp),%eax
4e4efa:	6a 04                	push   $0x4
4e4efc:	ff 36                	push   (%esi)
4e4efe:	ff 76 04             	push   0x4(%esi)
4e4f01:	50                   	push   %eax
4e4f02:	e8 19 a1 00 00       	call   0x4ef020
4e4f07:	83 c4 18             	add    $0x18,%esp
4e4f0a:	85 c0                	test   %eax,%eax
4e4f0c:	74 b4                	je     0x4e4ec2
4e4f0e:	2b 46 04             	sub    0x4(%esi),%eax
4e4f11:	5f                   	pop    %edi
4e4f12:	c1 f8 02             	sar    $0x2,%eax
4e4f15:	5e                   	pop    %esi
4e4f16:	c3                   	ret
4e4f17:	cc                   	int3
4e4f18:	cc                   	int3
4e4f19:	cc                   	int3
4e4f1a:	cc                   	int3
4e4f1b:	cc                   	int3
4e4f1c:	cc                   	int3
4e4f1d:	cc                   	int3
4e4f1e:	cc                   	int3
4e4f1f:	cc                   	int3
4e4f20:	56                   	push   %esi
4e4f21:	8b 74 24 08          	mov    0x8(%esp),%esi
4e4f25:	85 f6                	test   %esi,%esi
4e4f27:	74 25                	je     0x4e4f4e
4e4f29:	68 78 01 00 00       	push   $0x178
4e4f2e:	68 d8 3f 61 00       	push   $0x613fd8
4e4f33:	ff 76 04             	push   0x4(%esi)
4e4f36:	e8 45 b8 ff ff       	call   0x4e0780
4e4f3b:	68 79 01 00 00       	push   $0x179
4e4f40:	68 d8 3f 61 00       	push   $0x613fd8
4e4f45:	56                   	push   %esi
4e4f46:	e8 35 b8 ff ff       	call   0x4e0780
4e4f4b:	83 c4 18             	add    $0x18,%esp
4e4f4e:	5e                   	pop    %esi
4e4f4f:	c3                   	ret
4e4f50:	56                   	push   %esi
4e4f51:	8b 74 24 08          	mov    0x8(%esp),%esi
4e4f55:	85 f6                	test   %esi,%esi
4e4f57:	74 73                	je     0x4e4fcc
4e4f59:	81 3e ff ff ff 3f    	cmpl   $0x3fffffff,(%esi)
4e4f5f:	74 6b                	je     0x4e4fcc
4e4f61:	6a 00                	push   $0x0
4e4f63:	6a 01                	push   $0x1
4e4f65:	56                   	push   %esi
4e4f66:	e8 75 03 00 00       	call   0x4e52e0
4e4f6b:	83 c4 0c             	add    $0xc,%esp
4e4f6e:	85 c0                	test   %eax,%eax
4e4f70:	74 5a                	je     0x4e4fcc
4e4f72:	8b 16                	mov    (%esi),%edx
4e4f74:	57                   	push   %edi
4e4f75:	8b 7c 24 14          	mov    0x14(%esp),%edi
4e4f79:	3b fa                	cmp    %edx,%edi
4e4f7b:	7d 36                	jge    0x4e4fb3
4e4f7d:	85 ff                	test   %edi,%edi
4e4f7f:	78 32                	js     0x4e4fb3
4e4f81:	8b 46 04             	mov    0x4(%esi),%eax
4e4f84:	2b d7                	sub    %edi,%edx
4e4f86:	c1 e2 02             	shl    $0x2,%edx
4e4f89:	52                   	push   %edx
4e4f8a:	8d 04 b8             	lea    (%eax,%edi,4),%eax
4e4f8d:	50                   	push   %eax
4e4f8e:	83 c0 04             	add    $0x4,%eax
4e4f91:	50                   	push   %eax
4e4f92:	e8 39 de 0e 00       	call   0x5d2dd0
4e4f97:	8b 4e 04             	mov    0x4(%esi),%ecx
4e4f9a:	83 c4 0c             	add    $0xc,%esp
4e4f9d:	8b 44 24 10          	mov    0x10(%esp),%eax
4e4fa1:	89 04 b9             	mov    %eax,(%ecx,%edi,4)
4e4fa4:	8b 06                	mov    (%esi),%eax
4e4fa6:	40                   	inc    %eax
4e4fa7:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
4e4fae:	5f                   	pop    %edi
4e4faf:	89 06                	mov    %eax,(%esi)
4e4fb1:	5e                   	pop    %esi
4e4fb2:	c3                   	ret
4e4fb3:	8b 4e 04             	mov    0x4(%esi),%ecx
4e4fb6:	8b 44 24 10          	mov    0x10(%esp),%eax
4e4fba:	5f                   	pop    %edi
4e4fbb:	89 04 91             	mov    %eax,(%ecx,%edx,4)
4e4fbe:	8b 06                	mov    (%esi),%eax
4e4fc0:	40                   	inc    %eax
4e4fc1:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
4e4fc8:	89 06                	mov    %eax,(%esi)
4e4fca:	5e                   	pop    %esi
4e4fcb:	c3                   	ret
4e4fcc:	33 c0                	xor    %eax,%eax
4e4fce:	5e                   	pop    %esi
4e4fcf:	c3                   	ret
4e4fd0:	8b 44 24 04          	mov    0x4(%esp),%eax
4e4fd4:	85 c0                	test   %eax,%eax
4e4fd6:	75 06                	jne    0x4e4fde
4e4fd8:	b8 01 00 00 00       	mov    $0x1,%eax
4e4fdd:	c3                   	ret
4e4fde:	8b 40 08             	mov    0x8(%eax),%eax
4e4fe1:	c3                   	ret
4e4fe2:	cc                   	int3
4e4fe3:	cc                   	int3
4e4fe4:	cc                   	int3
4e4fe5:	cc                   	int3
4e4fe6:	cc                   	int3
4e4fe7:	cc                   	int3
4e4fe8:	cc                   	int3
4e4fe9:	cc                   	int3
4e4fea:	cc                   	int3
4e4feb:	cc                   	int3
4e4fec:	cc                   	int3
4e4fed:	cc                   	int3
4e4fee:	cc                   	int3
4e4fef:	cc                   	int3
4e4ff0:	68 d1 00 00 00       	push   $0xd1
4e4ff5:	68 d8 3f 61 00       	push   $0x613fd8
4e4ffa:	6a 14                	push   $0x14
4e4ffc:	e8 3f ba ff ff       	call   0x4e0a40
4e5001:	83 c4 0c             	add    $0xc,%esp
4e5004:	85 c0                	test   %eax,%eax
4e5006:	75 01                	jne    0x4e5009
4e5008:	c3                   	ret
4e5009:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4e500d:	89 48 10             	mov    %ecx,0x10(%eax)
4e5010:	c3                   	ret
4e5011:	cc                   	int3
4e5012:	cc                   	int3
4e5013:	cc                   	int3
4e5014:	cc                   	int3
4e5015:	cc                   	int3
4e5016:	cc                   	int3
4e5017:	cc                   	int3
4e5018:	cc                   	int3
4e5019:	cc                   	int3
4e501a:	cc                   	int3
4e501b:	cc                   	int3
4e501c:	cc                   	int3
4e501d:	cc                   	int3
4e501e:	cc                   	int3
4e501f:	cc                   	int3
4e5020:	68 d1 00 00 00       	push   $0xd1
4e5025:	68 d8 3f 61 00       	push   $0x613fd8
4e502a:	6a 14                	push   $0x14
4e502c:	e8 0f ba ff ff       	call   0x4e0a40
4e5031:	83 c4 0c             	add    $0xc,%esp
4e5034:	85 c0                	test   %eax,%eax
4e5036:	75 01                	jne    0x4e5039
4e5038:	c3                   	ret
4e5039:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
4e5040:	c3                   	ret
4e5041:	cc                   	int3
4e5042:	cc                   	int3
4e5043:	cc                   	int3
4e5044:	cc                   	int3
4e5045:	cc                   	int3
4e5046:	cc                   	int3
4e5047:	cc                   	int3
4e5048:	cc                   	int3
4e5049:	cc                   	int3
4e504a:	cc                   	int3
4e504b:	cc                   	int3
4e504c:	cc                   	int3
4e504d:	cc                   	int3
4e504e:	cc                   	int3
4e504f:	cc                   	int3
4e5050:	56                   	push   %esi
4e5051:	68 d1 00 00 00       	push   $0xd1
4e5056:	68 d8 3f 61 00       	push   $0x613fd8
4e505b:	6a 14                	push   $0x14
4e505d:	e8 de b9 ff ff       	call   0x4e0a40
4e5062:	8b f0                	mov    %eax,%esi
4e5064:	83 c4 0c             	add    $0xc,%esp
4e5067:	85 f6                	test   %esi,%esi
4e5069:	74 44                	je     0x4e50af
4e506b:	8b 44 24 08          	mov    0x8(%esp),%eax
4e506f:	89 46 10             	mov    %eax,0x10(%esi)
4e5072:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e5076:	85 c0                	test   %eax,%eax
4e5078:	7e 39                	jle    0x4e50b3
4e507a:	6a 01                	push   $0x1
4e507c:	50                   	push   %eax
4e507d:	56                   	push   %esi
4e507e:	e8 5d 02 00 00       	call   0x4e52e0
4e5083:	83 c4 0c             	add    $0xc,%esp
4e5086:	85 c0                	test   %eax,%eax
4e5088:	75 29                	jne    0x4e50b3
4e508a:	68 78 01 00 00       	push   $0x178
4e508f:	68 d8 3f 61 00       	push   $0x613fd8
4e5094:	ff 76 04             	push   0x4(%esi)
4e5097:	e8 e4 b6 ff ff       	call   0x4e0780
4e509c:	68 79 01 00 00       	push   $0x179
4e50a1:	68 d8 3f 61 00       	push   $0x613fd8
4e50a6:	56                   	push   %esi
4e50a7:	e8 d4 b6 ff ff       	call   0x4e0780
4e50ac:	83 c4 18             	add    $0x18,%esp
4e50af:	33 c0                	xor    %eax,%eax
4e50b1:	5e                   	pop    %esi
4e50b2:	c3                   	ret
4e50b3:	8b c6                	mov    %esi,%eax
4e50b5:	5e                   	pop    %esi
4e50b6:	c3                   	ret
4e50b7:	cc                   	int3
4e50b8:	cc                   	int3
4e50b9:	cc                   	int3
4e50ba:	cc                   	int3
4e50bb:	cc                   	int3
4e50bc:	cc                   	int3
4e50bd:	cc                   	int3
4e50be:	cc                   	int3
4e50bf:	cc                   	int3
4e50c0:	8b 44 24 04          	mov    0x4(%esp),%eax
4e50c4:	85 c0                	test   %eax,%eax
4e50c6:	75 04                	jne    0x4e50cc
4e50c8:	83 c8 ff             	or     $0xffffffff,%eax
4e50cb:	c3                   	ret
4e50cc:	8b 00                	mov    (%eax),%eax
4e50ce:	c3                   	ret
4e50cf:	cc                   	int3
4e50d0:	8b 54 24 04          	mov    0x4(%esp),%edx
4e50d4:	85 d2                	test   %edx,%edx
4e50d6:	74 11                	je     0x4e50e9
4e50d8:	8b 0a                	mov    (%edx),%ecx
4e50da:	85 c9                	test   %ecx,%ecx
4e50dc:	74 0b                	je     0x4e50e9
4e50de:	8b 42 04             	mov    0x4(%edx),%eax
4e50e1:	8b 44 88 fc          	mov    -0x4(%eax,%ecx,4),%eax
4e50e5:	49                   	dec    %ecx
4e50e6:	89 0a                	mov    %ecx,(%edx)
4e50e8:	c3                   	ret
4e50e9:	33 c0                	xor    %eax,%eax
4e50eb:	c3                   	ret
4e50ec:	cc                   	int3
4e50ed:	cc                   	int3
4e50ee:	cc                   	int3
4e50ef:	cc                   	int3
4e50f0:	57                   	push   %edi
4e50f1:	8b 7c 24 08          	mov    0x8(%esp),%edi
4e50f5:	85 ff                	test   %edi,%edi
4e50f7:	74 48                	je     0x4e5141
4e50f9:	56                   	push   %esi
4e50fa:	33 f6                	xor    %esi,%esi
4e50fc:	39 37                	cmp    %esi,(%edi)
4e50fe:	7e 1b                	jle    0x4e511b
4e5100:	53                   	push   %ebx
4e5101:	8b 5c 24 14          	mov    0x14(%esp),%ebx
4e5105:	8b 47 04             	mov    0x4(%edi),%eax
4e5108:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4e510b:	85 c0                	test   %eax,%eax
4e510d:	74 06                	je     0x4e5115
4e510f:	50                   	push   %eax
4e5110:	ff d3                	call   *%ebx
4e5112:	83 c4 04             	add    $0x4,%esp
4e5115:	46                   	inc    %esi
4e5116:	3b 37                	cmp    (%edi),%esi
4e5118:	7c eb                	jl     0x4e5105
4e511a:	5b                   	pop    %ebx
4e511b:	68 78 01 00 00       	push   $0x178
4e5120:	68 d8 3f 61 00       	push   $0x613fd8
4e5125:	ff 77 04             	push   0x4(%edi)
4e5128:	e8 53 b6 ff ff       	call   0x4e0780
4e512d:	68 79 01 00 00       	push   $0x179
4e5132:	68 d8 3f 61 00       	push   $0x613fd8
4e5137:	57                   	push   %edi
4e5138:	e8 43 b6 ff ff       	call   0x4e0780
4e513d:	83 c4 18             	add    $0x18,%esp
4e5140:	5e                   	pop    %esi
4e5141:	5f                   	pop    %edi
4e5142:	c3                   	ret
4e5143:	cc                   	int3
4e5144:	cc                   	int3
4e5145:	cc                   	int3
4e5146:	cc                   	int3
4e5147:	cc                   	int3
4e5148:	cc                   	int3
4e5149:	cc                   	int3
4e514a:	cc                   	int3
4e514b:	cc                   	int3
4e514c:	cc                   	int3
4e514d:	cc                   	int3
4e514e:	cc                   	int3
4e514f:	cc                   	int3
4e5150:	8b 44 24 04          	mov    0x4(%esp),%eax
4e5154:	85 c0                	test   %eax,%eax
4e5156:	75 04                	jne    0x4e515c
4e5158:	83 c8 ff             	or     $0xffffffff,%eax
4e515b:	c3                   	ret
4e515c:	ff 30                	push   (%eax)
4e515e:	ff 74 24 0c          	push   0xc(%esp)
4e5162:	50                   	push   %eax
4e5163:	e8 e8 fd ff ff       	call   0x4e4f50
4e5168:	83 c4 0c             	add    $0xc,%esp
4e516b:	c3                   	ret
4e516c:	cc                   	int3
4e516d:	cc                   	int3
4e516e:	cc                   	int3
4e516f:	cc                   	int3
4e5170:	8b 44 24 04          	mov    0x4(%esp),%eax
4e5174:	85 c0                	test   %eax,%eax
4e5176:	75 01                	jne    0x4e5179
4e5178:	c3                   	ret
4e5179:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4e517d:	85 c9                	test   %ecx,%ecx
4e517f:	79 06                	jns    0x4e5187
4e5181:	b8 01 00 00 00       	mov    $0x1,%eax
4e5186:	c3                   	ret
4e5187:	6a 01                	push   $0x1