43f657:	8b 08                	mov    (%eax),%ecx
43f659:	ff 51 04             	call   *0x4(%ecx)
43f65c:	8b 03                	mov    (%ebx),%eax
43f65e:	8d 56 08             	lea    0x8(%esi),%edx
43f661:	8b 08                	mov    (%eax),%ecx
43f663:	52                   	push   %edx
43f664:	56                   	push   %esi
43f665:	50                   	push   %eax
43f666:	ff 51 14             	call   *0x14(%ecx)
43f669:	89 46 04             	mov    %eax,0x4(%esi)
43f66c:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f66f:	50                   	push   %eax
43f670:	8b 08                	mov    (%eax),%ecx
43f672:	ff 51 08             	call   *0x8(%ecx)
43f675:	eb 0c                	jmp    0x43f683
43f677:	89 46 04             	mov    %eax,0x4(%esi)
43f67a:	eb 07                	jmp    0x43f683
43f67c:	c7 46 04 03 40 00 80 	movl   $0x80004003,0x4(%esi)
43f683:	5f                   	pop    %edi
43f684:	8b c6                	mov    %esi,%eax
43f686:	5e                   	pop    %esi
43f687:	5b                   	pop    %ebx
43f688:	c9                   	leave
43f689:	c2 14 00             	ret    $0x14
43f68c:	56                   	push   %esi
43f68d:	8b f1                	mov    %ecx,%esi
43f68f:	c7 06 50 dc 49 00    	movl   $0x49dc50,(%esi)
43f695:	e8 db 0a 00 00       	call   0x440175
43f69a:	ff 76 04             	push   0x4(%esi)
43f69d:	e8 bc fe fd ff       	call   0x41f55e
43f6a2:	59                   	pop    %ecx
43f6a3:	5e                   	pop    %esi
43f6a4:	c3                   	ret
43f6a5:	56                   	push   %esi
43f6a6:	8b f1                	mov    %ecx,%esi
43f6a8:	c7 06 4c dc 49 00    	movl   $0x49dc4c,(%esi)
43f6ae:	e8 f0 29 fc ff       	call   0x4020a3
43f6b3:	ff 76 04             	push   0x4(%esi)
43f6b6:	e8 a3 fe fd ff       	call   0x41f55e
43f6bb:	59                   	pop    %ecx
43f6bc:	5e                   	pop    %esi
43f6bd:	c3                   	ret
43f6be:	56                   	push   %esi
43f6bf:	8b f1                	mov    %ecx,%esi
43f6c1:	c7 06 4c 2f 4b 00    	movl   $0x4b2f4c,(%esi)
43f6c7:	e8 17 09 00 00       	call   0x43ffe3
43f6cc:	8b 4e 0c             	mov    0xc(%esi),%ecx
43f6cf:	85 c9                	test   %ecx,%ecx
43f6d1:	74 06                	je     0x43f6d9
43f6d3:	8b 01                	mov    (%ecx),%eax
43f6d5:	51                   	push   %ecx
43f6d6:	ff 50 08             	call   *0x8(%eax)
43f6d9:	8d 4e 40             	lea    0x40(%esi),%ecx
43f6dc:	e8 3f 35 fd ff       	call   0x412c20
43f6e1:	8d 4e 28             	lea    0x28(%esi),%ecx
43f6e4:	5e                   	pop    %esi
43f6e5:	e9 4d d4 fc ff       	jmp    0x40cb37
43f6ea:	55                   	push   %ebp
43f6eb:	8b ec                	mov    %esp,%ebp
43f6ed:	53                   	push   %ebx
43f6ee:	8b 5d 08             	mov    0x8(%ebp),%ebx
43f6f1:	56                   	push   %esi
43f6f2:	8b f1                	mov    %ecx,%esi
43f6f4:	3b f3                	cmp    %ebx,%esi
43f6f6:	0f 84 85 00 00 00    	je     0x43f781
43f6fc:	57                   	push   %edi
43f6fd:	e8 73 0a 00 00       	call   0x440175
43f702:	8b 43 08             	mov    0x8(%ebx),%eax
43f705:	39 46 0c             	cmp    %eax,0xc(%esi)
43f708:	73 37                	jae    0x43f741
43f70a:	6a 08                	push   $0x8
43f70c:	5a                   	pop    %edx
43f70d:	3b c2                	cmp    %edx,%eax
43f70f:	72 02                	jb     0x43f713
43f711:	8b d0                	mov    %eax,%edx
43f713:	89 56 0c             	mov    %edx,0xc(%esi)
43f716:	33 c9                	xor    %ecx,%ecx
43f718:	8b c2                	mov    %edx,%eax
43f71a:	6a 04                	push   $0x4
43f71c:	5a                   	pop    %edx
43f71d:	f7 e2                	mul    %edx
43f71f:	0f 90 c1             	seto   %cl
43f722:	f7 d9                	neg    %ecx
43f724:	0b c8                	or     %eax,%ecx
43f726:	51                   	push   %ecx
43f727:	e8 be fd fd ff       	call   0x41f4ea
43f72c:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
43f730:	59                   	pop    %ecx
43f731:	8b f8                	mov    %eax,%edi
43f733:	74 09                	je     0x43f73e
43f735:	ff 76 04             	push   0x4(%esi)
43f738:	e8 21 fe fd ff       	call   0x41f55e
43f73d:	59                   	pop    %ecx
43f73e:	89 7e 04             	mov    %edi,0x4(%esi)
43f741:	8b 43 08             	mov    0x8(%ebx),%eax
43f744:	33 db                	xor    %ebx,%ebx
43f746:	89 46 08             	mov    %eax,0x8(%esi)
43f749:	85 c0                	test   %eax,%eax
43f74b:	74 33                	je     0x43f780
43f74d:	6a 10                	push   $0x10
43f74f:	e8 96 fd fd ff       	call   0x41f4ea
43f754:	8b f8                	mov    %eax,%edi
43f756:	59                   	pop    %ecx
43f757:	85 ff                	test   %edi,%edi
43f759:	74 17                	je     0x43f772
43f75b:	8b 45 08             	mov    0x8(%ebp),%eax
43f75e:	8b 48 04             	mov    0x4(%eax),%ecx
43f761:	8b 0c 99             	mov    (%ecx,%ebx,4),%ecx
43f764:	83 67 08 00          	andl   $0x0,0x8(%edi)
43f768:	51                   	push   %ecx
43f769:	8b cf                	mov    %edi,%ecx
43f76b:	e8 b0 1f fd ff       	call   0x411720
43f770:	eb 02                	jmp    0x43f774
43f772:	33 ff                	xor    %edi,%edi
43f774:	8b 46 04             	mov    0x4(%esi),%eax
43f777:	89 3c 98             	mov    %edi,(%eax,%ebx,4)
43f77a:	43                   	inc    %ebx
43f77b:	3b 5e 08             	cmp    0x8(%esi),%ebx
43f77e:	72 cd                	jb     0x43f74d
43f780:	5f                   	pop    %edi
43f781:	8b c6                	mov    %esi,%eax
43f783:	5e                   	pop    %esi
43f784:	5b                   	pop    %ebx
43f785:	5d                   	pop    %ebp
43f786:	c2 04 00             	ret    $0x4
43f789:	56                   	push   %esi
43f78a:	8b f1                	mov    %ecx,%esi
43f78c:	e8 fb fe ff ff       	call   0x43f68c
43f791:	56                   	push   %esi
43f792:	e8 c7 fd fd ff       	call   0x41f55e
43f797:	59                   	pop    %ecx
43f798:	8b c6                	mov    %esi,%eax
43f79a:	5e                   	pop    %esi
43f79b:	c2 04 00             	ret    $0x4
43f79e:	55                   	push   %ebp
43f79f:	8b ec                	mov    %esp,%ebp
43f7a1:	56                   	push   %esi
43f7a2:	8b f1                	mov    %ecx,%esi
43f7a4:	e8 e3 fe ff ff       	call   0x43f68c
43f7a9:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
43f7ad:	74 07                	je     0x43f7b6
43f7af:	56                   	push   %esi
43f7b0:	e8 a9 fd fd ff       	call   0x41f55e
43f7b5:	59                   	pop    %ecx
43f7b6:	8b c6                	mov    %esi,%eax
43f7b8:	5e                   	pop    %esi
43f7b9:	5d                   	pop    %ebp
43f7ba:	c2 04 00             	ret    $0x4
43f7bd:	55                   	push   %ebp
43f7be:	8b ec                	mov    %esp,%ebp
43f7c0:	56                   	push   %esi
43f7c1:	8b f1                	mov    %ecx,%esi
43f7c3:	e8 dd fe ff ff       	call   0x43f6a5
43f7c8:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
43f7cc:	74 07                	je     0x43f7d5
43f7ce:	56                   	push   %esi
43f7cf:	e8 8a fd fd ff       	call   0x41f55e
43f7d4:	59                   	pop    %ecx
43f7d5:	8b c6                	mov    %esi,%eax
43f7d7:	5e                   	pop    %esi
43f7d8:	5d                   	pop    %ebp
43f7d9:	c2 04 00             	ret    $0x4
43f7dc:	56                   	push   %esi
43f7dd:	8b f1                	mov    %ecx,%esi
43f7df:	e8 da fe ff ff       	call   0x43f6be
43f7e4:	56                   	push   %esi
43f7e5:	e8 74 fd fd ff       	call   0x41f55e
43f7ea:	59                   	pop    %ecx
43f7eb:	8b c6                	mov    %esi,%eax
43f7ed:	5e                   	pop    %esi
43f7ee:	c2 04 00             	ret    $0x4
43f7f1:	56                   	push   %esi
43f7f2:	8b f1                	mov    %ecx,%esi
43f7f4:	e8 77 e8 fc ff       	call   0x40e070
43f7f9:	56                   	push   %esi
43f7fa:	e8 5f fd fd ff       	call   0x41f55e
43f7ff:	59                   	pop    %ecx
43f800:	8b c6                	mov    %esi,%eax
43f802:	5e                   	pop    %esi
43f803:	c2 04 00             	ret    $0x4
43f806:	55                   	push   %ebp
43f807:	8b ec                	mov    %esp,%ebp
43f809:	8b 45 08             	mov    0x8(%ebp),%eax
43f80c:	83 c0 24             	add    $0x24,%eax
43f80f:	50                   	push   %eax
43f810:	ff 15 34 d3 48 00    	call   *0x48d334
43f816:	5d                   	pop    %ebp
43f817:	c2 04 00             	ret    $0x4
43f81a:	55                   	push   %ebp
43f81b:	8b ec                	mov    %esp,%ebp
43f81d:	83 e4 f8             	and    $0xfffffff8,%esp
43f820:	81 ec 94 00 00 00    	sub    $0x94,%esp
43f826:	53                   	push   %ebx
43f827:	56                   	push   %esi
43f828:	57                   	push   %edi
43f829:	8b f9                	mov    %ecx,%edi
43f82b:	8d 4c 24 70          	lea    0x70(%esp),%ecx
43f82f:	8b 47 28             	mov    0x28(%edi),%eax
43f832:	89 44 24 70          	mov    %eax,0x70(%esp)
43f836:	8b 47 2c             	mov    0x2c(%edi),%eax
43f839:	89 44 24 74          	mov    %eax,0x74(%esp)
43f83d:	8b 47 30             	mov    0x30(%edi),%eax
43f840:	89 44 24 78          	mov    %eax,0x78(%esp)
43f844:	8b 47 34             	mov    0x34(%edi),%eax
43f847:	89 44 24 7c          	mov    %eax,0x7c(%esp)
43f84b:	ff 00                	incl   (%eax)
43f84d:	8d 45 0c             	lea    0xc(%ebp),%eax
43f850:	50                   	push   %eax
43f851:	89 7c 24 40          	mov    %edi,0x40(%esp)
43f855:	e8 b3 58 fc ff       	call   0x40510d
43f85a:	8b 45 08             	mov    0x8(%ebp),%eax
43f85d:	ff 74 24 70          	push   0x70(%esp)
43f861:	8b 40 08             	mov    0x8(%eax),%eax
43f864:	8d 4c 24 5c          	lea    0x5c(%esp),%ecx
43f868:	89 44 24 18          	mov    %eax,0x18(%esp)
43f86c:	e8 a8 d5 fc ff       	call   0x40ce19
43f871:	8b 4f 3c             	mov    0x3c(%edi),%ecx
43f874:	8d 44 24 58          	lea    0x58(%esp),%eax
43f878:	50                   	push   %eax
43f879:	e8 2c 24 fc ff       	call   0x401caa
43f87e:	8b f0                	mov    %eax,%esi
43f880:	8d 4c 24 58          	lea    0x58(%esp),%ecx
43f884:	89 74 24 30          	mov    %esi,0x30(%esp)
43f888:	e8 aa d2 fc ff       	call   0x40cb37
43f88d:	33 db                	xor    %ebx,%ebx
43f88f:	85 f6                	test   %esi,%esi
43f891:	0f 84 a6 05 00 00    	je     0x43fe3d
43f897:	38 5e 20             	cmp    %bl,0x20(%esi)
43f89a:	0f 84 61 04 00 00    	je     0x43fd01
43f8a0:	8b 4f 3c             	mov    0x3c(%edi),%ecx
43f8a3:	8b 46 10             	mov    0x10(%esi),%eax
43f8a6:	89 81 f4 00 00 00    	mov    %eax,0xf4(%ecx)
43f8ac:	ff 76 10             	push   0x10(%esi)
43f8af:	89 5c 24 38          	mov    %ebx,0x38(%esp)
43f8b3:	e8 90 65 fc ff       	call   0x405e48
43f8b8:	8b 54 24 14          	mov    0x14(%esp),%edx
43f8bc:	8b ca                	mov    %edx,%ecx
43f8be:	c1 e1 04             	shl    $0x4,%ecx
43f8c1:	89 44 24 0c          	mov    %eax,0xc(%esp)
43f8c5:	8b c3                	mov    %ebx,%eax
43f8c7:	6a 04                	push   $0x4
43f8c9:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
43f8cd:	c7 44 24 5c 50 dc 49 	movl   $0x49dc50,0x5c(%esp)
43f8d4:	00
43f8d5:	89 5c 24 60          	mov    %ebx,0x60(%esp)
43f8d9:	89 5c 24 64          	mov    %ebx,0x64(%esp)
43f8dd:	89 5c 24 68          	mov    %ebx,0x68(%esp)
43f8e1:	5e                   	pop    %esi
43f8e2:	89 5c 24 20          	mov    %ebx,0x20(%esp)
43f8e6:	89 5c 24 28          	mov    %ebx,0x28(%esp)
43f8ea:	c7 44 24 2c 01 00 00 	movl   $0x1,0x2c(%esp)
43f8f1:	00
43f8f2:	c7 84 24 80 00 00 00 	movl   $0x49dc4c,0x80(%esp)
43f8f9:	4c dc 49 00
43f8fd:	89 9c 24 84 00 00 00 	mov    %ebx,0x84(%esp)
43f904:	89 9c 24 88 00 00 00 	mov    %ebx,0x88(%esp)
43f90b:	89 9c 24 8c 00 00 00 	mov    %ebx,0x8c(%esp)
43f912:	c7 44 24 40 04 dc 49 	movl   $0x49dc04,0x40(%esp)
43f919:	00
43f91a:	89 44 24 1c          	mov    %eax,0x1c(%esp)
43f91e:	89 44 24 44          	mov    %eax,0x44(%esp)
43f922:	89 5c 24 48          	mov    %ebx,0x48(%esp)
43f926:	89 5c 24 4c          	mov    %ebx,0x4c(%esp)
43f92a:	c7 44 24 68 47 00 00 	movl   $0x47,0x68(%esp)
43f931:	00
43f932:	c7 44 24 6c 48 00 00 	movl   $0x48,0x6c(%esp)
43f939:	00
43f93a:	c7 44 24 38 40 00 00 	movl   $0x40,0x38(%esp)
43f941:	00
43f942:	8b cb                	mov    %ebx,%ecx
43f944:	8b 44 24 30          	mov    0x30(%esp),%eax
43f948:	3b 48 14             	cmp    0x14(%eax),%ecx
43f94b:	7c 08                	jl     0x43f955
43f94d:	3b ca                	cmp    %edx,%ecx
43f94f:	0f 8d 13 01 00 00    	jge    0x43fa68
43f955:	88 5c 24 13          	mov    %bl,0x13(%esp)
43f959:	3b 48 14             	cmp    0x14(%eax),%ecx
43f95c:	0f 8d ba 00 00 00    	jge    0x43fa1c
43f962:	8b 44 24 0c          	mov    0xc(%esp),%eax
43f966:	8b 40 04             	mov    0x4(%eax),%eax
43f969:	8d 0c b0             	lea    (%eax,%esi,4),%ecx
43f96c:	eb 38                	jmp    0x43f9a6
43f96e:	8b 41 04             	mov    0x4(%ecx),%eax
43f971:	66 83 78 08 33       	cmpw   $0x33,0x8(%eax)
43f976:	74 13                	je     0x43f98b
43f978:	8b 01                	mov    (%ecx),%eax
43f97a:	8b 79 04             	mov    0x4(%ecx),%edi
43f97d:	8b 00                	mov    (%eax),%eax
43f97f:	3b 07                	cmp    (%edi),%eax
43f981:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
43f985:	0f 84 29 03 00 00    	je     0x43fcb4
43f98b:	8b 01                	mov    (%ecx),%eax
43f98d:	83 38 24             	cmpl   $0x24,(%eax)
43f990:	75 07                	jne    0x43f999
43f992:	c6 44 24 13 01       	movb   $0x1,0x13(%esp)
43f997:	eb 09                	jmp    0x43f9a2
43f999:	83 38 1e             	cmpl   $0x1e,(%eax)
43f99c:	0f 85 12 03 00 00    	jne    0x43fcb4
43f9a2:	46                   	inc    %esi
43f9a3:	83 c1 04             	add    $0x4,%ecx
43f9a6:	8b 01                	mov    (%ecx),%eax
43f9a8:	66 39 58 08          	cmp    %bx,0x8(%eax)
43f9ac:	74 c0                	je     0x43f96e
43f9ae:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
43f9b2:	46                   	inc    %esi
43f9b3:	8b 41 04             	mov    0x4(%ecx),%eax
43f9b6:	8b 04 b0             	mov    (%eax,%esi,4),%eax
43f9b9:	66 83 78 08 41       	cmpw   $0x41,0x8(%eax)
43f9be:	75 2b                	jne    0x43f9eb
43f9c0:	8b 7c 24 0c          	mov    0xc(%esp),%edi
43f9c4:	46                   	inc    %esi
43f9c5:	8b 47 04             	mov    0x4(%edi),%eax
43f9c8:	8b cb                	mov    %ebx,%ecx
43f9ca:	8d 3c b0             	lea    (%eax,%esi,4),%edi
43f9cd:	8b 07                	mov    (%edi),%eax
43f9cf:	0f b7 40 08          	movzwl 0x8(%eax),%eax
43f9d3:	66 3b 44 24 68       	cmp    0x68(%esp),%ax
43f9d8:	75 03                	jne    0x43f9dd
43f9da:	41                   	inc    %ecx
43f9db:	eb 39                	jmp    0x43fa16
43f9dd:	66 3b 44 24 6c       	cmp    0x6c(%esp),%ax
43f9e2:	75 27                	jne    0x43fa0b
43f9e4:	49                   	dec    %ecx
43f9e5:	79 2f                	jns    0x43fa16
43f9e7:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
43f9eb:	39 54 24 34          	cmp    %edx,0x34(%esp)
43f9ef:	7d 2b                	jge    0x43fa1c
43f9f1:	8b 45 08             	mov    0x8(%ebp),%eax
43f9f4:	8b 4c 24 18          	mov    0x18(%esp),%ecx
43f9f8:	8b 00                	mov    (%eax),%eax
43f9fa:	83 c1 f0             	add    $0xfffffff0,%ecx
43f9fd:	03 c1                	add    %ecx,%eax
43f9ff:	50                   	push   %eax
43fa00:	8d 4c 24 24          	lea    0x24(%esp),%ecx
43fa04:	e8 bc a3 00 00       	call   0x449dc5
43fa09:	eb 26                	jmp    0x43fa31
43fa0b:	66 3b 44 24 38       	cmp    0x38(%esp),%ax
43fa10:	75 04                	jne    0x43fa16
43fa12:	85 c9                	test   %ecx,%ecx
43fa14:	74 d1                	je     0x43f9e7
43fa16:	46                   	inc    %esi
43fa17:	83 c7 04             	add    $0x4,%edi
43fa1a:	eb b1                	jmp    0x43f9cd
43fa1c:	8d 4c 24 20          	lea    0x20(%esp),%ecx
43fa20:	e8 fb 31 fd ff       	call   0x412c20
43fa25:	89 5c 24 20          	mov    %ebx,0x20(%esp)
43fa29:	c7 44 24 2c 01 00 00 	movl   $0x1,0x2c(%esp)
43fa30:	00
43fa31:	8d 44 24 13          	lea    0x13(%esp),%eax
43fa35:	50                   	push   %eax