451f7a:	8b 55 dc             	mov    -0x24(%ebp),%edx
451f7d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
451f80:	42                   	inc    %edx
451f81:	83 c3 0c             	add    $0xc,%ebx
451f84:	03 d7                	add    %edi,%edx
451f86:	41                   	inc    %ecx
451f87:	89 55 dc             	mov    %edx,-0x24(%ebp)
451f8a:	89 4d e8             	mov    %ecx,-0x18(%ebp)
451f8d:	81 fb 9c 77 4b 00    	cmp    $0x4b779c,%ebx
451f93:	7c ce                	jl     0x451f63
451f95:	e9 0a 01 00 00       	jmp    0x4520a4
451f9a:	6b 45 e8 0c          	imul   $0xc,-0x18(%ebp),%eax
451f9e:	bf 9e 00 00 00       	mov    $0x9e,%edi
451fa3:	8b 88 34 77 4b 00    	mov    0x4b7734(%eax),%ecx
451fa9:	3b cf                	cmp    %edi,%ecx
451fab:	75 5f                	jne    0x45200c
451fad:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
451fb1:	0f 85 b0 25 00 00    	jne    0x454567
451fb7:	8b 5d 28             	mov    0x28(%ebp),%ebx
451fba:	8b 45 f4             	mov    -0xc(%ebp),%eax
451fbd:	8b 55 f8             	mov    -0x8(%ebp),%edx
451fc0:	8b 4b 24             	mov    0x24(%ebx),%ecx
451fc3:	89 43 6c             	mov    %eax,0x6c(%ebx)
451fc6:	85 c9                	test   %ecx,%ecx
451fc8:	74 1c                	je     0x451fe6
451fca:	6a 02                	push   $0x2
451fcc:	5e                   	pop    %esi
451fcd:	b8 a0 00 00 00       	mov    $0xa0,%eax
451fd2:	66 89 02             	mov    %ax,(%edx)
451fd5:	03 d6                	add    %esi,%edx
451fd7:	66 8b 41 04          	mov    0x4(%ecx),%ax
451fdb:	66 89 02             	mov    %ax,(%edx)
451fde:	03 d6                	add    %esi,%edx
451fe0:	8b 09                	mov    (%ecx),%ecx
451fe2:	85 c9                	test   %ecx,%ecx
451fe4:	75 e7                	jne    0x451fcd
451fe6:	33 c0                	xor    %eax,%eax
451fe8:	33 c9                	xor    %ecx,%ecx
451fea:	39 4b 5c             	cmp    %ecx,0x5c(%ebx)
451fed:	6a 02                	push   $0x2
451fef:	0f 9f c0             	setg   %al
451ff2:	03 c7                	add    %edi,%eax
451ff4:	66 89 02             	mov    %ax,(%edx)
451ff7:	0f b7 f0             	movzwl %ax,%esi
451ffa:	58                   	pop    %eax
451ffb:	03 d0                	add    %eax,%edx
451ffd:	83 7d d4 fe          	cmpl   $0xfffffffe,-0x2c(%ebp)
452001:	89 55 f8             	mov    %edx,-0x8(%ebp)
452004:	75 74                	jne    0x45207a
452006:	83 4d d4 ff          	orl    $0xffffffff,-0x2c(%ebp)
45200a:	eb 6e                	jmp    0x45207a
45200c:	8b 5d ec             	mov    -0x14(%ebp),%ebx
45200f:	85 db                	test   %ebx,%ebx
452011:	75 1d                	jne    0x452030
452013:	85 c9                	test   %ecx,%ecx
452015:	0f 88 5a 25 00 00    	js     0x454575
45201b:	0f b7 c1             	movzwl %cx,%eax
45201e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
452021:	8b f0                	mov    %eax,%esi
452023:	6a 02                	push   $0x2
452025:	66 89 01             	mov    %ax,(%ecx)
452028:	58                   	pop    %eax
452029:	03 c8                	add    %eax,%ecx
45202b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
45202e:	eb 47                	jmp    0x452077
452030:	33 c9                	xor    %ecx,%ecx
452032:	39 88 38 77 4b 00    	cmp    %ecx,0x4b7738(%eax)
452038:	0f 8c 29 25 00 00    	jl     0x454567
45203e:	0f b7 80 38 77 4b 00 	movzwl 0x4b7738(%eax),%eax
452045:	8b 7d f8             	mov    -0x8(%ebp),%edi
452048:	8b f0                	mov    %eax,%esi
45204a:	6a 02                	push   $0x2
45204c:	66 89 07             	mov    %ax,(%edi)
45204f:	58                   	pop    %eax
452050:	03 f8                	add    %eax,%edi
452052:	66 89 1f             	mov    %bx,(%edi)
452055:	03 f8                	add    %eax,%edi
452057:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
45205a:	50                   	push   %eax
45205b:	ff 75 e4             	push   -0x1c(%ebp)
45205e:	57                   	push   %edi
45205f:	e8 1c f0 fc ff       	call   0x421080
452064:	83 c4 0c             	add    $0xc,%esp
452067:	8d 3c 5f             	lea    (%edi,%ebx,2),%edi
45206a:	33 c0                	xor    %eax,%eax
45206c:	66 89 07             	mov    %ax,(%edi)
45206f:	6a 02                	push   $0x2
452071:	58                   	pop    %eax
452072:	03 f8                	add    %eax,%edi
452074:	89 7d f8             	mov    %edi,-0x8(%ebp)
452077:	8b 5d 28             	mov    0x28(%ebp),%ebx
45207a:	81 fe 96 00 00 00    	cmp    $0x96,%esi
452080:	7c 1f                	jl     0x4520a1
452082:	81 fe 99 00 00 00    	cmp    $0x99,%esi
452088:	7e 11                	jle    0x45209b
45208a:	81 fe 9b 00 00 00    	cmp    $0x9b,%esi
452090:	7f 0f                	jg     0x4520a1
452092:	81 4b 64 00 10 00 00 	orl    $0x1000,0x64(%ebx)
452099:	eb 06                	jmp    0x4520a1
45209b:	8b 45 f4             	mov    -0xc(%ebp),%eax
45209e:	89 43 70             	mov    %eax,0x70(%ebx)
4520a1:	8b 75 fc             	mov    -0x4(%ebp),%esi
4520a4:	6a 09                	push   $0x9
4520a6:	58                   	pop    %eax
4520a7:	39 45 e8             	cmp    %eax,-0x18(%ebp)
4520aa:	0f 8c ca fd ff ff    	jl     0x451e7a
4520b0:	6a 3c                	push   $0x3c
4520b2:	e9 c7 25 00 00       	jmp    0x45467e
4520b7:	33 c9                	xor    %ecx,%ecx
4520b9:	e9 50 58 fc ff       	jmp    0x41790e
4520be:	0f 84 52 05 00 00    	je     0x452616
4520c4:	83 f8 28             	cmp    $0x28,%eax
4520c7:	0f 8f 14 05 00 00    	jg     0x4525e1
4520cd:	0f 84 bf 00 00 00    	je     0x452192
4520d3:	83 e8 21             	sub    $0x21,%eax
4520d6:	74 2e                	je     0x452106
4520d8:	83 e8 05             	sub    $0x5,%eax
4520db:	74 0c                	je     0x4520e9
4520dd:	48                   	dec    %eax
4520de:	0f 84 3c 06 00 00    	je     0x452720
4520e4:	e9 db 5b fc ff       	jmp    0x417cc4
4520e9:	6a 29                	push   $0x29
4520eb:	58                   	pop    %eax
4520ec:	8b d8                	mov    %eax,%ebx
4520ee:	8b 45 f4             	mov    -0xc(%ebp),%eax
4520f1:	89 45 e8             	mov    %eax,-0x18(%ebp)
4520f4:	eb 08                	jmp    0x4520fe
4520f6:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4520f9:	6a 29                	push   $0x29
4520fb:	58                   	pop    %eax
4520fc:	8b d8                	mov    %eax,%ebx
4520fe:	8b 55 0c             	mov    0xc(%ebp),%edx
452101:	e9 b4 16 00 00       	jmp    0x4537ba
452106:	03 f2                	add    %edx,%esi
452108:	6a 29                	push   $0x29
45210a:	58                   	pop    %eax
45210b:	89 75 fc             	mov    %esi,-0x4(%ebp)
45210e:	66 39 06             	cmp    %ax,(%esi)
452111:	75 71                	jne    0x452184
452113:	0f b7 46 02          	movzwl 0x2(%esi),%eax
452117:	6a 2a                	push   $0x2a
452119:	5a                   	pop    %edx
45211a:	66 3b c2             	cmp    %dx,%ax
45211d:	74 65                	je     0x452184
45211f:	6a 2b                	push   $0x2b
452121:	5a                   	pop    %edx
452122:	66 3b c2             	cmp    %dx,%ax
452125:	74 5d                	je     0x452184
452127:	6a 3f                	push   $0x3f
452129:	5a                   	pop    %edx
45212a:	66 3b c2             	cmp    %dx,%ax
45212d:	74 55                	je     0x452184
45212f:	6a 7b                	push   $0x7b
452131:	5a                   	pop    %edx
452132:	66 3b c2             	cmp    %dx,%ax
452135:	75 0e                	jne    0x452145
452137:	8d 4e 04             	lea    0x4(%esi),%ecx
45213a:	e8 20 c5 03 00       	call   0x48e65f
45213f:	85 c0                	test   %eax,%eax
452141:	75 41                	jne    0x452184
452143:	33 c9                	xor    %ecx,%ecx
452145:	8b 55 f8             	mov    -0x8(%ebp),%edx
452148:	b8 9d 00 00 00       	mov    $0x9d,%eax
45214d:	6a 02                	push   $0x2
45214f:	5b                   	pop    %ebx
452150:	66 89 02             	mov    %ax,(%edx)
452153:	03 d3                	add    %ebx,%edx
452155:	8b d9                	mov    %ecx,%ebx
452157:	eb 23                	jmp    0x45217c
452159:	66 89 0a             	mov    %cx,(%edx)
45215c:	6a 02                	push   $0x2
45215e:	58                   	pop    %eax
45215f:	03 d0                	add    %eax,%edx
452161:	8b 45 fc             	mov    -0x4(%ebp),%eax
452164:	2b 43 18             	sub    0x18(%ebx),%eax
452167:	d1 f8                	sar    $1,%eax
452169:	40                   	inc    %eax
45216a:	66 89 02             	mov    %ax,(%edx)
45216d:	33 c0                	xor    %eax,%eax
45216f:	66 89 42 02          	mov    %ax,0x2(%edx)
452173:	6a 04                	push   $0x4
452175:	58                   	pop    %eax
452176:	03 d0                	add    %eax,%edx
452178:	33 c0                	xor    %eax,%eax
45217a:	8b d8                	mov    %eax,%ebx
45217c:	89 5d f0             	mov    %ebx,-0x10(%ebp)
45217f:	e9 71 5f fc ff       	jmp    0x4180f5
452184:	8b 55 28             	mov    0x28(%ebp),%edx
452187:	6a 7e                	push   $0x7e
452189:	5b                   	pop    %ebx
45218a:	ff 42 5c             	incl   0x5c(%edx)
45218d:	e9 db 14 00 00       	jmp    0x45366d
452192:	6a 3f                	push   $0x3f
452194:	58                   	pop    %eax
452195:	bb 87 00 00 00       	mov    $0x87,%ebx
45219a:	8b d6                	mov    %esi,%edx
45219c:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
45219f:	89 55 90             	mov    %edx,-0x70(%ebp)
4521a2:	66 39 46 02          	cmp    %ax,0x2(%esi)
4521a6:	75 3d                	jne    0x4521e5
4521a8:	6a 43                	push   $0x43
4521aa:	59                   	pop    %ecx
4521ab:	66 39 4e 04          	cmp    %cx,0x4(%esi)
4521af:	75 34                	jne    0x4521e5
4521b1:	0f b7 46 06          	movzwl 0x6(%esi),%eax
4521b5:	6a 03                	push   $0x3
4521b7:	59                   	pop    %ecx
4521b8:	6a 30                	push   $0x30
4521ba:	5f                   	pop    %edi
4521bb:	eb 0e                	jmp    0x4521cb
4521bd:	66 3b 85 70 ff ff ff 	cmp    -0x90(%ebp),%ax
4521c4:	77 0a                	ja     0x4521d0
4521c6:	41                   	inc    %ecx
4521c7:	0f b7 04 4e          	movzwl (%esi,%ecx,2),%eax
4521cb:	66 3b c7             	cmp    %di,%ax
4521ce:	73 ed                	jae    0x4521bd
4521d0:	6a 29                	push   $0x29
4521d2:	58                   	pop    %eax
4521d3:	66 39 04 4e          	cmp    %ax,(%esi,%ecx,2)
4521d7:	6a 3f                	push   $0x3f
4521d9:	58                   	pop    %eax
4521da:	75 09                	jne    0x4521e5
4521dc:	8d 51 01             	lea    0x1(%ecx),%edx
4521df:	8d 14 56             	lea    (%esi,%edx,2),%edx
4521e2:	89 55 90             	mov    %edx,-0x70(%ebp)
4521e5:	66 39 42 02          	cmp    %ax,0x2(%edx)
4521e9:	75 3b                	jne    0x452226
4521eb:	0f b7 42 04          	movzwl 0x4(%edx),%eax
4521ef:	6a 3d                	push   $0x3d
4521f1:	5f                   	pop    %edi
4521f2:	66 3b c7             	cmp    %di,%ax
4521f5:	74 21                	je     0x452218
4521f7:	6a 21                	push   $0x21
4521f9:	59                   	pop    %ecx
4521fa:	66 3b c1             	cmp    %cx,%ax
4521fd:	74 19                	je     0x452218
4521ff:	6a 3c                	push   $0x3c
452201:	59                   	pop    %ecx
452202:	66 3b c1             	cmp    %cx,%ax
452205:	75 1f                	jne    0x452226
452207:	0f b7 42 06          	movzwl 0x6(%edx),%eax
45220b:	66 3b c7             	cmp    %di,%ax
45220e:	74 08                	je     0x452218
452210:	6a 21                	push   $0x21
452212:	59                   	pop    %ecx
452213:	66 3b c1             	cmp    %cx,%ax
452216:	75 0e                	jne    0x452226
452218:	8b 55 28             	mov    0x28(%ebp),%edx
45221b:	8b 45 f4             	mov    -0xc(%ebp),%eax
45221e:	89 42 7c             	mov    %eax,0x7c(%edx)
452221:	e9 47 14 00 00       	jmp    0x45366d
452226:	8b 45 f8             	mov    -0x8(%ebp),%eax
452229:	b9 8d 00 00 00       	mov    $0x8d,%ecx
45222e:	6a 02                	push   $0x2
452230:	33 db                	xor    %ebx,%ebx
452232:	83 cf ff             	or     $0xffffffff,%edi
452235:	09 7d e8             	or     %edi,-0x18(%ebp)
452238:	8b d3                	mov    %ebx,%edx
45223a:	66 89 48 04          	mov    %cx,0x4(%eax)
45223e:	8b cb                	mov    %ebx,%ecx
452240:	8b 75 fc             	mov    -0x4(%ebp),%esi
452243:	58                   	pop    %eax
452244:	03 f0                	add    %eax,%esi
452246:	89 45 e0             	mov    %eax,-0x20(%ebp)
452249:	89 75 fc             	mov    %esi,-0x4(%ebp)
45224c:	89 4d ec             	mov    %ecx,-0x14(%ebp)
45224f:	0f b7 06             	movzwl (%esi),%eax
452252:	66 3b 85 bc fe ff ff 	cmp    -0x144(%ebp),%ax
452259:	0f 85 26 01 00 00    	jne    0x452385
45225f:	6a 26                	push   $0x26
452261:	5b                   	pop    %ebx
452262:	66 39 5e 02          	cmp    %bx,0x2(%esi)
452266:	52                   	push   %edx
452267:	5b                   	pop    %ebx
452268:	0f 85 17 01 00 00    	jne    0x452385
45226e:	6a 04                	push   $0x4
452270:	58                   	pop    %eax
452271:	0b df                	or     %edi,%ebx
452273:	b9 8f 00 00 00       	mov    $0x8f,%ecx
452278:	03 f0                	add    %eax,%esi
45227a:	89 5d f0             	mov    %ebx,-0x10(%ebp)
45227d:	8b 45 f8             	mov    -0x8(%ebp),%eax
452280:	89 75 fc             	mov    %esi,-0x4(%ebp)
452283:	66 89 48 04          	mov    %cx,0x4(%eax)
452287:	8b 75 fc             	mov    -0x4(%ebp),%esi
45228a:	0f b7 06             	movzwl (%esi),%eax
45228d:	6a 30                	push   $0x30
45228f:	59                   	pop    %ecx
452290:	66 3b c1             	cmp    %cx,%ax
452293:	72 0c                	jb     0x4522a1
452295:	6a 39                	push   $0x39
452297:	59                   	pop    %ecx
452298:	66 3b c1             	cmp    %cx,%ax
45229b:	0f 86 e2 22 00 00    	jbe    0x454583
4522a1:	b9 ff 00 00 00       	mov    $0xff,%ecx
4522a6:	66 3b c1             	cmp    %cx,%ax
4522a9:	0f 87 03 23 00 00    	ja     0x4545b2
4522af:	0f b7 c8             	movzwl %ax,%ecx
4522b2:	8b 45 28             	mov    0x28(%ebp),%eax
4522b5:	8b 40 0c             	mov    0xc(%eax),%eax
4522b8:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
4522bc:	0f 84 f0 22 00 00    	je     0x4545b2
4522c2:	6a 02                	push   $0x2
4522c4:	58                   	pop    %eax
4522c5:	89 75 ec             	mov    %esi,-0x14(%ebp)
4522c8:	b9 ff 00 00 00       	mov    $0xff,%ecx
4522cd:	03 f0                	add    %eax,%esi
4522cf:	89 75 fc             	mov    %esi,-0x4(%ebp)
4522d2:	0f b7 06             	movzwl (%esi),%eax
4522d5:	66 3b c1             	cmp    %cx,%ax
4522d8:	77 26                	ja     0x452300
4522da:	8b 4d 28             	mov    0x28(%ebp),%ecx
4522dd:	6a 02                	push   $0x2
4522df:	5b                   	pop    %ebx
4522e0:	8b 49 0c             	mov    0xc(%ecx),%ecx
4522e3:	0f b7 c0             	movzwl %ax,%eax
4522e6:	f6 04 08 10          	testb  $0x10,(%eax,%ecx,1)
4522ea:	74 11                	je     0x4522fd
4522ec:	03 f3                	add    %ebx,%esi
4522ee:	89 75 fc             	mov    %esi,-0x4(%ebp)
4522f1:	0f b7 06             	movzwl (%esi),%eax
4522f4:	66 3b 85 4c ff ff ff 	cmp    -0xb4(%ebp),%ax
4522fb:	76 e6                	jbe    0x4522e3
4522fd:	8b 5d f0             	mov    -0x10(%ebp),%ebx
452300:	8b 45 2c             	mov    0x2c(%ebp),%eax
452303:	8b ce                	mov    %esi,%ecx
452305:	2b 4d ec             	sub    -0x14(%ebp),%ecx
452308:	d1 f9                	sar    $1,%ecx
45230a:	89 4d e8             	mov    %ecx,-0x18(%ebp)
45230d:	85 c0                	test   %eax,%eax
45230f:	74 02                	je     0x452313
452311:	ff 00                	incl   (%eax)
452313:	85 db                	test   %ebx,%ebx
452315:	7e 14                	jle    0x45232b
452317:	66 8b 06             	mov    (%esi),%ax
45231a:	6a 02                	push   $0x2
45231c:	59                   	pop    %ecx
45231d:	03 f1                	add    %ecx,%esi
45231f:	89 75 fc             	mov    %esi,-0x4(%ebp)
452322:	66 3b c3             	cmp    %bx,%ax
452325:	0f 85 74 22 00 00    	jne    0x45459f
45232b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45232e:	66 8b 06             	mov    (%esi),%ax
452331:	6a 02                	push   $0x2
452333:	5b                   	pop    %ebx
452334:	03 f3                	add    %ebx,%esi
452336:	6a 29                	push   $0x29
452338:	5b                   	pop    %ebx
452339:	89 75 dc             	mov    %esi,-0x24(%ebp)
45233c:	89 75 fc             	mov    %esi,-0x4(%ebp)