4540ed:	59                   	pop    %ecx
4540ee:	03 f9                	add    %ecx,%edi
4540f0:	66 89 07             	mov    %ax,(%edi)
4540f3:	03 f9                	add    %ecx,%edi
4540f5:	66 8b 45 c8          	mov    -0x38(%ebp),%ax
4540f9:	66 89 07             	mov    %ax,(%edi)
4540fc:	03 f9                	add    %ecx,%edi
4540fe:	8b 45 f4             	mov    -0xc(%ebp),%eax
454101:	ff 4d e0             	decl   -0x20(%ebp)
454104:	89 7d ec             	mov    %edi,-0x14(%ebp)
454107:	89 45 c8             	mov    %eax,-0x38(%ebp)
45410a:	e9 7d 36 fc ff       	jmp    0x41778c
45410f:	83 fe 12             	cmp    $0x12,%esi
454112:	74 70                	je     0x454184
454114:	83 fe 13             	cmp    $0x13,%esi
454117:	74 43                	je     0x45415c
454119:	83 fe 14             	cmp    $0x14,%esi
45411c:	74 5f                	je     0x45417d
45411e:	83 fe 15             	cmp    $0x15,%esi
454121:	74 30                	je     0x454153
454123:	83 c6 e3             	add    $0xffffffe3,%esi
454126:	83 fe 05             	cmp    $0x5,%esi
454129:	0f 86 dc fc ff ff    	jbe    0x453e0b
45412f:	f6 45 cc 40          	testb  $0x40,-0x34(%ebp)
454133:	8b 75 fc             	mov    -0x4(%ebp),%esi
454136:	0f 85 4a 05 00 00    	jne    0x454686
45413c:	0f b7 1e             	movzwl (%esi),%ebx
45413f:	49                   	dec    %ecx
454140:	6a 02                	push   $0x2
454142:	89 4d e0             	mov    %ecx,-0x20(%ebp)
454145:	59                   	pop    %ecx
454146:	2b c1                	sub    %ecx,%eax
454148:	89 5d e8             	mov    %ebx,-0x18(%ebp)
45414b:	89 45 a8             	mov    %eax,-0x58(%ebp)
45414e:	e9 c0 35 fc ff       	jmp    0x417713
454153:	6a ff                	push   $0xffffffff
454155:	68 80 93 4b 00       	push   $0x4b9380
45415a:	eb 07                	jmp    0x454163
45415c:	6a ff                	push   $0xffffffff
45415e:	68 30 8f 4b 00       	push   $0x4b8f30
454163:	53                   	push   %ebx
454164:	ff 75 cc             	push   -0x34(%ebp)
454167:	8d 55 ec             	lea    -0x14(%ebp),%edx
45416a:	8d 8d 2c ff ff ff    	lea    -0xd4(%ebp),%ecx
454170:	e8 23 9b 03 00       	call   0x48dc98
454175:	83 c4 10             	add    $0x10,%esp
454178:	e9 0c 36 fc ff       	jmp    0x417789
45417d:	68 80 93 4b 00       	push   $0x4b9380
454182:	eb 05                	jmp    0x454189
454184:	68 30 8f 4b 00       	push   $0x4b8f30
454189:	53                   	push   %ebx
45418a:	ff 75 cc             	push   -0x34(%ebp)
45418d:	8d 55 ec             	lea    -0x14(%ebp),%edx
454190:	8d 8d 2c ff ff ff    	lea    -0xd4(%ebp),%ecx
454196:	e8 ff 9b 03 00       	call   0x48dd9a
45419b:	83 c4 0c             	add    $0xc,%esp
45419e:	e9 e6 35 fc ff       	jmp    0x417789
4541a3:	8b 75 fc             	mov    -0x4(%ebp),%esi
4541a6:	e9 e7 35 fc ff       	jmp    0x417792
4541ab:	66 39 5e 04          	cmp    %bx,0x4(%esi)
4541af:	75 0f                	jne    0x4541c0
4541b1:	83 c6 04             	add    $0x4,%esi
4541b4:	89 4d d0             	mov    %ecx,-0x30(%ebp)
4541b7:	89 75 fc             	mov    %esi,-0x4(%ebp)
4541ba:	66 39 7e 02          	cmp    %di,0x2(%esi)
4541be:	74 eb                	je     0x4541ab
4541c0:	8b 5d e8             	mov    -0x18(%ebp),%ebx
4541c3:	8b 55 0c             	mov    0xc(%ebp),%edx
4541c6:	e9 57 35 fc ff       	jmp    0x417722
4541cb:	8b 45 28             	mov    0x28(%ebp),%eax
4541ce:	81 48 64 00 08 00 00 	orl    $0x800,0x64(%eax)
4541d5:	e9 60 35 fc ff       	jmp    0x41773a
4541da:	6a 5c                	push   $0x5c
4541dc:	5a                   	pop    %edx
4541dd:	6a 45                	push   $0x45
4541df:	5f                   	pop    %edi
4541e0:	66 39 7e 02          	cmp    %di,0x2(%esi)
4541e4:	75 0a                	jne    0x4541f0
4541e6:	03 f0                	add    %eax,%esi
4541e8:	89 75 fc             	mov    %esi,-0x4(%ebp)
4541eb:	66 39 16             	cmp    %dx,(%esi)
4541ee:	74 f0                	je     0x4541e0
4541f0:	66 39 16             	cmp    %dx,(%esi)
4541f3:	8b 5d e8             	mov    -0x18(%ebp),%ebx
4541f6:	8b 55 0c             	mov    0xc(%ebp),%edx
4541f9:	8b 7d d0             	mov    -0x30(%ebp),%edi
4541fc:	0f 85 e2 3c fc ff    	jne    0x417ee4
454202:	66 83 7e 02 51       	cmpw   $0x51,0x2(%esi)
454207:	0f 85 d7 3c fc ff    	jne    0x417ee4
45420d:	03 f0                	add    %eax,%esi
45420f:	6a 5c                	push   $0x5c
454211:	58                   	pop    %eax
454212:	89 75 fc             	mov    %esi,-0x4(%ebp)
454215:	66 39 06             	cmp    %ax,(%esi)
454218:	6a 04                	push   $0x4
45421a:	58                   	pop    %eax
45421b:	75 21                	jne    0x45423e
45421d:	6a 45                	push   $0x45
45421f:	58                   	pop    %eax
454220:	66 39 46 02          	cmp    %ax,0x2(%esi)
454224:	6a 04                	push   $0x4
454226:	58                   	pop    %eax
454227:	75 15                	jne    0x45423e
454229:	03 f0                	add    %eax,%esi
45422b:	6a 5c                	push   $0x5c
45422d:	58                   	pop    %eax
45422e:	89 75 fc             	mov    %esi,-0x4(%ebp)
454231:	66 39 06             	cmp    %ax,(%esi)
454234:	6a 04                	push   $0x4
454236:	58                   	pop    %eax
454237:	74 c9                	je     0x454202
454239:	e9 a6 3c fc ff       	jmp    0x417ee4
45423e:	8b 7d f4             	mov    -0xc(%ebp),%edi
454241:	89 7d d0             	mov    %edi,-0x30(%ebp)
454244:	e9 9b 3c fc ff       	jmp    0x417ee4
454249:	83 c6 02             	add    $0x2,%esi
45424c:	b9 ff 03 00 00       	mov    $0x3ff,%ecx
454251:	23 f9                	and    %ecx,%edi
454253:	c1 e7 0a             	shl    $0xa,%edi
454256:	0f b7 06             	movzwl (%esi),%eax
454259:	23 c1                	and    %ecx,%eax
45425b:	89 75 fc             	mov    %esi,-0x4(%ebp)
45425e:	0b f8                	or     %eax,%edi
454260:	81 c7 00 00 01 00    	add    $0x10000,%edi
454266:	89 7d e8             	mov    %edi,-0x18(%ebp)
454269:	e9 b1 3c fc ff       	jmp    0x417f1f
45426e:	ff 75 f4             	push   -0xc(%ebp)
454271:	8b 45 28             	mov    0x28(%ebp),%eax
454274:	8d 4d fc             	lea    -0x4(%ebp),%ecx
454277:	ff 75 cc             	push   -0x34(%ebp)
45427a:	ff 70 40             	push   0x40(%eax)
45427d:	52                   	push   %edx
45427e:	8d 55 e8             	lea    -0x18(%ebp),%edx
454281:	e8 3e 41 fc ff       	call   0x4183c4
454286:	8b 4d 0c             	mov    0xc(%ebp),%ecx
454289:	33 d2                	xor    %edx,%edx
45428b:	83 c4 10             	add    $0x10,%esp
45428e:	39 11                	cmp    %edx,(%ecx)
454290:	0f 85 67 40 fc ff    	jne    0x4182fd
454296:	8b 75 fc             	mov    -0x4(%ebp),%esi
454299:	85 c0                	test   %eax,%eax
45429b:	74 11                	je     0x4542ae
45429d:	83 f8 05             	cmp    $0x5,%eax
4542a0:	0f 85 f3 03 00 00    	jne    0x454699
4542a6:	6a 08                	push   $0x8
4542a8:	5f                   	pop    %edi
4542a9:	e9 8e 3c fc ff       	jmp    0x417f3c
4542ae:	8b 7d e8             	mov    -0x18(%ebp),%edi
4542b1:	e9 86 3c fc ff       	jmp    0x417f3c
4542b6:	0f b7 46 02          	movzwl 0x2(%esi),%eax
4542ba:	6a 3a                	push   $0x3a
4542bc:	59                   	pop    %ecx
4542bd:	66 3b c1             	cmp    %cx,%ax
4542c0:	74 14                	je     0x4542d6
4542c2:	6a 2e                	push   $0x2e
4542c4:	59                   	pop    %ecx
4542c5:	66 3b c1             	cmp    %cx,%ax
4542c8:	74 0c                	je     0x4542d6
4542ca:	6a 3d                	push   $0x3d
4542cc:	59                   	pop    %ecx
4542cd:	66 3b c1             	cmp    %cx,%ax
4542d0:	0f 85 63 3c fc ff    	jne    0x417f39
4542d6:	8d 55 90             	lea    -0x70(%ebp),%edx
4542d9:	8b ce                	mov    %esi,%ecx
4542db:	e8 4e 9d 03 00       	call   0x48e02e
4542e0:	85 c0                	test   %eax,%eax
4542e2:	0f 84 51 3c fc ff    	je     0x417f39
4542e8:	8b 45 0c             	mov    0xc(%ebp),%eax
4542eb:	c7 00 53 00 00 00    	movl   $0x53,(%eax)
4542f1:	e9 bc 03 00 00       	jmp    0x4546b2
4542f6:	8b 45 28             	mov    0x28(%ebp),%eax
4542f9:	81 48 64 00 08 00 00 	orl    $0x800,0x64(%eax)
454300:	e9 64 3c fc ff       	jmp    0x417f69
454305:	8b 5d a0             	mov    -0x60(%ebp),%ebx
454308:	85 db                	test   %ebx,%ebx
45430a:	74 1d                	je     0x454329
45430c:	8b f3                	mov    %ebx,%esi
45430e:	33 db                	xor    %ebx,%ebx
454310:	89 5d a0             	mov    %ebx,-0x60(%ebp)
454313:	6a 02                	push   $0x2
454315:	5b                   	pop    %ebx
454316:	03 f3                	add    %ebx,%esi
454318:	89 75 fc             	mov    %esi,-0x4(%ebp)
45431b:	0f b7 1e             	movzwl (%esi),%ebx
45431e:	89 5d e8             	mov    %ebx,-0x18(%ebp)
454321:	85 db                	test   %ebx,%ebx
454323:	0f 85 85 34 fc ff    	jne    0x4177ae
454329:	8b 45 0c             	mov    0xc(%ebp),%eax
45432c:	c7 00 06 00 00 00    	movl   $0x6,(%eax)
454332:	e9 7b 03 00 00       	jmp    0x4546b2
454337:	8b 7d a4             	mov    -0x5c(%ebp),%edi
45433a:	03 f1                	add    %ecx,%esi
45433c:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
454340:	8b 45 ac             	mov    -0x54(%ebp),%eax
454343:	89 75 fc             	mov    %esi,-0x4(%ebp)
454346:	89 7d d8             	mov    %edi,-0x28(%ebp)
454349:	89 45 a8             	mov    %eax,-0x58(%ebp)
45434c:	0f 84 b2 00 00 00    	je     0x454404
454352:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
454355:	83 f9 fe             	cmp    $0xfffffffe,%ecx
454358:	75 06                	jne    0x454360
45435a:	83 c9 ff             	or     $0xffffffff,%ecx
45435d:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
454360:	8b 75 c4             	mov    -0x3c(%ebp),%esi
454363:	8b 45 9c             	mov    -0x64(%ebp),%eax
454366:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
454369:	8b 4d cc             	mov    -0x34(%ebp),%ecx
45436c:	89 45 84             	mov    %eax,-0x7c(%ebp)
45436f:	85 f6                	test   %esi,%esi
454371:	74 54                	je     0x4543c7
454373:	84 ca                	test   %cl,%dl
454375:	74 52                	je     0x4543c9
454377:	8b c3                	mov    %ebx,%eax
454379:	bf 80 00 00 00       	mov    $0x80,%edi
45437e:	99                   	cltd
45437f:	f7 ff                	idiv   %edi
454381:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
454388:	c1 e0 07             	shl    $0x7,%eax
45438b:	03 c2                	add    %edx,%eax
45438d:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
454394:	00
454395:	0f b6 04 c5 53 2f 4a 	movzbl 0x4a2f53(,%eax,8),%eax
45439c:	00
45439d:	85 c0                	test   %eax,%eax
45439f:	74 23                	je     0x4543c4
4543a1:	8b 55 f8             	mov    -0x8(%ebp),%edx
4543a4:	6a 0f                	push   $0xf
4543a6:	59                   	pop    %ecx
4543a7:	6a 02                	push   $0x2
4543a9:	66 89 0a             	mov    %cx,(%edx)
4543ac:	59                   	pop    %ecx
4543ad:	03 d1                	add    %ecx,%edx
4543af:	6a 09                	push   $0x9
4543b1:	5b                   	pop    %ebx
4543b2:	66 89 1a             	mov    %bx,(%edx)
4543b5:	03 d1                	add    %ecx,%edx
4543b7:	66 89 02             	mov    %ax,(%edx)
4543ba:	03 d1                	add    %ecx,%edx
4543bc:	89 55 f8             	mov    %edx,-0x8(%ebp)
4543bf:	e9 51 31 fc ff       	jmp    0x417515
4543c4:	8b 55 f4             	mov    -0xc(%ebp),%edx
4543c7:	84 ca                	test   %cl,%dl
4543c9:	8b 7d f8             	mov    -0x8(%ebp),%edi
4543cc:	6a 00                	push   $0x0
4543ce:	58                   	pop    %eax
4543cf:	6a 1f                	push   $0x1f
4543d1:	59                   	pop    %ecx
4543d2:	0f 95 c0             	setne  %al
4543d5:	03 c1                	add    %ecx,%eax
4543d7:	6a 02                	push   $0x2
4543d9:	59                   	pop    %ecx
4543da:	66 89 07             	mov    %ax,(%edi)
4543dd:	03 f9                	add    %ecx,%edi
4543df:	85 f6                	test   %esi,%esi
4543e1:	74 19                	je     0x4543fc
4543e3:	81 fb ff ff 00 00    	cmp    $0xffff,%ebx
4543e9:	76 11                	jbe    0x4543fc
4543eb:	8b d7                	mov    %edi,%edx
4543ed:	8b cb                	mov    %ebx,%ecx
4543ef:	e8 36 ab 03 00       	call   0x48ef2a
4543f4:	8d 3c 47             	lea    (%edi,%eax,2),%edi
4543f7:	e9 30 34 fc ff       	jmp    0x41782c
4543fc:	66 89 1f             	mov    %bx,(%edi)
4543ff:	e9 de 3b fc ff       	jmp    0x417fe2
454404:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
454408:	74 0c                	je     0x454416
45440a:	81 fb ff ff 00 00    	cmp    $0xffff,%ebx
454410:	0f 87 01 f0 ff ff    	ja     0x453417
454416:	66 8b fb             	mov    %bx,%di
454419:	e9 bc 34 fc ff       	jmp    0x4178da
45441e:	8b 85 0a ff ff ff    	mov    -0xf6(%ebp),%eax
454424:	ba ff 03 00 00       	mov    $0x3ff,%edx
454429:	23 ca                	and    %edx,%ecx
45442b:	23 c2                	and    %edx,%eax
45442d:	c1 e1 0a             	shl    $0xa,%ecx
454430:	0b c8                	or     %eax,%ecx
454432:	81 c1 00 00 01 00    	add    $0x10000,%ecx
454438:	e9 13 30 fc ff       	jmp    0x417450
45443d:	83 4d 94 ff          	orl    $0xffffffff,-0x6c(%ebp)
454441:	83 4d d4 ff          	orl    $0xffffffff,-0x2c(%ebp)
454445:	e9 28 34 fc ff       	jmp    0x417872
45444a:	8b 4d 28             	mov    0x28(%ebp),%ecx
45444d:	81 49 64 00 08 00 00 	orl    $0x800,0x64(%ecx)
454454:	e9 7f 30 fc ff       	jmp    0x4174d8
454459:	83 bd 74 ff ff ff 00 	cmpl   $0x0,-0x8c(%ebp)
454460:	0f 84 f2 33 fc ff    	je     0x417858
454466:	83 4d ac ff          	orl    $0xffffffff,-0x54(%ebp)
45446a:	83 4d d4 ff          	orl    $0xffffffff,-0x2c(%ebp)
45446e:	e9 a2 30 fc ff       	jmp    0x417515
454473:	0f b7 7f fe          	movzwl -0x2(%edi),%edi
454477:	8b 41 68             	mov    0x68(%ecx),%eax
45447a:	89 7d a4             	mov    %edi,-0x5c(%ebp)
45447d:	89 45 ac             	mov    %eax,-0x54(%ebp)
454480:	e9 ed 33 fc ff       	jmp    0x417872
454485:	83 bd 74 ff ff ff 00 	cmpl   $0x0,-0x8c(%ebp)
45448c:	0f 84 70 30 fc ff    	je     0x417502
454492:	8b 55 f8             	mov    -0x8(%ebp),%edx
454495:	e9 d8 33 fc ff       	jmp    0x417872
45449a:	85 d2                	test   %edx,%edx
45449c:	74 0d                	je     0x4544ab
45449e:	f7 45 cc 00 00 00 20 	testl  $0x20000000,-0x34(%ebp)
4544a5:	0f 84 4d 33 fc ff    	je     0x4177f8
4544ab:	8b 55 f8             	mov    -0x8(%ebp),%edx
4544ae:	33 c0                	xor    %eax,%eax
4544b0:	8b 5d dc             	mov    -0x24(%ebp),%ebx
4544b3:	8b 75 c8             	mov    -0x38(%ebp),%esi
4544b6:	66 89 07             	mov    %ax,(%edi)
4544b9:	6a 02                	push   $0x2
4544bb:	58                   	pop    %eax
4544bc:	03 f8                	add    %eax,%edi
4544be:	6a 70                	push   $0x70
4544c0:	58                   	pop    %eax
4544c1:	66 89 02             	mov    %ax,(%edx)
4544c4:	6a 04                	push   $0x4
4544c6:	58                   	pop    %eax
4544c7:	03 d0                	add    %eax,%edx
4544c9:	33 c0                	xor    %eax,%eax
4544cb:	85 db                	test   %ebx,%ebx
4544cd:	0f 95 c0             	setne  %al
4544d0:	66 89 02             	mov    %ax,(%edx)
4544d3:	85 f6                	test   %esi,%esi
4544d5:	74 06                	je     0x4544dd
4544d7:	83 c8 04             	or     $0x4,%eax
4544da:	66 89 02             	mov    %ax,(%edx)
4544dd:	85 c9                	test   %ecx,%ecx
4544df:	7e 52                	jle    0x454533
4544e1:	6a 02                	push   $0x2
4544e3:	58                   	pop    %eax
4544e4:	66 09 02             	or     %ax,(%edx)
4544e7:	03 d0                	add    %eax,%edx
4544e9:	8b c7                	mov    %edi,%eax
4544eb:	89 55 f8             	mov    %edx,-0x8(%ebp)
4544ee:	2b c2                	sub    %edx,%eax
4544f0:	83 e0 fe             	and    $0xfffffffe,%eax
4544f3:	50                   	push   %eax
4544f4:	52                   	push   %edx
4544f5:	8d 42 20             	lea    0x20(%edx),%eax
4544f8:	50                   	push   %eax
4544f9:	e8 22 3b fd ff       	call   0x428020
4544fe:	83 c4 0c             	add    $0xc,%esp
454501:	85 db                	test   %ebx,%ebx
454503:	74 15                	je     0x45451a
454505:	85 f6                	test   %esi,%esi
454507:	75 11                	jne    0x45451a
454509:	6a 20                	push   $0x20
45450b:	33 c0                	xor    %eax,%eax
45450d:	59                   	pop    %ecx
45450e:	f6 94 05 2c ff ff ff 	notb   -0xd4(%ebp,%eax,1)
454515:	40                   	inc    %eax
454516:	3b c1                	cmp    %ecx,%eax