45c017:	6a 0e                	push   $0xe
45c019:	e8 c6 15 fb ff       	call   0x40d5e4
45c01e:	8d 4f 08             	lea    0x8(%edi),%ecx
45c021:	84 c0                	test   %al,%al
45c023:	74 10                	je     0x45c035
45c025:	8d 45 a8             	lea    -0x58(%ebp),%eax
45c028:	50                   	push   %eax
45c029:	83 cb 04             	or     $0x4,%ebx
45c02c:	e8 6c e6 fe ff       	call   0x44a69d
45c031:	8b c8                	mov    %eax,%ecx
45c033:	eb 27                	jmp    0x45c05c
45c035:	83 cb 08             	or     $0x8,%ebx
45c038:	e8 2f d3 fa ff       	call   0x40936c
45c03d:	8b 4f 10             	mov    0x10(%edi),%ecx
45c040:	8b 01                	mov    (%ecx),%eax
45c042:	89 45 ec             	mov    %eax,-0x14(%ebp)
45c045:	8b 41 04             	mov    0x4(%ecx),%eax
45c048:	89 45 f0             	mov    %eax,-0x10(%ebp)
45c04b:	8b 41 08             	mov    0x8(%ecx),%eax
45c04e:	89 45 f4             	mov    %eax,-0xc(%ebp)
45c051:	8b 41 0c             	mov    0xc(%ecx),%eax
45c054:	89 45 f8             	mov    %eax,-0x8(%ebp)
45c057:	ff 00                	incl   (%eax)
45c059:	8d 4d ec             	lea    -0x14(%ebp),%ecx
45c05c:	8b 01                	mov    (%ecx),%eax
45c05e:	89 45 c8             	mov    %eax,-0x38(%ebp)
45c061:	8b 41 04             	mov    0x4(%ecx),%eax
45c064:	89 45 cc             	mov    %eax,-0x34(%ebp)
45c067:	8b 41 08             	mov    0x8(%ecx),%eax
45c06a:	89 45 d0             	mov    %eax,-0x30(%ebp)
45c06d:	8b 41 0c             	mov    0xc(%ecx),%eax
45c070:	89 45 d4             	mov    %eax,-0x2c(%ebp)
45c073:	ff 00                	incl   (%eax)
45c075:	f6 c3 08             	test   $0x8,%bl
45c078:	74 0b                	je     0x45c085
45c07a:	8d 4d ec             	lea    -0x14(%ebp),%ecx
45c07d:	83 e3 f7             	and    $0xfffffff7,%ebx
45c080:	e8 b2 0a fb ff       	call   0x40cb37
45c085:	f6 c3 04             	test   $0x4,%bl
45c088:	74 08                	je     0x45c092
45c08a:	8d 4d a8             	lea    -0x58(%ebp),%ecx
45c08d:	e8 a5 0a fb ff       	call   0x40cb37
45c092:	33 db                	xor    %ebx,%ebx
45c094:	8d 45 d8             	lea    -0x28(%ebp),%eax
45c097:	50                   	push   %eax
45c098:	c7 45 ec 50 dc 49 00 	movl   $0x49dc50,-0x14(%ebp)
45c09f:	89 5d f0             	mov    %ebx,-0x10(%ebp)
45c0a2:	89 5d f4             	mov    %ebx,-0xc(%ebp)
45c0a5:	89 5d f8             	mov    %ebx,-0x8(%ebp)
45c0a8:	89 5d b8             	mov    %ebx,-0x48(%ebp)
45c0ab:	89 5d c0             	mov    %ebx,-0x40(%ebp)
45c0ae:	c7 45 c4 01 00 00 00 	movl   $0x1,-0x3c(%ebp)
45c0b5:	ff 15 64 d4 48 00    	call   *0x48d464
45c0bb:	6a 09                	push   $0x9
45c0bd:	58                   	pop    %eax
45c0be:	89 5d e0             	mov    %ebx,-0x20(%ebp)
45c0c1:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
45c0c4:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
45c0c8:	89 7d e0             	mov    %edi,-0x20(%ebp)
45c0cb:	8b 07                	mov    (%edi),%eax
45c0cd:	57                   	push   %edi
45c0ce:	ff 50 04             	call   *0x4(%eax)
45c0d1:	8d 45 a8             	lea    -0x58(%ebp),%eax
45c0d4:	50                   	push   %eax
45c0d5:	8d 4d ec             	lea    -0x14(%ebp),%ecx
45c0d8:	89 5d a8             	mov    %ebx,-0x58(%ebp)
45c0db:	89 5d b0             	mov    %ebx,-0x50(%ebp)
45c0de:	c7 45 b4 01 00 00 00 	movl   $0x1,-0x4c(%ebp)
45c0e5:	e8 ec 01 fc ff       	call   0x41c2d6
45c0ea:	8d 4d a8             	lea    -0x58(%ebp),%ecx
45c0ed:	e8 2e 6b fb ff       	call   0x412c20
45c0f2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45c0f5:	8d 45 d8             	lea    -0x28(%ebp),%eax
45c0f8:	50                   	push   %eax
45c0f9:	8b 45 f4             	mov    -0xc(%ebp),%eax
45c0fc:	8b 4c 81 fc          	mov    -0x4(%ecx,%eax,4),%ecx
45c100:	e8 c0 dc fe ff       	call   0x449dc5
45c105:	51                   	push   %ecx
45c106:	8d 45 17             	lea    0x17(%ebp),%eax
45c109:	50                   	push   %eax
45c10a:	51                   	push   %ecx
45c10b:	53                   	push   %ebx
45c10c:	8d 45 b8             	lea    -0x48(%ebp),%eax
45c10f:	50                   	push   %eax
45c110:	8d 45 ec             	lea    -0x14(%ebp),%eax
45c113:	50                   	push   %eax
45c114:	8d 45 c8             	lea    -0x38(%ebp),%eax
45c117:	50                   	push   %eax
45c118:	8b ce                	mov    %esi,%ecx
45c11a:	c6 05 e4 3c 4c 00 01 	movb   $0x1,0x4c3ce4
45c121:	e8 3d a3 ff ff       	call   0x456463
45c126:	84 c0                	test   %al,%al
45c128:	75 1b                	jne    0x45c145
45c12a:	51                   	push   %ecx
45c12b:	8d 45 17             	lea    0x17(%ebp),%eax
45c12e:	50                   	push   %eax
45c12f:	51                   	push   %ecx
45c130:	6a 01                	push   $0x1
45c132:	8d 45 b8             	lea    -0x48(%ebp),%eax
45c135:	50                   	push   %eax
45c136:	8d 45 ec             	lea    -0x14(%ebp),%eax
45c139:	50                   	push   %eax
45c13a:	8d 45 c8             	lea    -0x38(%ebp),%eax
45c13d:	50                   	push   %eax
45c13e:	8b ce                	mov    %esi,%ecx
45c140:	e8 1e a3 ff ff       	call   0x456463
45c145:	8b 06                	mov    (%esi),%eax
45c147:	53                   	push   %ebx
45c148:	8b 48 04             	mov    0x4(%eax),%ecx
45c14b:	ff 75 08             	push   0x8(%ebp)
45c14e:	03 ce                	add    %esi,%ecx
45c150:	e8 f7 0d ff ff       	call   0x44cf4c
45c155:	8d 45 d8             	lea    -0x28(%ebp),%eax
45c158:	50                   	push   %eax
45c159:	88 1d e4 3c 4c 00    	mov    %bl,0x4c3ce4
45c15f:	ff 15 4c d4 48 00    	call   *0x48d44c
45c165:	8d 4d b8             	lea    -0x48(%ebp),%ecx
45c168:	89 5d e0             	mov    %ebx,-0x20(%ebp)
45c16b:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
45c16e:	e8 ad 6a fb ff       	call   0x412c20
45c173:	8d 4d ec             	lea    -0x14(%ebp),%ecx
45c176:	e8 11 35 fe ff       	call   0x43f68c
45c17b:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45c17e:	e8 b4 09 fb ff       	call   0x40cb37
45c183:	33 c0                	xor    %eax,%eax
45c185:	5f                   	pop    %edi
45c186:	5e                   	pop    %esi
45c187:	5b                   	pop    %ebx
45c188:	c9                   	leave
45c189:	c2 10 00             	ret    $0x10
45c18c:	55                   	push   %ebp
45c18d:	8b ec                	mov    %esp,%ebp
45c18f:	81 ec c0 00 00 00    	sub    $0xc0,%esp
45c195:	53                   	push   %ebx
45c196:	56                   	push   %esi
45c197:	8b d9                	mov    %ecx,%ebx
45c199:	57                   	push   %edi
45c19a:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45c19d:	89 5d ec             	mov    %ebx,-0x14(%ebp)
45c1a0:	e8 52 16 fb ff       	call   0x40d7f7
45c1a5:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
45c1ab:	e8 47 16 fb ff       	call   0x40d7f7
45c1b0:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
45c1b6:	e8 3c 16 fb ff       	call   0x40d7f7
45c1bb:	6a 06                	push   $0x6
45c1bd:	33 f6                	xor    %esi,%esi
45c1bf:	59                   	pop    %ecx
45c1c0:	33 c0                	xor    %eax,%eax
45c1c2:	89 75 b4             	mov    %esi,-0x4c(%ebp)
45c1c5:	8d 7d b8             	lea    -0x48(%ebp),%edi
45c1c8:	f3 ab                	rep stos %eax,%es:(%edi)
45c1ca:	8b 7d 18             	mov    0x18(%ebp),%edi
45c1cd:	8b cf                	mov    %edi,%ecx
45c1cf:	e8 4c 6a fb ff       	call   0x412c20
45c1d4:	8b 4d 08             	mov    0x8(%ebp),%ecx
45c1d7:	56                   	push   %esi
45c1d8:	8d 95 44 ff ff ff    	lea    -0xbc(%ebp),%edx
45c1de:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
45c1e5:	89 37                	mov    %esi,(%edi)
45c1e7:	e8 d3 d8 fd ff       	call   0x439abf
45c1ec:	59                   	pop    %ecx
45c1ed:	85 c0                	test   %eax,%eax
45c1ef:	79 0b                	jns    0x45c1fc
45c1f1:	56                   	push   %esi
45c1f2:	56                   	push   %esi
45c1f3:	56                   	push   %esi
45c1f4:	50                   	push   %eax
45c1f5:	8b cb                	mov    %ebx,%ecx
45c1f7:	e9 15 02 00 00       	jmp    0x45c411
45c1fc:	8b 5d 14             	mov    0x14(%ebp),%ebx
45c1ff:	8b 55 0c             	mov    0xc(%ebp),%edx
45c202:	8b 4d 08             	mov    0x8(%ebp),%ecx
45c205:	6a 09                	push   $0x9
45c207:	58                   	pop    %eax
45c208:	53                   	push   %ebx
45c209:	ff 75 10             	push   0x10(%ebp)
45c20c:	66 89 45 84          	mov    %ax,-0x7c(%ebp)
45c210:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45c216:	50                   	push   %eax
45c217:	e8 31 df fd ff       	call   0x43a14d
45c21c:	8b f8                	mov    %eax,%edi
45c21e:	83 c4 0c             	add    $0xc,%esp
45c221:	85 ff                	test   %edi,%edi
45c223:	0f 88 e1 01 00 00    	js     0x45c40a
45c229:	56                   	push   %esi
45c22a:	56                   	push   %esi
45c22b:	56                   	push   %esi
45c22c:	6a 03                	push   $0x3
45c22e:	6a 02                	push   $0x2
45c230:	56                   	push   %esi
45c231:	56                   	push   %esi
45c232:	6a ff                	push   $0xffffffff
45c234:	56                   	push   %esi
45c235:	ff 15 50 d8 48 00    	call   *0x48d850
45c23b:	6a 10                	push   $0x10
45c23d:	8d 45 94             	lea    -0x6c(%ebp),%eax
45c240:	56                   	push   %esi
45c241:	50                   	push   %eax
45c242:	e8 09 4b fc ff       	call   0x420d50
45c247:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45c24a:	83 c4 0c             	add    $0xc,%esp
45c24d:	8d 55 98             	lea    -0x68(%ebp),%edx
45c250:	e8 a4 e2 fd ff       	call   0x43a4f9
45c255:	39 75 10             	cmp    %esi,0x10(%ebp)
45c258:	0f 84 f2 00 00 00    	je     0x45c350
45c25e:	ff 75 10             	push   0x10(%ebp)
45c261:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45c264:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
45c26b:	e8 f3 a7 fa ff       	call   0x406a63
45c270:	68 54 dc 49 00       	push   $0x49dc54
45c275:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45c278:	e8 ec 5e ff ff       	call   0x452169
45c27d:	8b f8                	mov    %eax,%edi
45c27f:	83 ff ff             	cmp    $0xffffffff,%edi
45c282:	75 11                	jne    0x45c295
45c284:	8b 45 a4             	mov    -0x5c(%ebp),%eax
45c287:	89 45 d0             	mov    %eax,-0x30(%ebp)
45c28a:	8b 45 a8             	mov    -0x58(%ebp),%eax
45c28d:	89 75 d8             	mov    %esi,-0x28(%ebp)
45c290:	89 75 dc             	mov    %esi,-0x24(%ebp)
45c293:	eb 74                	jmp    0x45c309
45c295:	57                   	push   %edi
45c296:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
45c29c:	50                   	push   %eax
45c29d:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45c2a0:	e8 0c 09 00 00       	call   0x45cbb1
45c2a5:	50                   	push   %eax
45c2a6:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
45c2ac:	e8 3c ac fa ff       	call   0x406eed
45c2b1:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
45c2b7:	e8 7b 08 fb ff       	call   0x40cb37
45c2bc:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
45c2c2:	89 45 d8             	mov    %eax,-0x28(%ebp)
45c2c5:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
45c2cb:	89 45 dc             	mov    %eax,-0x24(%ebp)
45c2ce:	6a ff                	push   $0xffffffff
45c2d0:	8d 47 01             	lea    0x1(%edi),%eax
45c2d3:	50                   	push   %eax
45c2d4:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
45c2da:	50                   	push   %eax
45c2db:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45c2de:	e8 5d 08 fe ff       	call   0x43cb40
45c2e3:	50                   	push   %eax
45c2e4:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
45c2ea:	e8 fe ab fa ff       	call   0x406eed
45c2ef:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
45c2f5:	e8 3d 08 fb ff       	call   0x40cb37
45c2fa:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
45c300:	89 45 d0             	mov    %eax,-0x30(%ebp)
45c303:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
45c309:	89 45 d4             	mov    %eax,-0x2c(%ebp)
45c30c:	85 db                	test   %ebx,%ebx
45c30e:	74 0f                	je     0x45c31f
45c310:	53                   	push   %ebx
45c311:	89 5d e0             	mov    %ebx,-0x20(%ebp)
45c314:	e8 c2 49 fc ff       	call   0x420cdb
45c319:	59                   	pop    %ecx
45c31a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45c31d:	eb 06                	jmp    0x45c325
45c31f:	89 75 e0             	mov    %esi,-0x20(%ebp)
45c322:	89 75 e4             	mov    %esi,-0x1c(%ebp)
45c325:	8d 45 d0             	lea    -0x30(%ebp),%eax
45c328:	6a 09                	push   $0x9
45c32a:	89 45 c8             	mov    %eax,-0x38(%ebp)
45c32d:	5b                   	pop    %ebx
45c32e:	8d 45 b4             	lea    -0x4c(%ebp),%eax
45c331:	c7 45 c0 02 00 00 00 	movl   $0x2,-0x40(%ebp)
45c338:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
45c33b:	89 75 b8             	mov    %esi,-0x48(%ebp)
45c33e:	89 75 cc             	mov    %esi,-0x34(%ebp)
45c341:	c7 45 c4 03 00 00 00 	movl   $0x3,-0x3c(%ebp)
45c348:	89 75 bc             	mov    %esi,-0x44(%ebp)
45c34b:	89 45 9c             	mov    %eax,-0x64(%ebp)
45c34e:	eb 06                	jmp    0x45c356
45c350:	6a 09                	push   $0x9
45c352:	89 75 9c             	mov    %esi,-0x64(%ebp)
45c355:	5b                   	pop    %ebx
45c356:	6a 0c                	push   $0xc
45c358:	8d 45 f0             	lea    -0x10(%ebp),%eax
45c35b:	56                   	push   %esi
45c35c:	50                   	push   %eax
45c35d:	89 75 8c             	mov    %esi,-0x74(%ebp)
45c360:	e8 eb 49 fc ff       	call   0x420d50
45c365:	8b 45 8c             	mov    -0x74(%ebp),%eax
45c368:	83 c4 0c             	add    $0xc,%esp
45c36b:	89 45 f4             	mov    %eax,-0xc(%ebp)
45c36e:	8d 45 f0             	lea    -0x10(%ebp),%eax
45c371:	50                   	push   %eax
45c372:	6a 01                	push   $0x1
45c374:	8d 45 94             	lea    -0x6c(%ebp),%eax
45c377:	50                   	push   %eax
45c378:	6a 15                	push   $0x15
45c37a:	56                   	push   %esi
45c37b:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45c381:	50                   	push   %eax
45c382:	c7 45 f0 1c d9 48 00 	movl   $0x48d91c,-0x10(%ebp)
45c389:	89 75 f8             	mov    %esi,-0x8(%ebp)
45c38c:	ff 15 54 d8 48 00    	call   *0x48d854
45c392:	ff 75 98             	push   -0x68(%ebp)
45c395:	8b f8                	mov    %eax,%edi
45c397:	ff 15 10 d8 48 00    	call   *0x48d810
45c39d:	85 ff                	test   %edi,%edi
45c39f:	78 69                	js     0x45c40a
45c3a1:	8b 7d f8             	mov    -0x8(%ebp),%edi
45c3a4:	85 ff                	test   %edi,%edi
45c3a6:	78 62                	js     0x45c40a
45c3a8:	8b 45 f4             	mov    -0xc(%ebp),%eax
45c3ab:	39 75 9c             	cmp    %esi,-0x64(%ebp)
45c3ae:	74 28                	je     0x45c3d8
45c3b0:	85 c0                	test   %eax,%eax
45c3b2:	74 24                	je     0x45c3d8
45c3b4:	68 00 08 00 00       	push   $0x800
45c3b9:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45c3bc:	51                   	push   %ecx
45c3bd:	ff 75 c4             	push   -0x3c(%ebp)
45c3c0:	ff 75 c0             	push   -0x40(%ebp)
45c3c3:	ff 75 bc             	push   -0x44(%ebp)
45c3c6:	ff 75 b8             	push   -0x48(%ebp)
45c3c9:	ff 75 b4             	push   -0x4c(%ebp)
45c3cc:	50                   	push   %eax
45c3cd:	ff 15 58 d8 48 00    	call   *0x48d858
45c3d3:	8b f8                	mov    %eax,%edi
45c3d5:	8b 45 f4             	mov    -0xc(%ebp),%eax
45c3d8:	66 89 5d 84          	mov    %bx,-0x7c(%ebp)
45c3dc:	89 45 8c             	mov    %eax,-0x74(%ebp)
45c3df:	85 c0                	test   %eax,%eax
45c3e1:	75 0c                	jne    0x45c3ef
45c3e3:	6a 01                	push   $0x1
45c3e5:	68 e4 3e 4b 00       	push   $0x4b3ee4
45c3ea:	56                   	push   %esi
45c3eb:	6a 01                	push   $0x1
45c3ed:	eb 1f                	jmp    0x45c40e
45c3ef:	85 ff                	test   %edi,%edi
45c3f1:	78 17                	js     0x45c40a
45c3f3:	8b 4d 18             	mov    0x18(%ebp),%ecx
45c3f6:	8d 45 84             	lea    -0x7c(%ebp),%eax
45c3f9:	50                   	push   %eax
45c3fa:	e8 c6 d9 fe ff       	call   0x449dc5
45c3ff:	8b 45 8c             	mov    -0x74(%ebp),%eax
45c402:	50                   	push   %eax
45c403:	8b 08                	mov    (%eax),%ecx
45c405:	ff 51 08             	call   *0x8(%ecx)
45c408:	eb 0e                	jmp    0x45c418
45c40a:	56                   	push   %esi
45c40b:	56                   	push   %esi
45c40c:	56                   	push   %esi
45c40d:	57                   	push   %edi
45c40e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45c411:	e8 a7 f9 ff ff       	call   0x45bdbd
45c416:	8b f0                	mov    %eax,%esi