439818:	50                   	push   %eax
439819:	8b d7                	mov    %edi,%edx
43981b:	8b 46 38             	mov    0x38(%esi),%eax
43981e:	66 be e5 ff          	mov    $0xffe5,%si
439822:	e8 c1 9d fc ff       	call   0x4035e8
439827:	5f                   	pop    %edi
439828:	5e                   	pop    %esi
439829:	5d                   	pop    %ebp
43982a:	c2 04 00             	ret    $0x4
43982d:	8d 40 00             	lea    0x0(%eax),%eax
439830:	53                   	push   %ebx
439831:	56                   	push   %esi
439832:	8b da                	mov    %edx,%ebx
439834:	8b c8                	mov    %eax,%ecx
439836:	8b c1                	mov    %ecx,%eax
439838:	99                   	cltd
439839:	33 c2                	xor    %edx,%eax
43983b:	2b c2                	sub    %edx,%eax
43983d:	8b f0                	mov    %eax,%esi
43983f:	8b c3                	mov    %ebx,%eax
439841:	99                   	cltd
439842:	33 c2                	xor    %edx,%eax
439844:	2b c2                	sub    %edx,%eax
439846:	3b f0                	cmp    %eax,%esi
439848:	7d 05                	jge    0x43984f
43984a:	8b c1                	mov    %ecx,%eax
43984c:	5e                   	pop    %esi
43984d:	5b                   	pop    %ebx
43984e:	c3                   	ret
43984f:	8b c3                	mov    %ebx,%eax
439851:	5e                   	pop    %esi
439852:	5b                   	pop    %ebx
439853:	c3                   	ret
439854:	53                   	push   %ebx
439855:	56                   	push   %esi
439856:	57                   	push   %edi
439857:	83 c4 f0             	add    $0xfffffff0,%esp
43985a:	8b f2                	mov    %edx,%esi
43985c:	8d 3c 24             	lea    (%esp),%edi
43985f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
439860:	a5                   	movsl  %ds:(%esi),%es:(%edi)
439861:	a5                   	movsl  %ds:(%esi),%es:(%edi)
439862:	a5                   	movsl  %ds:(%esi),%es:(%edi)
439863:	8b d8                	mov    %eax,%ebx
439865:	8b 43 0c             	mov    0xc(%ebx),%eax
439868:	8b 14 24             	mov    (%esp),%edx
43986b:	3b c2                	cmp    %edx,%eax
43986d:	7c 06                	jl     0x439875
43986f:	3b 44 24 08          	cmp    0x8(%esp),%eax
439873:	7e 14                	jle    0x439889
439875:	2b d0                	sub    %eax,%edx
439877:	8b 4c 24 08          	mov    0x8(%esp),%ecx
43987b:	2b c8                	sub    %eax,%ecx
43987d:	8b c1                	mov    %ecx,%eax
43987f:	92                   	xchg   %eax,%edx
439880:	e8 ab ff ff ff       	call   0x439830
439885:	8b f0                	mov    %eax,%esi
439887:	eb 02                	jmp    0x43988b
439889:	33 f6                	xor    %esi,%esi
43988b:	8b 43 10             	mov    0x10(%ebx),%eax
43988e:	8b 54 24 04          	mov    0x4(%esp),%edx
439892:	3b c2                	cmp    %edx,%eax
439894:	7c 06                	jl     0x43989c
439896:	3b 44 24 0c          	cmp    0xc(%esp),%eax
43989a:	7e 12                	jle    0x4398ae
43989c:	2b d0                	sub    %eax,%edx
43989e:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4398a2:	2b c8                	sub    %eax,%ecx
4398a4:	8b c1                	mov    %ecx,%eax
4398a6:	92                   	xchg   %eax,%edx
4398a7:	e8 84 ff ff ff       	call   0x439830
4398ac:	eb 02                	jmp    0x4398b0
4398ae:	33 c0                	xor    %eax,%eax
4398b0:	85 f6                	test   %esi,%esi
4398b2:	75 04                	jne    0x4398b8
4398b4:	85 c0                	test   %eax,%eax
4398b6:	74 0f                	je     0x4398c7
4398b8:	f7 d8                	neg    %eax
4398ba:	50                   	push   %eax
4398bb:	f7 de                	neg    %esi
4398bd:	56                   	push   %esi
4398be:	8d 43 44             	lea    0x44(%ebx),%eax
4398c1:	50                   	push   %eax
4398c2:	e8 01 d6 fc ff       	call   0x406ec8
4398c7:	83 c4 10             	add    $0x10,%esp
4398ca:	5f                   	pop    %edi
4398cb:	5e                   	pop    %esi
4398cc:	5b                   	pop    %ebx
4398cd:	c3                   	ret
4398ce:	8b c0                	mov    %eax,%eax
4398d0:	56                   	push   %esi
4398d1:	8b f0                	mov    %eax,%esi
4398d3:	8b d6                	mov    %esi,%edx
4398d5:	8b 46 38             	mov    0x38(%esi),%eax
4398d8:	66 be db ff          	mov    $0xffdb,%si
4398dc:	e8 07 9d fc ff       	call   0x4035e8
4398e1:	5e                   	pop    %esi
4398e2:	c3                   	ret
4398e3:	90                   	nop
4398e4:	56                   	push   %esi
4398e5:	8b f0                	mov    %eax,%esi
4398e7:	8b d6                	mov    %esi,%edx
4398e9:	8b 46 38             	mov    0x38(%esi),%eax
4398ec:	66 be da ff          	mov    $0xffda,%si
4398f0:	e8 f3 9c fc ff       	call   0x4035e8
4398f5:	5e                   	pop    %esi
4398f6:	c3                   	ret
4398f7:	90                   	nop
4398f8:	55                   	push   %ebp
4398f9:	8b ec                	mov    %esp,%ebp
4398fb:	33 c0                	xor    %eax,%eax
4398fd:	5d                   	pop    %ebp
4398fe:	c2 04 00             	ret    $0x4
439901:	8d 40 00             	lea    0x0(%eax),%eax
439904:	b8 04 00 00 00       	mov    $0x4,%eax
439909:	c3                   	ret
43990a:	8b c0                	mov    %eax,%eax
43990c:	c3                   	ret
43990d:	8d 40 00             	lea    0x0(%eax),%eax
439910:	55                   	push   %ebp
439911:	8b ec                	mov    %esp,%ebp
439913:	83 c4 f0             	add    $0xfffffff0,%esp
439916:	53                   	push   %ebx
439917:	56                   	push   %esi
439918:	57                   	push   %edi
439919:	8b 5d 0c             	mov    0xc(%ebp),%ebx
43991c:	8b 75 08             	mov    0x8(%ebp),%esi
43991f:	8b fb                	mov    %ebx,%edi
439921:	3b 77 04             	cmp    0x4(%edi),%esi
439924:	75 04                	jne    0x43992a
439926:	33 c0                	xor    %eax,%eax
439928:	eb 46                	jmp    0x439970
43992a:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
43992e:	75 20                	jne    0x439950
439930:	8d 45 f0             	lea    -0x10(%ebp),%eax
439933:	50                   	push   %eax
439934:	56                   	push   %esi
439935:	e8 a6 d4 fc ff       	call   0x406de0
43993a:	ff 77 10             	push   0x10(%edi)
43993d:	ff 77 0c             	push   0xc(%edi)
439940:	8d 45 f0             	lea    -0x10(%ebp),%eax
439943:	50                   	push   %eax
439944:	e8 9f d5 fc ff       	call   0x406ee8
439949:	85 c0                	test   %eax,%eax
43994b:	74 03                	je     0x439950
43994d:	89 77 08             	mov    %esi,0x8(%edi)
439950:	8b d3                	mov    %ebx,%edx
439952:	3b 72 08             	cmp    0x8(%edx),%esi
439955:	75 08                	jne    0x43995f
439957:	33 c0                	xor    %eax,%eax
439959:	c6 42 14 01          	movb   $0x1,0x14(%edx)
43995d:	eb 11                	jmp    0x439970
43995f:	3b 32                	cmp    (%edx),%esi
439961:	75 0a                	jne    0x43996d
439963:	83 c8 ff             	or     $0xffffffff,%eax
439966:	33 c9                	xor    %ecx,%ecx
439968:	89 4a 08             	mov    %ecx,0x8(%edx)
43996b:	eb 03                	jmp    0x439970
43996d:	83 c8 ff             	or     $0xffffffff,%eax
439970:	5f                   	pop    %edi
439971:	5e                   	pop    %esi
439972:	5b                   	pop    %ebx
439973:	8b e5                	mov    %ebp,%esp
439975:	5d                   	pop    %ebp
439976:	c2 08 00             	ret    $0x8
439979:	8d 40 00             	lea    0x0(%eax),%eax
43997c:	55                   	push   %ebp
43997d:	8b ec                	mov    %esp,%ebp
43997f:	83 c4 c4             	add    $0xffffffc4,%esp
439982:	53                   	push   %ebx
439983:	56                   	push   %esi
439984:	57                   	push   %edi
439985:	8b d8                	mov    %eax,%ebx
439987:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
43998b:	8b 45 08             	mov    0x8(%ebp),%eax
43998e:	83 c0 f7             	add    $0xfffffff7,%eax
439991:	e8 36 04 00 00       	call   0x439dcc
439996:	8b f0                	mov    %eax,%esi
439998:	89 75 ec             	mov    %esi,-0x14(%ebp)
43999b:	6a 04                	push   $0x4
43999d:	56                   	push   %esi
43999e:	e8 1d d4 fc ff       	call   0x406dc0
4399a3:	8b 15 14 b3 49 00    	mov    0x49b314,%edx
4399a9:	8b 12                	mov    (%edx),%edx
4399ab:	3b 42 30             	cmp    0x30(%edx),%eax
4399ae:	74 27                	je     0x4399d7
4399b0:	8b 45 ec             	mov    -0x14(%ebp),%eax
4399b3:	e8 dc f4 ff ff       	call   0x438e94
4399b8:	8b f0                	mov    %eax,%esi
4399ba:	85 f6                	test   %esi,%esi
4399bc:	0f 84 48 01 00 00    	je     0x439b0a
4399c2:	eb 02                	jmp    0x4399c6
4399c4:	8b f0                	mov    %eax,%esi
4399c6:	8b 46 30             	mov    0x30(%esi),%eax
4399c9:	85 c0                	test   %eax,%eax
4399cb:	75 f7                	jne    0x4399c4
4399cd:	8b c6                	mov    %esi,%eax
4399cf:	e8 94 8d 00 00       	call   0x442768
4399d4:	89 45 ec             	mov    %eax,-0x14(%ebp)
4399d7:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
4399db:	0f 84 29 01 00 00    	je     0x439b0a
4399e1:	8b f3                	mov    %ebx,%esi
4399e3:	eb 02                	jmp    0x4399e7
4399e5:	8b f0                	mov    %eax,%esi
4399e7:	8b 46 30             	mov    0x30(%esi),%eax
4399ea:	85 c0                	test   %eax,%eax
4399ec:	75 f7                	jne    0x4399e5
4399ee:	8b c6                	mov    %esi,%eax
4399f0:	e8 73 8d 00 00       	call   0x442768
4399f5:	8b f8                	mov    %eax,%edi
4399f7:	89 7d e8             	mov    %edi,-0x18(%ebp)
4399fa:	3b 7d ec             	cmp    -0x14(%ebp),%edi
4399fd:	0f 84 07 01 00 00    	je     0x439b0a
439a03:	8b 45 08             	mov    0x8(%ebp),%eax
439a06:	8b 40 f0             	mov    -0x10(%eax),%eax
439a09:	8b 40 30             	mov    0x30(%eax),%eax
439a0c:	85 c0                	test   %eax,%eax
439a0e:	74 1c                	je     0x439a2c
439a10:	8b 55 08             	mov    0x8(%ebp),%edx
439a13:	8b f0                	mov    %eax,%esi
439a15:	eb 02                	jmp    0x439a19
439a17:	8b f0                	mov    %eax,%esi
439a19:	8b 46 30             	mov    0x30(%esi),%eax
439a1c:	85 c0                	test   %eax,%eax
439a1e:	75 f7                	jne    0x439a17
439a20:	8b c6                	mov    %esi,%eax
439a22:	e8 41 8d 00 00       	call   0x442768
439a27:	89 45 e4             	mov    %eax,-0x1c(%ebp)
439a2a:	eb 2a                	jmp    0x439a56
439a2c:	8b 45 08             	mov    0x8(%ebp),%eax
439a2f:	8b 40 f0             	mov    -0x10(%eax),%eax
439a32:	8b 15 b0 80 43 00    	mov    0x4380b0,%edx
439a38:	e8 3b 9b fc ff       	call   0x403578
439a3d:	84 c0                	test   %al,%al
439a3f:	74 10                	je     0x439a51
439a41:	8b 45 08             	mov    0x8(%ebp),%eax
439a44:	8b 40 f0             	mov    -0x10(%eax),%eax
439a47:	e8 1c 8d 00 00       	call   0x442768
439a4c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
439a4f:	eb 05                	jmp    0x439a56
439a51:	33 c0                	xor    %eax,%eax
439a53:	89 45 e4             	mov    %eax,-0x1c(%ebp)
439a56:	c6 45 f8 00          	movb   $0x0,-0x8(%ebp)
439a5a:	8b 45 08             	mov    0x8(%ebp),%eax
439a5d:	8b 50 f7             	mov    -0x9(%eax),%edx
439a60:	89 55 f0             	mov    %edx,-0x10(%ebp)
439a63:	8b 50 fb             	mov    -0x5(%eax),%edx
439a66:	89 55 f4             	mov    %edx,-0xc(%ebp)
439a69:	8d 45 e4             	lea    -0x1c(%ebp),%eax
439a6c:	50                   	push   %eax
439a6d:	68 10 99 43 00       	push   $0x439910
439a72:	e8 41 cd fc ff       	call   0x4067b8
439a77:	50                   	push   %eax
439a78:	e8 e3 d1 fc ff       	call   0x406c60
439a7d:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
439a81:	0f 84 83 00 00 00    	je     0x439b0a
439a87:	8d 45 d4             	lea    -0x2c(%ebp),%eax
439a8a:	50                   	push   %eax
439a8b:	8b 45 ec             	mov    -0x14(%ebp),%eax
439a8e:	50                   	push   %eax
439a8f:	e8 4c d3 fc ff       	call   0x406de0
439a94:	8b 45 08             	mov    0x8(%ebp),%eax
439a97:	83 c0 f7             	add    $0xfffffff7,%eax
439a9a:	50                   	push   %eax
439a9b:	8b 45 08             	mov    0x8(%ebp),%eax
439a9e:	48                   	dec    %eax
439a9f:	50                   	push   %eax
439aa0:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
439aa3:	8b 45 08             	mov    0x8(%ebp),%eax
439aa6:	8b 50 f0             	mov    -0x10(%eax),%edx
439aa9:	8b c3                	mov    %ebx,%eax
439aab:	66 be bd ff          	mov    $0xffbd,%si
439aaf:	e8 34 9b fc ff       	call   0x4035e8
439ab4:	a1 34 cb 49 00       	mov    0x49cb34,%eax
439ab9:	8b 15 48 6e 43 00    	mov    0x436e48,%edx
439abf:	e8 b4 9a fc ff       	call   0x403578
439ac4:	84 c0                	test   %al,%al
439ac6:	74 29                	je     0x439af1
439ac8:	a1 34 cb 49 00       	mov    0x49cb34,%eax
439acd:	8b 40 38             	mov    0x38(%eax),%eax
439ad0:	83 b8 a0 00 00 00 00 	cmpl   $0x0,0xa0(%eax)
439ad7:	74 18                	je     0x439af1
439ad9:	a1 34 cb 49 00       	mov    0x49cb34,%eax
439ade:	8b 40 38             	mov    0x38(%eax),%eax
439ae1:	8b 80 a0 00 00 00    	mov    0xa0(%eax),%eax
439ae7:	e8 7c 8c 00 00       	call   0x442768
439aec:	3b 45 ec             	cmp    -0x14(%ebp),%eax
439aef:	74 19                	je     0x439b0a
439af1:	8d 45 c4             	lea    -0x3c(%ebp),%eax
439af4:	50                   	push   %eax
439af5:	8d 45 d4             	lea    -0x2c(%ebp),%eax
439af8:	50                   	push   %eax
439af9:	8d 45 d4             	lea    -0x2c(%ebp),%eax
439afc:	50                   	push   %eax
439afd:	e8 16 d3 fc ff       	call   0x406e18
439b02:	85 c0                	test   %eax,%eax
439b04:	74 04                	je     0x439b0a
439b06:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
439b0a:	8a 45 ff             	mov    -0x1(%ebp),%al
439b0d:	5f                   	pop    %edi
439b0e:	5e                   	pop    %esi
439b0f:	5b                   	pop    %ebx
439b10:	8b e5                	mov    %ebp,%esp
439b12:	5d                   	pop    %ebp
439b13:	c3                   	ret
439b14:	55                   	push   %ebp
439b15:	8b ec                	mov    %esp,%ebp
439b17:	8b 45 08             	mov    0x8(%ebp),%eax
439b1a:	8b 40 f0             	mov    -0x10(%eax),%eax
439b1d:	8b 15 b0 80 43 00    	mov    0x4380b0,%edx
439b23:	e8 50 9a fc ff       	call   0x403578
439b28:	84 c0                	test   %al,%al
439b2a:	74 25                	je     0x439b51
439b2c:	8b 45 08             	mov    0x8(%ebp),%eax
439b2f:	8b 40 ec             	mov    -0x14(%eax),%eax
439b32:	e8 31 8c 00 00       	call   0x442768
439b37:	50                   	push   %eax
439b38:	8b 45 08             	mov    0x8(%ebp),%eax
439b3b:	8b 40 f0             	mov    -0x10(%eax),%eax
439b3e:	e8 25 8c 00 00       	call   0x442768
439b43:	50                   	push   %eax
439b44:	e8 df d2 fc ff       	call   0x406e28
439b49:	83 f8 01             	cmp    $0x1,%eax
439b4c:	1b c0                	sbb    %eax,%eax
439b4e:	40                   	inc    %eax
439b4f:	5d                   	pop    %ebp
439b50:	c3                   	ret
439b51:	33 c0                	xor    %eax,%eax
439b53:	5d                   	pop    %ebp
439b54:	c3                   	ret
439b55:	8d 40 00             	lea    0x0(%eax),%eax
439b58:	55                   	push   %ebp
439b59:	8b ec                	mov    %esp,%ebp
439b5b:	83 c4 d8             	add    $0xffffffd8,%esp
439b5e:	53                   	push   %ebx
439b5f:	56                   	push   %esi
439b60:	57                   	push   %edi
439b61:	8b f0                	mov    %eax,%esi
439b63:	8d 7d f7             	lea    -0x9(%ebp),%edi
439b66:	a5                   	movsl  %ds:(%esi),%es:(%edi)
439b67:	a5                   	movsl  %ds:(%esi),%es:(%edi)
439b68:	89 55 f0             	mov    %edx,-0x10(%ebp)
439b6b:	33 c0                	xor    %eax,%eax
439b6d:	89 45 e8             	mov    %eax,-0x18(%ebp)
439b70:	83 3d 58 cb 49 00 00 	cmpl   $0x0,0x49cb58
439b77:	0f 84 2a 01 00 00    	je     0x439ca7
439b7d:	6a 11                	push   $0x11
439b7f:	e8 84 d1 fc ff       	call   0x406d08
439b84:	66 a9 00 80          	test   $0x8000,%ax
439b88:	0f 95 c0             	setne  %al