43b314:	57                   	push   %edi
43b315:	ff 15 a0 12 45 00    	call   *0x4512a0
43b31b:	8b c8                	mov    %eax,%ecx
43b31d:	ff 15 a4 12 45 00    	call   *0x4512a4
43b323:	a1 00 f0 44 00       	mov    0x44f000,%eax
43b328:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
43b32d:	74 20                	je     0x43b34f
43b32f:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
43b333:	74 1a                	je     0x43b34f
43b335:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
43b339:	72 14                	jb     0x43b34f
43b33b:	57                   	push   %edi
43b33c:	ff 70 14             	push   0x14(%eax)
43b33f:	ba a8 7b 40 00       	mov    $0x407ba8,%edx
43b344:	ff 70 10             	push   0x10(%eax)
43b347:	6a 55                	push   $0x55
43b349:	59                   	pop    %ecx
43b34a:	e8 77 54 ff ff       	call   0x4307c6
43b34f:	8b c7                	mov    %edi,%eax
43b351:	e8 e5 42 fe ff       	call   0x41f63b
43b356:	c2 18 00             	ret    $0x18
43b359:	6a 10                	push   $0x10
43b35b:	b8 a7 3d 42 00       	mov    $0x423da7,%eax
43b360:	e8 08 43 fe ff       	call   0x41f66d
43b365:	8b d9                	mov    %ecx,%ebx
43b367:	8b 7d 10             	mov    0x10(%ebp),%edi
43b36a:	33 c9                	xor    %ecx,%ecx
43b36c:	8b 55 14             	mov    0x14(%ebp),%edx
43b36f:	89 7d e4             	mov    %edi,-0x1c(%ebp)
43b372:	81 e7 ff fd ff ff    	and    $0xfffffdff,%edi
43b378:	89 7d 10             	mov    %edi,0x10(%ebp)
43b37b:	89 4d ec             	mov    %ecx,-0x14(%ebp)
43b37e:	85 d2                	test   %edx,%edx
43b380:	74 19                	je     0x43b39b
43b382:	8b 02                	mov    (%edx),%eax
43b384:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43b387:	51                   	push   %ecx
43b388:	52                   	push   %edx
43b389:	8b 70 0c             	mov    0xc(%eax),%esi
43b38c:	8b ce                	mov    %esi,%ecx
43b38e:	ff 15 c4 12 45 00    	call   *0x4512c4
43b394:	ff d6                	call   *%esi
43b396:	8b 4d ec             	mov    -0x14(%ebp),%ecx
43b399:	eb 02                	jmp    0x43b39d
43b39b:	33 c0                	xor    %eax,%eax
43b39d:	85 c0                	test   %eax,%eax
43b39f:	0f 88 0a 02 00 00    	js     0x43b5af
43b3a5:	6a 68                	push   $0x68
43b3a7:	e8 2f 2e fe ff       	call   0x41e1db
43b3ac:	8b d0                	mov    %eax,%edx
43b3ae:	59                   	pop    %ecx
43b3af:	89 55 e8             	mov    %edx,-0x18(%ebp)
43b3b2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43b3b6:	85 d2                	test   %edx,%edx
43b3b8:	74 28                	je     0x43b3e2
43b3ba:	51                   	push   %ecx
43b3bb:	8b cb                	mov    %ebx,%ecx
43b3bd:	8d 83 84 00 00 00    	lea    0x84(%ebx),%eax
43b3c3:	f7 d9                	neg    %ecx
43b3c5:	1b c9                	sbb    %ecx,%ecx
43b3c7:	23 c8                	and    %eax,%ecx
43b3c9:	51                   	push   %ecx
43b3ca:	53                   	push   %ebx
43b3cb:	ff 75 18             	push   0x18(%ebp)
43b3ce:	53                   	push   %ebx
43b3cf:	ff 75 0c             	push   0xc(%ebp)
43b3d2:	57                   	push   %edi
43b3d3:	51                   	push   %ecx
43b3d4:	8b ca                	mov    %edx,%ecx
43b3d6:	e8 a8 40 00 00       	call   0x43f483
43b3db:	8b f8                	mov    %eax,%edi
43b3dd:	89 45 f0             	mov    %eax,-0x10(%ebp)
43b3e0:	eb 05                	jmp    0x43b3e7
43b3e2:	33 ff                	xor    %edi,%edi
43b3e4:	89 7d f0             	mov    %edi,-0x10(%ebp)
43b3e7:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
43b3eb:	85 ff                	test   %edi,%edi
43b3ed:	0f 84 b9 01 00 00    	je     0x43b5ac
43b3f3:	8b 07                	mov    (%edi),%eax
43b3f5:	57                   	push   %edi
43b3f6:	8b 70 04             	mov    0x4(%eax),%esi
43b3f9:	8b ce                	mov    %esi,%ecx
43b3fb:	ff 15 c4 12 45 00    	call   *0x4512c4
43b401:	ff d6                	call   *%esi
43b403:	8b 07                	mov    (%edi),%eax
43b405:	8b 70 28             	mov    0x28(%eax),%esi
43b408:	8b ce                	mov    %esi,%ecx
43b40a:	ff 15 c4 12 45 00    	call   *0x4512c4
43b410:	8b cf                	mov    %edi,%ecx
43b412:	ff d6                	call   *%esi
43b414:	8b f8                	mov    %eax,%edi
43b416:	85 ff                	test   %edi,%edi
43b418:	0f 88 76 01 00 00    	js     0x43b594
43b41e:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
43b422:	8d bb 84 00 00 00    	lea    0x84(%ebx),%edi
43b428:	8b 07                	mov    (%edi),%eax
43b42a:	8b 70 18             	mov    0x18(%eax),%esi
43b42d:	8b ce                	mov    %esi,%ecx
43b42f:	ff 15 c4 12 45 00    	call   *0x4512c4
43b435:	8b cf                	mov    %edi,%ecx
43b437:	ff d6                	call   *%esi
43b439:	8b 0f                	mov    (%edi),%ecx
43b43b:	8d 45 e8             	lea    -0x18(%ebp),%eax
43b43e:	50                   	push   %eax
43b43f:	8b 45 f0             	mov    -0x10(%ebp),%eax
43b442:	83 c0 08             	add    $0x8,%eax
43b445:	8b 71 20             	mov    0x20(%ecx),%esi
43b448:	8b ce                	mov    %esi,%ecx
43b44a:	50                   	push   %eax
43b44b:	ff 15 c4 12 45 00    	call   *0x4512c4
43b451:	8b cf                	mov    %edi,%ecx
43b453:	ff d6                	call   *%esi
43b455:	8b 17                	mov    (%edi),%edx
43b457:	8b 72 1c             	mov    0x1c(%edx),%esi
43b45a:	8b ce                	mov    %esi,%ecx
43b45c:	85 c0                	test   %eax,%eax
43b45e:	0f 85 0b 01 00 00    	jne    0x43b56f
43b464:	ff 15 c4 12 45 00    	call   *0x4512c4
43b46a:	8b cf                	mov    %edi,%ecx
43b46c:	ff d6                	call   *%esi
43b46e:	8b 83 34 01 00 00    	mov    0x134(%ebx),%eax
43b474:	33 f6                	xor    %esi,%esi
43b476:	39 b0 a0 06 00 00    	cmp    %esi,0x6a0(%eax)
43b47c:	75 0e                	jne    0x43b48c
43b47e:	8b 7d e4             	mov    -0x1c(%ebp),%edi
43b481:	81 e7 7f fd ff ff    	and    $0xfffffd7f,%edi
43b487:	89 7d 10             	mov    %edi,0x10(%ebp)
43b48a:	eb 03                	jmp    0x43b48f
43b48c:	8b 7d 10             	mov    0x10(%ebp),%edi
43b48f:	39 75 08             	cmp    %esi,0x8(%ebp)
43b492:	74 08                	je     0x43b49c
43b494:	ff 15 60 30 45 00    	call   *0x453060
43b49a:	eb 02                	jmp    0x43b49e
43b49c:	8b c6                	mov    %esi,%eax
43b49e:	85 c0                	test   %eax,%eax
43b4a0:	78 4b                	js     0x43b4ed
43b4a2:	a1 2c 0a 45 00       	mov    0x450a2c,%eax
43b4a7:	85 c0                	test   %eax,%eax
43b4a9:	74 0d                	je     0x43b4b8
43b4ab:	83 80 a0 00 00 00 01 	addl   $0x1,0xa0(%eax)
43b4b2:	11 b0 a4 00 00 00    	adc    %esi,0xa4(%eax)
43b4b8:	ff 75 f0             	push   -0x10(%ebp)
43b4bb:	8b 45 1c             	mov    0x1c(%ebp),%eax
43b4be:	83 83 68 01 00 00 01 	addl   $0x1,0x168(%ebx)
43b4c5:	ff 75 ec             	push   -0x14(%ebp)
43b4c8:	11 b3 6c 01 00 00    	adc    %esi,0x16c(%ebx)
43b4ce:	8b 30                	mov    (%eax),%esi
43b4d0:	57                   	push   %edi
43b4d1:	ff 75 0c             	push   0xc(%ebp)
43b4d4:	8b 4e 3c             	mov    0x3c(%esi),%ecx
43b4d7:	50                   	push   %eax
43b4d8:	ff 15 c4 12 45 00    	call   *0x4512c4
43b4de:	ff 56 3c             	call   *0x3c(%esi)
43b4e1:	8b f8                	mov    %eax,%edi
43b4e3:	ff 15 64 30 45 00    	call   *0x453064
43b4e9:	33 f6                	xor    %esi,%esi
43b4eb:	eb 05                	jmp    0x43b4f2
43b4ed:	bf 03 10 04 80       	mov    $0x80041003,%edi
43b4f2:	81 ff 35 10 04 80    	cmp    $0x80041035,%edi
43b4f8:	74 08                	je     0x43b502
43b4fa:	81 ff 08 10 04 80    	cmp    $0x80041008,%edi
43b500:	75 7c                	jne    0x43b57e
43b502:	8b 7d 10             	mov    0x10(%ebp),%edi
43b505:	81 e7 7f ff ff ff    	and    $0xffffff7f,%edi
43b50b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
43b50f:	74 08                	je     0x43b519
43b511:	ff 15 60 30 45 00    	call   *0x453060
43b517:	eb 02                	jmp    0x43b51b
43b519:	8b c6                	mov    %esi,%eax
43b51b:	85 c0                	test   %eax,%eax
43b51d:	78 49                	js     0x43b568
43b51f:	a1 2c 0a 45 00       	mov    0x450a2c,%eax
43b524:	85 c0                	test   %eax,%eax
43b526:	74 0d                	je     0x43b535
43b528:	83 80 a0 00 00 00 01 	addl   $0x1,0xa0(%eax)
43b52f:	11 b0 a4 00 00 00    	adc    %esi,0xa4(%eax)
43b535:	ff 75 f0             	push   -0x10(%ebp)
43b538:	8b 45 1c             	mov    0x1c(%ebp),%eax
43b53b:	83 83 68 01 00 00 01 	addl   $0x1,0x168(%ebx)
43b542:	ff 75 ec             	push   -0x14(%ebp)
43b545:	11 b3 6c 01 00 00    	adc    %esi,0x16c(%ebx)
43b54b:	8b 30                	mov    (%eax),%esi
43b54d:	57                   	push   %edi
43b54e:	ff 75 0c             	push   0xc(%ebp)
43b551:	8b 4e 3c             	mov    0x3c(%esi),%ecx
43b554:	50                   	push   %eax
43b555:	ff 15 c4 12 45 00    	call   *0x4512c4
43b55b:	ff 56 3c             	call   *0x3c(%esi)
43b55e:	8b f8                	mov    %eax,%edi
43b560:	ff 15 64 30 45 00    	call   *0x453064
43b566:	eb 16                	jmp    0x43b57e
43b568:	bf 03 10 04 80       	mov    $0x80041003,%edi
43b56d:	eb 0f                	jmp    0x43b57e
43b56f:	ff 15 c4 12 45 00    	call   *0x4512c4
43b575:	8b cf                	mov    %edi,%ecx
43b577:	ff d6                	call   *%esi
43b579:	bf 06 10 04 80       	mov    $0x80041006,%edi
43b57e:	85 ff                	test   %edi,%edi
43b580:	79 12                	jns    0x43b594
43b582:	ff 75 f0             	push   -0x10(%ebp)
43b585:	57                   	push   %edi
43b586:	51                   	push   %ecx
43b587:	51                   	push   %ecx
43b588:	68 a4 b2 40 00       	push   $0x40b2a4
43b58d:	8b cb                	mov    %ebx,%ecx
43b58f:	e8 cf 33 fe ff       	call   0x41e963
43b594:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43b597:	51                   	push   %ecx
43b598:	8b 01                	mov    (%ecx),%eax
43b59a:	8b 70 08             	mov    0x8(%eax),%esi
43b59d:	8b ce                	mov    %esi,%ecx
43b59f:	ff 15 c4 12 45 00    	call   *0x4512c4
43b5a5:	ff d6                	call   *%esi
43b5a7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
43b5aa:	eb 08                	jmp    0x43b5b4
43b5ac:	8b 4d ec             	mov    -0x14(%ebp),%ecx
43b5af:	bf 06 10 04 80       	mov    $0x80041006,%edi
43b5b4:	85 c9                	test   %ecx,%ecx
43b5b6:	74 10                	je     0x43b5c8
43b5b8:	8b 01                	mov    (%ecx),%eax
43b5ba:	51                   	push   %ecx
43b5bb:	8b 70 08             	mov    0x8(%eax),%esi
43b5be:	8b ce                	mov    %esi,%ecx
43b5c0:	ff 15 c4 12 45 00    	call   *0x4512c4
43b5c6:	ff d6                	call   *%esi
43b5c8:	85 ff                	test   %edi,%edi
43b5ca:	79 0f                	jns    0x43b5db
43b5cc:	57                   	push   %edi
43b5cd:	ff 15 a0 12 45 00    	call   *0x4512a0
43b5d3:	8b c8                	mov    %eax,%ecx
43b5d5:	ff 15 a4 12 45 00    	call   *0x4512a4
43b5db:	a1 00 f0 44 00       	mov    0x44f000,%eax
43b5e0:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
43b5e5:	74 20                	je     0x43b607
43b5e7:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
43b5eb:	74 1a                	je     0x43b607
43b5ed:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
43b5f1:	72 14                	jb     0x43b607
43b5f3:	57                   	push   %edi
43b5f4:	ff 70 14             	push   0x14(%eax)
43b5f7:	ba a8 7b 40 00       	mov    $0x407ba8,%edx
43b5fc:	ff 70 10             	push   0x10(%eax)
43b5ff:	6a 64                	push   $0x64
43b601:	59                   	pop    %ecx
43b602:	e8 bf 51 ff ff       	call   0x4307c6
43b607:	8b c7                	mov    %edi,%eax
43b609:	e8 2d 40 fe ff       	call   0x41f63b
43b60e:	c2 18 00             	ret    $0x18
43b611:	6a 14                	push   $0x14
43b613:	b8 cc 3d 42 00       	mov    $0x423dcc,%eax
43b618:	e8 50 40 fe ff       	call   0x41f66d
43b61d:	8b f9                	mov    %ecx,%edi
43b61f:	89 7d e8             	mov    %edi,-0x18(%ebp)
43b622:	8b 55 14             	mov    0x14(%ebp),%edx
43b625:	33 c9                	xor    %ecx,%ecx
43b627:	89 4d f0             	mov    %ecx,-0x10(%ebp)
43b62a:	85 d2                	test   %edx,%edx
43b62c:	74 23                	je     0x43b651
43b62e:	8b 02                	mov    (%edx),%eax
43b630:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43b633:	51                   	push   %ecx
43b634:	52                   	push   %edx
43b635:	8b 70 0c             	mov    0xc(%eax),%esi
43b638:	8b ce                	mov    %esi,%ecx
43b63a:	ff 15 c4 12 45 00    	call   *0x4512c4
43b640:	ff d6                	call   *%esi
43b642:	ff 75 f0             	push   -0x10(%ebp)
43b645:	8b f0                	mov    %eax,%esi
43b647:	e8 74 25 fe ff       	call   0x41dbc0
43b64c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43b64f:	eb 02                	jmp    0x43b653
43b651:	33 f6                	xor    %esi,%esi
43b653:	85 f6                	test   %esi,%esi
43b655:	0f 88 01 02 00 00    	js     0x43b85c
43b65b:	6a 5c                	push   $0x5c
43b65d:	e8 79 2b fe ff       	call   0x41e1db
43b662:	59                   	pop    %ecx
43b663:	89 45 e0             	mov    %eax,-0x20(%ebp)
43b666:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43b66a:	85 c0                	test   %eax,%eax
43b66c:	74 20                	je     0x43b68e
43b66e:	51                   	push   %ecx
43b66f:	8b d7                	mov    %edi,%edx
43b671:	8d 8f 84 00 00 00    	lea    0x84(%edi),%ecx
43b677:	f7 da                	neg    %edx
43b679:	1b d2                	sbb    %edx,%edx
43b67b:	23 d1                	and    %ecx,%edx
43b67d:	52                   	push   %edx
43b67e:	57                   	push   %edi
43b67f:	ff 75 18             	push   0x18(%ebp)
43b682:	51                   	push   %ecx
43b683:	8b c8                	mov    %eax,%ecx
43b685:	e8 f9 3a 00 00       	call   0x43f183
43b68a:	8b d8                	mov    %eax,%ebx
43b68c:	eb 02                	jmp    0x43b690
43b68e:	33 db                	xor    %ebx,%ebx
43b690:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
43b694:	85 db                	test   %ebx,%ebx
43b696:	0f 84 bd 01 00 00    	je     0x43b859
43b69c:	8b 03                	mov    (%ebx),%eax
43b69e:	53                   	push   %ebx
43b69f:	8b 70 04             	mov    0x4(%eax),%esi
43b6a2:	8b ce                	mov    %esi,%ecx
43b6a4:	ff 15 c4 12 45 00    	call   *0x4512c4
43b6aa:	ff d6                	call   *%esi
43b6ac:	8b 03                	mov    (%ebx),%eax
43b6ae:	8b 70 28             	mov    0x28(%eax),%esi
43b6b1:	8b ce                	mov    %esi,%ecx
43b6b3:	ff 15 c4 12 45 00    	call   *0x4512c4
43b6b9:	8b cb                	mov    %ebx,%ecx
43b6bb:	ff d6                	call   *%esi
43b6bd:	8b f8                	mov    %eax,%edi
43b6bf:	85 ff                	test   %edi,%edi
43b6c1:	0f 88 7d 01 00 00    	js     0x43b844
43b6c7:	8b 7d e8             	mov    -0x18(%ebp),%edi
43b6ca:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
43b6ce:	8d 87 84 00 00 00    	lea    0x84(%edi),%eax
43b6d4:	89 45 e0             	mov    %eax,-0x20(%ebp)
43b6d7:	8b 00                	mov    (%eax),%eax
43b6d9:	8b 70 18             	mov    0x18(%eax),%esi
43b6dc:	8b ce                	mov    %esi,%ecx
43b6de:	ff 15 c4 12 45 00    	call   *0x4512c4
43b6e4:	8d 8f 84 00 00 00    	lea    0x84(%edi),%ecx
43b6ea:	ff d6                	call   *%esi
43b6ec:	8b 8f 84 00 00 00    	mov    0x84(%edi),%ecx
43b6f2:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43b6f5:	50                   	push   %eax
43b6f6:	8d 43 08             	lea    0x8(%ebx),%eax
43b6f9:	50                   	push   %eax
43b6fa:	8b 71 20             	mov    0x20(%ecx),%esi
43b6fd:	8b ce                	mov    %esi,%ecx
43b6ff:	ff 15 c4 12 45 00    	call   *0x4512c4
43b705:	8d 8f 84 00 00 00    	lea    0x84(%edi),%ecx
43b70b:	ff d6                	call   *%esi
43b70d:	8b 97 84 00 00 00    	mov    0x84(%edi),%edx
43b713:	8b 72 1c             	mov    0x1c(%edx),%esi
43b716:	8b ce                	mov    %esi,%ecx
43b718:	85 c0                	test   %eax,%eax
43b71a:	0f 85 fb 00 00 00    	jne    0x43b81b
43b720:	ff 15 c4 12 45 00    	call   *0x4512c4
43b726:	8d 8f 84 00 00 00    	lea    0x84(%edi),%ecx
43b72c:	ff d6                	call   *%esi
43b72e:	ff 75 0c             	push   0xc(%ebp)
43b731:	ff 15 10 30 45 00    	call   *0x453010
43b737:	89 45 e0             	mov    %eax,-0x20(%ebp)
43b73a:	85 c0                	test   %eax,%eax
43b73c:	0f 84 e4 00 00 00    	je     0x43b826
43b742:	8b 8f 34 01 00 00    	mov    0x134(%edi),%ecx
43b748:	33 d2                	xor    %edx,%edx
43b74a:	8b 45 10             	mov    0x10(%ebp),%eax