46c195:	8d 7d d0             	lea    -0x30(%ebp),%edi
46c198:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c199:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c19a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c19b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c19c:	5f                   	pop    %edi
46c19d:	5e                   	pop    %esi
46c19e:	8d 45 d0             	lea    -0x30(%ebp),%eax
46c1a1:	50                   	push   %eax
46c1a2:	e8 41 b3 f9 ff       	call   0x4074e8
46c1a7:	89 45 ec             	mov    %eax,-0x14(%ebp)
46c1aa:	8b 45 14             	mov    0x14(%ebp),%eax
46c1ad:	8b 40 04             	mov    0x4(%eax),%eax
46c1b0:	f7 d8                	neg    %eax
46c1b2:	50                   	push   %eax
46c1b3:	8b 45 14             	mov    0x14(%ebp),%eax
46c1b6:	8b 00                	mov    (%eax),%eax
46c1b8:	f7 d8                	neg    %eax
46c1ba:	50                   	push   %eax
46c1bb:	8d 45 d0             	lea    -0x30(%ebp),%eax
46c1be:	50                   	push   %eax
46c1bf:	e8 c4 b9 f9 ff       	call   0x407b88
46c1c4:	8b 45 f8             	mov    -0x8(%ebp),%eax
46c1c7:	50                   	push   %eax
46c1c8:	8d 45 d0             	lea    -0x30(%ebp),%eax
46c1cb:	50                   	push   %eax
46c1cc:	8d 45 d0             	lea    -0x30(%ebp),%eax
46c1cf:	50                   	push   %eax
46c1d0:	e8 cb b9 f9 ff       	call   0x407ba0
46c1d5:	8d 45 d0             	lea    -0x30(%ebp),%eax
46c1d8:	50                   	push   %eax
46c1d9:	e8 0a b3 f9 ff       	call   0x4074e8
46c1de:	89 45 e8             	mov    %eax,-0x18(%ebp)
46c1e1:	e8 56 ff ff ff       	call   0x46c13c
46c1e6:	89 45 f0             	mov    %eax,-0x10(%ebp)
46c1e9:	6a 03                	push   $0x3
46c1eb:	8b 45 e8             	mov    -0x18(%ebp),%eax
46c1ee:	50                   	push   %eax
46c1ef:	8b 45 ec             	mov    -0x14(%ebp),%eax
46c1f2:	50                   	push   %eax
46c1f3:	8b 45 f0             	mov    -0x10(%ebp),%eax
46c1f6:	50                   	push   %eax
46c1f7:	e8 4c b2 f9 ff       	call   0x407448
46c1fc:	85 f6                	test   %esi,%esi
46c1fe:	75 02                	jne    0x46c202
46c200:	8b f7                	mov    %edi,%esi
46c202:	85 db                	test   %ebx,%ebx
46c204:	0f 84 a2 00 00 00    	je     0x46c2ac
46c20a:	e8 2d ff ff ff       	call   0x46c13c
46c20f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
46c212:	8b c3                	mov    %ebx,%eax
46c214:	8b 50 0c             	mov    0xc(%eax),%edx
46c217:	52                   	push   %edx
46c218:	8b 50 08             	mov    0x8(%eax),%edx
46c21b:	52                   	push   %edx
46c21c:	8b 50 04             	mov    0x4(%eax),%edx
46c21f:	52                   	push   %edx
46c220:	8b 00                	mov    (%eax),%eax
46c222:	50                   	push   %eax
46c223:	8b 45 ec             	mov    -0x14(%ebp),%eax
46c226:	50                   	push   %eax
46c227:	e8 3c b5 f9 ff       	call   0x407768
46c22c:	56                   	push   %esi
46c22d:	57                   	push   %edi
46c22e:	8b f3                	mov    %ebx,%esi
46c230:	8d 7d d0             	lea    -0x30(%ebp),%edi
46c233:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c234:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c235:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c236:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c237:	5f                   	pop    %edi
46c238:	5e                   	pop    %esi
46c239:	8b 45 10             	mov    0x10(%ebp),%eax
46c23c:	8b 40 04             	mov    0x4(%eax),%eax
46c23f:	f7 d8                	neg    %eax
46c241:	50                   	push   %eax
46c242:	8b 45 10             	mov    0x10(%ebp),%eax
46c245:	8b 00                	mov    (%eax),%eax
46c247:	f7 d8                	neg    %eax
46c249:	50                   	push   %eax
46c24a:	8d 45 d0             	lea    -0x30(%ebp),%eax
46c24d:	50                   	push   %eax
46c24e:	e8 35 b9 f9 ff       	call   0x407b88
46c253:	53                   	push   %ebx
46c254:	8d 45 d0             	lea    -0x30(%ebp),%eax
46c257:	50                   	push   %eax
46c258:	8d 45 d0             	lea    -0x30(%ebp),%eax
46c25b:	50                   	push   %eax
46c25c:	e8 3f b9 f9 ff       	call   0x407ba0
46c261:	8b 45 dc             	mov    -0x24(%ebp),%eax
46c264:	50                   	push   %eax
46c265:	8b 45 d8             	mov    -0x28(%ebp),%eax
46c268:	50                   	push   %eax
46c269:	8b 45 d4             	mov    -0x2c(%ebp),%eax
46c26c:	50                   	push   %eax
46c26d:	8b 45 d0             	mov    -0x30(%ebp),%eax
46c270:	50                   	push   %eax
46c271:	8b 45 e8             	mov    -0x18(%ebp),%eax
46c274:	50                   	push   %eax
46c275:	e8 ee b4 f9 ff       	call   0x407768
46c27a:	6a 03                	push   $0x3
46c27c:	8b 45 e8             	mov    -0x18(%ebp),%eax
46c27f:	50                   	push   %eax
46c280:	8b 45 ec             	mov    -0x14(%ebp),%eax
46c283:	50                   	push   %eax
46c284:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46c287:	50                   	push   %eax
46c288:	e8 bb b1 f9 ff       	call   0x407448
46c28d:	3b f7                	cmp    %edi,%esi
46c28f:	75 1b                	jne    0x46c2ac
46c291:	e8 a6 fe ff ff       	call   0x46c13c
46c296:	89 45 e0             	mov    %eax,-0x20(%ebp)
46c299:	6a 03                	push   $0x3
46c29b:	8b 45 f0             	mov    -0x10(%ebp),%eax
46c29e:	50                   	push   %eax
46c29f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46c2a2:	50                   	push   %eax
46c2a3:	8b 45 e0             	mov    -0x20(%ebp),%eax
46c2a6:	50                   	push   %eax
46c2a7:	e8 9c b1 f9 ff       	call   0x407448
46c2ac:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c2af:	50                   	push   %eax
46c2b0:	e8 3b b4 f9 ff       	call   0x4076f0
46c2b5:	89 45 f4             	mov    %eax,-0xc(%ebp)
46c2b8:	33 c9                	xor    %ecx,%ecx
46c2ba:	55                   	push   %ebp
46c2bb:	68 8a c3 46 00       	push   $0x46c38a
46c2c0:	64 ff 31             	push   %fs:(%ecx)
46c2c3:	64 89 21             	mov    %esp,%fs:(%ecx)
46c2c6:	3b f7                	cmp    %edi,%esi
46c2c8:	74 4a                	je     0x46c314
46c2ca:	85 db                	test   %ebx,%ebx
46c2cc:	74 46                	je     0x46c314
46c2ce:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46c2d1:	50                   	push   %eax
46c2d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c2d5:	50                   	push   %eax
46c2d6:	e8 1d b4 f9 ff       	call   0x4076f8
46c2db:	8d 45 d0             	lea    -0x30(%ebp),%eax
46c2de:	50                   	push   %eax
46c2df:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c2e2:	50                   	push   %eax
46c2e3:	e8 98 b2 f9 ff       	call   0x407580
46c2e8:	56                   	push   %esi
46c2e9:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c2ec:	50                   	push   %eax
46c2ed:	e8 0e b4 f9 ff       	call   0x407700
46c2f2:	68 49 00 5a 00       	push   $0x5a0049
46c2f7:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46c2fa:	8b 55 d4             	mov    -0x2c(%ebp),%edx
46c2fd:	2b ca                	sub    %edx,%ecx
46c2ff:	51                   	push   %ecx
46c300:	8b 4d d8             	mov    -0x28(%ebp),%ecx
46c303:	8b 45 d0             	mov    -0x30(%ebp),%eax
46c306:	2b c8                	sub    %eax,%ecx
46c308:	51                   	push   %ecx
46c309:	52                   	push   %edx
46c30a:	50                   	push   %eax
46c30b:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c30e:	50                   	push   %eax
46c30f:	e8 8c b3 f9 ff       	call   0x4076a0
46c314:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
46c318:	74 0f                	je     0x46c329
46c31a:	8b 45 e0             	mov    -0x20(%ebp),%eax
46c31d:	50                   	push   %eax
46c31e:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c321:	50                   	push   %eax
46c322:	e8 d1 b3 f9 ff       	call   0x4076f8
46c327:	eb 0d                	jmp    0x46c336
46c329:	8b 45 f0             	mov    -0x10(%ebp),%eax
46c32c:	50                   	push   %eax
46c32d:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c330:	50                   	push   %eax
46c331:	e8 c2 b3 f9 ff       	call   0x4076f8
46c336:	8d 45 d0             	lea    -0x30(%ebp),%eax
46c339:	50                   	push   %eax
46c33a:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c33d:	50                   	push   %eax
46c33e:	e8 3d b2 f9 ff       	call   0x407580
46c343:	57                   	push   %edi
46c344:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c347:	50                   	push   %eax
46c348:	e8 b3 b3 f9 ff       	call   0x407700
46c34d:	68 49 00 5a 00       	push   $0x5a0049
46c352:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46c355:	8b 55 d4             	mov    -0x2c(%ebp),%edx
46c358:	2b ca                	sub    %edx,%ecx
46c35a:	51                   	push   %ecx
46c35b:	8b 4d d8             	mov    -0x28(%ebp),%ecx
46c35e:	8b 45 d0             	mov    -0x30(%ebp),%eax
46c361:	2b c8                	sub    %eax,%ecx
46c363:	51                   	push   %ecx
46c364:	52                   	push   %edx
46c365:	50                   	push   %eax
46c366:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c369:	50                   	push   %eax
46c36a:	e8 31 b3 f9 ff       	call   0x4076a0
46c36f:	33 c0                	xor    %eax,%eax
46c371:	5a                   	pop    %edx
46c372:	59                   	pop    %ecx
46c373:	59                   	pop    %ecx
46c374:	64 89 10             	mov    %edx,%fs:(%eax)
46c377:	68 91 c3 46 00       	push   $0x46c391
46c37c:	8b 45 f4             	mov    -0xc(%ebp),%eax
46c37f:	50                   	push   %eax
46c380:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c383:	50                   	push   %eax
46c384:	e8 57 b3 f9 ff       	call   0x4076e0
46c389:	c3                   	ret
46c38a:	e9 7d 7e f9 ff       	jmp    0x40420c
46c38f:	eb eb                	jmp    0x46c37c
46c391:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
46c395:	74 09                	je     0x46c3a0
46c397:	8b 45 f0             	mov    -0x10(%ebp),%eax
46c39a:	50                   	push   %eax
46c39b:	e8 70 b1 f9 ff       	call   0x407510
46c3a0:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
46c3a4:	74 09                	je     0x46c3af
46c3a6:	8b 45 ec             	mov    -0x14(%ebp),%eax
46c3a9:	50                   	push   %eax
46c3aa:	e8 61 b1 f9 ff       	call   0x407510
46c3af:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
46c3b3:	74 09                	je     0x46c3be
46c3b5:	8b 45 e8             	mov    -0x18(%ebp),%eax
46c3b8:	50                   	push   %eax
46c3b9:	e8 52 b1 f9 ff       	call   0x407510
46c3be:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
46c3c2:	74 09                	je     0x46c3cd
46c3c4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46c3c7:	50                   	push   %eax
46c3c8:	e8 43 b1 f9 ff       	call   0x407510
46c3cd:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
46c3d1:	74 09                	je     0x46c3dc
46c3d3:	8b 45 e0             	mov    -0x20(%ebp),%eax
46c3d6:	50                   	push   %eax
46c3d7:	e8 34 b1 f9 ff       	call   0x407510
46c3dc:	5f                   	pop    %edi
46c3dd:	5e                   	pop    %esi
46c3de:	5b                   	pop    %ebx
46c3df:	8b e5                	mov    %ebp,%esp
46c3e1:	5d                   	pop    %ebp
46c3e2:	c2 10 00             	ret    $0x10
46c3e5:	8d 40 00             	lea    0x0(%eax),%eax
46c3e8:	53                   	push   %ebx
46c3e9:	56                   	push   %esi
46c3ea:	83 c4 f0             	add    $0xfffffff0,%esp
46c3ed:	33 d2                	xor    %edx,%edx
46c3ef:	8b c4                	mov    %esp,%eax
46c3f1:	8b ca                	mov    %edx,%ecx
46c3f3:	80 e1 01             	and    $0x1,%cl
46c3f6:	83 e1 7f             	and    $0x7f,%ecx
46c3f9:	66 8b 0c 4d f0 ae 68 	mov    0x68aef0(,%ecx,2),%cx
46c400:	00
46c401:	66 89 08             	mov    %cx,(%eax)
46c404:	42                   	inc    %edx
46c405:	83 c0 02             	add    $0x2,%eax
46c408:	83 fa 08             	cmp    $0x8,%edx
46c40b:	75 e4                	jne    0x46c3f1
46c40d:	54                   	push   %esp
46c40e:	6a 01                	push   $0x1
46c410:	6a 01                	push   $0x1
46c412:	6a 08                	push   $0x8
46c414:	6a 08                	push   $0x8
46c416:	e8 3d b0 f9 ff       	call   0x407458
46c41b:	8b d8                	mov    %eax,%ebx
46c41d:	53                   	push   %ebx
46c41e:	e8 9d b0 f9 ff       	call   0x4074c0
46c423:	8b f0                	mov    %eax,%esi
46c425:	53                   	push   %ebx
46c426:	e8 e5 b0 f9 ff       	call   0x407510
46c42b:	8b c6                	mov    %esi,%eax
46c42d:	83 c4 10             	add    $0x10,%esp
46c430:	5e                   	pop    %esi
46c431:	5b                   	pop    %ebx
46c432:	c3                   	ret
46c433:	90                   	nop
46c434:	55                   	push   %ebp
46c435:	8b ec                	mov    %esp,%ebp
46c437:	51                   	push   %ecx
46c438:	53                   	push   %ebx
46c439:	56                   	push   %esi
46c43a:	57                   	push   %edi
46c43b:	8b f9                	mov    %ecx,%edi
46c43d:	8b f2                	mov    %edx,%esi
46c43f:	8b d8                	mov    %eax,%ebx
46c441:	e8 a2 ff ff ff       	call   0x46c3e8
46c446:	89 45 fc             	mov    %eax,-0x4(%ebp)
46c449:	33 c0                	xor    %eax,%eax
46c44b:	55                   	push   %ebp
46c44c:	68 89 c4 46 00       	push   $0x46c489
46c451:	64 ff 30             	push   %fs:(%eax)
46c454:	64 89 20             	mov    %esp,%fs:(%eax)
46c457:	8b 45 0c             	mov    0xc(%ebp),%eax
46c45a:	50                   	push   %eax
46c45b:	8b 45 08             	mov    0x8(%ebp),%eax
46c45e:	50                   	push   %eax
46c45f:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c462:	50                   	push   %eax
46c463:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c466:	50                   	push   %eax
46c467:	8b cf                	mov    %edi,%ecx
46c469:	8b d6                	mov    %esi,%edx
46c46b:	8b c3                	mov    %ebx,%eax
46c46d:	e8 de fc ff ff       	call   0x46c150
46c472:	33 c0                	xor    %eax,%eax
46c474:	5a                   	pop    %edx
46c475:	59                   	pop    %ecx
46c476:	59                   	pop    %ecx
46c477:	64 89 10             	mov    %edx,%fs:(%eax)
46c47a:	68 90 c4 46 00       	push   $0x46c490
46c47f:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c482:	50                   	push   %eax
46c483:	e8 88 b0 f9 ff       	call   0x407510
46c488:	c3                   	ret
46c489:	e9 7e 7d f9 ff       	jmp    0x40420c
46c48e:	eb ef                	jmp    0x46c47f
46c490:	5f                   	pop    %edi
46c491:	5e                   	pop    %esi
46c492:	5b                   	pop    %ebx
46c493:	59                   	pop    %ecx
46c494:	5d                   	pop    %ebp
46c495:	c2 08 00             	ret    $0x8
46c498:	8b 08                	mov    (%eax),%ecx
46c49a:	3b 0a                	cmp    (%edx),%ecx
46c49c:	75 08                	jne    0x46c4a6
46c49e:	8b 40 04             	mov    0x4(%eax),%eax
46c4a1:	3b 42 04             	cmp    0x4(%edx),%eax
46c4a4:	74 03                	je     0x46c4a9
46c4a6:	33 c0                	xor    %eax,%eax
46c4a8:	c3                   	ret
46c4a9:	b0 01                	mov    $0x1,%al
46c4ab:	c3                   	ret
46c4ac:	53                   	push   %ebx
46c4ad:	56                   	push   %esi
46c4ae:	8b f2                	mov    %edx,%esi
46c4b0:	8b d8                	mov    %eax,%ebx
46c4b2:	84 db                	test   %bl,%bl
46c4b4:	74 10                	je     0x46c4c6
46c4b6:	6a 00                	push   $0x0
46c4b8:	56                   	push   %esi
46c4b9:	6a 00                	push   $0x0
46c4bb:	6a 30                	push   $0x30
46c4bd:	e8 66 b9 f9 ff       	call   0x407e28
46c4c2:	85 c0                	test   %eax,%eax
46c4c4:	75 25                	jne    0x46c4eb
46c4c6:	a1 64 72 6a 00       	mov    0x6a7264,%eax
46c4cb:	8b 00                	mov    (%eax),%eax
46c4cd:	e8 ba b1 ff ff       	call   0x46768c
46c4d2:	50                   	push   %eax
46c4d3:	56                   	push   %esi