454ef8:	33 c9                	xor    %ecx,%ecx
454efa:	66 89 0e             	mov    %cx,(%esi)
454efd:	83 f8 fe             	cmp    $0xfffffffe,%eax
454f00:	75 1d                	jne    0x454f1f
454f02:	e8 28 7f ff ff       	call   0x44ce2f
454f07:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
454f0d:	eb 0b                	jmp    0x454f1a
454f0f:	e8 1b 7f ff ff       	call   0x44ce2f
454f14:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
454f1a:	e8 b7 7d ff ff       	call   0x44ccd6
454f1f:	83 c8 ff             	or     $0xffffffff,%eax
454f22:	5f                   	pop    %edi
454f23:	5e                   	pop    %esi
454f24:	5b                   	pop    %ebx
454f25:	8b e5                	mov    %ebp,%esp
454f27:	5d                   	pop    %ebp
454f28:	c3                   	ret
454f29:	8b ff                	mov    %edi,%edi
454f2b:	55                   	push   %ebp
454f2c:	8b ec                	mov    %esp,%ebp
454f2e:	81 ec 84 04 00 00    	sub    $0x484,%esp
454f34:	a1 94 80 4b 00       	mov    0x4b8094,%eax
454f39:	33 c5                	xor    %ebp,%eax
454f3b:	89 45 fc             	mov    %eax,-0x4(%ebp)
454f3e:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
454f42:	8b 45 10             	mov    0x10(%ebp),%eax
454f45:	53                   	push   %ebx
454f46:	8b 5d 14             	mov    0x14(%ebp),%ebx
454f49:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
454f4f:	75 18                	jne    0x454f69
454f51:	e8 d9 7e ff ff       	call   0x44ce2f
454f56:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
454f5c:	e8 75 7d ff ff       	call   0x44ccd6
454f61:	83 c8 ff             	or     $0xffffffff,%eax
454f64:	e9 15 01 00 00       	jmp    0x45507e
454f69:	85 db                	test   %ebx,%ebx
454f6b:	74 04                	je     0x454f71
454f6d:	85 c0                	test   %eax,%eax
454f6f:	74 e0                	je     0x454f51
454f71:	56                   	push   %esi
454f72:	57                   	push   %edi
454f73:	ff 75 1c             	push   0x1c(%ebp)
454f76:	8d 8d 7c fb ff ff    	lea    -0x484(%ebp),%ecx
454f7c:	e8 87 a0 ff ff       	call   0x44f008
454f81:	8b 4d 08             	mov    0x8(%ebp),%ecx
454f84:	8d bd 90 fb ff ff    	lea    -0x470(%ebp),%edi
454f8a:	33 c0                	xor    %eax,%eax
454f8c:	33 d2                	xor    %edx,%edx
454f8e:	ab                   	stos   %eax,%es:(%edi)
454f8f:	ab                   	stos   %eax,%es:(%edi)
454f90:	ab                   	stos   %eax,%es:(%edi)
454f91:	ab                   	stos   %eax,%es:(%edi)
454f92:	8b c1                	mov    %ecx,%eax
454f94:	8b bd a0 fb ff ff    	mov    -0x460(%ebp),%edi
454f9a:	83 e0 02             	and    $0x2,%eax
454f9d:	89 85 8c fb ff ff    	mov    %eax,-0x474(%ebp)
454fa3:	0b c2                	or     %edx,%eax
454fa5:	89 bd 90 fb ff ff    	mov    %edi,-0x470(%ebp)
454fab:	89 9d 94 fb ff ff    	mov    %ebx,-0x46c(%ebp)
454fb1:	89 95 98 fb ff ff    	mov    %edx,-0x468(%ebp)
454fb7:	75 0a                	jne    0x454fc3
454fb9:	88 95 9c fb ff ff    	mov    %dl,-0x464(%ebp)
454fbf:	85 ff                	test   %edi,%edi
454fc1:	75 07                	jne    0x454fca
454fc3:	c6 85 9c fb ff ff 01 	movb   $0x1,-0x464(%ebp)
454fca:	ff 75 20             	push   0x20(%ebp)
454fcd:	8d 85 90 fb ff ff    	lea    -0x470(%ebp),%eax
454fd3:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
454fd9:	8d 85 80 fb ff ff    	lea    -0x480(%ebp),%eax
454fdf:	50                   	push   %eax
454fe0:	ff 75 18             	push   0x18(%ebp)
454fe3:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
454fe9:	ff 75 0c             	push   0xc(%ebp)
454fec:	51                   	push   %ecx
454fed:	50                   	push   %eax
454fee:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
454ff4:	e8 f9 42 00 00       	call   0x4592f2
454ff9:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
454ffd:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
455003:	e8 c5 62 00 00       	call   0x45b2cd
455008:	8b f0                	mov    %eax,%esi
45500a:	85 ff                	test   %edi,%edi
45500c:	74 4b                	je     0x455059
45500e:	8b 45 08             	mov    0x8(%ebp),%eax
455011:	33 c9                	xor    %ecx,%ecx
455013:	83 e0 01             	and    $0x1,%eax
455016:	0b c1                	or     %ecx,%eax
455018:	74 1c                	je     0x455036
45501a:	85 db                	test   %ebx,%ebx
45501c:	75 04                	jne    0x455022
45501e:	85 f6                	test   %esi,%esi
455020:	75 6f                	jne    0x455091
455022:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
455028:	3b c3                	cmp    %ebx,%eax
45502a:	75 2a                	jne    0x455056
45502c:	85 f6                	test   %esi,%esi
45502e:	78 29                	js     0x455059
455030:	3b f3                	cmp    %ebx,%esi
455032:	76 25                	jbe    0x455059
455034:	eb 5b                	jmp    0x455091
455036:	8b 85 8c fb ff ff    	mov    -0x474(%ebp),%eax
45503c:	0b c1                	or     %ecx,%eax
45503e:	74 4d                	je     0x45508d
455040:	85 db                	test   %ebx,%ebx
455042:	74 15                	je     0x455059
455044:	85 f6                	test   %esi,%esi
455046:	79 04                	jns    0x45504c
455048:	88 0f                	mov    %cl,(%edi)
45504a:	eb 0d                	jmp    0x455059
45504c:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
455052:	3b c3                	cmp    %ebx,%eax
455054:	74 4d                	je     0x4550a3
455056:	88 0c 07             	mov    %cl,(%edi,%eax,1)
455059:	8d 8d e4 fb ff ff    	lea    -0x41c(%ebp),%ecx
45505f:	e8 e3 46 00 00       	call   0x459747
455064:	80 bd 88 fb ff ff 00 	cmpb   $0x0,-0x478(%ebp)
45506b:	74 0d                	je     0x45507a
45506d:	8b 8d 7c fb ff ff    	mov    -0x484(%ebp),%ecx
455073:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
45507a:	5f                   	pop    %edi
45507b:	8b c6                	mov    %esi,%eax
45507d:	5e                   	pop    %esi
45507e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
455081:	33 cd                	xor    %ebp,%ecx
455083:	5b                   	pop    %ebx
455084:	e8 79 a9 fe ff       	call   0x43fa02
455089:	8b e5                	mov    %ebp,%esp
45508b:	5d                   	pop    %ebp
45508c:	c3                   	ret
45508d:	85 db                	test   %ebx,%ebx
45508f:	75 05                	jne    0x455096
455091:	83 ce ff             	or     $0xffffffff,%esi
455094:	eb c3                	jmp    0x455059
455096:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
45509c:	3b c3                	cmp    %ebx,%eax
45509e:	75 b6                	jne    0x455056
4550a0:	6a fe                	push   $0xfffffffe
4550a2:	5e                   	pop    %esi
4550a3:	88 4c 1f ff          	mov    %cl,-0x1(%edi,%ebx,1)
4550a7:	eb b0                	jmp    0x455059
4550a9:	8b ff                	mov    %edi,%edi
4550ab:	55                   	push   %ebp
4550ac:	8b ec                	mov    %esp,%ebp
4550ae:	81 ec 84 04 00 00    	sub    $0x484,%esp
4550b4:	a1 94 80 4b 00       	mov    0x4b8094,%eax
4550b9:	33 c5                	xor    %ebp,%eax
4550bb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4550be:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
4550c2:	8b 45 10             	mov    0x10(%ebp),%eax
4550c5:	53                   	push   %ebx
4550c6:	8b 5d 14             	mov    0x14(%ebp),%ebx
4550c9:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
4550cf:	75 18                	jne    0x4550e9
4550d1:	e8 59 7d ff ff       	call   0x44ce2f
4550d6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4550dc:	e8 f5 7b ff ff       	call   0x44ccd6
4550e1:	83 c8 ff             	or     $0xffffffff,%eax
4550e4:	e9 1b 01 00 00       	jmp    0x455204
4550e9:	85 db                	test   %ebx,%ebx
4550eb:	74 04                	je     0x4550f1
4550ed:	85 c0                	test   %eax,%eax
4550ef:	74 e0                	je     0x4550d1
4550f1:	56                   	push   %esi
4550f2:	57                   	push   %edi
4550f3:	ff 75 1c             	push   0x1c(%ebp)
4550f6:	8d 8d 7c fb ff ff    	lea    -0x484(%ebp),%ecx
4550fc:	e8 07 9f ff ff       	call   0x44f008
455101:	8b 4d 08             	mov    0x8(%ebp),%ecx
455104:	8d bd 90 fb ff ff    	lea    -0x470(%ebp),%edi
45510a:	33 c0                	xor    %eax,%eax
45510c:	33 d2                	xor    %edx,%edx
45510e:	ab                   	stos   %eax,%es:(%edi)
45510f:	ab                   	stos   %eax,%es:(%edi)
455110:	ab                   	stos   %eax,%es:(%edi)
455111:	ab                   	stos   %eax,%es:(%edi)
455112:	8b c1                	mov    %ecx,%eax
455114:	8b bd a0 fb ff ff    	mov    -0x460(%ebp),%edi
45511a:	83 e0 02             	and    $0x2,%eax
45511d:	89 85 8c fb ff ff    	mov    %eax,-0x474(%ebp)
455123:	0b c2                	or     %edx,%eax
455125:	89 bd 90 fb ff ff    	mov    %edi,-0x470(%ebp)
45512b:	89 9d 94 fb ff ff    	mov    %ebx,-0x46c(%ebp)
455131:	89 95 98 fb ff ff    	mov    %edx,-0x468(%ebp)
455137:	75 0a                	jne    0x455143
455139:	88 95 9c fb ff ff    	mov    %dl,-0x464(%ebp)
45513f:	85 ff                	test   %edi,%edi
455141:	75 07                	jne    0x45514a
455143:	c6 85 9c fb ff ff 01 	movb   $0x1,-0x464(%ebp)
45514a:	ff 75 20             	push   0x20(%ebp)
45514d:	8d 85 90 fb ff ff    	lea    -0x470(%ebp),%eax
455153:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
455159:	8d 85 80 fb ff ff    	lea    -0x480(%ebp),%eax
45515f:	50                   	push   %eax
455160:	ff 75 18             	push   0x18(%ebp)
455163:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
455169:	ff 75 0c             	push   0xc(%ebp)
45516c:	51                   	push   %ecx
45516d:	50                   	push   %eax
45516e:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
455174:	e8 f1 41 00 00       	call   0x45936a
455179:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
45517d:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
455183:	e8 95 68 00 00       	call   0x45ba1d
455188:	8b f0                	mov    %eax,%esi
45518a:	85 ff                	test   %edi,%edi
45518c:	74 51                	je     0x4551df
45518e:	8b 45 08             	mov    0x8(%ebp),%eax
455191:	83 e0 01             	and    $0x1,%eax
455194:	83 c8 00             	or     $0x0,%eax
455197:	74 1c                	je     0x4551b5
455199:	85 db                	test   %ebx,%ebx
45519b:	75 04                	jne    0x4551a1
45519d:	85 f6                	test   %esi,%esi
45519f:	75 76                	jne    0x455217
4551a1:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
4551a7:	3b c3                	cmp    %ebx,%eax
4551a9:	75 2e                	jne    0x4551d9
4551ab:	85 f6                	test   %esi,%esi
4551ad:	78 30                	js     0x4551df
4551af:	3b f3                	cmp    %ebx,%esi
4551b1:	76 2c                	jbe    0x4551df
4551b3:	eb 62                	jmp    0x455217
4551b5:	8b 85 8c fb ff ff    	mov    -0x474(%ebp),%eax
4551bb:	83 c8 00             	or     $0x0,%eax
4551be:	74 53                	je     0x455213
4551c0:	85 db                	test   %ebx,%ebx
4551c2:	74 1b                	je     0x4551df
4551c4:	85 f6                	test   %esi,%esi
4551c6:	79 07                	jns    0x4551cf
4551c8:	33 c0                	xor    %eax,%eax
4551ca:	66 89 07             	mov    %ax,(%edi)
4551cd:	eb 10                	jmp    0x4551df
4551cf:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
4551d5:	3b c3                	cmp    %ebx,%eax
4551d7:	74 50                	je     0x455229
4551d9:	33 c9                	xor    %ecx,%ecx
4551db:	66 89 0c 47          	mov    %cx,(%edi,%eax,2)
4551df:	8d 8d e4 fb ff ff    	lea    -0x41c(%ebp),%ecx
4551e5:	e8 5d 45 00 00       	call   0x459747
4551ea:	80 bd 88 fb ff ff 00 	cmpb   $0x0,-0x478(%ebp)
4551f1:	74 0d                	je     0x455200
4551f3:	8b 8d 7c fb ff ff    	mov    -0x484(%ebp),%ecx
4551f9:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
455200:	5f                   	pop    %edi
455201:	8b c6                	mov    %esi,%eax
455203:	5e                   	pop    %esi
455204:	8b 4d fc             	mov    -0x4(%ebp),%ecx
455207:	33 cd                	xor    %ebp,%ecx
455209:	5b                   	pop    %ebx
45520a:	e8 f3 a7 fe ff       	call   0x43fa02
45520f:	8b e5                	mov    %ebp,%esp
455211:	5d                   	pop    %ebp
455212:	c3                   	ret
455213:	85 db                	test   %ebx,%ebx
455215:	75 05                	jne    0x45521c
455217:	83 ce ff             	or     $0xffffffff,%esi
45521a:	eb c3                	jmp    0x4551df
45521c:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
455222:	3b c3                	cmp    %ebx,%eax
455224:	75 b3                	jne    0x4551d9
455226:	6a fe                	push   $0xfffffffe
455228:	5e                   	pop    %esi
455229:	33 c0                	xor    %eax,%eax
45522b:	66 89 44 5f fe       	mov    %ax,-0x2(%edi,%ebx,2)
455230:	eb ad                	jmp    0x4551df
455232:	8b ff                	mov    %edi,%edi
455234:	55                   	push   %ebp
455235:	8b ec                	mov    %esp,%ebp
455237:	81 ec f0 0a 00 00    	sub    $0xaf0,%esp
45523d:	a1 94 80 4b 00       	mov    0x4b8094,%eax
455242:	33 c5                	xor    %ebp,%eax
455244:	89 45 fc             	mov    %eax,-0x4(%ebp)
455247:	8b 45 10             	mov    0x10(%ebp),%eax
45524a:	53                   	push   %ebx
45524b:	8b 5d 14             	mov    0x14(%ebp),%ebx
45524e:	56                   	push   %esi
45524f:	8b 75 18             	mov    0x18(%ebp),%esi
455252:	89 85 48 f5 ff ff    	mov    %eax,-0xab8(%ebp)
455258:	85 f6                	test   %esi,%esi
45525a:	75 18                	jne    0x455274
45525c:	e8 ce 7b ff ff       	call   0x44ce2f
455261:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
455267:	e8 6a 7a ff ff       	call   0x44ccd6
45526c:	83 c8 ff             	or     $0xffffffff,%eax
45526f:	e9 44 01 00 00       	jmp    0x4553b8
455274:	85 db                	test   %ebx,%ebx
455276:	74 04                	je     0x45527c
455278:	85 c0                	test   %eax,%eax
45527a:	74 e0                	je     0x45525c
45527c:	57                   	push   %edi
45527d:	ff 75 1c             	push   0x1c(%ebp)
455280:	8d 8d 10 f5 ff ff    	lea    -0xaf0(%ebp),%ecx
455286:	e8 7d 9d ff ff       	call   0x44f008
45528b:	8b 4d 08             	mov    0x8(%ebp),%ecx
45528e:	8d bd 38 f5 ff ff    	lea    -0xac8(%ebp),%edi
455294:	33 c0                	xor    %eax,%eax
455296:	33 d2                	xor    %edx,%edx
455298:	ab                   	stos   %eax,%es:(%edi)
455299:	ab                   	stos   %eax,%es:(%edi)
45529a:	ab                   	stos   %eax,%es:(%edi)
45529b:	ab                   	stos   %eax,%es:(%edi)
45529c:	8b c1                	mov    %ecx,%eax
45529e:	8b bd 48 f5 ff ff    	mov    -0xab8(%ebp),%edi
4552a4:	83 e0 02             	and    $0x2,%eax
4552a7:	89 85 28 f5 ff ff    	mov    %eax,-0xad8(%ebp)
4552ad:	0b c2                	or     %edx,%eax
4552af:	89 bd 38 f5 ff ff    	mov    %edi,-0xac8(%ebp)
4552b5:	89 9d 3c f5 ff ff    	mov    %ebx,-0xac4(%ebp)
4552bb:	89 95 40 f5 ff ff    	mov    %edx,-0xac0(%ebp)
4552c1:	75 0a                	jne    0x4552cd
4552c3:	88 95 44 f5 ff ff    	mov    %dl,-0xabc(%ebp)
4552c9:	85 ff                	test   %edi,%edi
4552cb:	75 07                	jne    0x4552d4
4552cd:	c6 85 44 f5 ff ff 01 	movb   $0x1,-0xabc(%ebp)
4552d4:	8d 85 38 f5 ff ff    	lea    -0xac8(%ebp),%eax
4552da:	89 8d 20 f5 ff ff    	mov    %ecx,-0xae0(%ebp)
4552e0:	89 85 2c f5 ff ff    	mov    %eax,-0xad4(%ebp)
4552e6:	8d 8d 4c f5 ff ff    	lea    -0xab4(%ebp),%ecx
4552ec:	8b 45 20             	mov    0x20(%ebp),%eax
4552ef:	89 85 48 f5 ff ff    	mov    %eax,-0xab8(%ebp)
4552f5:	8d 85 14 f5 ff ff    	lea    -0xaec(%ebp),%eax
4552fb:	89 85 34 f5 ff ff    	mov    %eax,-0xacc(%ebp)
455301:	8b 45 0c             	mov    0xc(%ebp),%eax
455304:	89 85 24 f5 ff ff    	mov    %eax,-0xadc(%ebp)
45530a:	8d 85 48 f5 ff ff    	lea    -0xab8(%ebp),%eax
455310:	50                   	push   %eax
455311:	8d 85 34 f5 ff ff    	lea    -0xacc(%ebp),%eax
455317:	89 b5 30 f5 ff ff    	mov    %esi,-0xad0(%ebp)
45531d:	50                   	push   %eax
45531e:	8d 85 30 f5 ff ff    	lea    -0xad0(%ebp),%eax
455324:	50                   	push   %eax
455325:	8d 85 20 f5 ff ff    	lea    -0xae0(%ebp),%eax
45532b:	50                   	push   %eax
45532c:	8d 85 2c f5 ff ff    	lea    -0xad4(%ebp),%eax
455332:	50                   	push   %eax
455333:	e8 d0 f3 ff ff       	call   0x454708
455338:	8d 8d 4c f5 ff ff    	lea    -0xab4(%ebp),%ecx
45533e:	e8 b2 60 00 00       	call   0x45b3f5
455343:	8b f0                	mov    %eax,%esi
455345:	85 ff                	test   %edi,%edi
455347:	74 4b                	je     0x455394
455349:	8b 45 08             	mov    0x8(%ebp),%eax
45534c:	33 c9                	xor    %ecx,%ecx
45534e:	83 e0 01             	and    $0x1,%eax
455351:	0b c1                	or     %ecx,%eax
455353:	74 1c                	je     0x455371
455355:	85 db                	test   %ebx,%ebx
455357:	75 04                	jne    0x45535d
455359:	85 f6                	test   %esi,%esi
45535b:	75 6f                	jne    0x4553cc