43b609:	6a 18                	push   $0x18
43b60b:	58                   	pop    %eax
43b60c:	50                   	push   %eax
43b60d:	8b 41 08             	mov    0x8(%ecx),%eax
43b610:	ff 30                	push   (%eax)
43b612:	ff 15 20 71 4a 00    	call   *0x4a7120
43b618:	8b d8                	mov    %eax,%ebx
43b61a:	85 db                	test   %ebx,%ebx
43b61c:	0f 84 e5 00 00 00    	je     0x43b707
43b622:	8b 45 fa             	mov    -0x6(%ebp),%eax
43b625:	33 d2                	xor    %edx,%edx
43b627:	0f af 45 f8          	imul   -0x8(%ebp),%eax
43b62b:	42                   	inc    %edx
43b62c:	56                   	push   %esi
43b62d:	57                   	push   %edi
43b62e:	6a 04                	push   $0x4
43b630:	0f b7 c8             	movzwl %ax,%ecx
43b633:	8b f9                	mov    %ecx,%edi
43b635:	58                   	pop    %eax
43b636:	6a 08                	push   $0x8
43b638:	5b                   	pop    %ebx
43b639:	66 3b ca             	cmp    %dx,%cx
43b63c:	75 04                	jne    0x43b642
43b63e:	8b f2                	mov    %edx,%esi
43b640:	eb 1a                	jmp    0x43b65c
43b642:	66 3b c8             	cmp    %ax,%cx
43b645:	77 04                	ja     0x43b64b
43b647:	8b f0                	mov    %eax,%esi
43b649:	eb 11                	jmp    0x43b65c
43b64b:	66 3b cb             	cmp    %bx,%cx
43b64e:	77 04                	ja     0x43b654
43b650:	8b f3                	mov    %ebx,%esi
43b652:	eb 08                	jmp    0x43b65c
43b654:	6a 10                	push   $0x10
43b656:	5e                   	pop    %esi
43b657:	66 3b ce             	cmp    %si,%cx
43b65a:	77 1b                	ja     0x43b677
43b65c:	0f b7 ce             	movzwl %si,%ecx
43b65f:	d3 e0                	shl    %cl,%eax
43b661:	83 c0 28             	add    $0x28,%eax
43b664:	50                   	push   %eax
43b665:	53                   	push   %ebx
43b666:	ff 15 74 72 4a 00    	call   *0x4a7274
43b66c:	50                   	push   %eax
43b66d:	ff 15 84 72 4a 00    	call   *0x4a7284
43b673:	8b c8                	mov    %eax,%ecx
43b675:	eb 21                	jmp    0x43b698
43b677:	6a 28                	push   $0x28
43b679:	53                   	push   %ebx
43b67a:	ff 15 74 72 4a 00    	call   *0x4a7274
43b680:	50                   	push   %eax
43b681:	ff 15 84 72 4a 00    	call   *0x4a7284
43b687:	6a 18                	push   $0x18
43b689:	5a                   	pop    %edx
43b68a:	66 3b d7             	cmp    %di,%dx
43b68d:	8b c8                	mov    %eax,%ecx
43b68f:	1b c0                	sbb    %eax,%eax
43b691:	23 c3                	and    %ebx,%eax
43b693:	03 c2                	add    %edx,%eax
43b695:	0f b7 f0             	movzwl %ax,%esi
43b698:	8b 7d 08             	mov    0x8(%ebp),%edi
43b69b:	33 db                	xor    %ebx,%ebx
43b69d:	85 c9                	test   %ecx,%ecx
43b69f:	0f b7 d6             	movzwl %si,%edx
43b6a2:	0f 95 c3             	setne  %bl
43b6a5:	89 0f                	mov    %ecx,(%edi)
43b6a7:	85 c9                	test   %ecx,%ecx
43b6a9:	74 5a                	je     0x43b705
43b6ab:	8b f9                	mov    %ecx,%edi
43b6ad:	8b ca                	mov    %edx,%ecx
43b6af:	6a 18                	push   $0x18
43b6b1:	c7 07 28 00 00 00    	movl   $0x28,(%edi)
43b6b7:	8b 45 ec             	mov    -0x14(%ebp),%eax
43b6ba:	89 47 04             	mov    %eax,0x4(%edi)
43b6bd:	8b 45 f0             	mov    -0x10(%ebp),%eax
43b6c0:	89 47 08             	mov    %eax,0x8(%edi)
43b6c3:	66 8b 45 f8          	mov    -0x8(%ebp),%ax
43b6c7:	66 89 47 0c          	mov    %ax,0xc(%edi)
43b6cb:	66 8b 45 fa          	mov    -0x6(%ebp),%ax
43b6cf:	66 89 47 0e          	mov    %ax,0xe(%edi)
43b6d3:	83 67 10 00          	andl   $0x0,0x10(%edi)
43b6d7:	58                   	pop    %eax
43b6d8:	66 3b f0             	cmp    %ax,%si
43b6db:	73 08                	jae    0x43b6e5
43b6dd:	33 c0                	xor    %eax,%eax
43b6df:	40                   	inc    %eax
43b6e0:	d3 e0                	shl    %cl,%eax
43b6e2:	89 47 20             	mov    %eax,0x20(%edi)
43b6e5:	8b 47 04             	mov    0x4(%edi),%eax
43b6e8:	0f af c1             	imul   %ecx,%eax
43b6eb:	83 c0 1f             	add    $0x1f,%eax
43b6ee:	83 e0 e0             	and    $0xffffffe0,%eax
43b6f1:	99                   	cltd
43b6f2:	83 e2 07             	and    $0x7,%edx
43b6f5:	03 c2                	add    %edx,%eax
43b6f7:	c1 f8 03             	sar    $0x3,%eax
43b6fa:	0f af 47 08          	imul   0x8(%edi),%eax
43b6fe:	89 47 14             	mov    %eax,0x14(%edi)
43b701:	83 67 24 00          	andl   $0x0,0x24(%edi)
43b705:	5f                   	pop    %edi
43b706:	5e                   	pop    %esi
43b707:	8b c3                	mov    %ebx,%eax
43b709:	5b                   	pop    %ebx
43b70a:	c9                   	leave
43b70b:	c2 04 00             	ret    $0x4
43b70e:	8b ff                	mov    %edi,%edi
43b710:	55                   	push   %ebp
43b711:	8b ec                	mov    %esp,%ebp
43b713:	83 ec 28             	sub    $0x28,%esp
43b716:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
43b71b:	33 c5                	xor    %ebp,%eax
43b71d:	89 45 fc             	mov    %eax,-0x4(%ebp)
43b720:	8b 45 08             	mov    0x8(%ebp),%eax
43b723:	53                   	push   %ebx
43b724:	56                   	push   %esi
43b725:	57                   	push   %edi
43b726:	8b 7d 0c             	mov    0xc(%ebp),%edi
43b729:	89 4d dc             	mov    %ecx,-0x24(%ebp)
43b72c:	89 45 d8             	mov    %eax,-0x28(%ebp)
43b72f:	89 7d e4             	mov    %edi,-0x1c(%ebp)
43b732:	ff 77 14             	push   0x14(%edi)
43b735:	6a 00                	push   $0x0
43b737:	ff 15 58 72 4a 00    	call   *0x4a7258
43b73d:	8b f0                	mov    %eax,%esi
43b73f:	33 db                	xor    %ebx,%ebx
43b741:	85 f6                	test   %esi,%esi
43b743:	89 75 e8             	mov    %esi,-0x18(%ebp)
43b746:	0f 95 c3             	setne  %bl
43b749:	85 f6                	test   %esi,%esi
43b74b:	74 20                	je     0x43b76d
43b74d:	8b 4d dc             	mov    -0x24(%ebp),%ecx
43b750:	0f b7 47 08          	movzwl 0x8(%edi),%eax
43b754:	6a 00                	push   $0x0
43b756:	57                   	push   %edi
43b757:	56                   	push   %esi
43b758:	50                   	push   %eax
43b759:	8b 41 08             	mov    0x8(%ecx),%eax
43b75c:	6a 00                	push   $0x0
43b75e:	ff 30                	push   (%eax)
43b760:	8b 41 10             	mov    0x10(%ecx),%eax
43b763:	ff 30                	push   (%eax)
43b765:	ff 15 e8 70 4a 00    	call   *0x4a70e8
43b76b:	8b d8                	mov    %eax,%ebx
43b76d:	85 db                	test   %ebx,%ebx
43b76f:	0f 84 c9 00 00 00    	je     0x43b83e
43b775:	6a 00                	push   $0x0
43b777:	68 80 00 00 00       	push   $0x80
43b77c:	6a 02                	push   $0x2
43b77e:	6a 00                	push   $0x0
43b780:	6a 00                	push   $0x0
43b782:	68 00 00 00 c0       	push   $0xc0000000
43b787:	ff 75 d8             	push   -0x28(%ebp)
43b78a:	ff 15 64 72 4a 00    	call   *0x4a7264
43b790:	8b f8                	mov    %eax,%edi
43b792:	33 db                	xor    %ebx,%ebx
43b794:	83 ff ff             	cmp    $0xffffffff,%edi
43b797:	0f 95 c3             	setne  %bl
43b79a:	0f 84 9e 00 00 00    	je     0x43b83e
43b7a0:	b8 42 4d 00 00       	mov    $0x4d42,%eax
43b7a5:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
43b7a9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43b7ac:	6a 00                	push   $0x0
43b7ae:	8b 70 20             	mov    0x20(%eax),%esi
43b7b1:	8b 10                	mov    (%eax),%edx
43b7b3:	8b 40 14             	mov    0x14(%eax),%eax
43b7b6:	83 c0 0e             	add    $0xe,%eax
43b7b9:	8d 0c b2             	lea    (%edx,%esi,4),%ecx
43b7bc:	03 c1                	add    %ecx,%eax
43b7be:	89 45 ee             	mov    %eax,-0x12(%ebp)
43b7c1:	33 c0                	xor    %eax,%eax
43b7c3:	89 45 f2             	mov    %eax,-0xe(%ebp)
43b7c6:	8d 42 0e             	lea    0xe(%edx),%eax
43b7c9:	8d 04 b0             	lea    (%eax,%esi,4),%eax
43b7cc:	89 45 f6             	mov    %eax,-0xa(%ebp)
43b7cf:	8d 45 e0             	lea    -0x20(%ebp),%eax
43b7d2:	50                   	push   %eax
43b7d3:	6a 0e                	push   $0xe
43b7d5:	8d 45 ec             	lea    -0x14(%ebp),%eax
43b7d8:	50                   	push   %eax
43b7d9:	57                   	push   %edi
43b7da:	ff 15 3c 72 4a 00    	call   *0x4a723c
43b7e0:	8b d8                	mov    %eax,%ebx
43b7e2:	85 db                	test   %ebx,%ebx
43b7e4:	74 3a                	je     0x43b820
43b7e6:	8b 75 e4             	mov    -0x1c(%ebp),%esi
43b7e9:	8d 45 e0             	lea    -0x20(%ebp),%eax
43b7ec:	6a 00                	push   $0x0
43b7ee:	50                   	push   %eax
43b7ef:	8b 46 20             	mov    0x20(%esi),%eax
43b7f2:	8d 04 85 28 00 00 00 	lea    0x28(,%eax,4),%eax
43b7f9:	50                   	push   %eax
43b7fa:	56                   	push   %esi
43b7fb:	57                   	push   %edi
43b7fc:	ff 15 3c 72 4a 00    	call   *0x4a723c
43b802:	8b d8                	mov    %eax,%ebx
43b804:	85 db                	test   %ebx,%ebx
43b806:	74 18                	je     0x43b820
43b808:	6a 00                	push   $0x0
43b80a:	8d 45 e0             	lea    -0x20(%ebp),%eax
43b80d:	50                   	push   %eax
43b80e:	ff 76 14             	push   0x14(%esi)
43b811:	8b 75 e8             	mov    -0x18(%ebp),%esi
43b814:	56                   	push   %esi
43b815:	57                   	push   %edi
43b816:	ff 15 3c 72 4a 00    	call   *0x4a723c
43b81c:	8b d8                	mov    %eax,%ebx
43b81e:	eb 03                	jmp    0x43b823
43b820:	8b 75 e8             	mov    -0x18(%ebp),%esi
43b823:	83 ff ff             	cmp    $0xffffffff,%edi
43b826:	74 16                	je     0x43b83e
43b828:	57                   	push   %edi
43b829:	ff 15 88 72 4a 00    	call   *0x4a7288
43b82f:	85 c0                	test   %eax,%eax
43b831:	74 09                	je     0x43b83c
43b833:	85 db                	test   %ebx,%ebx
43b835:	74 05                	je     0x43b83c
43b837:	33 db                	xor    %ebx,%ebx
43b839:	43                   	inc    %ebx
43b83a:	eb 02                	jmp    0x43b83e
43b83c:	33 db                	xor    %ebx,%ebx
43b83e:	85 f6                	test   %esi,%esi
43b840:	74 07                	je     0x43b849
43b842:	56                   	push   %esi
43b843:	ff 15 5c 72 4a 00    	call   *0x4a725c
43b849:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43b84c:	8b c3                	mov    %ebx,%eax
43b84e:	5f                   	pop    %edi
43b84f:	5e                   	pop    %esi
43b850:	33 cd                	xor    %ebp,%ecx
43b852:	5b                   	pop    %ebx
43b853:	e8 a8 46 05 00       	call   0x48ff00
43b858:	c9                   	leave
43b859:	c2 08 00             	ret    $0x8
43b85c:	cc                   	int3
43b85d:	cc                   	int3
43b85e:	cc                   	int3
43b85f:	cc                   	int3
43b860:	8b ff                	mov    %edi,%edi
43b862:	55                   	push   %ebp
43b863:	8b ec                	mov    %esp,%ebp
43b865:	51                   	push   %ecx
43b866:	56                   	push   %esi
43b867:	8d 45 fc             	lea    -0x4(%ebp),%eax
43b86a:	8b f1                	mov    %ecx,%esi
43b86c:	50                   	push   %eax
43b86d:	e8 8a fd ff ff       	call   0x43b5fc
43b872:	85 c0                	test   %eax,%eax
43b874:	74 2b                	je     0x43b8a1
43b876:	8b 45 08             	mov    0x8(%ebp),%eax
43b879:	83 78 18 08          	cmpl   $0x8,0x18(%eax)
43b87d:	8d 48 04             	lea    0x4(%eax),%ecx
43b880:	72 02                	jb     0x43b884
43b882:	8b 09                	mov    (%ecx),%ecx
43b884:	ff 75 fc             	push   -0x4(%ebp)
43b887:	51                   	push   %ecx
43b888:	8b ce                	mov    %esi,%ecx
43b88a:	e8 7f fe ff ff       	call   0x43b70e
43b88f:	ff 75 fc             	push   -0x4(%ebp)
43b892:	6a 00                	push   $0x0
43b894:	ff 15 74 72 4a 00    	call   *0x4a7274
43b89a:	50                   	push   %eax
43b89b:	ff 15 94 72 4a 00    	call   *0x4a7294
43b8a1:	5e                   	pop    %esi
43b8a2:	c9                   	leave
43b8a3:	c2 04 00             	ret    $0x4
43b8a6:	cc                   	int3
43b8a7:	cc                   	int3
43b8a8:	cc                   	int3
43b8a9:	cc                   	int3
43b8aa:	cc                   	int3
43b8ab:	cc                   	int3
43b8ac:	cc                   	int3
43b8ad:	cc                   	int3
43b8ae:	cc                   	int3
43b8af:	cc                   	int3
43b8b0:	8b ff                	mov    %edi,%edi
43b8b2:	55                   	push   %ebp
43b8b3:	8b ec                	mov    %esp,%ebp
43b8b5:	53                   	push   %ebx
43b8b6:	56                   	push   %esi
43b8b7:	57                   	push   %edi
43b8b8:	8b f9                	mov    %ecx,%edi
43b8ba:	8b 4f 04             	mov    0x4(%edi),%ecx
43b8bd:	c7 47 20 01 00 00 00 	movl   $0x1,0x20(%edi)
43b8c4:	e8 cb 79 03 00       	call   0x473294
43b8c9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
43b8cc:	89 47 28             	mov    %eax,0x28(%edi)
43b8cf:	8d 73 04             	lea    0x4(%ebx),%esi
43b8d2:	85 c0                	test   %eax,%eax
43b8d4:	75 21                	jne    0x43b8f7
43b8d6:	83 7b 18 08          	cmpl   $0x8,0x18(%ebx)
43b8da:	72 04                	jb     0x43b8e0
43b8dc:	8b 06                	mov    (%esi),%eax
43b8de:	eb 02                	jmp    0x43b8e2
43b8e0:	8b c6                	mov    %esi,%eax
43b8e2:	8b 4f 18             	mov    0x18(%edi),%ecx
43b8e5:	50                   	push   %eax
43b8e6:	ff 15 64 75 4a 00    	call   *0x4a7564
43b8ec:	83 7b 18 08          	cmpl   $0x8,0x18(%ebx)
43b8f0:	72 02                	jb     0x43b8f4
43b8f2:	8b 36                	mov    (%esi),%esi
43b8f4:	56                   	push   %esi
43b8f5:	eb 21                	jmp    0x43b918
43b8f7:	83 7b 18 08          	cmpl   $0x8,0x18(%ebx)
43b8fb:	72 02                	jb     0x43b8ff
43b8fd:	8b 36                	mov    (%esi),%esi
43b8ff:	8b 4f 18             	mov    0x18(%edi),%ecx
43b902:	56                   	push   %esi
43b903:	ff 15 64 75 4a 00    	call   *0x4a7564
43b909:	8b 45 08             	mov    0x8(%ebp),%eax
43b90c:	83 78 18 08          	cmpl   $0x8,0x18(%eax)
43b910:	8d 48 04             	lea    0x4(%eax),%ecx
43b913:	72 02                	jb     0x43b917
43b915:	8b 09                	mov    (%ecx),%ecx
43b917:	51                   	push   %ecx
43b918:	8b 4f 14             	mov    0x14(%edi),%ecx
43b91b:	ff 15 64 75 4a 00    	call   *0x4a7564
43b921:	ff 77 18             	push   0x18(%edi)
43b924:	8d 4f 2c             	lea    0x2c(%edi),%ecx
43b927:	ff 15 b8 75 4a 00    	call   *0x4a75b8
43b92d:	5f                   	pop    %edi
43b92e:	5e                   	pop    %esi
43b92f:	5b                   	pop    %ebx
43b930:	5d                   	pop    %ebp
43b931:	c2 08 00             	ret    $0x8
43b934:	cc                   	int3
43b935:	cc                   	int3
43b936:	cc                   	int3
43b937:	cc                   	int3
43b938:	cc                   	int3
43b939:	cc                   	int3
43b93a:	cc                   	int3
43b93b:	cc                   	int3
43b93c:	cc                   	int3
43b93d:	cc                   	int3
43b93e:	cc                   	int3
43b93f:	cc                   	int3
43b940:	33 c0                	xor    %eax,%eax
43b942:	40                   	inc    %eax
43b943:	c3                   	ret
43b944:	cc                   	int3
43b945:	cc                   	int3
43b946:	cc                   	int3
43b947:	cc                   	int3
43b948:	cc                   	int3
43b949:	cc                   	int3
43b94a:	cc                   	int3
43b94b:	cc                   	int3
43b94c:	cc                   	int3
43b94d:	cc                   	int3