498f2a:	56                   	push   %esi
498f2b:	89 7d 8c             	mov    %edi,-0x74(%ebp)
498f2e:	e8 ad a2 ff ff       	call   0x4931e0
498f33:	83 c4 08             	add    $0x8,%esp
498f36:	84 c0                	test   %al,%al
498f38:	0f 85 2b 01 00 00    	jne    0x499069
498f3e:	8a 56 04             	mov    0x4(%esi),%dl
498f41:	8b 0e                	mov    (%esi),%ecx
498f43:	84 d2                	test   %dl,%dl
498f45:	75 39                	jne    0x498f80
498f47:	85 c9                	test   %ecx,%ecx
498f49:	74 27                	je     0x498f72
498f4b:	8b 41 1c             	mov    0x1c(%ecx),%eax
498f4e:	8b 10                	mov    (%eax),%edx
498f50:	85 d2                	test   %edx,%edx
498f52:	74 0d                	je     0x498f61
498f54:	8b 41 2c             	mov    0x2c(%ecx),%eax
498f57:	83 38 00             	cmpl   $0x0,(%eax)
498f5a:	7e 05                	jle    0x498f61
498f5c:	0f b6 02             	movzbl (%edx),%eax
498f5f:	eb 07                	jmp    0x498f68
498f61:	8b 01                	mov    (%ecx),%eax
498f63:	ff 50 18             	call   *0x18(%eax)
498f66:	8b 0e                	mov    (%esi),%ecx
498f68:	83 f8 ff             	cmp    $0xffffffff,%eax
498f6b:	74 05                	je     0x498f72
498f6d:	88 46 05             	mov    %al,0x5(%esi)
498f70:	eb 08                	jmp    0x498f7a
498f72:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
498f78:	33 c9                	xor    %ecx,%ecx
498f7a:	c6 46 04 01          	movb   $0x1,0x4(%esi)
498f7e:	b2 01                	mov    $0x1,%dl
498f80:	8a 46 05             	mov    0x5(%esi),%al
498f83:	3a 45 eb             	cmp    -0x15(%ebp),%al
498f86:	75 56                	jne    0x498fde
498f88:	c6 07 2b             	movb   $0x2b,(%edi)
498f8b:	8d 47 01             	lea    0x1(%edi),%eax
498f8e:	8b 0e                	mov    (%esi),%ecx
498f90:	89 45 8c             	mov    %eax,-0x74(%ebp)
498f93:	85 c9                	test   %ecx,%ecx
498f95:	74 37                	je     0x498fce
498f97:	8b 41 1c             	mov    0x1c(%ecx),%eax
498f9a:	83 38 00             	cmpl   $0x0,(%eax)
498f9d:	74 1b                	je     0x498fba
498f9f:	8b 51 2c             	mov    0x2c(%ecx),%edx
498fa2:	8b 02                	mov    (%edx),%eax
498fa4:	85 c0                	test   %eax,%eax
498fa6:	7e 12                	jle    0x498fba
498fa8:	48                   	dec    %eax
498fa9:	89 02                	mov    %eax,(%edx)
498fab:	8b 49 1c             	mov    0x1c(%ecx),%ecx
498fae:	8b 11                	mov    (%ecx),%edx
498fb0:	8d 42 01             	lea    0x1(%edx),%eax
498fb3:	89 01                	mov    %eax,(%ecx)
498fb5:	0f b6 02             	movzbl (%edx),%eax
498fb8:	eb 05                	jmp    0x498fbf
498fba:	8b 01                	mov    (%ecx),%eax
498fbc:	ff 50 1c             	call   *0x1c(%eax)
498fbf:	83 f8 ff             	cmp    $0xffffffff,%eax
498fc2:	74 0a                	je     0x498fce
498fc4:	32 c0                	xor    %al,%al
498fc6:	88 46 04             	mov    %al,0x4(%esi)
498fc9:	e9 9b 00 00 00       	jmp    0x499069
498fce:	b0 01                	mov    $0x1,%al
498fd0:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
498fd6:	88 46 04             	mov    %al,0x4(%esi)
498fd9:	e9 8b 00 00 00       	jmp    0x499069
498fde:	84 d2                	test   %dl,%dl
498fe0:	75 36                	jne    0x499018
498fe2:	85 c9                	test   %ecx,%ecx
498fe4:	74 28                	je     0x49900e
498fe6:	8b 41 1c             	mov    0x1c(%ecx),%eax
498fe9:	8b 10                	mov    (%eax),%edx
498feb:	85 d2                	test   %edx,%edx
498fed:	74 0d                	je     0x498ffc
498fef:	8b 41 2c             	mov    0x2c(%ecx),%eax
498ff2:	83 38 00             	cmpl   $0x0,(%eax)
498ff5:	7e 05                	jle    0x498ffc
498ff7:	0f b6 02             	movzbl (%edx),%eax
498ffa:	eb 05                	jmp    0x499001
498ffc:	8b 01                	mov    (%ecx),%eax
498ffe:	ff 50 18             	call   *0x18(%eax)
499001:	83 f8 ff             	cmp    $0xffffffff,%eax
499004:	74 05                	je     0x49900b
499006:	88 46 05             	mov    %al,0x5(%esi)
499009:	eb 09                	jmp    0x499014
49900b:	8a 46 05             	mov    0x5(%esi),%al
49900e:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
499014:	c6 46 04 01          	movb   $0x1,0x4(%esi)
499018:	3a 45 ea             	cmp    -0x16(%ebp),%al
49901b:	75 4c                	jne    0x499069
49901d:	c6 07 2d             	movb   $0x2d,(%edi)
499020:	8d 47 01             	lea    0x1(%edi),%eax
499023:	8b 0e                	mov    (%esi),%ecx
499025:	89 45 8c             	mov    %eax,-0x74(%ebp)
499028:	85 c9                	test   %ecx,%ecx
49902a:	74 33                	je     0x49905f
49902c:	8b 41 1c             	mov    0x1c(%ecx),%eax
49902f:	83 38 00             	cmpl   $0x0,(%eax)
499032:	74 1b                	je     0x49904f
499034:	8b 51 2c             	mov    0x2c(%ecx),%edx
499037:	8b 02                	mov    (%edx),%eax
499039:	85 c0                	test   %eax,%eax
49903b:	7e 12                	jle    0x49904f
49903d:	48                   	dec    %eax
49903e:	89 02                	mov    %eax,(%edx)
499040:	8b 49 1c             	mov    0x1c(%ecx),%ecx
499043:	8b 11                	mov    (%ecx),%edx
499045:	8d 42 01             	lea    0x1(%edx),%eax
499048:	89 01                	mov    %eax,(%ecx)
49904a:	0f b6 02             	movzbl (%edx),%eax
49904d:	eb 05                	jmp    0x499054
49904f:	8b 01                	mov    (%ecx),%eax
499051:	ff 50 1c             	call   *0x1c(%eax)
499054:	83 f8 ff             	cmp    $0xffffffff,%eax
499057:	74 06                	je     0x49905f
499059:	c6 46 04 00          	movb   $0x0,0x4(%esi)
49905d:	eb 0a                	jmp    0x499069
49905f:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
499065:	c6 46 04 01          	movb   $0x1,0x4(%esi)
499069:	8b 7d 18             	mov    0x18(%ebp),%edi
49906c:	81 e7 00 0e 00 00    	and    $0xe00,%edi
499072:	81 ff 00 04 00 00    	cmp    $0x400,%edi
499078:	75 07                	jne    0x499081
49907a:	bf 08 00 00 00       	mov    $0x8,%edi
49907f:	eb 16                	jmp    0x499097
499081:	81 ff 00 08 00 00    	cmp    $0x800,%edi
499087:	75 07                	jne    0x499090
499089:	bf 10 00 00 00       	mov    $0x10,%edi
49908e:	eb 07                	jmp    0x499097
499090:	f7 df                	neg    %edi
499092:	1b ff                	sbb    %edi,%edi
499094:	83 e7 0a             	and    $0xa,%edi
499097:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
49909b:	89 7d 84             	mov    %edi,-0x7c(%ebp)
49909e:	c6 45 a3 00          	movb   $0x0,-0x5d(%ebp)
4990a2:	c6 45 a1 00          	movb   $0x0,-0x5f(%ebp)
4990a6:	75 35                	jne    0x4990dd
4990a8:	8b 0e                	mov    (%esi),%ecx
4990aa:	85 c9                	test   %ecx,%ecx
4990ac:	74 25                	je     0x4990d3
4990ae:	8b 41 1c             	mov    0x1c(%ecx),%eax
4990b1:	8b 10                	mov    (%eax),%edx
4990b3:	85 d2                	test   %edx,%edx
4990b5:	74 0d                	je     0x4990c4
4990b7:	8b 41 2c             	mov    0x2c(%ecx),%eax
4990ba:	83 38 00             	cmpl   $0x0,(%eax)
4990bd:	7e 05                	jle    0x4990c4
4990bf:	0f b6 02             	movzbl (%edx),%eax
4990c2:	eb 05                	jmp    0x4990c9
4990c4:	8b 01                	mov    (%ecx),%eax
4990c6:	ff 50 18             	call   *0x18(%eax)
4990c9:	83 f8 ff             	cmp    $0xffffffff,%eax
4990cc:	74 05                	je     0x4990d3
4990ce:	88 46 05             	mov    %al,0x5(%esi)
4990d1:	eb 06                	jmp    0x4990d9
4990d3:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4990d9:	c6 46 04 01          	movb   $0x1,0x4(%esi)
4990dd:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
4990e1:	75 35                	jne    0x499118
4990e3:	8b 0b                	mov    (%ebx),%ecx
4990e5:	85 c9                	test   %ecx,%ecx
4990e7:	74 25                	je     0x49910e
4990e9:	8b 41 1c             	mov    0x1c(%ecx),%eax
4990ec:	8b 10                	mov    (%eax),%edx
4990ee:	85 d2                	test   %edx,%edx
4990f0:	74 0d                	je     0x4990ff
4990f2:	8b 41 2c             	mov    0x2c(%ecx),%eax
4990f5:	83 38 00             	cmpl   $0x0,(%eax)
4990f8:	7e 05                	jle    0x4990ff
4990fa:	0f b6 02             	movzbl (%edx),%eax
4990fd:	eb 05                	jmp    0x499104
4990ff:	8b 01                	mov    (%ecx),%eax
499101:	ff 50 18             	call   *0x18(%eax)
499104:	83 f8 ff             	cmp    $0xffffffff,%eax
499107:	74 05                	je     0x49910e
499109:	88 43 05             	mov    %al,0x5(%ebx)
49910c:	eb 06                	jmp    0x499114
49910e:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
499114:	c6 43 04 01          	movb   $0x1,0x4(%ebx)
499118:	8b 0e                	mov    (%esi),%ecx
49911a:	8b 03                	mov    (%ebx),%eax
49911c:	85 c9                	test   %ecx,%ecx
49911e:	75 2f                	jne    0x49914f
499120:	85 c0                	test   %eax,%eax
499122:	75 2f                	jne    0x499153
499124:	85 ff                	test   %edi,%edi
499126:	0f 84 38 02 00 00    	je     0x499364
49912c:	83 ff 0a             	cmp    $0xa,%edi
49912f:	0f 84 2f 02 00 00    	je     0x499364
499135:	b8 08 00 00 00       	mov    $0x8,%eax
49913a:	ba 16 00 00 00       	mov    $0x16,%edx
49913f:	3b f8                	cmp    %eax,%edi
499141:	0f 44 d0             	cmove  %eax,%edx
499144:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
49914a:	e9 1f 02 00 00       	jmp    0x49936e
49914f:	85 c0                	test   %eax,%eax
499151:	75 d1                	jne    0x499124
499153:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
499157:	75 33                	jne    0x49918c
499159:	85 c9                	test   %ecx,%ecx
49915b:	74 25                	je     0x499182
49915d:	8b 41 1c             	mov    0x1c(%ecx),%eax
499160:	8b 10                	mov    (%eax),%edx
499162:	85 d2                	test   %edx,%edx
499164:	74 0d                	je     0x499173
499166:	8b 41 2c             	mov    0x2c(%ecx),%eax
499169:	83 38 00             	cmpl   $0x0,(%eax)
49916c:	7e 05                	jle    0x499173
49916e:	0f b6 02             	movzbl (%edx),%eax
499171:	eb 05                	jmp    0x499178
499173:	8b 01                	mov    (%ecx),%eax
499175:	ff 50 18             	call   *0x18(%eax)
499178:	83 f8 ff             	cmp    $0xffffffff,%eax
49917b:	74 05                	je     0x499182
49917d:	88 46 05             	mov    %al,0x5(%esi)
499180:	eb 06                	jmp    0x499188
499182:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
499188:	c6 46 04 01          	movb   $0x1,0x4(%esi)
49918c:	8a 46 05             	mov    0x5(%esi),%al
49918f:	3a 45 d4             	cmp    -0x2c(%ebp),%al
499192:	75 90                	jne    0x499124
499194:	8b 0e                	mov    (%esi),%ecx
499196:	c6 45 a3 01          	movb   $0x1,-0x5d(%ebp)
49919a:	85 c9                	test   %ecx,%ecx
49919c:	74 33                	je     0x4991d1
49919e:	8b 41 1c             	mov    0x1c(%ecx),%eax
4991a1:	83 38 00             	cmpl   $0x0,(%eax)
4991a4:	74 1b                	je     0x4991c1
4991a6:	8b 51 2c             	mov    0x2c(%ecx),%edx
4991a9:	8b 02                	mov    (%edx),%eax
4991ab:	85 c0                	test   %eax,%eax
4991ad:	7e 12                	jle    0x4991c1
4991af:	48                   	dec    %eax
4991b0:	89 02                	mov    %eax,(%edx)
4991b2:	8b 49 1c             	mov    0x1c(%ecx),%ecx
4991b5:	8b 11                	mov    (%ecx),%edx
4991b7:	8d 42 01             	lea    0x1(%edx),%eax
4991ba:	89 01                	mov    %eax,(%ecx)
4991bc:	0f b6 02             	movzbl (%edx),%eax
4991bf:	eb 05                	jmp    0x4991c6
4991c1:	8b 01                	mov    (%ecx),%eax
4991c3:	ff 50 1c             	call   *0x1c(%eax)
4991c6:	83 f8 ff             	cmp    $0xffffffff,%eax
4991c9:	74 06                	je     0x4991d1
4991cb:	8b 0e                	mov    (%esi),%ecx
4991cd:	32 c0                	xor    %al,%al
4991cf:	eb 0a                	jmp    0x4991db
4991d1:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4991d7:	b0 01                	mov    $0x1,%al
4991d9:	33 c9                	xor    %ecx,%ecx
4991db:	88 46 04             	mov    %al,0x4(%esi)
4991de:	84 c0                	test   %al,%al
4991e0:	75 33                	jne    0x499215
4991e2:	85 c9                	test   %ecx,%ecx
4991e4:	74 25                	je     0x49920b
4991e6:	8b 41 1c             	mov    0x1c(%ecx),%eax
4991e9:	8b 10                	mov    (%eax),%edx
4991eb:	85 d2                	test   %edx,%edx
4991ed:	74 0d                	je     0x4991fc
4991ef:	8b 41 2c             	mov    0x2c(%ecx),%eax
4991f2:	83 38 00             	cmpl   $0x0,(%eax)
4991f5:	7e 05                	jle    0x4991fc
4991f7:	0f b6 02             	movzbl (%edx),%eax
4991fa:	eb 05                	jmp    0x499201
4991fc:	8b 01                	mov    (%ecx),%eax
4991fe:	ff 50 18             	call   *0x18(%eax)
499201:	83 f8 ff             	cmp    $0xffffffff,%eax
499204:	74 05                	je     0x49920b
499206:	88 46 05             	mov    %al,0x5(%esi)
499209:	eb 06                	jmp    0x499211
49920b:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
499211:	c6 46 04 01          	movb   $0x1,0x4(%esi)
499215:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
499219:	75 35                	jne    0x499250
49921b:	8b 0b                	mov    (%ebx),%ecx
49921d:	85 c9                	test   %ecx,%ecx
49921f:	74 25                	je     0x499246
499221:	8b 41 1c             	mov    0x1c(%ecx),%eax
499224:	8b 10                	mov    (%eax),%edx
499226:	85 d2                	test   %edx,%edx
499228:	74 0d                	je     0x499237
49922a:	8b 41 2c             	mov    0x2c(%ecx),%eax
49922d:	83 38 00             	cmpl   $0x0,(%eax)
499230:	7e 05                	jle    0x499237
499232:	0f b6 02             	movzbl (%edx),%eax
499235:	eb 05                	jmp    0x49923c
499237:	8b 01                	mov    (%ecx),%eax
499239:	ff 50 18             	call   *0x18(%eax)
49923c:	83 f8 ff             	cmp    $0xffffffff,%eax
49923f:	74 05                	je     0x499246
499241:	88 43 05             	mov    %al,0x5(%ebx)
499244:	eb 06                	jmp    0x49924c
499246:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
49924c:	c6 43 04 01          	movb   $0x1,0x4(%ebx)
499250:	8b 0e                	mov    (%esi),%ecx
499252:	8b 03                	mov    (%ebx),%eax
499254:	85 c9                	test   %ecx,%ecx
499256:	75 19                	jne    0x499271
499258:	85 c0                	test   %eax,%eax
49925a:	75 19                	jne    0x499275
49925c:	85 ff                	test   %edi,%edi
49925e:	0f 85 c8 fe ff ff    	jne    0x49912c
499264:	bf 08 00 00 00       	mov    $0x8,%edi
499269:	89 7d 84             	mov    %edi,-0x7c(%ebp)
49926c:	e9 c4 fe ff ff       	jmp    0x499135
499271:	85 c0                	test   %eax,%eax
499273:	75 e7                	jne    0x49925c
499275:	8a 56 04             	mov    0x4(%esi),%dl
499278:	84 d2                	test   %dl,%dl
49927a:	75 35                	jne    0x4992b1
49927c:	85 c9                	test   %ecx,%ecx
49927e:	74 25                	je     0x4992a5
499280:	8b 41 1c             	mov    0x1c(%ecx),%eax
499283:	8b 10                	mov    (%eax),%edx
499285:	85 d2                	test   %edx,%edx
499287:	74 0d                	je     0x499296
499289:	8b 41 2c             	mov    0x2c(%ecx),%eax
49928c:	83 38 00             	cmpl   $0x0,(%eax)
49928f:	7e 05                	jle    0x499296
499291:	0f b6 02             	movzbl (%edx),%eax
499294:	eb 05                	jmp    0x49929b
499296:	8b 01                	mov    (%ecx),%eax
499298:	ff 50 18             	call   *0x18(%eax)
49929b:	83 f8 ff             	cmp    $0xffffffff,%eax
49929e:	74 05                	je     0x4992a5
4992a0:	88 46 05             	mov    %al,0x5(%esi)
4992a3:	eb 06                	jmp    0x4992ab
4992a5:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4992ab:	c6 46 04 01          	movb   $0x1,0x4(%esi)
4992af:	b2 01                	mov    $0x1,%dl
4992b1:	8a 46 05             	mov    0x5(%esi),%al
4992b4:	3a 45 ed             	cmp    -0x13(%ebp),%al
4992b7:	74 45                	je     0x4992fe
4992b9:	84 d2                	test   %dl,%dl
4992bb:	75 38                	jne    0x4992f5
4992bd:	8b 0e                	mov    (%esi),%ecx
4992bf:	85 c9                	test   %ecx,%ecx
4992c1:	74 28                	je     0x4992eb
4992c3:	8b 41 1c             	mov    0x1c(%ecx),%eax
4992c6:	8b 10                	mov    (%eax),%edx
4992c8:	85 d2                	test   %edx,%edx
4992ca:	74 0d                	je     0x4992d9
4992cc:	8b 41 2c             	mov    0x2c(%ecx),%eax
4992cf:	83 38 00             	cmpl   $0x0,(%eax)
4992d2:	7e 05                	jle    0x4992d9
4992d4:	0f b6 02             	movzbl (%edx),%eax
4992d7:	eb 05                	jmp    0x4992de
4992d9:	8b 01                	mov    (%ecx),%eax
4992db:	ff 50 18             	call   *0x18(%eax)