48eee3:	8b ca                	mov    %edx,%ecx
48eee5:	2b 4d d4             	sub    -0x2c(%ebp),%ecx
48eee8:	50                   	push   %eax
48eee9:	ff 37                	push   (%edi)
48eeeb:	89 45 e8             	mov    %eax,-0x18(%ebp)
48eeee:	8b 45 ec             	mov    -0x14(%ebp),%eax
48eef1:	d1 f9                	sar    $1,%ecx
48eef3:	2b c1                	sub    %ecx,%eax
48eef5:	50                   	push   %eax
48eef6:	52                   	push   %edx
48eef7:	e8 12 10 ff ff       	call   0x47ff0e
48eefc:	83 c4 10             	add    $0x10,%esp
48eeff:	85 c0                	test   %eax,%eax
48ef01:	75 40                	jne    0x48ef43
48ef03:	8b 45 f4             	mov    -0xc(%ebp),%eax
48ef06:	8b 55 f0             	mov    -0x10(%ebp),%edx
48ef09:	89 14 38             	mov    %edx,(%eax,%edi,1)
48ef0c:	83 c7 04             	add    $0x4,%edi
48ef0f:	8b 45 e8             	mov    -0x18(%ebp),%eax
48ef12:	8d 14 42             	lea    (%edx,%eax,2),%edx
48ef15:	89 55 f0             	mov    %edx,-0x10(%ebp)
48ef18:	3b fb                	cmp    %ebx,%edi
48ef1a:	75 ab                	jne    0x48eec7
48ef1c:	8b 45 d0             	mov    -0x30(%ebp),%eax
48ef1f:	89 30                	mov    %esi,(%eax)
48ef21:	33 c0                	xor    %eax,%eax
48ef23:	50                   	push   %eax
48ef24:	e8 cf 68 ff ff       	call   0x4857f8
48ef29:	59                   	pop    %ecx
48ef2a:	8d 4d dc             	lea    -0x24(%ebp),%ecx
48ef2d:	e8 48 02 00 00       	call   0x48f17a
48ef32:	33 c0                	xor    %eax,%eax
48ef34:	5f                   	pop    %edi
48ef35:	5b                   	pop    %ebx
48ef36:	8b 4d fc             	mov    -0x4(%ebp),%ecx
48ef39:	33 cd                	xor    %ebp,%ecx
48ef3b:	5e                   	pop    %esi
48ef3c:	e8 89 aa fd ff       	call   0x4699ca
48ef41:	c9                   	leave
48ef42:	c3                   	ret
48ef43:	33 c0                	xor    %eax,%eax
48ef45:	50                   	push   %eax
48ef46:	50                   	push   %eax
48ef47:	50                   	push   %eax
48ef48:	50                   	push   %eax
48ef49:	50                   	push   %eax
48ef4a:	e8 ff a6 fe ff       	call   0x47964e
48ef4f:	cc                   	int3
48ef50:	8b ff                	mov    %edi,%edi
48ef52:	55                   	push   %ebp
48ef53:	8b ec                	mov    %esp,%ebp
48ef55:	51                   	push   %ecx
48ef56:	8b 4d 08             	mov    0x8(%ebp),%ecx
48ef59:	53                   	push   %ebx
48ef5a:	57                   	push   %edi
48ef5b:	33 db                	xor    %ebx,%ebx
48ef5d:	8d 51 02             	lea    0x2(%ecx),%edx
48ef60:	66 8b 01             	mov    (%ecx),%ax
48ef63:	83 c1 02             	add    $0x2,%ecx
48ef66:	66 3b c3             	cmp    %bx,%ax
48ef69:	75 f5                	jne    0x48ef60
48ef6b:	8b 7d 10             	mov    0x10(%ebp),%edi
48ef6e:	2b ca                	sub    %edx,%ecx
48ef70:	d1 f9                	sar    $1,%ecx
48ef72:	8b c7                	mov    %edi,%eax
48ef74:	41                   	inc    %ecx
48ef75:	f7 d0                	not    %eax
48ef77:	89 4d fc             	mov    %ecx,-0x4(%ebp)
48ef7a:	3b c8                	cmp    %eax,%ecx
48ef7c:	76 07                	jbe    0x48ef85
48ef7e:	6a 0c                	push   $0xc
48ef80:	58                   	pop    %eax
48ef81:	5f                   	pop    %edi
48ef82:	5b                   	pop    %ebx
48ef83:	c9                   	leave
48ef84:	c3                   	ret
48ef85:	56                   	push   %esi
48ef86:	8d 5f 01             	lea    0x1(%edi),%ebx
48ef89:	03 d9                	add    %ecx,%ebx
48ef8b:	6a 02                	push   $0x2
48ef8d:	53                   	push   %ebx
48ef8e:	e8 aa 93 ff ff       	call   0x48833d
48ef93:	8b f0                	mov    %eax,%esi
48ef95:	59                   	pop    %ecx
48ef96:	59                   	pop    %ecx
48ef97:	85 ff                	test   %edi,%edi
48ef99:	74 12                	je     0x48efad
48ef9b:	57                   	push   %edi
48ef9c:	ff 75 0c             	push   0xc(%ebp)
48ef9f:	53                   	push   %ebx
48efa0:	56                   	push   %esi
48efa1:	e8 68 0f ff ff       	call   0x47ff0e
48efa6:	83 c4 10             	add    $0x10,%esp
48efa9:	85 c0                	test   %eax,%eax
48efab:	75 4a                	jne    0x48eff7
48efad:	ff 75 fc             	push   -0x4(%ebp)
48efb0:	2b df                	sub    %edi,%ebx
48efb2:	8d 04 7e             	lea    (%esi,%edi,2),%eax
48efb5:	ff 75 08             	push   0x8(%ebp)
48efb8:	53                   	push   %ebx
48efb9:	50                   	push   %eax
48efba:	e8 4f 0f ff ff       	call   0x47ff0e
48efbf:	83 c4 10             	add    $0x10,%esp
48efc2:	85 c0                	test   %eax,%eax
48efc4:	75 31                	jne    0x48eff7
48efc6:	8b 7d 14             	mov    0x14(%ebp),%edi
48efc9:	8b cf                	mov    %edi,%ecx
48efcb:	e8 f3 01 00 00       	call   0x48f1c3
48efd0:	8b d8                	mov    %eax,%ebx
48efd2:	85 db                	test   %ebx,%ebx
48efd4:	74 09                	je     0x48efdf
48efd6:	56                   	push   %esi
48efd7:	e8 1c 68 ff ff       	call   0x4857f8
48efdc:	59                   	pop    %ecx
48efdd:	eb 0b                	jmp    0x48efea
48efdf:	8b 47 04             	mov    0x4(%edi),%eax
48efe2:	89 30                	mov    %esi,(%eax)
48efe4:	83 47 04 04          	addl   $0x4,0x4(%edi)
48efe8:	33 db                	xor    %ebx,%ebx
48efea:	6a 00                	push   $0x0
48efec:	e8 07 68 ff ff       	call   0x4857f8
48eff1:	59                   	pop    %ecx
48eff2:	8b c3                	mov    %ebx,%eax
48eff4:	5e                   	pop    %esi
48eff5:	eb 8a                	jmp    0x48ef81
48eff7:	33 c0                	xor    %eax,%eax
48eff9:	50                   	push   %eax
48effa:	50                   	push   %eax
48effb:	50                   	push   %eax
48effc:	50                   	push   %eax
48effd:	50                   	push   %eax
48effe:	e8 4b a6 fe ff       	call   0x47964e
48f003:	cc                   	int3
48f004:	8b ff                	mov    %edi,%edi
48f006:	55                   	push   %ebp
48f007:	8b ec                	mov    %esp,%ebp
48f009:	81 ec 64 02 00 00    	sub    $0x264,%esp
48f00f:	a1 14 40 4c 00       	mov    0x4c4014,%eax
48f014:	33 c5                	xor    %ebp,%eax
48f016:	89 45 fc             	mov    %eax,-0x4(%ebp)
48f019:	8b 55 0c             	mov    0xc(%ebp),%edx
48f01c:	8b 4d 10             	mov    0x10(%ebp),%ecx
48f01f:	53                   	push   %ebx
48f020:	56                   	push   %esi
48f021:	57                   	push   %edi
48f022:	8b 7d 08             	mov    0x8(%ebp),%edi
48f025:	89 8d a4 fd ff ff    	mov    %ecx,-0x25c(%ebp)
48f02b:	3b d7                	cmp    %edi,%edx
48f02d:	74 20                	je     0x48f04f
48f02f:	0f b7 02             	movzwl (%edx),%eax
48f032:	8d 8d ab fd ff ff    	lea    -0x255(%ebp),%ecx
48f038:	50                   	push   %eax
48f039:	e8 61 01 00 00       	call   0x48f19f
48f03e:	84 c0                	test   %al,%al
48f040:	75 07                	jne    0x48f049
48f042:	83 ea 02             	sub    $0x2,%edx
48f045:	3b d7                	cmp    %edi,%edx
48f047:	75 e6                	jne    0x48f02f
48f049:	8b 8d a4 fd ff ff    	mov    -0x25c(%ebp),%ecx
48f04f:	0f b7 32             	movzwl (%edx),%esi
48f052:	83 fe 3a             	cmp    $0x3a,%esi
48f055:	75 1a                	jne    0x48f071
48f057:	8d 47 02             	lea    0x2(%edi),%eax
48f05a:	3b d0                	cmp    %eax,%edx
48f05c:	74 13                	je     0x48f071
48f05e:	51                   	push   %ecx
48f05f:	33 db                	xor    %ebx,%ebx
48f061:	53                   	push   %ebx
48f062:	53                   	push   %ebx
48f063:	57                   	push   %edi
48f064:	e8 e7 fe ff ff       	call   0x48ef50
48f069:	83 c4 10             	add    $0x10,%esp
48f06c:	e9 fa 00 00 00       	jmp    0x48f16b
48f071:	56                   	push   %esi
48f072:	8d 8d ab fd ff ff    	lea    -0x255(%ebp),%ecx
48f078:	e8 22 01 00 00       	call   0x48f19f
48f07d:	2b d7                	sub    %edi,%edx
48f07f:	0f b6 c0             	movzbl %al,%eax
48f082:	d1 fa                	sar    $1,%edx
48f084:	42                   	inc    %edx
48f085:	f7 d8                	neg    %eax
48f087:	1b c0                	sbb    %eax,%eax
48f089:	33 db                	xor    %ebx,%ebx
48f08b:	53                   	push   %ebx
48f08c:	53                   	push   %ebx
48f08d:	23 c2                	and    %edx,%eax
48f08f:	53                   	push   %ebx
48f090:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
48f096:	8d 85 ac fd ff ff    	lea    -0x254(%ebp),%eax
48f09c:	50                   	push   %eax
48f09d:	53                   	push   %ebx
48f09e:	57                   	push   %edi
48f09f:	ff 15 e0 e0 49 00    	call   *0x49e0e0
48f0a5:	8b f0                	mov    %eax,%esi
48f0a7:	83 fe ff             	cmp    $0xffffffff,%esi
48f0aa:	75 08                	jne    0x48f0b4
48f0ac:	ff b5 a4 fd ff ff    	push   -0x25c(%ebp)
48f0b2:	eb ad                	jmp    0x48f061
48f0b4:	8b 9d a4 fd ff ff    	mov    -0x25c(%ebp),%ebx
48f0ba:	6a 2e                	push   $0x2e
48f0bc:	8b 43 04             	mov    0x4(%ebx),%eax
48f0bf:	2b 03                	sub    (%ebx),%eax
48f0c1:	c1 f8 02             	sar    $0x2,%eax
48f0c4:	89 85 a4 fd ff ff    	mov    %eax,-0x25c(%ebp)
48f0ca:	58                   	pop    %eax
48f0cb:	66 39 85 d8 fd ff ff 	cmp    %ax,-0x228(%ebp)
48f0d2:	75 1d                	jne    0x48f0f1
48f0d4:	66 83 bd da fd ff ff 	cmpw   $0x0,-0x226(%ebp)
48f0db:	00
48f0dc:	74 34                	je     0x48f112
48f0de:	66 39 85 da fd ff ff 	cmp    %ax,-0x226(%ebp)
48f0e5:	75 0a                	jne    0x48f0f1
48f0e7:	66 83 bd dc fd ff ff 	cmpw   $0x0,-0x224(%ebp)
48f0ee:	00
48f0ef:	74 21                	je     0x48f112
48f0f1:	53                   	push   %ebx
48f0f2:	ff b5 a0 fd ff ff    	push   -0x260(%ebp)
48f0f8:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
48f0fe:	57                   	push   %edi
48f0ff:	50                   	push   %eax
48f100:	e8 4b fe ff ff       	call   0x48ef50
48f105:	83 c4 10             	add    $0x10,%esp
48f108:	89 85 9c fd ff ff    	mov    %eax,-0x264(%ebp)
48f10e:	85 c0                	test   %eax,%eax
48f110:	75 4c                	jne    0x48f15e
48f112:	8d 85 ac fd ff ff    	lea    -0x254(%ebp),%eax
48f118:	50                   	push   %eax
48f119:	56                   	push   %esi
48f11a:	ff 15 8c e0 49 00    	call   *0x49e08c
48f120:	6a 2e                	push   $0x2e
48f122:	85 c0                	test   %eax,%eax
48f124:	58                   	pop    %eax
48f125:	75 a4                	jne    0x48f0cb
48f127:	8b 43 04             	mov    0x4(%ebx),%eax
48f12a:	8b 13                	mov    (%ebx),%edx
48f12c:	2b c2                	sub    %edx,%eax
48f12e:	8b 8d a4 fd ff ff    	mov    -0x25c(%ebp),%ecx
48f134:	c1 f8 02             	sar    $0x2,%eax
48f137:	3b c8                	cmp    %eax,%ecx
48f139:	75 0b                	jne    0x48f146
48f13b:	56                   	push   %esi
48f13c:	ff 15 7c e0 49 00    	call   *0x49e07c
48f142:	33 c0                	xor    %eax,%eax
48f144:	eb 25                	jmp    0x48f16b
48f146:	68 80 ed 48 00       	push   $0x48ed80
48f14b:	2b c1                	sub    %ecx,%eax
48f14d:	6a 04                	push   $0x4
48f14f:	50                   	push   %eax
48f150:	8d 04 8a             	lea    (%edx,%ecx,4),%eax
48f153:	50                   	push   %eax
48f154:	e8 d7 56 00 00       	call   0x494830
48f159:	83 c4 10             	add    $0x10,%esp
48f15c:	eb dd                	jmp    0x48f13b
48f15e:	56                   	push   %esi
48f15f:	ff 15 7c e0 49 00    	call   *0x49e07c
48f165:	8b 85 9c fd ff ff    	mov    -0x264(%ebp),%eax
48f16b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
48f16e:	5f                   	pop    %edi
48f16f:	5e                   	pop    %esi
48f170:	33 cd                	xor    %ebp,%ecx
48f172:	5b                   	pop    %ebx
48f173:	e8 52 a8 fd ff       	call   0x4699ca
48f178:	c9                   	leave
48f179:	c3                   	ret
48f17a:	8b ff                	mov    %edi,%edi
48f17c:	56                   	push   %esi
48f17d:	57                   	push   %edi
48f17e:	8b f9                	mov    %ecx,%edi
48f180:	8b 37                	mov    (%edi),%esi
48f182:	eb 0b                	jmp    0x48f18f
48f184:	ff 36                	push   (%esi)
48f186:	e8 6d 66 ff ff       	call   0x4857f8
48f18b:	59                   	pop    %ecx
48f18c:	83 c6 04             	add    $0x4,%esi
48f18f:	3b 77 04             	cmp    0x4(%edi),%esi
48f192:	75 f0                	jne    0x48f184
48f194:	ff 37                	push   (%edi)
48f196:	e8 5d 66 ff ff       	call   0x4857f8
48f19b:	59                   	pop    %ecx
48f19c:	5f                   	pop    %edi
48f19d:	5e                   	pop    %esi
48f19e:	c3                   	ret
48f19f:	8b ff                	mov    %edi,%edi
48f1a1:	55                   	push   %ebp
48f1a2:	8b ec                	mov    %esp,%ebp
48f1a4:	66 83 7d 08 2f       	cmpw   $0x2f,0x8(%ebp)
48f1a9:	74 12                	je     0x48f1bd
48f1ab:	66 83 7d 08 5c       	cmpw   $0x5c,0x8(%ebp)
48f1b0:	74 0b                	je     0x48f1bd
48f1b2:	66 83 7d 08 3a       	cmpw   $0x3a,0x8(%ebp)
48f1b7:	74 04                	je     0x48f1bd
48f1b9:	32 c0                	xor    %al,%al
48f1bb:	eb 02                	jmp    0x48f1bf
48f1bd:	b0 01                	mov    $0x1,%al
48f1bf:	5d                   	pop    %ebp
48f1c0:	c2 04 00             	ret    $0x4
48f1c3:	8b ff                	mov    %edi,%edi
48f1c5:	56                   	push   %esi
48f1c6:	8b f1                	mov    %ecx,%esi
48f1c8:	57                   	push   %edi
48f1c9:	8b 7e 08             	mov    0x8(%esi),%edi
48f1cc:	39 7e 04             	cmp    %edi,0x4(%esi)
48f1cf:	74 04                	je     0x48f1d5
48f1d1:	33 c0                	xor    %eax,%eax
48f1d3:	eb 72                	jmp    0x48f247
48f1d5:	83 3e 00             	cmpl   $0x0,(%esi)
48f1d8:	75 26                	jne    0x48f200
48f1da:	6a 04                	push   $0x4
48f1dc:	6a 04                	push   $0x4
48f1de:	e8 5a 91 ff ff       	call   0x48833d
48f1e3:	6a 00                	push   $0x0
48f1e5:	89 06                	mov    %eax,(%esi)
48f1e7:	e8 0c 66 ff ff       	call   0x4857f8
48f1ec:	8b 06                	mov    (%esi),%eax
48f1ee:	83 c4 0c             	add    $0xc,%esp
48f1f1:	85 c0                	test   %eax,%eax
48f1f3:	74 18                	je     0x48f20d
48f1f5:	89 46 04             	mov    %eax,0x4(%esi)
48f1f8:	83 c0 10             	add    $0x10,%eax
48f1fb:	89 46 08             	mov    %eax,0x8(%esi)
48f1fe:	eb d1                	jmp    0x48f1d1
48f200:	2b 3e                	sub    (%esi),%edi
48f202:	c1 ff 02             	sar    $0x2,%edi
48f205:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
48f20b:	76 05                	jbe    0x48f212
48f20d:	6a 0c                	push   $0xc
48f20f:	58                   	pop    %eax
48f210:	eb 35                	jmp    0x48f247
48f212:	53                   	push   %ebx
48f213:	6a 04                	push   $0x4
48f215:	8d 1c 3f             	lea    (%edi,%edi,1),%ebx
48f218:	53                   	push   %ebx
48f219:	ff 36                	push   (%esi)
48f21b:	e8 6b 65 ff ff       	call   0x48578b
48f220:	83 c4 0c             	add    $0xc,%esp
48f223:	85 c0                	test   %eax,%eax
48f225:	75 05                	jne    0x48f22c
48f227:	6a 0c                	push   $0xc
48f229:	5e                   	pop    %esi
48f22a:	eb 10                	jmp    0x48f23c
48f22c:	89 06                	mov    %eax,(%esi)
48f22e:	8d 0c b8             	lea    (%eax,%edi,4),%ecx
48f231:	8d 04 98             	lea    (%eax,%ebx,4),%eax
48f234:	89 4e 04             	mov    %ecx,0x4(%esi)
48f237:	89 46 08             	mov    %eax,0x8(%esi)
48f23a:	33 f6                	xor    %esi,%esi
48f23c:	6a 00                	push   $0x0
48f23e:	e8 b5 65 ff ff       	call   0x4857f8
48f243:	59                   	pop    %ecx
48f244:	8b c6                	mov    %esi,%eax