4396aa:	ff 37                	push   (%edi)
4396ac:	e8 af 9c 00 00       	call   0x443360
4396b1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4396b4:	83 c4 0c             	add    $0xc,%esp
4396b7:	83 06 02             	addl   $0x2,(%esi)
4396ba:	01 07                	add    %eax,(%edi)
4396bc:	8b 17                	mov    (%edi),%edx
4396be:	8b 0e                	mov    (%esi),%ecx
4396c0:	3b 4d 10             	cmp    0x10(%ebp),%ecx
4396c3:	0f 85 73 ff ff ff    	jne    0x43963c
4396c9:	33 c0                	xor    %eax,%eax
4396cb:	3b 4d 10             	cmp    0x10(%ebp),%ecx
4396ce:	0f 95 c0             	setne  %al
4396d1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4396d4:	5f                   	pop    %edi
4396d5:	5e                   	pop    %esi
4396d6:	33 cd                	xor    %ebp,%ecx
4396d8:	5b                   	pop    %ebx
4396d9:	e8 24 63 00 00       	call   0x43fa02
4396de:	c9                   	leave
4396df:	c2 1c 00             	ret    $0x1c
4396e2:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4396e5:	89 03                	mov    %eax,(%ebx)
4396e7:	8b 45 e0             	mov    -0x20(%ebp),%eax
4396ea:	89 43 04             	mov    %eax,0x4(%ebx)
4396ed:	8b 0e                	mov    (%esi),%ecx
4396ef:	eb d8                	jmp    0x4396c9
4396f1:	55                   	push   %ebp
4396f2:	8b ec                	mov    %esp,%ebp
4396f4:	83 ec 20             	sub    $0x20,%esp
4396f7:	a1 94 80 4b 00       	mov    0x4b8094,%eax
4396fc:	33 c5                	xor    %ebp,%eax
4396fe:	89 45 fc             	mov    %eax,-0x4(%ebp)
439701:	8b 45 0c             	mov    0xc(%ebp),%eax
439704:	8b 55 18             	mov    0x18(%ebp),%edx
439707:	53                   	push   %ebx
439708:	8b 5d 08             	mov    0x8(%ebp),%ebx
43970b:	56                   	push   %esi
43970c:	8b 75 14             	mov    0x14(%ebp),%esi
43970f:	57                   	push   %edi
439710:	8b 7d 20             	mov    0x20(%ebp),%edi
439713:	89 4d f0             	mov    %ecx,-0x10(%ebp)
439716:	89 06                	mov    %eax,(%esi)
439718:	89 7d ec             	mov    %edi,-0x14(%ebp)
43971b:	89 17                	mov    %edx,(%edi)
43971d:	e9 82 00 00 00       	jmp    0x4397a4
439722:	3b 55 1c             	cmp    0x1c(%ebp),%edx
439725:	0f 84 84 00 00 00    	je     0x4397af
43972b:	8b 45 1c             	mov    0x1c(%ebp),%eax
43972e:	2b c2                	sub    %edx,%eax
439730:	83 f8 05             	cmp    $0x5,%eax
439733:	7c 21                	jl     0x439756
439735:	8b 45 f0             	mov    -0x10(%ebp),%eax
439738:	83 c0 08             	add    $0x8,%eax
43973b:	50                   	push   %eax
43973c:	0f b7 01             	movzwl (%ecx),%eax
43973f:	53                   	push   %ebx
439740:	50                   	push   %eax
439741:	52                   	push   %edx
439742:	e8 cc c8 fe ff       	call   0x426013
439747:	8b 7d ec             	mov    -0x14(%ebp),%edi
43974a:	83 c4 10             	add    $0x10,%esp
43974d:	85 c0                	test   %eax,%eax
43974f:	79 4c                	jns    0x43979d
439751:	6a 02                	push   $0x2
439753:	58                   	pop    %eax
439754:	eb 61                	jmp    0x4397b7
439756:	8b 03                	mov    (%ebx),%eax
439758:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43975b:	8b 43 04             	mov    0x4(%ebx),%eax
43975e:	89 45 e0             	mov    %eax,-0x20(%ebp)
439761:	8b 45 f0             	mov    -0x10(%ebp),%eax
439764:	83 c0 08             	add    $0x8,%eax
439767:	50                   	push   %eax
439768:	0f b7 01             	movzwl (%ecx),%eax
43976b:	53                   	push   %ebx
43976c:	50                   	push   %eax
43976d:	8d 45 f4             	lea    -0xc(%ebp),%eax
439770:	50                   	push   %eax
439771:	e8 9d c8 fe ff       	call   0x426013
439776:	8b c8                	mov    %eax,%ecx
439778:	83 c4 10             	add    $0x10,%esp
43977b:	89 4d e8             	mov    %ecx,-0x18(%ebp)
43977e:	85 c9                	test   %ecx,%ecx
439780:	78 cf                	js     0x439751
439782:	8b 45 1c             	mov    0x1c(%ebp),%eax
439785:	2b 07                	sub    (%edi),%eax
439787:	3b c1                	cmp    %ecx,%eax
439789:	7c 3d                	jl     0x4397c8
43978b:	51                   	push   %ecx
43978c:	8d 45 f4             	lea    -0xc(%ebp),%eax
43978f:	50                   	push   %eax
439790:	ff 37                	push   (%edi)
439792:	e8 c9 9b 00 00       	call   0x443360
439797:	8b 45 e8             	mov    -0x18(%ebp),%eax
43979a:	83 c4 0c             	add    $0xc,%esp
43979d:	83 06 02             	addl   $0x2,(%esi)
4397a0:	01 07                	add    %eax,(%edi)
4397a2:	8b 17                	mov    (%edi),%edx
4397a4:	8b 0e                	mov    (%esi),%ecx
4397a6:	3b 4d 10             	cmp    0x10(%ebp),%ecx
4397a9:	0f 85 73 ff ff ff    	jne    0x439722
4397af:	33 c0                	xor    %eax,%eax
4397b1:	3b 4d 10             	cmp    0x10(%ebp),%ecx
4397b4:	0f 95 c0             	setne  %al
4397b7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4397ba:	5f                   	pop    %edi
4397bb:	5e                   	pop    %esi
4397bc:	33 cd                	xor    %ebp,%ecx
4397be:	5b                   	pop    %ebx
4397bf:	e8 3e 62 00 00       	call   0x43fa02
4397c4:	c9                   	leave
4397c5:	c2 1c 00             	ret    $0x1c
4397c8:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4397cb:	89 03                	mov    %eax,(%ebx)
4397cd:	8b 45 e0             	mov    -0x20(%ebp),%eax
4397d0:	89 43 04             	mov    %eax,0x4(%ebx)
4397d3:	8b 0e                	mov    (%esi),%ecx
4397d5:	eb d8                	jmp    0x4397af
4397d7:	55                   	push   %ebp
4397d8:	8b ec                	mov    %esp,%ebp
4397da:	8b 45 08             	mov    0x8(%ebp),%eax
4397dd:	8b 49 20             	mov    0x20(%ecx),%ecx
4397e0:	89 08                	mov    %ecx,(%eax)
4397e2:	5d                   	pop    %ebp
4397e3:	c2 04 00             	ret    $0x4
4397e6:	55                   	push   %ebp
4397e7:	8b ec                	mov    %esp,%ebp
4397e9:	8b 45 08             	mov    0x8(%ebp),%eax
4397ec:	8b 49 20             	mov    0x20(%ecx),%ecx
4397ef:	89 08                	mov    %ecx,(%eax)
4397f1:	5d                   	pop    %ebp
4397f2:	c2 04 00             	ret    $0x4
4397f5:	55                   	push   %ebp
4397f6:	8b ec                	mov    %esp,%ebp
4397f8:	ff 71 14             	push   0x14(%ecx)
4397fb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4397fe:	e8 99 60 ff ff       	call   0x42f89c
439803:	8b 45 08             	mov    0x8(%ebp),%eax
439806:	5d                   	pop    %ebp
439807:	c2 04 00             	ret    $0x4
43980a:	55                   	push   %ebp
43980b:	8b ec                	mov    %esp,%ebp
43980d:	ff 71 14             	push   0x14(%ecx)
439810:	8b 4d 08             	mov    0x8(%ebp),%ecx
439813:	e8 46 1b fd ff       	call   0x40b35e
439818:	8b 45 08             	mov    0x8(%ebp),%eax
43981b:	5d                   	pop    %ebp
43981c:	c2 04 00             	ret    $0x4
43981f:	6a 4c                	push   $0x4c
439821:	b8 68 26 49 00       	mov    $0x492668,%eax
439826:	e8 53 62 00 00       	call   0x43fa7e
43982b:	89 4d b0             	mov    %ecx,-0x50(%ebp)
43982e:	8b 45 08             	mov    0x8(%ebp),%eax
439831:	8d 4d a8             	lea    -0x58(%ebp),%ecx
439834:	8b 5d 20             	mov    0x20(%ebp),%ebx
439837:	89 45 b4             	mov    %eax,-0x4c(%ebp)
43983a:	8b 45 18             	mov    0x18(%ebp),%eax
43983d:	89 45 b8             	mov    %eax,-0x48(%ebp)
439840:	ff 70 30             	push   0x30(%eax)
439843:	e8 f4 f5 fe ff       	call   0x428e3c
439848:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43984c:	8d 45 a8             	lea    -0x58(%ebp),%eax
43984f:	50                   	push   %eax
439850:	e8 a8 52 ff ff       	call   0x42eafd
439855:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
439859:	8b f8                	mov    %eax,%edi
43985b:	59                   	pop    %ecx
43985c:	8d 4d a8             	lea    -0x58(%ebp),%ecx
43985f:	e8 83 5b fd ff       	call   0x40f3e7
439864:	8b 07                	mov    (%edi),%eax
439866:	8b 70 2c             	mov    0x2c(%eax),%esi
439869:	8d 45 d8             	lea    -0x28(%ebp),%eax
43986c:	50                   	push   %eax
43986d:	68 58 aa 49 00       	push   $0x49aa58
439872:	68 4c aa 49 00       	push   $0x49aa4c
439877:	8b ce                	mov    %esi,%ecx
439879:	ff 15 54 43 49 00    	call   *0x494354
43987f:	8b cf                	mov    %edi,%ecx
439881:	ff d6                	call   *%esi
439883:	8b 7b 10             	mov    0x10(%ebx),%edi
439886:	33 d2                	xor    %edx,%edx
439888:	c6 45 bc 00          	movb   $0x0,-0x44(%ebp)
43988c:	85 ff                	test   %edi,%edi
43988e:	74 1a                	je     0x4398aa
439890:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
439894:	8b c3                	mov    %ebx,%eax
439896:	72 02                	jb     0x43989a
439898:	8b 03                	mov    (%ebx),%eax
43989a:	66 8b 00             	mov    (%eax),%ax
43989d:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
4398a1:	75 07                	jne    0x4398aa
4398a3:	33 d2                	xor    %edx,%edx
4398a5:	c6 45 bc 01          	movb   $0x1,-0x44(%ebp)
4398a9:	42                   	inc    %edx
4398aa:	8b ca                	mov    %edx,%ecx
4398ac:	3b d7                	cmp    %edi,%edx
4398ae:	73 34                	jae    0x4398e4
4398b0:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
4398b4:	8b c3                	mov    %ebx,%eax
4398b6:	72 02                	jb     0x4398ba
4398b8:	8b 03                	mov    (%ebx),%eax
4398ba:	0f b7 34 48          	movzwl (%eax,%ecx,2),%esi
4398be:	8d 45 d8             	lea    -0x28(%ebp),%eax
4398c1:	66 39 30             	cmp    %si,(%eax)
4398c4:	74 0a                	je     0x4398d0
4398c6:	83 c0 02             	add    $0x2,%eax
4398c9:	8d 7d ee             	lea    -0x12(%ebp),%edi
4398cc:	3b c7                	cmp    %edi,%eax
4398ce:	75 f1                	jne    0x4398c1
4398d0:	8b 7b 10             	mov    0x10(%ebx),%edi
4398d3:	8d 75 d8             	lea    -0x28(%ebp),%esi
4398d6:	2b c6                	sub    %esi,%eax
4398d8:	d1 f8                	sar    $1,%eax
4398da:	83 f8 0a             	cmp    $0xa,%eax
4398dd:	73 05                	jae    0x4398e4
4398df:	41                   	inc    %ecx
4398e0:	3b cf                	cmp    %edi,%ecx
4398e2:	72 cc                	jb     0x4398b0
4398e4:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
4398e8:	72 02                	jb     0x4398ec
4398ea:	8b 1b                	mov    (%ebx),%ebx
4398ec:	2b ca                	sub    %edx,%ecx
4398ee:	8d 04 53             	lea    (%ebx,%edx,2),%eax
4398f1:	51                   	push   %ecx
4398f2:	50                   	push   %eax
4398f3:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4398f6:	e8 c6 5f ff ff       	call   0x42f8c1
4398fb:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
4398ff:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
439906:	75 0b                	jne    0x439913
439908:	ff 75 d8             	push   -0x28(%ebp)
43990b:	8d 4d c0             	lea    -0x40(%ebp),%ecx
43990e:	e8 f2 1a 00 00       	call   0x43b405
439913:	ff 75 d8             	push   -0x28(%ebp)
439916:	8d 45 c0             	lea    -0x40(%ebp),%eax
439919:	83 ec 18             	sub    $0x18,%esp
43991c:	8b cc                	mov    %esp,%ecx
43991e:	50                   	push   %eax
43991f:	83 61 10 00          	andl   $0x0,0x10(%ecx)
439923:	83 61 14 00          	andl   $0x0,0x14(%ecx)
439927:	e8 94 70 ff ff       	call   0x4309c0
43992c:	ff 75 bc             	push   -0x44(%ebp)
43992f:	8b 75 b4             	mov    -0x4c(%ebp),%esi
439932:	ff 75 1c             	push   0x1c(%ebp)
439935:	8b 4d b0             	mov    -0x50(%ebp),%ecx
439938:	ff 75 b8             	push   -0x48(%ebp)
43993b:	ff 75 14             	push   0x14(%ebp)
43993e:	ff 75 10             	push   0x10(%ebp)
439941:	ff 75 0c             	push   0xc(%ebp)
439944:	56                   	push   %esi
439945:	e8 1b c7 ff ff       	call   0x436065
43994a:	8d 4d c0             	lea    -0x40(%ebp),%ecx
43994d:	e8 39 d3 ff ff       	call   0x436c8b
439952:	8b c6                	mov    %esi,%eax
439954:	e8 cf 60 00 00       	call   0x43fa28
439959:	c2 1c 00             	ret    $0x1c
43995c:	6a 60                	push   $0x60
43995e:	b8 9d 26 49 00       	mov    $0x49269d,%eax
439963:	e8 16 61 00 00       	call   0x43fa7e
439968:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
43996b:	d9 ee                	fldz
43996d:	dd 45 20             	fldl   0x20(%ebp)
439970:	8b 75 18             	mov    0x18(%ebp),%esi
439973:	d8 d1                	fcom   %st(1)
439975:	8b 5d 08             	mov    0x8(%ebp),%ebx
439978:	df e0                	fnstsw %ax
43997a:	89 75 a0             	mov    %esi,-0x60(%ebp)
43997d:	c6 45 a4 00          	movb   $0x0,-0x5c(%ebp)
439981:	dd d9                	fstp   %st(1)
439983:	f6 c4 05             	test   $0x5,%ah
439986:	7a 06                	jp     0x43998e
439988:	c6 45 a4 01          	movb   $0x1,-0x5c(%ebp)
43998c:	d9 e0                	fchs
43998e:	dd 05 78 ab 49 00    	fldl   0x49ab78
439994:	33 ff                	xor    %edi,%edi
439996:	d8 d1                	fcom   %st(1)
439998:	df e0                	fnstsw %ax
43999a:	f6 c4 41             	test   $0x41,%ah
43999d:	7a 28                	jp     0x4399c7
43999f:	dd 05 e0 7e 49 00    	fldl   0x497ee0
4399a5:	eb 02                	jmp    0x4399a9
4399a7:	d9 c9                	fxch   %st(1)
4399a9:	81 ff 88 13 00 00    	cmp    $0x1388,%edi
4399af:	0f 83 03 01 00 00    	jae    0x439ab8
4399b5:	dc fa                	fdivr  %st,%st(2)
4399b7:	83 c7 0a             	add    $0xa,%edi
4399ba:	d9 c9                	fxch   %st(1)
4399bc:	d8 d2                	fcom   %st(2)
4399be:	df e0                	fnstsw %ax
4399c0:	f6 c4 41             	test   $0x41,%ah
4399c3:	7b e2                	jnp    0x4399a7
4399c5:	dd d8                	fstp   %st(0)
4399c7:	51                   	push   %ecx
4399c8:	51                   	push   %ecx
4399c9:	dd d8                	fstp   %st(0)
4399cb:	8d 45 c8             	lea    -0x38(%ebp),%eax
4399ce:	dd 1c 24             	fstpl  (%esp)
4399d1:	68 58 aa 49 00       	push   $0x49aa58
4399d6:	6a 28                	push   $0x28
4399d8:	50                   	push   %eax
4399d9:	e8 36 2c ff ff       	call   0x42c614
4399de:	83 c4 14             	add    $0x14,%esp
4399e1:	89 45 a8             	mov    %eax,-0x58(%ebp)
4399e4:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
4399e7:	ff 76 30             	push   0x30(%esi)
4399ea:	e8 4d f4 fe ff       	call   0x428e3c
4399ef:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4399f3:	8d 45 94             	lea    -0x6c(%ebp),%eax
4399f6:	50                   	push   %eax
4399f7:	e8 01 51 ff ff       	call   0x42eafd
4399fc:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
439a00:	8b f0                	mov    %eax,%esi
439a02:	59                   	pop    %ecx
439a03:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
439a06:	89 75 ac             	mov    %esi,-0x54(%ebp)
439a09:	e8 d9 59 fd ff       	call   0x40f3e7
439a0e:	8b 06                	mov    (%esi),%eax
439a10:	6a 30                	push   $0x30
439a12:	8b 70 30             	mov    0x30(%eax),%esi
439a15:	8b ce                	mov    %esi,%ecx
439a17:	ff 15 54 43 49 00    	call   *0x494354
439a1d:	8b 4d ac             	mov    -0x54(%ebp),%ecx
439a20:	ff d6                	call   *%esi
439a22:	83 65 c0 00          	andl   $0x0,-0x40(%ebp)
439a26:	8d 4d b0             	lea    -0x50(%ebp),%ecx
439a29:	0f b7 f0             	movzwl %ax,%esi
439a2c:	33 c0                	xor    %eax,%eax
439a2e:	50                   	push   %eax
439a2f:	ff 75 a8             	push   -0x58(%ebp)
439a32:	c7 45 c4 07 00 00 00 	movl   $0x7,-0x3c(%ebp)
439a39:	66 89 45 b0          	mov    %ax,-0x50(%ebp)
439a3d:	e8 3f d4 ff ff       	call   0x436e81
439a42:	83 7d c4 08          	cmpl   $0x8,-0x3c(%ebp)
439a46:	8d 45 b0             	lea    -0x50(%ebp),%eax
439a49:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
439a50:	72 03                	jb     0x439a55
439a52:	8b 45 b0             	mov    -0x50(%ebp),%eax
439a55:	50                   	push   %eax
439a56:	8b 45 a8             	mov    -0x58(%ebp),%eax
439a59:	8d 4d c8             	lea    -0x38(%ebp),%ecx
439a5c:	03 c1                	add    %ecx,%eax
439a5e:	50                   	push   %eax
439a5f:	8b c1                	mov    %ecx,%eax
439a61:	8b 4d ac             	mov    -0x54(%ebp),%ecx
439a64:	50                   	push   %eax
439a65:	e8 ab 1b 00 00       	call   0x43b615
439a6a:	56                   	push   %esi
439a6b:	57                   	push   %edi
439a6c:	8d 4d b0             	lea    -0x50(%ebp),%ecx