43f523:	6a 01                	push   $0x1
43f525:	ff 35 ac 09 45 00    	push   0x4509ac
43f52b:	ff 15 24 10 45 00    	call   *0x451024
43f531:	83 c4 24             	add    $0x24,%esp
43f534:	8b c7                	mov    %edi,%eax
43f536:	e8 00 01 fe ff       	call   0x41f63b
43f53b:	c2 20 00             	ret    $0x20
43f53e:	8b ff                	mov    %edi,%edi
43f540:	55                   	push   %ebp
43f541:	8b ec                	mov    %esp,%ebp
43f543:	6a ff                	push   $0xffffffff
43f545:	68 8f 38 42 00       	push   $0x42388f
43f54a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43f550:	50                   	push   %eax
43f551:	a1 54 02 45 00       	mov    0x450254,%eax
43f556:	33 c5                	xor    %ebp,%eax
43f558:	50                   	push   %eax
43f559:	8d 45 f4             	lea    -0xc(%ebp),%eax
43f55c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43f562:	ff 31                	push   (%ecx)
43f564:	ff 15 40 11 45 00    	call   *0x451140
43f56a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43f56d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43f574:	59                   	pop    %ecx
43f575:	c9                   	leave
43f576:	c3                   	ret
43f577:	8b ff                	mov    %edi,%edi
43f579:	55                   	push   %ebp
43f57a:	8b ec                	mov    %esp,%ebp
43f57c:	6a ff                	push   $0xffffffff
43f57e:	68 10 31 42 00       	push   $0x423110
43f583:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43f589:	50                   	push   %eax
43f58a:	56                   	push   %esi
43f58b:	57                   	push   %edi
43f58c:	a1 54 02 45 00       	mov    0x450254,%eax
43f591:	33 c5                	xor    %ebp,%eax
43f593:	50                   	push   %eax
43f594:	8d 45 f4             	lea    -0xc(%ebp),%eax
43f597:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43f59d:	8b f9                	mov    %ecx,%edi
43f59f:	8b 87 9c 00 00 00    	mov    0x9c(%edi),%eax
43f5a5:	c7 07 9c 50 40 00    	movl   $0x40509c,(%edi)
43f5ab:	c7 47 04 88 50 40 00 	movl   $0x405088,0x4(%edi)
43f5b2:	c7 47 08 58 50 40 00 	movl   $0x405058,0x8(%edi)
43f5b9:	85 c0                	test   %eax,%eax
43f5bb:	74 07                	je     0x43f5c4
43f5bd:	50                   	push   %eax
43f5be:	ff 15 0c 30 45 00    	call   *0x45300c
43f5c4:	8b 8f a0 00 00 00    	mov    0xa0(%edi),%ecx
43f5ca:	85 c9                	test   %ecx,%ecx
43f5cc:	74 10                	je     0x43f5de
43f5ce:	8b 01                	mov    (%ecx),%eax
43f5d0:	51                   	push   %ecx
43f5d1:	8b 70 08             	mov    0x8(%eax),%esi
43f5d4:	8b ce                	mov    %esi,%ecx
43f5d6:	ff 15 c4 12 45 00    	call   *0x4512c4
43f5dc:	ff d6                	call   *%esi
43f5de:	8b cf                	mov    %edi,%ecx
43f5e0:	e8 2b 59 fd ff       	call   0x414f10
43f5e5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43f5e8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43f5ef:	59                   	pop    %ecx
43f5f0:	5f                   	pop    %edi
43f5f1:	5e                   	pop    %esi
43f5f2:	c9                   	leave
43f5f3:	c3                   	ret
43f5f4:	8b ff                	mov    %edi,%edi
43f5f6:	55                   	push   %ebp
43f5f7:	8b ec                	mov    %esp,%ebp
43f5f9:	6a ff                	push   $0xffffffff
43f5fb:	68 10 31 42 00       	push   $0x423110
43f600:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43f606:	50                   	push   %eax
43f607:	56                   	push   %esi
43f608:	57                   	push   %edi
43f609:	a1 54 02 45 00       	mov    0x450254,%eax
43f60e:	33 c5                	xor    %ebp,%eax
43f610:	50                   	push   %eax
43f611:	8d 45 f4             	lea    -0xc(%ebp),%eax
43f614:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43f61a:	8b f9                	mov    %ecx,%edi
43f61c:	83 7f 60 00          	cmpl   $0x0,0x60(%edi)
43f620:	c7 07 f8 51 40 00    	movl   $0x4051f8,(%edi)
43f626:	c7 47 04 e4 51 40 00 	movl   $0x4051e4,0x4(%edi)
43f62d:	c7 47 08 b4 51 40 00 	movl   $0x4051b4,0x8(%edi)
43f634:	74 09                	je     0x43f63f
43f636:	ff 77 60             	push   0x60(%edi)
43f639:	ff 15 0c 30 45 00    	call   *0x45300c
43f63f:	8b 4f 64             	mov    0x64(%edi),%ecx
43f642:	85 c9                	test   %ecx,%ecx
43f644:	74 10                	je     0x43f656
43f646:	8b 01                	mov    (%ecx),%eax
43f648:	51                   	push   %ecx
43f649:	8b 70 08             	mov    0x8(%eax),%esi
43f64c:	8b ce                	mov    %esi,%ecx
43f64e:	ff 15 c4 12 45 00    	call   *0x4512c4
43f654:	ff d6                	call   *%esi
43f656:	8b cf                	mov    %edi,%ecx
43f658:	e8 fc c9 fd ff       	call   0x41c059
43f65d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43f660:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43f667:	59                   	pop    %ecx
43f668:	5f                   	pop    %edi
43f669:	5e                   	pop    %esi
43f66a:	c9                   	leave
43f66b:	c3                   	ret
43f66c:	8b ff                	mov    %edi,%edi
43f66e:	55                   	push   %ebp
43f66f:	8b ec                	mov    %esp,%ebp
43f671:	6a ff                	push   $0xffffffff
43f673:	68 10 31 42 00       	push   $0x423110
43f678:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43f67e:	50                   	push   %eax
43f67f:	56                   	push   %esi
43f680:	57                   	push   %edi
43f681:	a1 54 02 45 00       	mov    0x450254,%eax
43f686:	33 c5                	xor    %ebp,%eax
43f688:	50                   	push   %eax
43f689:	8d 45 f4             	lea    -0xc(%ebp),%eax
43f68c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43f692:	8b f9                	mov    %ecx,%edi
43f694:	83 7f 60 00          	cmpl   $0x0,0x60(%edi)
43f698:	c7 07 6c 52 40 00    	movl   $0x40526c,(%edi)
43f69e:	c7 47 04 58 52 40 00 	movl   $0x405258,0x4(%edi)
43f6a5:	c7 47 08 28 52 40 00 	movl   $0x405228,0x8(%edi)
43f6ac:	74 09                	je     0x43f6b7
43f6ae:	ff 77 60             	push   0x60(%edi)
43f6b1:	ff 15 0c 30 45 00    	call   *0x45300c
43f6b7:	8b 4f 64             	mov    0x64(%edi),%ecx
43f6ba:	85 c9                	test   %ecx,%ecx
43f6bc:	74 10                	je     0x43f6ce
43f6be:	8b 01                	mov    (%ecx),%eax
43f6c0:	51                   	push   %ecx
43f6c1:	8b 70 08             	mov    0x8(%eax),%esi
43f6c4:	8b ce                	mov    %esi,%ecx
43f6c6:	ff 15 c4 12 45 00    	call   *0x4512c4
43f6cc:	ff d6                	call   *%esi
43f6ce:	8b cf                	mov    %edi,%ecx
43f6d0:	e8 84 c9 fd ff       	call   0x41c059
43f6d5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43f6d8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43f6df:	59                   	pop    %ecx
43f6e0:	5f                   	pop    %edi
43f6e1:	5e                   	pop    %esi
43f6e2:	c9                   	leave
43f6e3:	c3                   	ret
43f6e4:	8b ff                	mov    %edi,%edi
43f6e6:	55                   	push   %ebp
43f6e7:	8b ec                	mov    %esp,%ebp
43f6e9:	6a ff                	push   $0xffffffff
43f6eb:	68 10 31 42 00       	push   $0x423110
43f6f0:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43f6f6:	50                   	push   %eax
43f6f7:	56                   	push   %esi
43f6f8:	57                   	push   %edi
43f6f9:	a1 54 02 45 00       	mov    0x450254,%eax
43f6fe:	33 c5                	xor    %ebp,%eax
43f700:	50                   	push   %eax
43f701:	8d 45 f4             	lea    -0xc(%ebp),%eax
43f704:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43f70a:	8b f9                	mov    %ecx,%edi
43f70c:	8b 4f 60             	mov    0x60(%edi),%ecx
43f70f:	c7 07 84 51 40 00    	movl   $0x405184,(%edi)
43f715:	c7 47 04 70 51 40 00 	movl   $0x405170,0x4(%edi)
43f71c:	c7 47 08 40 51 40 00 	movl   $0x405140,0x8(%edi)
43f723:	85 c9                	test   %ecx,%ecx
43f725:	74 10                	je     0x43f737
43f727:	8b 01                	mov    (%ecx),%eax
43f729:	51                   	push   %ecx
43f72a:	8b 70 08             	mov    0x8(%eax),%esi
43f72d:	8b ce                	mov    %esi,%ecx
43f72f:	ff 15 c4 12 45 00    	call   *0x4512c4
43f735:	ff d6                	call   *%esi
43f737:	8b 4f 64             	mov    0x64(%edi),%ecx
43f73a:	85 c9                	test   %ecx,%ecx
43f73c:	74 10                	je     0x43f74e
43f73e:	8b 01                	mov    (%ecx),%eax
43f740:	51                   	push   %ecx
43f741:	8b 70 08             	mov    0x8(%eax),%esi
43f744:	8b ce                	mov    %esi,%ecx
43f746:	ff 15 c4 12 45 00    	call   *0x4512c4
43f74c:	ff d6                	call   *%esi
43f74e:	8b cf                	mov    %edi,%ecx
43f750:	e8 04 c9 fd ff       	call   0x41c059
43f755:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43f758:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43f75f:	59                   	pop    %ecx
43f760:	5f                   	pop    %edi
43f761:	5e                   	pop    %esi
43f762:	c9                   	leave
43f763:	c3                   	ret
43f764:	8b ff                	mov    %edi,%edi
43f766:	55                   	push   %ebp
43f767:	8b ec                	mov    %esp,%ebp
43f769:	6a ff                	push   $0xffffffff
43f76b:	68 10 31 42 00       	push   $0x423110
43f770:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43f776:	50                   	push   %eax
43f777:	56                   	push   %esi
43f778:	57                   	push   %edi
43f779:	a1 54 02 45 00       	mov    0x450254,%eax
43f77e:	33 c5                	xor    %ebp,%eax
43f780:	50                   	push   %eax
43f781:	8d 45 f4             	lea    -0xc(%ebp),%eax
43f784:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43f78a:	8b f9                	mov    %ecx,%edi
43f78c:	8b 4f 60             	mov    0x60(%edi),%ecx
43f78f:	c7 07 10 51 40 00    	movl   $0x405110,(%edi)
43f795:	c7 47 04 fc 50 40 00 	movl   $0x4050fc,0x4(%edi)
43f79c:	c7 47 08 cc 50 40 00 	movl   $0x4050cc,0x8(%edi)
43f7a3:	85 c9                	test   %ecx,%ecx
43f7a5:	74 10                	je     0x43f7b7
43f7a7:	8b 01                	mov    (%ecx),%eax
43f7a9:	51                   	push   %ecx
43f7aa:	8b 70 08             	mov    0x8(%eax),%esi
43f7ad:	8b ce                	mov    %esi,%ecx
43f7af:	ff 15 c4 12 45 00    	call   *0x4512c4
43f7b5:	ff d6                	call   *%esi
43f7b7:	8b 4f 64             	mov    0x64(%edi),%ecx
43f7ba:	85 c9                	test   %ecx,%ecx
43f7bc:	74 10                	je     0x43f7ce
43f7be:	8b 01                	mov    (%ecx),%eax
43f7c0:	51                   	push   %ecx
43f7c1:	8b 70 08             	mov    0x8(%eax),%esi
43f7c4:	8b ce                	mov    %esi,%ecx
43f7c6:	ff 15 c4 12 45 00    	call   *0x4512c4
43f7cc:	ff d6                	call   *%esi
43f7ce:	8b cf                	mov    %edi,%ecx
43f7d0:	e8 84 c8 fd ff       	call   0x41c059
43f7d5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43f7d8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43f7df:	59                   	pop    %ecx
43f7e0:	5f                   	pop    %edi
43f7e1:	5e                   	pop    %esi
43f7e2:	c9                   	leave
43f7e3:	c3                   	ret
43f7e4:	8b ff                	mov    %edi,%edi
43f7e6:	55                   	push   %ebp
43f7e7:	8b ec                	mov    %esp,%ebp
43f7e9:	6a ff                	push   $0xffffffff
43f7eb:	68 a9 3b 42 00       	push   $0x423ba9
43f7f0:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43f7f6:	50                   	push   %eax
43f7f7:	56                   	push   %esi
43f7f8:	a1 54 02 45 00       	mov    0x450254,%eax
43f7fd:	33 c5                	xor    %ebp,%eax
43f7ff:	50                   	push   %eax
43f800:	8d 45 f4             	lea    -0xc(%ebp),%eax
43f803:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43f809:	8b f1                	mov    %ecx,%esi
43f80b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43f80f:	c7 06 54 20 40 00    	movl   $0x402054,(%esi)
43f815:	c7 46 04 40 20 40 00 	movl   $0x402040,0x4(%esi)
43f81c:	c7 46 08 10 20 40 00 	movl   $0x402010,0x8(%esi)
43f823:	f0 ff 0d 6c 0a 45 00 	lock decl 0x450a6c
43f82a:	e8 69 a2 fd ff       	call   0x419a98
43f82f:	8b ce                	mov    %esi,%ecx
43f831:	e8 23 c8 fd ff       	call   0x41c059
43f836:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
43f83a:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
43f83e:	74 13                	je     0x43f853
43f840:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
43f847:	8b 0d 80 0b 45 00    	mov    0x450b80,%ecx
43f84d:	56                   	push   %esi
43f84e:	e8 d7 9f fd ff       	call   0x41982a
43f853:	8b c6                	mov    %esi,%eax
43f855:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43f858:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43f85f:	59                   	pop    %ecx
43f860:	5e                   	pop    %esi
43f861:	c9                   	leave
43f862:	c2 04 00             	ret    $0x4
43f865:	8b ff                	mov    %edi,%edi
43f867:	55                   	push   %ebp
43f868:	8b ec                	mov    %esp,%ebp
43f86a:	6a ff                	push   $0xffffffff
43f86c:	68 47 30 42 00       	push   $0x423047
43f871:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43f877:	50                   	push   %eax
43f878:	56                   	push   %esi
43f879:	a1 54 02 45 00       	mov    0x450254,%eax
43f87e:	33 c5                	xor    %ebp,%eax
43f880:	50                   	push   %eax
43f881:	8d 45 f4             	lea    -0xc(%ebp),%eax
43f884:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43f88a:	8b f1                	mov    %ecx,%esi
43f88c:	e8 e6 fc ff ff       	call   0x43f577
43f891:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
43f895:	74 14                	je     0x43f8ab
43f897:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43f89b:	85 f6                	test   %esi,%esi
43f89d:	74 0c                	je     0x43f8ab
43f89f:	8b 0d 80 0b 45 00    	mov    0x450b80,%ecx
43f8a5:	56                   	push   %esi
43f8a6:	e8 7f 9f fd ff       	call   0x41982a
43f8ab:	8b c6                	mov    %esi,%eax
43f8ad:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43f8b0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43f8b7:	59                   	pop    %ecx
43f8b8:	5e                   	pop    %esi
43f8b9:	c9                   	leave
43f8ba:	c2 04 00             	ret    $0x4
43f8bd:	8b ff                	mov    %edi,%edi
43f8bf:	55                   	push   %ebp
43f8c0:	8b ec                	mov    %esp,%ebp
43f8c2:	6a ff                	push   $0xffffffff
43f8c4:	68 47 30 42 00       	push   $0x423047
43f8c9:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43f8cf:	50                   	push   %eax
43f8d0:	56                   	push   %esi
43f8d1:	a1 54 02 45 00       	mov    0x450254,%eax
43f8d6:	33 c5                	xor    %ebp,%eax
43f8d8:	50                   	push   %eax
43f8d9:	8d 45 f4             	lea    -0xc(%ebp),%eax
43f8dc:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43f8e2:	8b f1                	mov    %ecx,%esi
43f8e4:	e8 0b fd ff ff       	call   0x43f5f4
43f8e9:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
43f8ed:	74 14                	je     0x43f903
43f8ef:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43f8f3:	85 f6                	test   %esi,%esi
43f8f5:	74 0c                	je     0x43f903
43f8f7:	8b 0d 80 0b 45 00    	mov    0x450b80,%ecx
43f8fd:	56                   	push   %esi
43f8fe:	e8 27 9f fd ff       	call   0x41982a
43f903:	8b c6                	mov    %esi,%eax
43f905:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43f908:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43f90f:	59                   	pop    %ecx
43f910:	5e                   	pop    %esi
43f911:	c9                   	leave
43f912:	c2 04 00             	ret    $0x4
43f915:	8b ff                	mov    %edi,%edi
43f917:	55                   	push   %ebp
43f918:	8b ec                	mov    %esp,%ebp
43f91a:	6a ff                	push   $0xffffffff
43f91c:	68 47 30 42 00       	push   $0x423047
43f921:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43f927:	50                   	push   %eax
43f928:	56                   	push   %esi
43f929:	a1 54 02 45 00       	mov    0x450254,%eax
43f92e:	33 c5                	xor    %ebp,%eax
43f930:	50                   	push   %eax
43f931:	8d 45 f4             	lea    -0xc(%ebp),%eax
43f934:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43f93a:	8b f1                	mov    %ecx,%esi
43f93c:	e8 2b fd ff ff       	call   0x43f66c
43f941:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
43f945:	74 14                	je     0x43f95b