45efdf:	eb df                	jmp    0x45efc0
45efe1:	8b 7e 0c             	mov    0xc(%esi),%edi
45efe4:	c1 ef 02             	shr    $0x2,%edi
45efe7:	89 7c 24 18          	mov    %edi,0x18(%esp)
45efeb:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
45eff0:	0f 87 44 01 00 00    	ja     0x45f13a
45eff6:	c1 e0 02             	shl    $0x2,%eax
45eff9:	3d 00 10 00 00       	cmp    $0x1000,%eax
45effe:	72 27                	jb     0x45f027
45f000:	8d 48 23             	lea    0x23(%eax),%ecx
45f003:	3b c8                	cmp    %eax,%ecx
45f005:	0f 86 2f 01 00 00    	jbe    0x45f13a
45f00b:	51                   	push   %ecx
45f00c:	e8 c7 a9 00 00       	call   0x4699d8
45f011:	83 c4 04             	add    $0x4,%esp
45f014:	85 c0                	test   %eax,%eax
45f016:	0f 84 19 01 00 00    	je     0x45f135
45f01c:	8d 68 23             	lea    0x23(%eax),%ebp
45f01f:	83 e5 e0             	and    $0xffffffe0,%ebp
45f022:	89 45 fc             	mov    %eax,-0x4(%ebp)
45f025:	eb 13                	jmp    0x45f03a
45f027:	85 c0                	test   %eax,%eax
45f029:	74 0d                	je     0x45f038
45f02b:	50                   	push   %eax
45f02c:	e8 a7 a9 00 00       	call   0x4699d8
45f031:	83 c4 04             	add    $0x4,%esp
45f034:	8b e8                	mov    %eax,%ebp
45f036:	eb 02                	jmp    0x45f03a
45f038:	33 ed                	xor    %ebp,%ebp
45f03a:	8b 46 04             	mov    0x4(%esi),%eax
45f03d:	8d 14 bd 00 00 00 00 	lea    0x0(,%edi,4),%edx
45f044:	8b 76 08             	mov    0x8(%esi),%esi
45f047:	8d 3c 2a             	lea    (%edx,%ebp,1),%edi
45f04a:	c1 e6 02             	shl    $0x2,%esi
45f04d:	89 54 24 10          	mov    %edx,0x10(%esp)
45f051:	8d 0c 10             	lea    (%eax,%edx,1),%ecx
45f054:	2b f1                	sub    %ecx,%esi
45f056:	03 f0                	add    %eax,%esi
45f058:	56                   	push   %esi
45f059:	51                   	push   %ecx
45f05a:	57                   	push   %edi
45f05b:	e8 c0 c5 00 00       	call   0x46b620
45f060:	8d 04 3e             	lea    (%esi,%edi,1),%eax
45f063:	83 c4 0c             	add    $0xc,%esp
45f066:	8b 74 24 14          	mov    0x14(%esp),%esi
45f06a:	8b 7c 24 18          	mov    0x18(%esp),%edi
45f06e:	89 44 24 1c          	mov    %eax,0x1c(%esp)
45f072:	8b 56 04             	mov    0x4(%esi),%edx
45f075:	3b fb                	cmp    %ebx,%edi
45f077:	77 3a                	ja     0x45f0b3
45f079:	8d 0c bd 00 00 00 00 	lea    0x0(,%edi,4),%ecx
45f080:	51                   	push   %ecx
45f081:	52                   	push   %edx
45f082:	50                   	push   %eax
45f083:	e8 98 c5 00 00       	call   0x46b620
45f088:	83 c4 0c             	add    $0xc,%esp
45f08b:	8b c3                	mov    %ebx,%eax
45f08d:	2b c7                	sub    %edi,%eax
45f08f:	8b 7c 24 10          	mov    0x10(%esp),%edi
45f093:	c1 e0 02             	shl    $0x2,%eax
45f096:	50                   	push   %eax
45f097:	8b 44 24 20          	mov    0x20(%esp),%eax
45f09b:	03 c7                	add    %edi,%eax
45f09d:	6a 00                	push   $0x0
45f09f:	50                   	push   %eax
45f0a0:	e8 0b cb 00 00       	call   0x46bbb0
45f0a5:	83 c4 0c             	add    $0xc,%esp
45f0a8:	57                   	push   %edi
45f0a9:	6a 00                	push   $0x0
45f0ab:	55                   	push   %ebp
45f0ac:	e8 ff ca 00 00       	call   0x46bbb0
45f0b1:	eb 39                	jmp    0x45f0ec
45f0b3:	8d 3c 9d 00 00 00 00 	lea    0x0(,%ebx,4),%edi
45f0ba:	57                   	push   %edi
45f0bb:	52                   	push   %edx
45f0bc:	50                   	push   %eax
45f0bd:	e8 5e c5 00 00       	call   0x46b620
45f0c2:	8b 76 04             	mov    0x4(%esi),%esi
45f0c5:	83 c4 0c             	add    $0xc,%esp
45f0c8:	8d 04 37             	lea    (%edi,%esi,1),%eax
45f0cb:	2b f0                	sub    %eax,%esi
45f0cd:	03 74 24 10          	add    0x10(%esp),%esi
45f0d1:	56                   	push   %esi
45f0d2:	50                   	push   %eax
45f0d3:	55                   	push   %ebp
45f0d4:	e8 47 c5 00 00       	call   0x46b620
45f0d9:	83 c4 0c             	add    $0xc,%esp
45f0dc:	8d 04 2e             	lea    (%esi,%ebp,1),%eax
45f0df:	57                   	push   %edi
45f0e0:	6a 00                	push   $0x0
45f0e2:	50                   	push   %eax
45f0e3:	e8 c8 ca 00 00       	call   0x46bbb0
45f0e8:	8b 74 24 20          	mov    0x20(%esp),%esi
45f0ec:	8b 46 04             	mov    0x4(%esi),%eax
45f0ef:	83 c4 0c             	add    $0xc,%esp
45f0f2:	85 c0                	test   %eax,%eax
45f0f4:	74 2a                	je     0x45f120
45f0f6:	8b 4e 08             	mov    0x8(%esi),%ecx
45f0f9:	c1 e1 02             	shl    $0x2,%ecx
45f0fc:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
45f102:	72 12                	jb     0x45f116
45f104:	8b 50 fc             	mov    -0x4(%eax),%edx
45f107:	83 c1 23             	add    $0x23,%ecx
45f10a:	2b c2                	sub    %edx,%eax
45f10c:	83 c0 fc             	add    $0xfffffffc,%eax
45f10f:	83 f8 1f             	cmp    $0x1f,%eax
45f112:	77 21                	ja     0x45f135
45f114:	8b c2                	mov    %edx,%eax
45f116:	51                   	push   %ecx
45f117:	50                   	push   %eax
45f118:	e8 eb a8 00 00       	call   0x469a08
45f11d:	83 c4 08             	add    $0x8,%esp
45f120:	01 5e 08             	add    %ebx,0x8(%esi)
45f123:	5f                   	pop    %edi
45f124:	89 6e 04             	mov    %ebp,0x4(%esi)
45f127:	5e                   	pop    %esi
45f128:	5d                   	pop    %ebp
45f129:	5b                   	pop    %ebx
45f12a:	83 c4 10             	add    $0x10,%esp
45f12d:	c2 04 00             	ret    $0x4
45f130:	e8 bb 66 fd ff       	call   0x4357f0
45f135:	e8 f7 a4 01 00       	call   0x479631
45f13a:	e8 01 22 fa ff       	call   0x401340
45f13f:	cc                   	int3
45f140:	83 ec 10             	sub    $0x10,%esp
45f143:	53                   	push   %ebx
45f144:	55                   	push   %ebp
45f145:	56                   	push   %esi
45f146:	8b f1                	mov    %ecx,%esi
45f148:	b8 01 00 00 00       	mov    $0x1,%eax
45f14d:	57                   	push   %edi
45f14e:	89 74 24 14          	mov    %esi,0x14(%esp)
45f152:	8b 56 08             	mov    0x8(%esi),%edx
45f155:	85 d2                	test   %edx,%edx
45f157:	0f 45 c2             	cmovne %edx,%eax
45f15a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
45f160:	8b d8                	mov    %eax,%ebx
45f162:	2b da                	sub    %edx,%ebx
45f164:	83 fb 01             	cmp    $0x1,%ebx
45f167:	72 05                	jb     0x45f16e
45f169:	83 f8 08             	cmp    $0x8,%eax
45f16c:	73 13                	jae    0x45f181
45f16e:	b9 ff ff ff 0f       	mov    $0xfffffff,%ecx
45f173:	2b c8                	sub    %eax,%ecx
45f175:	3b c8                	cmp    %eax,%ecx
45f177:	0f 82 52 01 00 00    	jb     0x45f2cf
45f17d:	03 c0                	add    %eax,%eax
45f17f:	eb df                	jmp    0x45f160
45f181:	8b 7e 0c             	mov    0xc(%esi),%edi
45f184:	d1 ef                	shr    $1,%edi
45f186:	89 7c 24 18          	mov    %edi,0x18(%esp)
45f18a:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
45f18f:	0f 87 44 01 00 00    	ja     0x45f2d9
45f195:	c1 e0 02             	shl    $0x2,%eax
45f198:	3d 00 10 00 00       	cmp    $0x1000,%eax
45f19d:	72 27                	jb     0x45f1c6
45f19f:	8d 48 23             	lea    0x23(%eax),%ecx
45f1a2:	3b c8                	cmp    %eax,%ecx
45f1a4:	0f 86 2f 01 00 00    	jbe    0x45f2d9
45f1aa:	51                   	push   %ecx
45f1ab:	e8 28 a8 00 00       	call   0x4699d8
45f1b0:	83 c4 04             	add    $0x4,%esp
45f1b3:	85 c0                	test   %eax,%eax
45f1b5:	0f 84 19 01 00 00    	je     0x45f2d4
45f1bb:	8d 68 23             	lea    0x23(%eax),%ebp
45f1be:	83 e5 e0             	and    $0xffffffe0,%ebp
45f1c1:	89 45 fc             	mov    %eax,-0x4(%ebp)
45f1c4:	eb 13                	jmp    0x45f1d9
45f1c6:	85 c0                	test   %eax,%eax
45f1c8:	74 0d                	je     0x45f1d7
45f1ca:	50                   	push   %eax
45f1cb:	e8 08 a8 00 00       	call   0x4699d8
45f1d0:	83 c4 04             	add    $0x4,%esp
45f1d3:	8b e8                	mov    %eax,%ebp
45f1d5:	eb 02                	jmp    0x45f1d9
45f1d7:	33 ed                	xor    %ebp,%ebp
45f1d9:	8b 46 04             	mov    0x4(%esi),%eax
45f1dc:	8d 14 bd 00 00 00 00 	lea    0x0(,%edi,4),%edx
45f1e3:	8b 76 08             	mov    0x8(%esi),%esi
45f1e6:	8d 3c 2a             	lea    (%edx,%ebp,1),%edi
45f1e9:	c1 e6 02             	shl    $0x2,%esi
45f1ec:	89 54 24 10          	mov    %edx,0x10(%esp)
45f1f0:	8d 0c 10             	lea    (%eax,%edx,1),%ecx
45f1f3:	2b f1                	sub    %ecx,%esi
45f1f5:	03 f0                	add    %eax,%esi
45f1f7:	56                   	push   %esi
45f1f8:	51                   	push   %ecx
45f1f9:	57                   	push   %edi
45f1fa:	e8 21 c4 00 00       	call   0x46b620
45f1ff:	8d 04 3e             	lea    (%esi,%edi,1),%eax
45f202:	83 c4 0c             	add    $0xc,%esp
45f205:	8b 74 24 14          	mov    0x14(%esp),%esi
45f209:	8b 7c 24 18          	mov    0x18(%esp),%edi
45f20d:	89 44 24 1c          	mov    %eax,0x1c(%esp)
45f211:	8b 56 04             	mov    0x4(%esi),%edx
45f214:	3b fb                	cmp    %ebx,%edi
45f216:	77 3a                	ja     0x45f252
45f218:	8d 0c bd 00 00 00 00 	lea    0x0(,%edi,4),%ecx
45f21f:	51                   	push   %ecx
45f220:	52                   	push   %edx
45f221:	50                   	push   %eax
45f222:	e8 f9 c3 00 00       	call   0x46b620
45f227:	83 c4 0c             	add    $0xc,%esp
45f22a:	8b c3                	mov    %ebx,%eax
45f22c:	2b c7                	sub    %edi,%eax
45f22e:	8b 7c 24 10          	mov    0x10(%esp),%edi
45f232:	c1 e0 02             	shl    $0x2,%eax
45f235:	50                   	push   %eax
45f236:	8b 44 24 20          	mov    0x20(%esp),%eax
45f23a:	03 c7                	add    %edi,%eax
45f23c:	6a 00                	push   $0x0
45f23e:	50                   	push   %eax
45f23f:	e8 6c c9 00 00       	call   0x46bbb0
45f244:	83 c4 0c             	add    $0xc,%esp
45f247:	57                   	push   %edi
45f248:	6a 00                	push   $0x0
45f24a:	55                   	push   %ebp
45f24b:	e8 60 c9 00 00       	call   0x46bbb0
45f250:	eb 39                	jmp    0x45f28b
45f252:	8d 3c 9d 00 00 00 00 	lea    0x0(,%ebx,4),%edi
45f259:	57                   	push   %edi
45f25a:	52                   	push   %edx
45f25b:	50                   	push   %eax
45f25c:	e8 bf c3 00 00       	call   0x46b620
45f261:	8b 76 04             	mov    0x4(%esi),%esi
45f264:	83 c4 0c             	add    $0xc,%esp
45f267:	8d 04 37             	lea    (%edi,%esi,1),%eax
45f26a:	2b f0                	sub    %eax,%esi
45f26c:	03 74 24 10          	add    0x10(%esp),%esi
45f270:	56                   	push   %esi
45f271:	50                   	push   %eax
45f272:	55                   	push   %ebp
45f273:	e8 a8 c3 00 00       	call   0x46b620
45f278:	83 c4 0c             	add    $0xc,%esp
45f27b:	8d 04 2e             	lea    (%esi,%ebp,1),%eax
45f27e:	57                   	push   %edi
45f27f:	6a 00                	push   $0x0
45f281:	50                   	push   %eax
45f282:	e8 29 c9 00 00       	call   0x46bbb0
45f287:	8b 74 24 20          	mov    0x20(%esp),%esi
45f28b:	8b 46 04             	mov    0x4(%esi),%eax
45f28e:	83 c4 0c             	add    $0xc,%esp
45f291:	85 c0                	test   %eax,%eax
45f293:	74 2a                	je     0x45f2bf
45f295:	8b 4e 08             	mov    0x8(%esi),%ecx
45f298:	c1 e1 02             	shl    $0x2,%ecx
45f29b:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
45f2a1:	72 12                	jb     0x45f2b5
45f2a3:	8b 50 fc             	mov    -0x4(%eax),%edx
45f2a6:	83 c1 23             	add    $0x23,%ecx
45f2a9:	2b c2                	sub    %edx,%eax
45f2ab:	83 c0 fc             	add    $0xfffffffc,%eax
45f2ae:	83 f8 1f             	cmp    $0x1f,%eax
45f2b1:	77 21                	ja     0x45f2d4
45f2b3:	8b c2                	mov    %edx,%eax
45f2b5:	51                   	push   %ecx
45f2b6:	50                   	push   %eax
45f2b7:	e8 4c a7 00 00       	call   0x469a08
45f2bc:	83 c4 08             	add    $0x8,%esp
45f2bf:	01 5e 08             	add    %ebx,0x8(%esi)
45f2c2:	5f                   	pop    %edi
45f2c3:	89 6e 04             	mov    %ebp,0x4(%esi)
45f2c6:	5e                   	pop    %esi
45f2c7:	5d                   	pop    %ebp
45f2c8:	5b                   	pop    %ebx
45f2c9:	83 c4 10             	add    $0x10,%esp
45f2cc:	c2 04 00             	ret    $0x4
45f2cf:	e8 1c 65 fd ff       	call   0x4357f0
45f2d4:	e8 58 a3 01 00       	call   0x479631
45f2d9:	e8 62 20 fa ff       	call   0x401340
45f2de:	cc                   	int3
45f2df:	cc                   	int3
45f2e0:	8b 44 24 04          	mov    0x4(%esp),%eax
45f2e4:	c3                   	ret
45f2e5:	cc                   	int3
45f2e6:	cc                   	int3
45f2e7:	cc                   	int3
45f2e8:	cc                   	int3
45f2e9:	cc                   	int3
45f2ea:	cc                   	int3
45f2eb:	cc                   	int3
45f2ec:	cc                   	int3
45f2ed:	cc                   	int3
45f2ee:	cc                   	int3
45f2ef:	cc                   	int3
45f2f0:	83 e9 04             	sub    $0x4,%ecx
45f2f3:	e9 08 f7 ff ff       	jmp    0x45ea00
45f2f8:	cc                   	int3
45f2f9:	cc                   	int3
45f2fa:	cc                   	int3
45f2fb:	cc                   	int3
45f2fc:	cc                   	int3
45f2fd:	cc                   	int3
45f2fe:	cc                   	int3
45f2ff:	cc                   	int3
45f300:	55                   	push   %ebp
45f301:	8b ec                	mov    %esp,%ebp
45f303:	6a ff                	push   $0xffffffff
45f305:	68 c8 c4 49 00       	push   $0x49c4c8
45f30a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45f310:	50                   	push   %eax
45f311:	51                   	push   %ecx
45f312:	56                   	push   %esi
45f313:	57                   	push   %edi
45f314:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45f319:	33 c5                	xor    %ebp,%eax
45f31b:	50                   	push   %eax
45f31c:	8d 45 f4             	lea    -0xc(%ebp),%eax
45f31f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45f325:	8b f1                	mov    %ecx,%esi
45f327:	89 75 f0             	mov    %esi,-0x10(%ebp)
45f32a:	ff 75 08             	push   0x8(%ebp)
45f32d:	e8 0e f1 fe ff       	call   0x44e440
45f332:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45f339:	e8 92 46 ff ff       	call   0x4539d0
45f33e:	50                   	push   %eax
45f33f:	8d 4e 14             	lea    0x14(%esi),%ecx
45f342:	e8 f9 f0 fe ff       	call   0x44e440
45f347:	8a 45 0c             	mov    0xc(%ebp),%al
45f34a:	8b ce                	mov    %esi,%ecx
45f34c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45f350:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
45f357:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
45f35e:	88 46 34             	mov    %al,0x34(%esi)
45f361:	66 c7 46 36 01 00    	movw   $0x1,0x36(%esi)
45f367:	e8 64 f4 fe ff       	call   0x44e7d0
45f36c:	83 f8 11             	cmp    $0x11,%eax
45f36f:	77 07                	ja     0x45f378
45f371:	b8 01 00 00 00       	mov    $0x1,%eax
45f376:	eb 42                	jmp    0x45f3ba
45f378:	83 f8 18             	cmp    $0x18,%eax
45f37b:	77 07                	ja     0x45f384
45f37d:	b8 02 00 00 00       	mov    $0x2,%eax
45f382:	eb 36                	jmp    0x45f3ba
45f384:	83 f8 46             	cmp    $0x46,%eax
45f387:	77 07                	ja     0x45f390
45f389:	b8 03 00 00 00       	mov    $0x3,%eax
45f38e:	eb 2a                	jmp    0x45f3ba
45f390:	3d c5 00 00 00       	cmp    $0xc5,%eax
45f395:	77 07                	ja     0x45f39e
45f397:	b8 04 00 00 00       	mov    $0x4,%eax
45f39c:	eb 1c                	jmp    0x45f3ba
45f39e:	3d 1b 02 00 00       	cmp    $0x21b,%eax
45f3a3:	77 07                	ja     0x45f3ac
45f3a5:	b8 05 00 00 00       	mov    $0x5,%eax
45f3aa:	eb 0e                	jmp    0x45f3ba
45f3ac:	b9 9a 05 00 00       	mov    $0x59a,%ecx
45f3b1:	3b c8                	cmp    %eax,%ecx
45f3b3:	1b c0                	sbb    %eax,%eax
45f3b5:	f7 d8                	neg    %eax