46489e:	74 5d                	je     0x4648fd
4648a0:	8b b7 88 00 00 00    	mov    0x88(%edi),%esi
4648a6:	3b f3                	cmp    %ebx,%esi
4648a8:	74 53                	je     0x4648fd
4648aa:	39 9e 90 00 00 00    	cmp    %ebx,0x90(%esi)
4648b0:	74 4b                	je     0x4648fd
4648b2:	8b ce                	mov    %esi,%ecx
4648b4:	e8 ce 77 ff ff       	call   0x45c087
4648b9:	83 f8 01             	cmp    $0x1,%eax
4648bc:	75 3f                	jne    0x4648fd
4648be:	8b 46 7c             	mov    0x7c(%esi),%eax
4648c1:	23 45 14             	and    0x14(%ebp),%eax
4648c4:	f6 c4 f0             	test   $0xf0,%ah
4648c7:	74 34                	je     0x4648fd
4648c9:	ff 76 1c             	push   0x1c(%esi)
4648cc:	ff 15 d8 07 4b 00    	call   *0x4b07d8
4648d2:	50                   	push   %eax
4648d3:	e8 ca 03 fe ff       	call   0x444ca2
4648d8:	6a 15                	push   $0x15
4648da:	53                   	push   %ebx
4648db:	53                   	push   %ebx
4648dc:	ff 75 10             	push   0x10(%ebp)
4648df:	8b f0                	mov    %eax,%esi
4648e1:	ff 75 0c             	push   0xc(%ebp)
4648e4:	8b ce                	mov    %esi,%ecx
4648e6:	53                   	push   %ebx
4648e7:	e8 7d c6 fd ff       	call   0x440f69
4648ec:	8b 06                	mov    (%esi),%eax
4648ee:	6a 01                	push   $0x1
4648f0:	8b ce                	mov    %esi,%ecx
4648f2:	ff 90 44 01 00 00    	call   *0x144(%eax)
4648f8:	e9 86 00 00 00       	jmp    0x464983
4648fd:	f6 47 7c 04          	testb  $0x4,0x7c(%edi)
464901:	74 1a                	je     0x46491d
464903:	83 4d 14 04          	orl    $0x4,0x14(%ebp)
464907:	f6 45 15 50          	testb  $0x50,0x15(%ebp)
46490b:	74 10                	je     0x46491d
46490d:	8b 45 14             	mov    0x14(%ebp),%eax
464910:	25 ff 2f ff ff       	and    $0xffff2fff,%eax
464915:	0d 00 20 00 00       	or     $0x2000,%eax
46491a:	89 45 14             	mov    %eax,0x14(%ebp)
46491d:	ff 75 14             	push   0x14(%ebp)
464920:	8b 4d fc             	mov    -0x4(%ebp),%ecx
464923:	e8 91 fd ff ff       	call   0x4646b9
464928:	6a 15                	push   $0x15
46492a:	53                   	push   %ebx
46492b:	53                   	push   %ebx
46492c:	ff 75 10             	push   0x10(%ebp)
46492f:	8b f0                	mov    %eax,%esi
464931:	ff 75 0c             	push   0xc(%ebp)
464934:	8b ce                	mov    %esi,%ecx
464936:	53                   	push   %ebx
464937:	e8 2d c6 fd ff       	call   0x440f69
46493c:	39 5e 34             	cmp    %ebx,0x34(%esi)
46493f:	75 06                	jne    0x464947
464941:	8b 47 1c             	mov    0x1c(%edi),%eax
464944:	89 46 34             	mov    %eax,0x34(%esi)
464947:	68 1f e8 00 00       	push   $0xe81f
46494c:	8b ce                	mov    %esi,%ecx
46494e:	e8 89 c1 fd ff       	call   0x440adc
464953:	53                   	push   %ebx
464954:	57                   	push   %edi
464955:	8b c8                	mov    %eax,%ecx
464957:	e8 69 7e ff ff       	call   0x45c7c5
46495c:	8b 06                	mov    (%esi),%eax
46495e:	6a 01                	push   $0x1
464960:	8b ce                	mov    %esi,%ecx
464962:	ff 90 44 01 00 00    	call   *0x144(%eax)
464968:	6a f0                	push   $0xfffffff0
46496a:	ff 77 1c             	push   0x1c(%edi)
46496d:	ff 15 14 08 4b 00    	call   *0x4b0814
464973:	a9 00 00 00 10       	test   $0x10000000,%eax
464978:	74 12                	je     0x46498c
46497a:	6a 08                	push   $0x8
46497c:	8b ce                	mov    %esi,%ecx
46497e:	e8 e8 c3 fd ff       	call   0x440d6b
464983:	ff 76 1c             	push   0x1c(%esi)
464986:	ff 15 48 08 4b 00    	call   *0x4b0848
46498c:	5f                   	pop    %edi
46498d:	5e                   	pop    %esi
46498e:	5b                   	pop    %ebx
46498f:	c9                   	leave
464990:	c2 10 00             	ret    $0x10
464993:	55                   	push   %ebp
464994:	8b ec                	mov    %esp,%ebp
464996:	83 ec 10             	sub    $0x10,%esp
464999:	81 65 18 40 f0 00 00 	andl   $0xf040,0x18(%ebp)
4649a0:	53                   	push   %ebx
4649a1:	56                   	push   %esi
4649a2:	57                   	push   %edi
4649a3:	8b 7d 1c             	mov    0x1c(%ebp),%edi
4649a6:	85 ff                	test   %edi,%edi
4649a8:	74 03                	je     0x4649ad
4649aa:	83 27 00             	andl   $0x0,(%edi)
4649ad:	8b 81 84 00 00 00    	mov    0x84(%ecx),%eax
4649b3:	85 c0                	test   %eax,%eax
4649b5:	89 45 1c             	mov    %eax,0x1c(%ebp)
4649b8:	0f 84 82 00 00 00    	je     0x464a40
4649be:	8d 99 80 00 00 00    	lea    0x80(%ecx),%ebx
4649c4:	8d 45 1c             	lea    0x1c(%ebp),%eax
4649c7:	50                   	push   %eax
4649c8:	8b cb                	mov    %ebx,%ecx
4649ca:	e8 93 2a fa ff       	call   0x407462
4649cf:	8b 30                	mov    (%eax),%esi
4649d1:	8b 06                	mov    (%esi),%eax
4649d3:	8b ce                	mov    %esi,%ecx
4649d5:	ff 90 58 01 00 00    	call   *0x158(%eax)
4649db:	85 c0                	test   %eax,%eax
4649dd:	74 5b                	je     0x464a3a
4649df:	ff 76 1c             	push   0x1c(%esi)
4649e2:	ff 15 a0 07 4b 00    	call   *0x4b07a0
4649e8:	85 c0                	test   %eax,%eax
4649ea:	74 4e                	je     0x464a3a
4649ec:	8b 46 7c             	mov    0x7c(%esi),%eax
4649ef:	23 45 18             	and    0x18(%ebp),%eax
4649f2:	f6 c4 f0             	test   $0xf0,%ah
4649f5:	74 43                	je     0x464a3a
4649f7:	83 be 90 00 00 00 00 	cmpl   $0x0,0x90(%esi)
4649fe:	74 04                	je     0x464a04
464a00:	a8 40                	test   $0x40,%al
464a02:	74 36                	je     0x464a3a
464a04:	8d 45 f0             	lea    -0x10(%ebp),%eax
464a07:	50                   	push   %eax
464a08:	ff 76 1c             	push   0x1c(%esi)
464a0b:	ff 15 40 07 4b 00    	call   *0x4b0740
464a11:	8b 45 f8             	mov    -0x8(%ebp),%eax
464a14:	2b 45 f0             	sub    -0x10(%ebp),%eax
464a17:	75 03                	jne    0x464a1c
464a19:	ff 45 f8             	incl   -0x8(%ebp)
464a1c:	8b 45 fc             	mov    -0x4(%ebp),%eax
464a1f:	2b 45 f4             	sub    -0xc(%ebp),%eax
464a22:	75 03                	jne    0x464a27
464a24:	ff 45 fc             	incl   -0x4(%ebp)
464a27:	8d 45 08             	lea    0x8(%ebp),%eax
464a2a:	50                   	push   %eax
464a2b:	8d 45 f0             	lea    -0x10(%ebp),%eax
464a2e:	50                   	push   %eax
464a2f:	50                   	push   %eax
464a30:	ff 15 34 07 4b 00    	call   *0x4b0734
464a36:	85 c0                	test   %eax,%eax
464a38:	75 0f                	jne    0x464a49
464a3a:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
464a3e:	75 84                	jne    0x4649c4
464a40:	33 c0                	xor    %eax,%eax
464a42:	5f                   	pop    %edi
464a43:	5e                   	pop    %esi
464a44:	5b                   	pop    %ebx
464a45:	c9                   	leave
464a46:	c2 18 00             	ret    $0x18
464a49:	85 ff                	test   %edi,%edi
464a4b:	74 02                	je     0x464a4f
464a4d:	89 37                	mov    %esi,(%edi)
464a4f:	8b 46 7c             	mov    0x7c(%esi),%eax
464a52:	23 45 18             	and    0x18(%ebp),%eax
464a55:	eb eb                	jmp    0x464a42
464a57:	b8 dc 14 49 00       	mov    $0x4914dc,%eax
464a5c:	c3                   	ret
464a5d:	56                   	push   %esi
464a5e:	8b 74 24 08          	mov    0x8(%esp),%esi
464a62:	8b 46 20             	mov    0x20(%esi),%eax
464a65:	f6 c4 06             	test   $0x6,%ah
464a68:	74 08                	je     0x464a72
464a6a:	0d 00 00 04 00       	or     $0x40000,%eax
464a6f:	89 46 20             	mov    %eax,0x20(%esi)
464a72:	f6 46 22 c0          	testb  $0xc0,0x22(%esi)
464a76:	74 04                	je     0x464a7c
464a78:	80 4e 2c 80          	orb    $0x80,0x2c(%esi)
464a7c:	56                   	push   %esi
464a7d:	e8 1b bc ff ff       	call   0x46069d
464a82:	80 66 2d fd          	andb   $0xfd,0x2d(%esi)
464a86:	33 c0                	xor    %eax,%eax
464a88:	40                   	inc    %eax
464a89:	5e                   	pop    %esi
464a8a:	c2 04 00             	ret    $0x4
464a8d:	56                   	push   %esi
464a8e:	8b f1                	mov    %ecx,%esi
464a90:	e8 b1 c1 fd ff       	call   0x440c46
464a95:	f6 c4 01             	test   $0x1,%ah
464a98:	75 0f                	jne    0x464aa9
464a9a:	8b ce                	mov    %esi,%ecx
464a9c:	e8 5e 01 fe ff       	call   0x444bff
464aa1:	f7 d8                	neg    %eax
464aa3:	1b c0                	sbb    %eax,%eax
464aa5:	f7 d8                	neg    %eax
464aa7:	eb 0b                	jmp    0x464ab4
464aa9:	8b 46 38             	mov    0x38(%esi),%eax
464aac:	c1 e8 09             	shr    $0x9,%eax
464aaf:	f7 d0                	not    %eax
464ab1:	83 e0 01             	and    $0x1,%eax
464ab4:	5e                   	pop    %esi
464ab5:	c2 04 00             	ret    $0x4
464ab8:	55                   	push   %ebp
464ab9:	8b ec                	mov    %esp,%ebp
464abb:	53                   	push   %ebx
464abc:	56                   	push   %esi
464abd:	57                   	push   %edi
464abe:	8b f1                	mov    %ecx,%esi
464ac0:	e8 81 c1 fd ff       	call   0x440c46
464ac5:	8b d8                	mov    %eax,%ebx
464ac7:	85 db                	test   %ebx,%ebx
464ac9:	79 3d                	jns    0x464b08
464acb:	8b 45 08             	mov    0x8(%ebp),%eax
464ace:	25 f0 ff 00 00       	and    $0xfff0,%eax
464ad3:	3d 60 f0 00 00       	cmp    $0xf060,%eax
464ad8:	75 1d                	jne    0x464af7
464ada:	8b 3d a4 07 4b 00    	mov    0x4b07a4,%edi
464ae0:	6a 73                	push   $0x73
464ae2:	ff d7                	call   *%edi
464ae4:	66 85 c0             	test   %ax,%ax
464ae7:	7d 1f                	jge    0x464b08
464ae9:	6a 12                	push   $0x12
464aeb:	ff d7                	call   *%edi
464aed:	66 85 c0             	test   %ax,%ax
464af0:	7d 16                	jge    0x464b08
464af2:	f6 c7 01             	test   $0x1,%bh
464af5:	74 11                	je     0x464b08
464af7:	ff 75 0c             	push   0xc(%ebp)
464afa:	8b ce                	mov    %esi,%ecx
464afc:	ff 75 08             	push   0x8(%ebp)
464aff:	e8 9a 14 fe ff       	call   0x445f9e
464b04:	85 c0                	test   %eax,%eax
464b06:	75 0d                	jne    0x464b15
464b08:	ff 75 0c             	push   0xc(%ebp)
464b0b:	8b ce                	mov    %esi,%ecx
464b0d:	ff 75 08             	push   0x8(%ebp)
464b10:	e8 65 c5 ff ff       	call   0x46107a
464b15:	5f                   	pop    %edi
464b16:	5e                   	pop    %esi
464b17:	5b                   	pop    %ebx
464b18:	5d                   	pop    %ebp
464b19:	c2 08 00             	ret    $0x8
464b1c:	68 88 01 00 00       	push   $0x188
464b21:	6a 00                	push   $0x0
464b23:	ff 74 24 10          	push   0x10(%esp)
464b27:	ff 74 24 10          	push   0x10(%esp)
464b2b:	ff 15 08 07 4b 00    	call   *0x4b0708
464b31:	c2 0c 00             	ret    $0xc
464b34:	56                   	push   %esi
464b35:	ff 71 1c             	push   0x1c(%ecx)
464b38:	ff 15 d8 07 4b 00    	call   *0x4b07d8
464b3e:	6a 00                	push   $0x0
464b40:	6a 00                	push   $0x0
464b42:	8b f0                	mov    %eax,%esi
464b44:	68 6b 03 00 00       	push   $0x36b
464b49:	56                   	push   %esi
464b4a:	ff 15 98 08 4b 00    	call   *0x4b0898
464b50:	85 c0                	test   %eax,%eax
464b52:	75 02                	jne    0x464b56
464b54:	8b c6                	mov    %esi,%eax
464b56:	5e                   	pop    %esi
464b57:	c2 08 00             	ret    $0x8
464b5a:	55                   	push   %ebp
464b5b:	8b e9                	mov    %ecx,%ebp
464b5d:	e8 9d 00 fe ff       	call   0x444bff
464b62:	85 c0                	test   %eax,%eax
464b64:	74 7d                	je     0x464be3
464b66:	8b cd                	mov    %ebp,%ecx
464b68:	e8 d9 c0 fd ff       	call   0x440c46
464b6d:	f6 c4 01             	test   $0x1,%ah
464b70:	74 6e                	je     0x464be0
464b72:	53                   	push   %ebx
464b73:	56                   	push   %esi
464b74:	57                   	push   %edi
464b75:	8b cd                	mov    %ebp,%ecx
464b77:	e8 91 13 fe ff       	call   0x445f0d
464b7c:	8b f8                	mov    %eax,%edi
464b7e:	ff 15 b8 06 4b 00    	call   *0x4b06b8
464b84:	50                   	push   %eax
464b85:	e8 18 01 fe ff       	call   0x444ca2
464b8a:	8b 1d 98 08 4b 00    	mov    0x4b0898,%ebx
464b90:	8b f0                	mov    %eax,%esi
464b92:	3b fe                	cmp    %esi,%edi
464b94:	74 29                	je     0x464bbf
464b96:	ff 77 1c             	push   0x1c(%edi)
464b99:	ff 15 b8 07 4b 00    	call   *0x4b07b8
464b9f:	50                   	push   %eax
464ba0:	e8 fd 00 fe ff       	call   0x444ca2
464ba5:	3b c6                	cmp    %esi,%eax
464ba7:	75 12                	jne    0x464bbb
464ba9:	6a 00                	push   $0x0
464bab:	6a 40                	push   $0x40
464bad:	68 6d 03 00 00       	push   $0x36d
464bb2:	ff 76 1c             	push   0x1c(%esi)
464bb5:	ff d3                	call   *%ebx
464bb7:	85 c0                	test   %eax,%eax
464bb9:	75 04                	jne    0x464bbf
464bbb:	33 c0                	xor    %eax,%eax
464bbd:	eb 03                	jmp    0x464bc2
464bbf:	33 c0                	xor    %eax,%eax
464bc1:	40                   	inc    %eax
464bc2:	33 c9                	xor    %ecx,%ecx
464bc4:	85 c0                	test   %eax,%eax
464bc6:	0f 94 c1             	sete   %cl
464bc9:	6a 00                	push   $0x0
464bcb:	8d 0c 8d 04 00 00 00 	lea    0x4(,%ecx,4),%ecx
464bd2:	51                   	push   %ecx
464bd3:	68 6d 03 00 00       	push   $0x36d
464bd8:	ff 75 1c             	push   0x1c(%ebp)
464bdb:	ff d3                	call   *%ebx
464bdd:	5f                   	pop    %edi
464bde:	5e                   	pop    %esi
464bdf:	5b                   	pop    %ebx
464be0:	33 c0                	xor    %eax,%eax
464be2:	40                   	inc    %eax
464be3:	5d                   	pop    %ebp
464be4:	c2 04 00             	ret    $0x4
464be7:	55                   	push   %ebp
464be8:	8b ec                	mov    %esp,%ebp
464bea:	83 ec 20             	sub    $0x20,%esp
464bed:	56                   	push   %esi
464bee:	8b f1                	mov    %ecx,%esi
464bf0:	e8 0a 00 fe ff       	call   0x444bff
464bf5:	8d 45 f0             	lea    -0x10(%ebp),%eax
464bf8:	50                   	push   %eax
464bf9:	ff 76 1c             	push   0x1c(%esi)
464bfc:	ff 15 40 07 4b 00    	call   *0x4b0740
464c02:	8d 45 e0             	lea    -0x20(%ebp),%eax
464c05:	50                   	push   %eax
464c06:	ff 76 1c             	push   0x1c(%esi)
464c09:	ff 15 8c 08 4b 00    	call   *0x4b088c
464c0f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
464c12:	2b 4d e8             	sub    -0x18(%ebp),%ecx
464c15:	8b 45 08             	mov    0x8(%ebp),%eax
464c18:	2b 4d f0             	sub    -0x10(%ebp),%ecx
464c1b:	5e                   	pop    %esi
464c1c:	89 48 18             	mov    %ecx,0x18(%eax)
464c1f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
464c22:	2b 4d f4             	sub    -0xc(%ebp),%ecx
464c25:	2b 4d ec             	sub    -0x14(%ebp),%ecx
464c28:	89 48 1c             	mov    %ecx,0x1c(%eax)
464c2b:	c9                   	leave
464c2c:	c2 04 00             	ret    $0x4
464c2f:	55                   	push   %ebp
464c30:	8b ec                	mov    %esp,%ebp
464c32:	83 ec 14             	sub    $0x14,%esp
464c35:	53                   	push   %ebx
464c36:	56                   	push   %esi
464c37:	57                   	push   %edi
464c38:	8b f9                	mov    %ecx,%edi
464c3a:	e8 07 c0 fd ff       	call   0x440c46
464c3f:	89 45 fc             	mov    %eax,-0x4(%ebp)
464c42:	8d 45 ec             	lea    -0x14(%ebp),%eax
464c45:	50                   	push   %eax
464c46:	ff 77 1c             	push   0x1c(%edi)
464c49:	ff 15 40 07 4b 00    	call   *0x4b0740
464c4f:	8b 35 80 08 4b 00    	mov    0x4b0880,%esi
464c55:	6a 21                	push   $0x21
464c57:	ff d6                	call   *%esi
464c59:	6a 20                	push   $0x20
464c5b:	8b d8                	mov    %eax,%ebx