40c045:	b8 cc 94 40 00       	mov    $0x4094cc,%eax
40c04a:	89 41 08             	mov    %eax,0x8(%ecx)
40c04d:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
40c053:	56                   	push   %esi
40c054:	89 41 0c             	mov    %eax,0xc(%ecx)
40c057:	ff 57 44             	call   *0x44(%edi)
40c05a:	db e2                	fnclex
40c05c:	33 db                	xor    %ebx,%ebx
40c05e:	3b c3                	cmp    %ebx,%eax
40c060:	7d 0f                	jge    0x40c071
40c062:	6a 44                	push   $0x44
40c064:	68 18 8f 40 00       	push   $0x408f18
40c069:	56                   	push   %esi
40c06a:	50                   	push   %eax
40c06b:	ff 15 44 10 40 00    	call   *0x401044
40c071:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40c074:	ff 15 8c 11 40 00    	call   *0x40118c
40c07a:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40c07d:	51                   	push   %ecx
40c07e:	6a 01                	push   $0x1
40c080:	b8 02 00 00 00       	mov    $0x2,%eax
40c085:	68 f4 92 40 00       	push   $0x4092f4
40c08a:	68 00 93 40 00       	push   $0x409300
40c08f:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40c092:	89 45 ac             	mov    %eax,-0x54(%ebp)
40c095:	ff 15 3c 10 40 00    	call   *0x40103c
40c09b:	8b 3d 70 11 40 00    	mov    0x401170,%edi
40c0a1:	8b d0                	mov    %eax,%edx
40c0a3:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40c0a6:	ff d7                	call   *%edi
40c0a8:	50                   	push   %eax
40c0a9:	ff 15 38 10 40 00    	call   *0x401038
40c0af:	8b d0                	mov    %eax,%edx
40c0b1:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40c0b4:	ff d7                	call   *%edi
40c0b6:	50                   	push   %eax
40c0b7:	68 08 93 40 00       	push   $0x409308
40c0bc:	ff 15 90 10 40 00    	call   *0x401090
40c0c2:	8b f0                	mov    %eax,%esi
40c0c4:	f7 de                	neg    %esi
40c0c6:	8d 55 c4             	lea    -0x3c(%ebp),%edx
40c0c9:	52                   	push   %edx
40c0ca:	1b f6                	sbb    %esi,%esi
40c0cc:	8d 45 c8             	lea    -0x38(%ebp),%eax
40c0cf:	50                   	push   %eax
40c0d0:	f7 de                	neg    %esi
40c0d2:	6a 02                	push   $0x2
40c0d4:	f7 de                	neg    %esi
40c0d6:	ff 15 3c 11 40 00    	call   *0x40113c
40c0dc:	83 c4 0c             	add    $0xc,%esp
40c0df:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40c0e2:	ff 15 18 10 40 00    	call   *0x401018
40c0e8:	66 3b f3             	cmp    %bx,%si
40c0eb:	74 08                	je     0x40c0f5
40c0ed:	6a 57                	push   $0x57
40c0ef:	ff 15 c4 10 40 00    	call   *0x4010c4
40c0f5:	8b 35 3c 10 40 00    	mov    0x40103c,%esi
40c0fb:	68 58 92 40 00       	push   $0x409258
40c100:	68 10 93 40 00       	push   $0x409310
40c105:	ff d6                	call   *%esi
40c107:	8b d0                	mov    %eax,%edx
40c109:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40c10c:	ff d7                	call   *%edi
40c10e:	50                   	push   %eax
40c10f:	68 58 92 40 00       	push   $0x409258
40c114:	ff d6                	call   *%esi
40c116:	8b d0                	mov    %eax,%edx
40c118:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40c11b:	ff d7                	call   *%edi
40c11d:	50                   	push   %eax
40c11e:	68 18 93 40 00       	push   $0x409318
40c123:	ff d6                	call   *%esi
40c125:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40c128:	51                   	push   %ecx
40c129:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40c12c:	c7 45 ac 08 00 00 00 	movl   $0x8,-0x54(%ebp)
40c133:	ff 15 48 10 40 00    	call   *0x401048
40c139:	33 d2                	xor    %edx,%edx
40c13b:	66 3d ff ff          	cmp    $0xffff,%ax
40c13f:	0f 95 c2             	setne  %dl
40c142:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40c145:	50                   	push   %eax
40c146:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40c149:	51                   	push   %ecx
40c14a:	6a 02                	push   $0x2
40c14c:	f7 da                	neg    %edx
40c14e:	8b fa                	mov    %edx,%edi
40c150:	ff 15 3c 11 40 00    	call   *0x40113c
40c156:	83 c4 0c             	add    $0xc,%esp
40c159:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40c15c:	ff 15 18 10 40 00    	call   *0x401018
40c162:	66 3b fb             	cmp    %bx,%di
40c165:	0f 84 d1 00 00 00    	je     0x40c23c
40c16b:	53                   	push   %ebx
40c16c:	68 f0 94 40 00       	push   $0x4094f0
40c171:	8d 55 cc             	lea    -0x34(%ebp),%edx
40c174:	52                   	push   %edx
40c175:	8d 45 ac             	lea    -0x54(%ebp),%eax
40c178:	50                   	push   %eax
40c179:	ff 15 64 11 40 00    	call   *0x401164
40c17f:	a1 c8 d6 40 00       	mov    0x40d6c8,%eax
40c184:	83 c4 10             	add    $0x10,%esp
40c187:	3b c3                	cmp    %ebx,%eax
40c189:	75 10                	jne    0x40c19b
40c18b:	68 c8 d6 40 00       	push   $0x40d6c8
40c190:	68 28 8f 40 00       	push   $0x408f28
40c195:	ff 15 14 11 40 00    	call   *0x401114
40c19b:	8b 35 c8 d6 40 00    	mov    0x40d6c8,%esi
40c1a1:	8b 0e                	mov    (%esi),%ecx
40c1a3:	8d 55 c0             	lea    -0x40(%ebp),%edx
40c1a6:	52                   	push   %edx
40c1a7:	56                   	push   %esi
40c1a8:	ff 51 1c             	call   *0x1c(%ecx)
40c1ab:	db e2                	fnclex
40c1ad:	3b c3                	cmp    %ebx,%eax
40c1af:	7d 0f                	jge    0x40c1c0
40c1b1:	6a 1c                	push   $0x1c
40c1b3:	68 18 8f 40 00       	push   $0x408f18
40c1b8:	56                   	push   %esi
40c1b9:	50                   	push   %eax
40c1ba:	ff 15 44 10 40 00    	call   *0x401044
40c1c0:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
40c1c6:	8b 7d c0             	mov    -0x40(%ebp),%edi
40c1c9:	8b 37                	mov    (%edi),%esi
40c1cb:	83 ec 10             	sub    $0x10,%esp
40c1ce:	8b cc                	mov    %esp,%ecx
40c1d0:	b8 02 00 00 00       	mov    $0x2,%eax
40c1d5:	89 01                	mov    %eax,(%ecx)
40c1d7:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
40c1dd:	89 51 04             	mov    %edx,0x4(%ecx)
40c1e0:	89 59 08             	mov    %ebx,0x8(%ecx)
40c1e3:	89 41 0c             	mov    %eax,0xc(%ecx)
40c1e6:	68 20 90 40 00       	push   $0x409020
40c1eb:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40c1ee:	51                   	push   %ecx
40c1ef:	ff 15 b4 10 40 00    	call   *0x4010b4
40c1f5:	50                   	push   %eax
40c1f6:	8d 55 bc             	lea    -0x44(%ebp),%edx
40c1f9:	52                   	push   %edx
40c1fa:	ff 15 60 10 40 00    	call   *0x401060
40c200:	50                   	push   %eax
40c201:	57                   	push   %edi
40c202:	ff 56 58             	call   *0x58(%esi)
40c205:	db e2                	fnclex
40c207:	3b c3                	cmp    %ebx,%eax
40c209:	7d 0f                	jge    0x40c21a
40c20b:	6a 58                	push   $0x58
40c20d:	68 30 90 40 00       	push   $0x409030
40c212:	57                   	push   %edi
40c213:	50                   	push   %eax
40c214:	ff 15 44 10 40 00    	call   *0x401044
40c21a:	8d 45 c0             	lea    -0x40(%ebp),%eax
40c21d:	50                   	push   %eax
40c21e:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40c221:	51                   	push   %ecx
40c222:	6a 02                	push   $0x2
40c224:	ff 15 28 10 40 00    	call   *0x401028
40c22a:	83 c4 0c             	add    $0xc,%esp
40c22d:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40c230:	ff 15 18 10 40 00    	call   *0x401018
40c236:	8b 35 3c 10 40 00    	mov    0x40103c,%esi
40c23c:	8d 55 ac             	lea    -0x54(%ebp),%edx
40c23f:	52                   	push   %edx
40c240:	8d 45 9c             	lea    -0x64(%ebp),%eax
40c243:	50                   	push   %eax
40c244:	c7 45 b4 4b 00 00 00 	movl   $0x4b,-0x4c(%ebp)
40c24b:	c7 45 ac 02 00 00 00 	movl   $0x2,-0x54(%ebp)
40c252:	ff 15 34 11 40 00    	call   *0x401134
40c258:	68 34 95 40 00       	push   $0x409534
40c25d:	68 3c 95 40 00       	push   $0x40953c
40c262:	ff d6                	call   *%esi
40c264:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40c267:	51                   	push   %ecx
40c268:	8d 55 8c             	lea    -0x74(%ebp),%edx
40c26b:	52                   	push   %edx
40c26c:	89 45 94             	mov    %eax,-0x6c(%ebp)
40c26f:	c7 45 8c 08 80 00 00 	movl   $0x8008,-0x74(%ebp)
40c276:	ff 15 50 11 40 00    	call   *0x401150
40c27c:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40c27f:	8d 55 ac             	lea    -0x54(%ebp),%edx
40c282:	8b f0                	mov    %eax,%esi
40c284:	8d 45 8c             	lea    -0x74(%ebp),%eax
40c287:	50                   	push   %eax
40c288:	51                   	push   %ecx
40c289:	52                   	push   %edx
40c28a:	6a 03                	push   $0x3
40c28c:	ff 15 20 10 40 00    	call   *0x401020
40c292:	83 c4 10             	add    $0x10,%esp
40c295:	66 3b f3             	cmp    %bx,%si
40c298:	0f 84 8a 00 00 00    	je     0x40c328
40c29e:	83 ec 10             	sub    $0x10,%esp
40c2a1:	8b dc                	mov    %esp,%ebx
40c2a3:	b8 09 00 00 00       	mov    $0x9,%eax
40c2a8:	89 03                	mov    %eax,(%ebx)
40c2aa:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
40c2b0:	89 43 04             	mov    %eax,0x4(%ebx)
40c2b3:	8b 45 08             	mov    0x8(%ebp),%eax
40c2b6:	89 43 08             	mov    %eax,0x8(%ebx)
40c2b9:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
40c2bf:	89 43 0c             	mov    %eax,0xc(%ebx)
40c2c2:	83 ec 10             	sub    $0x10,%esp
40c2c5:	8b c4                	mov    %esp,%eax
40c2c7:	ba 08 00 00 00       	mov    $0x8,%edx
40c2cc:	89 10                	mov    %edx,(%eax)
40c2ce:	8b 95 50 ff ff ff    	mov    -0xb0(%ebp),%edx
40c2d4:	89 50 04             	mov    %edx,0x4(%eax)
40c2d7:	83 ec 10             	sub    $0x10,%esp
40c2da:	b9 44 95 40 00       	mov    $0x409544,%ecx
40c2df:	89 48 08             	mov    %ecx,0x8(%eax)
40c2e2:	8b 8d 58 ff ff ff    	mov    -0xa8(%ebp),%ecx
40c2e8:	89 48 0c             	mov    %ecx,0xc(%eax)
40c2eb:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
40c2f1:	8b 8d 38 ff ff ff    	mov    -0xc8(%ebp),%ecx
40c2f7:	8b d4                	mov    %esp,%edx
40c2f9:	bf 03 00 00 00       	mov    $0x3,%edi
40c2fe:	89 3a                	mov    %edi,(%edx)
40c300:	89 42 04             	mov    %eax,0x4(%edx)
40c303:	be 84 65 63 00       	mov    $0x636584,%esi
40c308:	89 72 08             	mov    %esi,0x8(%edx)
40c30b:	57                   	push   %edi
40c30c:	89 4a 0c             	mov    %ecx,0xc(%edx)
40c30f:	68 94 95 40 00       	push   $0x409594
40c314:	8d 55 dc             	lea    -0x24(%ebp),%edx
40c317:	52                   	push   %edx
40c318:	ff 15 a0 10 40 00    	call   *0x4010a0
40c31e:	50                   	push   %eax
40c31f:	ff 15 5c 11 40 00    	call   *0x40115c
40c325:	83 c4 3c             	add    $0x3c,%esp
40c328:	68 7f c3 40 00       	push   $0x40c37f
40c32d:	eb 3f                	jmp    0x40c36e
40c32f:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40c332:	50                   	push   %eax
40c333:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40c336:	51                   	push   %ecx
40c337:	6a 02                	push   $0x2
40c339:	ff 15 3c 11 40 00    	call   *0x40113c
40c33f:	8d 55 bc             	lea    -0x44(%ebp),%edx
40c342:	52                   	push   %edx
40c343:	8d 45 c0             	lea    -0x40(%ebp),%eax
40c346:	50                   	push   %eax
40c347:	6a 02                	push   $0x2
40c349:	ff 15 28 10 40 00    	call   *0x401028
40c34f:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
40c355:	51                   	push   %ecx
40c356:	8d 55 8c             	lea    -0x74(%ebp),%edx
40c359:	52                   	push   %edx
40c35a:	8d 45 9c             	lea    -0x64(%ebp),%eax
40c35d:	50                   	push   %eax
40c35e:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40c361:	51                   	push   %ecx
40c362:	6a 04                	push   $0x4
40c364:	ff 15 20 10 40 00    	call   *0x401020
40c36a:	83 c4 2c             	add    $0x2c,%esp
40c36d:	c3                   	ret
40c36e:	8b 35 18 10 40 00    	mov    0x401018,%esi
40c374:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40c377:	ff d6                	call   *%esi
40c379:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40c37c:	ff d6                	call   *%esi
40c37e:	c3                   	ret
40c37f:	8b 45 08             	mov    0x8(%ebp),%eax
40c382:	8b 10                	mov    (%eax),%edx
40c384:	50                   	push   %eax
40c385:	ff 52 08             	call   *0x8(%edx)
40c388:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c38b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40c38e:	5f                   	pop    %edi
40c38f:	5e                   	pop    %esi
40c390:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40c397:	5b                   	pop    %ebx
40c398:	8b e5                	mov    %ebp,%esp
40c39a:	5d                   	pop    %ebp
40c39b:	c2 14 00             	ret    $0x14
40c39e:	90                   	nop
40c39f:	90                   	nop
40c3a0:	55                   	push   %ebp
40c3a1:	8b ec                	mov    %esp,%ebp
40c3a3:	83 ec 08             	sub    $0x8,%esp
40c3a6:	68 76 12 40 00       	push   $0x401276
40c3ab:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40c3b1:	50                   	push   %eax
40c3b2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40c3b9:	81 ec 8c 00 00 00    	sub    $0x8c,%esp
40c3bf:	53                   	push   %ebx
40c3c0:	56                   	push   %esi
40c3c1:	57                   	push   %edi
40c3c2:	89 65 f8             	mov    %esp,-0x8(%ebp)
40c3c5:	c7 45 fc 50 12 40 00 	movl   $0x401250,-0x4(%ebp)
40c3cc:	8b 55 1c             	mov    0x1c(%ebp),%edx
40c3cf:	33 f6                	xor    %esi,%esi
40c3d1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40c3d4:	89 75 e0             	mov    %esi,-0x20(%ebp)
40c3d7:	89 75 dc             	mov    %esi,-0x24(%ebp)
40c3da:	89 75 d8             	mov    %esi,-0x28(%ebp)
40c3dd:	89 75 d0             	mov    %esi,-0x30(%ebp)
40c3e0:	89 75 d4             	mov    %esi,-0x2c(%ebp)
40c3e3:	89 75 cc             	mov    %esi,-0x34(%ebp)
40c3e6:	89 75 c8             	mov    %esi,-0x38(%ebp)
40c3e9:	89 75 b8             	mov    %esi,-0x48(%ebp)
40c3ec:	89 75 a8             	mov    %esi,-0x58(%ebp)
40c3ef:	89 75 98             	mov    %esi,-0x68(%ebp)
40c3f2:	89 75 88             	mov    %esi,-0x78(%ebp)
40c3f5:	89 b5 78 ff ff ff    	mov    %esi,-0x88(%ebp)
40c3fb:	ff 15 2c 11 40 00    	call   *0x40112c
40c401:	8b 45 08             	mov    0x8(%ebp),%eax
40c404:	8d 55 88             	lea    -0x78(%ebp),%edx
40c407:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40c40a:	89 45 90             	mov    %eax,-0x70(%ebp)
40c40d:	c7 45 88 09 00 00 00 	movl   $0x9,-0x78(%ebp)
40c414:	ff 15 60 11 40 00    	call   *0x401160
40c41a:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40c41d:	51                   	push   %ecx
40c41e:	ff 15 a4 10 40 00    	call   *0x4010a4
40c424:	33 d2                	xor    %edx,%edx
40c426:	66 3d ff ff          	cmp    $0xffff,%ax
40c42a:	0f 95 c2             	setne  %dl
40c42d:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40c430:	f7 da                	neg    %edx
40c432:	66 8b fa             	mov    %dx,%di
40c435:	ff 15 18 10 40 00    	call   *0x401018
40c43b:	66 3b fe             	cmp    %si,%di
40c43e:	0f 84 83 00 00 00    	je     0x40c4c7
40c444:	56                   	push   %esi
40c445:	68 a8 95 40 00       	push   $0x4095a8
40c44a:	8d 45 e0             	lea    -0x20(%ebp),%eax
40c44d:	50                   	push   %eax
40c44e:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40c451:	51                   	push   %ecx
40c452:	ff 15 64 11 40 00    	call   *0x401164
40c458:	a1 c8 d6 40 00       	mov    0x40d6c8,%eax
40c45d:	83 c4 10             	add    $0x10,%esp
40c460:	3b c6                	cmp    %esi,%eax
40c462:	75 10                	jne    0x40c474
40c464:	68 c8 d6 40 00       	push   $0x40d6c8
40c469:	68 28 8f 40 00       	push   $0x408f28
40c46e:	ff 15 14 11 40 00    	call   *0x401114
40c474:	8b 3d c8 d6 40 00    	mov    0x40d6c8,%edi
40c47a:	8b 1f                	mov    (%edi),%ebx
40c47c:	68 dc 95 40 00       	push   $0x4095dc
40c481:	68 20 90 40 00       	push   $0x409020
40c486:	8d 55 b8             	lea    -0x48(%ebp),%edx
40c489:	52                   	push   %edx
40c48a:	ff 15 b4 10 40 00    	call   *0x4010b4
40c490:	50                   	push   %eax
40c491:	8d 45 c8             	lea    -0x38(%ebp),%eax
40c494:	50                   	push   %eax
40c495:	ff 15 60 10 40 00    	call   *0x401060
40c49b:	50                   	push   %eax
40c49c:	57                   	push   %edi
40c49d:	ff 53 40             	call   *0x40(%ebx)