452ef2:	77 08                	ja     0x452efc
452ef4:	0f be c1             	movsbl %cl,%eax
452ef7:	83 e8 30             	sub    $0x30,%eax
452efa:	5d                   	pop    %ebp
452efb:	c3                   	ret
452efc:	8d 41 9f             	lea    -0x61(%ecx),%eax
452eff:	3c 19                	cmp    $0x19,%al
452f01:	77 08                	ja     0x452f0b
452f03:	0f be c1             	movsbl %cl,%eax
452f06:	83 e8 57             	sub    $0x57,%eax
452f09:	5d                   	pop    %ebp
452f0a:	c3                   	ret
452f0b:	8d 41 bf             	lea    -0x41(%ecx),%eax
452f0e:	3c 19                	cmp    $0x19,%al
452f10:	77 08                	ja     0x452f1a
452f12:	0f be c1             	movsbl %cl,%eax
452f15:	83 e8 37             	sub    $0x37,%eax
452f18:	5d                   	pop    %ebp
452f19:	c3                   	ret
452f1a:	83 c8 ff             	or     $0xffffffff,%eax
452f1d:	5d                   	pop    %ebp
452f1e:	c3                   	ret
452f1f:	8b ff                	mov    %edi,%edi
452f21:	55                   	push   %ebp
452f22:	8b ec                	mov    %esp,%ebp
452f24:	8b 4d 08             	mov    0x8(%ebp),%ecx
452f27:	6a 30                	push   $0x30
452f29:	5a                   	pop    %edx
452f2a:	66 3b ca             	cmp    %dx,%cx
452f2d:	0f 82 9f 01 00 00    	jb     0x4530d2
452f33:	66 83 f9 3a          	cmp    $0x3a,%cx
452f37:	73 0a                	jae    0x452f43
452f39:	0f b7 c1             	movzwl %cx,%eax
452f3c:	2b c2                	sub    %edx,%eax
452f3e:	e9 8a 01 00 00       	jmp    0x4530cd
452f43:	ba 10 ff 00 00       	mov    $0xff10,%edx
452f48:	66 3b ca             	cmp    %dx,%cx
452f4b:	0f 83 6b 01 00 00    	jae    0x4530bc
452f51:	ba 60 06 00 00       	mov    $0x660,%edx
452f56:	66 3b ca             	cmp    %dx,%cx
452f59:	0f 82 73 01 00 00    	jb     0x4530d2
452f5f:	8d 42 0a             	lea    0xa(%edx),%eax
452f62:	66 3b c8             	cmp    %ax,%cx
452f65:	72 d2                	jb     0x452f39
452f67:	ba f0 06 00 00       	mov    $0x6f0,%edx
452f6c:	66 3b ca             	cmp    %dx,%cx
452f6f:	0f 82 5d 01 00 00    	jb     0x4530d2
452f75:	8d 42 0a             	lea    0xa(%edx),%eax
452f78:	66 3b c8             	cmp    %ax,%cx
452f7b:	72 bc                	jb     0x452f39
452f7d:	ba 66 09 00 00       	mov    $0x966,%edx
452f82:	66 3b ca             	cmp    %dx,%cx
452f85:	0f 82 47 01 00 00    	jb     0x4530d2
452f8b:	8d 42 0a             	lea    0xa(%edx),%eax
452f8e:	66 3b c8             	cmp    %ax,%cx
452f91:	72 a6                	jb     0x452f39
452f93:	8d 50 76             	lea    0x76(%eax),%edx
452f96:	66 3b ca             	cmp    %dx,%cx
452f99:	0f 82 33 01 00 00    	jb     0x4530d2
452f9f:	8d 42 0a             	lea    0xa(%edx),%eax
452fa2:	66 3b c8             	cmp    %ax,%cx
452fa5:	72 92                	jb     0x452f39
452fa7:	8d 50 76             	lea    0x76(%eax),%edx
452faa:	66 3b ca             	cmp    %dx,%cx
452fad:	0f 82 1f 01 00 00    	jb     0x4530d2
452fb3:	8d 42 0a             	lea    0xa(%edx),%eax
452fb6:	66 3b c8             	cmp    %ax,%cx
452fb9:	0f 82 7a ff ff ff    	jb     0x452f39
452fbf:	8d 50 76             	lea    0x76(%eax),%edx
452fc2:	66 3b ca             	cmp    %dx,%cx
452fc5:	0f 82 07 01 00 00    	jb     0x4530d2
452fcb:	8d 42 0a             	lea    0xa(%edx),%eax
452fce:	66 3b c8             	cmp    %ax,%cx
452fd1:	0f 82 62 ff ff ff    	jb     0x452f39
452fd7:	8d 50 76             	lea    0x76(%eax),%edx
452fda:	66 3b ca             	cmp    %dx,%cx
452fdd:	0f 82 ef 00 00 00    	jb     0x4530d2
452fe3:	8d 42 0a             	lea    0xa(%edx),%eax
452fe6:	66 3b c8             	cmp    %ax,%cx
452fe9:	0f 82 4a ff ff ff    	jb     0x452f39
452fef:	ba 66 0c 00 00       	mov    $0xc66,%edx
452ff4:	66 3b ca             	cmp    %dx,%cx
452ff7:	0f 82 d5 00 00 00    	jb     0x4530d2
452ffd:	8d 42 0a             	lea    0xa(%edx),%eax
453000:	66 3b c8             	cmp    %ax,%cx
453003:	0f 82 30 ff ff ff    	jb     0x452f39
453009:	8d 50 76             	lea    0x76(%eax),%edx
45300c:	66 3b ca             	cmp    %dx,%cx
45300f:	0f 82 bd 00 00 00    	jb     0x4530d2
453015:	8d 42 0a             	lea    0xa(%edx),%eax
453018:	66 3b c8             	cmp    %ax,%cx
45301b:	0f 82 18 ff ff ff    	jb     0x452f39
453021:	8d 50 76             	lea    0x76(%eax),%edx
453024:	66 3b ca             	cmp    %dx,%cx
453027:	0f 82 a5 00 00 00    	jb     0x4530d2
45302d:	8d 42 0a             	lea    0xa(%edx),%eax
453030:	66 3b c8             	cmp    %ax,%cx
453033:	0f 82 00 ff ff ff    	jb     0x452f39
453039:	ba 50 0e 00 00       	mov    $0xe50,%edx
45303e:	66 3b ca             	cmp    %dx,%cx
453041:	0f 82 8b 00 00 00    	jb     0x4530d2
453047:	8d 42 0a             	lea    0xa(%edx),%eax
45304a:	66 3b c8             	cmp    %ax,%cx
45304d:	0f 82 e6 fe ff ff    	jb     0x452f39
453053:	8d 50 76             	lea    0x76(%eax),%edx
453056:	66 3b ca             	cmp    %dx,%cx
453059:	72 77                	jb     0x4530d2
45305b:	8d 42 0a             	lea    0xa(%edx),%eax
45305e:	66 3b c8             	cmp    %ax,%cx
453061:	0f 82 d2 fe ff ff    	jb     0x452f39
453067:	83 c2 50             	add    $0x50,%edx
45306a:	66 3b ca             	cmp    %dx,%cx
45306d:	72 63                	jb     0x4530d2
45306f:	83 c0 50             	add    $0x50,%eax
453072:	66 3b c8             	cmp    %ax,%cx
453075:	0f 82 be fe ff ff    	jb     0x452f39
45307b:	ba 40 10 00 00       	mov    $0x1040,%edx
453080:	66 3b ca             	cmp    %dx,%cx
453083:	72 4d                	jb     0x4530d2
453085:	8d 42 0a             	lea    0xa(%edx),%eax
453088:	66 3b c8             	cmp    %ax,%cx
45308b:	0f 82 a8 fe ff ff    	jb     0x452f39
453091:	ba e0 17 00 00       	mov    $0x17e0,%edx
453096:	66 3b ca             	cmp    %dx,%cx
453099:	72 37                	jb     0x4530d2
45309b:	8d 42 0a             	lea    0xa(%edx),%eax
45309e:	66 3b c8             	cmp    %ax,%cx
4530a1:	0f 82 92 fe ff ff    	jb     0x452f39
4530a7:	83 c2 30             	add    $0x30,%edx
4530aa:	66 3b ca             	cmp    %dx,%cx
4530ad:	72 23                	jb     0x4530d2
4530af:	83 c0 30             	add    $0x30,%eax
4530b2:	66 3b c8             	cmp    %ax,%cx
4530b5:	73 1b                	jae    0x4530d2
4530b7:	e9 7d fe ff ff       	jmp    0x452f39
4530bc:	b8 1a ff 00 00       	mov    $0xff1a,%eax
4530c1:	66 3b c8             	cmp    %ax,%cx
4530c4:	0f 82 6f fe ff ff    	jb     0x452f39
4530ca:	83 c8 ff             	or     $0xffffffff,%eax
4530cd:	83 f8 ff             	cmp    $0xffffffff,%eax
4530d0:	75 2f                	jne    0x453101
4530d2:	6a 41                	push   $0x41
4530d4:	58                   	pop    %eax
4530d5:	6a 19                	push   $0x19
4530d7:	5a                   	pop    %edx
4530d8:	66 3b c1             	cmp    %cx,%ax
4530db:	77 06                	ja     0x4530e3
4530dd:	66 83 f9 5a          	cmp    $0x5a,%cx
4530e1:	76 08                	jbe    0x4530eb
4530e3:	8d 41 9f             	lea    -0x61(%ecx),%eax
4530e6:	66 3b c2             	cmp    %dx,%ax
4530e9:	77 13                	ja     0x4530fe
4530eb:	8d 41 9f             	lea    -0x61(%ecx),%eax
4530ee:	66 3b c2             	cmp    %dx,%ax
4530f1:	0f b7 c1             	movzwl %cx,%eax
4530f4:	77 03                	ja     0x4530f9
4530f6:	83 e8 20             	sub    $0x20,%eax
4530f9:	83 c0 c9             	add    $0xffffffc9,%eax
4530fc:	5d                   	pop    %ebp
4530fd:	c3                   	ret
4530fe:	83 c8 ff             	or     $0xffffffff,%eax
453101:	5d                   	pop    %ebp
453102:	c3                   	ret
453103:	8b ff                	mov    %edi,%edi
453105:	55                   	push   %ebp
453106:	8b ec                	mov    %esp,%ebp
453108:	8b 45 08             	mov    0x8(%ebp),%eax
45310b:	89 01                	mov    %eax,(%ecx)
45310d:	b0 01                	mov    $0x1,%al
45310f:	5d                   	pop    %ebp
453110:	c2 04 00             	ret    $0x4
453113:	8b ff                	mov    %edi,%edi
453115:	55                   	push   %ebp
453116:	8b ec                	mov    %esp,%ebp
453118:	8b 45 08             	mov    0x8(%ebp),%eax
45311b:	89 01                	mov    %eax,(%ecx)
45311d:	b0 01                	mov    $0x1,%al
45311f:	5d                   	pop    %ebp
453120:	c2 04 00             	ret    $0x4
453123:	8b ff                	mov    %edi,%edi
453125:	55                   	push   %ebp
453126:	8b ec                	mov    %esp,%ebp
453128:	83 ec 0c             	sub    $0xc,%esp
45312b:	33 c0                	xor    %eax,%eax
45312d:	33 d2                	xor    %edx,%edx
45312f:	53                   	push   %ebx
453130:	8b 5d 14             	mov    0x14(%ebp),%ebx
453133:	83 fb 40             	cmp    $0x40,%ebx
453136:	0f 83 c6 00 00 00    	jae    0x453202
45313c:	56                   	push   %esi
45313d:	57                   	push   %edi
45313e:	8d 4b ff             	lea    -0x1(%ebx),%ecx
453141:	40                   	inc    %eax
453142:	e8 b9 cb fe ff       	call   0x43fd00
453147:	8b f8                	mov    %eax,%edi
453149:	89 55 f8             	mov    %edx,-0x8(%ebp)
45314c:	8b f7                	mov    %edi,%esi
45314e:	8b cb                	mov    %ebx,%ecx
453150:	83 c6 ff             	add    $0xffffffff,%esi
453153:	83 d2 ff             	adc    $0xffffffff,%edx
453156:	33 c0                	xor    %eax,%eax
453158:	89 55 f4             	mov    %edx,-0xc(%ebp)
45315b:	40                   	inc    %eax
45315c:	33 d2                	xor    %edx,%edx
45315e:	e8 9d cb fe ff       	call   0x43fd00
453163:	23 45 0c             	and    0xc(%ebp),%eax
453166:	23 55 10             	and    0x10(%ebp),%edx
453169:	0b c2                	or     %edx,%eax
45316b:	c6 45 fd 01          	movb   $0x1,-0x3(%ebp)
45316f:	6a 00                	push   $0x0
453171:	5b                   	pop    %ebx
453172:	75 03                	jne    0x453177
453174:	88 5d fd             	mov    %bl,-0x3(%ebp)
453177:	8b 45 f8             	mov    -0x8(%ebp),%eax
45317a:	b1 01                	mov    $0x1,%cl
45317c:	23 7d 0c             	and    0xc(%ebp),%edi
45317f:	23 45 10             	and    0x10(%ebp),%eax
453182:	0b f8                	or     %eax,%edi
453184:	75 02                	jne    0x453188
453186:	8a cb                	mov    %bl,%cl
453188:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
45318c:	88 4d ff             	mov    %cl,-0x1(%ebp)
45318f:	74 0f                	je     0x4531a0
453191:	8b 45 f4             	mov    -0xc(%ebp),%eax
453194:	23 45 10             	and    0x10(%ebp),%eax
453197:	23 75 0c             	and    0xc(%ebp),%esi
45319a:	0b f0                	or     %eax,%esi
45319c:	8a c3                	mov    %bl,%al
45319e:	74 02                	je     0x4531a2
4531a0:	b0 01                	mov    $0x1,%al
4531a2:	88 45 fe             	mov    %al,-0x2(%ebp)
4531a5:	84 c9                	test   %cl,%cl
4531a7:	75 04                	jne    0x4531ad
4531a9:	84 c0                	test   %al,%al
4531ab:	74 39                	je     0x4531e6
4531ad:	e8 31 f4 01 00       	call   0x4725e3
4531b2:	85 c0                	test   %eax,%eax
4531b4:	74 1c                	je     0x4531d2
4531b6:	3d 00 01 00 00       	cmp    $0x100,%eax
4531bb:	74 10                	je     0x4531cd
4531bd:	3d 00 02 00 00       	cmp    $0x200,%eax
4531c2:	75 22                	jne    0x4531e6
4531c4:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
4531c8:	0f 94 c3             	sete   %bl
4531cb:	eb 19                	jmp    0x4531e6
4531cd:	8a 5d 08             	mov    0x8(%ebp),%bl
4531d0:	eb 14                	jmp    0x4531e6
4531d2:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
4531d6:	74 0e                	je     0x4531e6
4531d8:	80 7d fe 00          	cmpb   $0x0,-0x2(%ebp)
4531dc:	75 06                	jne    0x4531e4
4531de:	80 7d fd 00          	cmpb   $0x0,-0x3(%ebp)
4531e2:	74 02                	je     0x4531e6
4531e4:	b3 01                	mov    $0x1,%bl
4531e6:	8b 45 0c             	mov    0xc(%ebp),%eax
4531e9:	8b 55 10             	mov    0x10(%ebp),%edx
4531ec:	8b 4d 14             	mov    0x14(%ebp),%ecx
4531ef:	e8 cc cb fe ff       	call   0x43fdc0
4531f4:	8b c8                	mov    %eax,%ecx
4531f6:	8b f2                	mov    %edx,%esi
4531f8:	0f b6 c3             	movzbl %bl,%eax
4531fb:	99                   	cltd
4531fc:	03 c1                	add    %ecx,%eax
4531fe:	5f                   	pop    %edi
4531ff:	13 d6                	adc    %esi,%edx
453201:	5e                   	pop    %esi
453202:	5b                   	pop    %ebx
453203:	8b e5                	mov    %ebp,%esp
453205:	5d                   	pop    %ebp
453206:	c3                   	ret
453207:	8b 01                	mov    (%ecx),%eax
453209:	c3                   	ret
45320a:	8b 01                	mov    (%ecx),%eax
45320c:	c3                   	ret
45320d:	cc                   	int3
45320e:	cc                   	int3
45320f:	cc                   	int3
453210:	8b ff                	mov    %edi,%edi
453212:	55                   	push   %ebp
453213:	8b ec                	mov    %esp,%ebp
453215:	81 ec ec 01 00 00    	sub    $0x1ec,%esp
45321b:	53                   	push   %ebx
45321c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
45321f:	33 d2                	xor    %edx,%edx
453221:	56                   	push   %esi
453222:	8b c3                	mov    %ebx,%eax
453224:	be 20 00 00 00       	mov    $0x20,%esi
453229:	c1 e8 05             	shr    $0x5,%eax
45322c:	83 e3 1f             	and    $0x1f,%ebx
45322f:	8b ce                	mov    %esi,%ecx
453231:	89 45 f0             	mov    %eax,-0x10(%ebp)
453234:	2b cb                	sub    %ebx,%ecx
453236:	89 5d 0c             	mov    %ebx,0xc(%ebp)
453239:	57                   	push   %edi
45323a:	8d 46 e1             	lea    -0x1f(%esi),%eax
45323d:	89 4d e8             	mov    %ecx,-0x18(%ebp)
453240:	e8 bb ca fe ff       	call   0x43fd00
453245:	8b 7d 08             	mov    0x8(%ebp),%edi
453248:	48                   	dec    %eax
453249:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45324c:	f7 d0                	not    %eax
45324e:	89 45 ec             	mov    %eax,-0x14(%ebp)
453251:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
453258:	8b 17                	mov    (%edi),%edx
45325a:	8b 0c 97             	mov    (%edi,%edx,4),%ecx
45325d:	0f bd c1             	bsr    %ecx,%eax
453260:	74 03                	je     0x453265
453262:	40                   	inc    %eax
453263:	eb 02                	jmp    0x453267
453265:	33 c0                	xor    %eax,%eax
453267:	2b f0                	sub    %eax,%esi
453269:	8b 45 f0             	mov    -0x10(%ebp),%eax
45326c:	3b de                	cmp    %esi,%ebx
45326e:	0f 97 c1             	seta   %cl
453271:	03 d0                	add    %eax,%edx
453273:	83 fa 73             	cmp    $0x73,%edx
453276:	88 4d ff             	mov    %cl,-0x1(%ebp)
453279:	89 55 f8             	mov    %edx,-0x8(%ebp)
45327c:	0f 97 c3             	seta   %bl
45327f:	83 fa 73             	cmp    $0x73,%edx
453282:	75 08                	jne    0x45328c
453284:	84 c9                	test   %cl,%cl
453286:	74 04                	je     0x45328c
453288:	b1 01                	mov    $0x1,%cl
45328a:	eb 02                	jmp    0x45328e
45328c:	32 c9                	xor    %cl,%cl
45328e:	84 db                	test   %bl,%bl
453290:	0f 85 a2 00 00 00    	jne    0x453338
453296:	84 c9                	test   %cl,%cl
453298:	0f 85 9a 00 00 00    	jne    0x453338
45329e:	83 fa 72             	cmp    $0x72,%edx
4532a1:	72 08                	jb     0x4532ab
4532a3:	ba 72 00 00 00       	mov    $0x72,%edx
4532a8:	89 55 f8             	mov    %edx,-0x8(%ebp)
4532ab:	8b da                	mov    %edx,%ebx
4532ad:	83 fa ff             	cmp    $0xffffffff,%edx
4532b0:	74 64                	je     0x453316
4532b2:	8b f2                	mov    %edx,%esi
4532b4:	8d 4f 04             	lea    0x4(%edi),%ecx
4532b7:	2b f0                	sub    %eax,%esi
4532b9:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
4532bc:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4532bf:	8d 3c b7             	lea    (%edi,%esi,4),%edi
4532c2:	83 c7 04             	add    $0x4,%edi
4532c5:	3b d8                	cmp    %eax,%ebx
4532c7:	72 47                	jb     0x453310
4532c9:	8b 45 08             	mov    0x8(%ebp),%eax
4532cc:	8b 08                	mov    (%eax),%ecx
4532ce:	3b f1                	cmp    %ecx,%esi
4532d0:	73 04                	jae    0x4532d6