4550b6:	cc                   	int3
4550b7:	cc                   	int3
4550b8:	cc                   	int3
4550b9:	cc                   	int3
4550ba:	cc                   	int3
4550bb:	cc                   	int3
4550bc:	cc                   	int3
4550bd:	cc                   	int3
4550be:	cc                   	int3
4550bf:	cc                   	int3
4550c0:	55                   	push   %ebp
4550c1:	8b ec                	mov    %esp,%ebp
4550c3:	8b 45 08             	mov    0x8(%ebp),%eax
4550c6:	89 01                	mov    %eax,(%ecx)
4550c8:	8b c1                	mov    %ecx,%eax
4550ca:	5d                   	pop    %ebp
4550cb:	c2 04 00             	ret    $0x4
4550ce:	cc                   	int3
4550cf:	cc                   	int3
4550d0:	8b 01                	mov    (%ecx),%eax
4550d2:	85 c0                	test   %eax,%eax
4550d4:	74 07                	je     0x4550dd
4550d6:	50                   	push   %eax
4550d7:	e8 ad bf 18 00       	call   0x5e1089
4550dc:	59                   	pop    %ecx
4550dd:	c3                   	ret
4550de:	cc                   	int3
4550df:	cc                   	int3
4550e0:	56                   	push   %esi
4550e1:	8b f1                	mov    %ecx,%esi
4550e3:	8b 06                	mov    (%esi),%eax
4550e5:	85 c0                	test   %eax,%eax
4550e7:	74 40                	je     0x455129
4550e9:	8b 4e 08             	mov    0x8(%esi),%ecx
4550ec:	2b c8                	sub    %eax,%ecx
4550ee:	83 e1 f8             	and    $0xfffffff8,%ecx
4550f1:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4550f7:	72 12                	jb     0x45510b
4550f9:	8b 50 fc             	mov    -0x4(%eax),%edx
4550fc:	83 c1 23             	add    $0x23,%ecx
4550ff:	2b c2                	sub    %edx,%eax
455101:	83 c0 fc             	add    $0xfffffffc,%eax
455104:	83 f8 1f             	cmp    $0x1f,%eax
455107:	77 22                	ja     0x45512b
455109:	8b c2                	mov    %edx,%eax
45510b:	51                   	push   %ecx
45510c:	50                   	push   %eax
45510d:	e8 60 bf 18 00       	call   0x5e1072
455112:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
455118:	83 c4 08             	add    $0x8,%esp
45511b:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
455122:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
455129:	5e                   	pop    %esi
45512a:	c3                   	ret
45512b:	e8 ff 7d 19 00       	call   0x5ecf2f
455130:	cc                   	int3
455131:	cc                   	int3
455132:	cc                   	int3
455133:	cc                   	int3
455134:	cc                   	int3
455135:	cc                   	int3
455136:	cc                   	int3
455137:	cc                   	int3
455138:	cc                   	int3
455139:	cc                   	int3
45513a:	cc                   	int3
45513b:	cc                   	int3
45513c:	cc                   	int3
45513d:	cc                   	int3
45513e:	cc                   	int3
45513f:	cc                   	int3
455140:	56                   	push   %esi
455141:	57                   	push   %edi
455142:	8b f9                	mov    %ecx,%edi
455144:	8b 37                	mov    (%edi),%esi
455146:	85 f6                	test   %esi,%esi
455148:	74 58                	je     0x4551a2
45514a:	8b 4f 08             	mov    0x8(%edi),%ecx
45514d:	b8 79 78 78 78       	mov    $0x78787879,%eax
455152:	2b ce                	sub    %esi,%ecx
455154:	f7 e9                	imul   %ecx
455156:	c1 fa 05             	sar    $0x5,%edx
455159:	8b c2                	mov    %edx,%eax
45515b:	c1 e8 1f             	shr    $0x1f,%eax
45515e:	03 c2                	add    %edx,%eax
455160:	8b c8                	mov    %eax,%ecx
455162:	c1 e1 04             	shl    $0x4,%ecx
455165:	03 c8                	add    %eax,%ecx
455167:	c1 e1 02             	shl    $0x2,%ecx
45516a:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
455170:	72 12                	jb     0x455184
455172:	8b 56 fc             	mov    -0x4(%esi),%edx
455175:	83 c1 23             	add    $0x23,%ecx
455178:	2b f2                	sub    %edx,%esi
45517a:	8d 46 fc             	lea    -0x4(%esi),%eax
45517d:	83 f8 1f             	cmp    $0x1f,%eax
455180:	77 23                	ja     0x4551a5
455182:	8b f2                	mov    %edx,%esi
455184:	51                   	push   %ecx
455185:	56                   	push   %esi
455186:	e8 e7 be 18 00       	call   0x5e1072
45518b:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
455191:	83 c4 08             	add    $0x8,%esp
455194:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
45519b:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
4551a2:	5f                   	pop    %edi
4551a3:	5e                   	pop    %esi
4551a4:	c3                   	ret
4551a5:	e8 85 7d 19 00       	call   0x5ecf2f
4551aa:	cc                   	int3
4551ab:	cc                   	int3
4551ac:	cc                   	int3
4551ad:	cc                   	int3
4551ae:	cc                   	int3
4551af:	cc                   	int3
4551b0:	55                   	push   %ebp
4551b1:	8b ec                	mov    %esp,%ebp
4551b3:	51                   	push   %ecx
4551b4:	ff 75 08             	push   0x8(%ebp)
4551b7:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4551ba:	e8 01 ff ff ff       	call   0x4550c0
4551bf:	68 80 08 6f 00       	push   $0x6f0880
4551c4:	8d 45 fc             	lea    -0x4(%ebp),%eax
4551c7:	50                   	push   %eax
4551c8:	e8 65 d8 18 00       	call   0x5e2a32
4551cd:	cc                   	int3
4551ce:	cc                   	int3
4551cf:	cc                   	int3
4551d0:	ff 15 e0 21 68 00    	call   *0x6821e0
4551d6:	85 c0                	test   %eax,%eax
4551d8:	7e 08                	jle    0x4551e2
4551da:	0f b7 c0             	movzwl %ax,%eax
4551dd:	0d 00 00 07 80       	or     $0x80070000,%eax
4551e2:	50                   	push   %eax
4551e3:	e8 c8 ff ff ff       	call   0x4551b0
4551e8:	cc                   	int3
4551e9:	cc                   	int3
4551ea:	cc                   	int3
4551eb:	cc                   	int3
4551ec:	cc                   	int3
4551ed:	cc                   	int3
4551ee:	cc                   	int3
4551ef:	cc                   	int3
4551f0:	55                   	push   %ebp
4551f1:	8b ec                	mov    %esp,%ebp
4551f3:	6a ff                	push   $0xffffffff
4551f5:	68 18 f1 64 00       	push   $0x64f118
4551fa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
455200:	50                   	push   %eax
455201:	83 ec 18             	sub    $0x18,%esp
455204:	a1 d4 89 72 00       	mov    0x7289d4,%eax
455209:	33 c5                	xor    %ebp,%eax
45520b:	89 45 f0             	mov    %eax,-0x10(%ebp)
45520e:	53                   	push   %ebx
45520f:	56                   	push   %esi
455210:	57                   	push   %edi
455211:	50                   	push   %eax
455212:	8d 45 f4             	lea    -0xc(%ebp),%eax
455215:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45521b:	8b 5d 08             	mov    0x8(%ebp),%ebx
45521e:	33 f6                	xor    %esi,%esi
455220:	8b 4d 14             	mov    0x14(%ebp),%ecx
455223:	8b 45 0c             	mov    0xc(%ebp),%eax
455226:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
455229:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
45522c:	89 75 dc             	mov    %esi,-0x24(%ebp)
45522f:	8b 00                	mov    (%eax),%eax
455231:	8d 4d ec             	lea    -0x14(%ebp),%ecx
455234:	51                   	push   %ecx
455235:	56                   	push   %esi
455236:	56                   	push   %esi
455237:	ff 75 10             	push   0x10(%ebp)
45523a:	89 75 fc             	mov    %esi,-0x4(%ebp)
45523d:	50                   	push   %eax
45523e:	89 45 e8             	mov    %eax,-0x18(%ebp)
455241:	89 75 ec             	mov    %esi,-0x14(%ebp)
455244:	ff 15 94 20 68 00    	call   *0x682094
45524a:	8b 45 ec             	mov    -0x14(%ebp),%eax
45524d:	89 45 e0             	mov    %eax,-0x20(%ebp)
455250:	85 c0                	test   %eax,%eax
455252:	75 08                	jne    0x45525c
455254:	ff 15 e0 21 68 00    	call   *0x6821e0
45525a:	eb 58                	jmp    0x4552b4
45525c:	50                   	push   %eax
45525d:	e8 1e be 18 00       	call   0x5e1080
455262:	8b f8                	mov    %eax,%edi
455264:	83 c4 04             	add    $0x4,%esp
455267:	85 ff                	test   %edi,%edi
455269:	74 10                	je     0x45527b
45526b:	ff 75 e0             	push   -0x20(%ebp)
45526e:	6a 00                	push   $0x0
455270:	57                   	push   %edi
455271:	e8 8a e7 18 00       	call   0x5e3a00
455276:	83 c4 0c             	add    $0xc,%esp
455279:	eb 02                	jmp    0x45527d
45527b:	33 ff                	xor    %edi,%edi
45527d:	8d 45 ec             	lea    -0x14(%ebp),%eax
455280:	50                   	push   %eax
455281:	ff 75 ec             	push   -0x14(%ebp)
455284:	57                   	push   %edi
455285:	ff 75 10             	push   0x10(%ebp)
455288:	ff 75 e8             	push   -0x18(%ebp)
45528b:	ff 15 94 20 68 00    	call   *0x682094
455291:	85 c0                	test   %eax,%eax
455293:	75 1b                	jne    0x4552b0
455295:	ff 15 e0 21 68 00    	call   *0x6821e0
45529b:	89 45 e8             	mov    %eax,-0x18(%ebp)
45529e:	85 ff                	test   %edi,%edi
4552a0:	74 12                	je     0x4552b4
4552a2:	57                   	push   %edi
4552a3:	e8 e1 bd 18 00       	call   0x5e1089
4552a8:	8b 45 e8             	mov    -0x18(%ebp),%eax
4552ab:	83 c4 04             	add    $0x4,%esp
4552ae:	eb 04                	jmp    0x4552b4
4552b0:	8b f7                	mov    %edi,%esi
4552b2:	33 c0                	xor    %eax,%eax
4552b4:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4552b7:	89 01                	mov    %eax,(%ecx)
4552b9:	85 c0                	test   %eax,%eax
4552bb:	74 15                	je     0x4552d2
4552bd:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
4552c3:	85 f6                	test   %esi,%esi
4552c5:	74 0d                	je     0x4552d4
4552c7:	56                   	push   %esi
4552c8:	e8 bc bd 18 00       	call   0x5e1089
4552cd:	83 c4 04             	add    $0x4,%esp
4552d0:	eb 02                	jmp    0x4552d4
4552d2:	89 33                	mov    %esi,(%ebx)
4552d4:	8b c3                	mov    %ebx,%eax
4552d6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4552d9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4552e0:	59                   	pop    %ecx
4552e1:	5f                   	pop    %edi
4552e2:	5e                   	pop    %esi
4552e3:	5b                   	pop    %ebx
4552e4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4552e7:	33 cd                	xor    %ebp,%ecx
4552e9:	e8 ec c1 18 00       	call   0x5e14da
4552ee:	8b e5                	mov    %ebp,%esp
4552f0:	5d                   	pop    %ebp
4552f1:	c3                   	ret
4552f2:	cc                   	int3
4552f3:	cc                   	int3
4552f4:	cc                   	int3
4552f5:	cc                   	int3
4552f6:	cc                   	int3
4552f7:	cc                   	int3
4552f8:	cc                   	int3
4552f9:	cc                   	int3
4552fa:	cc                   	int3
4552fb:	cc                   	int3
4552fc:	cc                   	int3
4552fd:	cc                   	int3
4552fe:	cc                   	int3
4552ff:	cc                   	int3
455300:	55                   	push   %ebp
455301:	8b ec                	mov    %esp,%ebp
455303:	51                   	push   %ecx
455304:	8b 55 08             	mov    0x8(%ebp),%edx
455307:	57                   	push   %edi
455308:	8b f9                	mov    %ecx,%edi
45530a:	85 d2                	test   %edx,%edx
45530c:	75 09                	jne    0x455317
45530e:	89 17                	mov    %edx,(%edi)
455310:	5f                   	pop    %edi
455311:	8b e5                	mov    %ebp,%esp
455313:	5d                   	pop    %ebp
455314:	c2 08 00             	ret    $0x8
455317:	8b ca                	mov    %edx,%ecx
455319:	56                   	push   %esi
45531a:	8d 71 01             	lea    0x1(%ecx),%esi
45531d:	0f 1f 00             	nopl   (%eax)
455320:	8a 01                	mov    (%ecx),%al
455322:	41                   	inc    %ecx
455323:	84 c0                	test   %al,%al
455325:	75 f9                	jne    0x455320
455327:	2b ce                	sub    %esi,%ecx
455329:	8d 77 04             	lea    0x4(%edi),%esi
45532c:	53                   	push   %ebx
45532d:	8d 59 01             	lea    0x1(%ecx),%ebx
455330:	85 ff                	test   %edi,%edi
455332:	0f 84 13 01 00 00    	je     0x45544b
455338:	85 db                	test   %ebx,%ebx
45533a:	0f 88 0b 01 00 00    	js     0x45544b
455340:	85 f6                	test   %esi,%esi
455342:	0f 84 03 01 00 00    	je     0x45544b
455348:	8b 07                	mov    (%edi),%eax
45534a:	3b c6                	cmp    %esi,%eax
45534c:	74 30                	je     0x45537e
45534e:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
455354:	7e 16                	jle    0x45536c
455356:	6a 02                	push   $0x2
455358:	53                   	push   %ebx
455359:	50                   	push   %eax
45535a:	e8 2c 14 1a 00       	call   0x5f678b
45535f:	83 c4 0c             	add    $0xc,%esp
455362:	85 c0                	test   %eax,%eax
455364:	0f 84 b8 00 00 00    	je     0x455422
45536a:	eb 0b                	jmp    0x455377
45536c:	50                   	push   %eax
45536d:	e8 fe 92 19 00       	call   0x5ee670
455372:	83 c4 04             	add    $0x4,%esp
455375:	8b c6                	mov    %esi,%eax
455377:	8b 55 08             	mov    0x8(%ebp),%edx
45537a:	89 07                	mov    %eax,(%edi)
45537c:	eb 1e                	jmp    0x45539c
45537e:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
455384:	7e 12                	jle    0x455398
455386:	6a 02                	push   $0x2
455388:	53                   	push   %ebx
455389:	e8 d0 92 19 00       	call   0x5ee65e
45538e:	8b 55 08             	mov    0x8(%ebp),%edx
455391:	83 c4 08             	add    $0x8,%esp
455394:	89 07                	mov    %eax,(%edi)
455396:	eb 04                	jmp    0x45539c
455398:	89 37                	mov    %esi,(%edi)
45539a:	8b c6                	mov    %esi,%eax
45539c:	85 c0                	test   %eax,%eax
45539e:	0f 84 88 00 00 00    	je     0x45542c
4553a4:	53                   	push   %ebx
4553a5:	50                   	push   %eax
4553a6:	53                   	push   %ebx
4553a7:	52                   	push   %edx
4553a8:	6a 00                	push   $0x0
4553aa:	ff 75 0c             	push   0xc(%ebp)
4553ad:	ff 15 fc 20 68 00    	call   *0x6820fc
4553b3:	33 c9                	xor    %ecx,%ecx
4553b5:	85 c0                	test   %eax,%eax
4553b7:	0f 94 c1             	sete   %cl
4553ba:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4553bd:	85 c0                	test   %eax,%eax
4553bf:	75 54                	jne    0x455415
4553c1:	ff 15 e0 21 68 00    	call   *0x6821e0
4553c7:	83 f8 7a             	cmp    $0x7a,%eax
4553ca:	75 46                	jne    0x455412
4553cc:	6a 00                	push   $0x0
4553ce:	6a 00                	push   $0x0
4553d0:	53                   	push   %ebx
4553d1:	ff 75 08             	push   0x8(%ebp)
4553d4:	6a 00                	push   $0x0
4553d6:	ff 75 0c             	push   0xc(%ebp)
4553d9:	ff 15 fc 20 68 00    	call   *0x6820fc
4553df:	8b f0                	mov    %eax,%esi
4553e1:	8d 47 04             	lea    0x4(%edi),%eax
4553e4:	68 80 00 00 00       	push   $0x80
4553e9:	50                   	push   %eax
4553ea:	56                   	push   %esi
4553eb:	57                   	push   %edi
4553ec:	e8 9f f6 ff ff       	call   0x454a90
4553f1:	83 c4 10             	add    $0x10,%esp