43596b:	c3                   	ret
43596c:	85 db                	test   %ebx,%ebx
43596e:	74 06                	je     0x435976
435970:	85 ff                	test   %edi,%edi
435972:	74 5f                	je     0x4359d3
435974:	88 03                	mov    %al,(%ebx)
435976:	8b 45 08             	mov    0x8(%ebp),%eax
435979:	85 c0                	test   %eax,%eax
43597b:	74 db                	je     0x435958
43597d:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
435983:	eb d3                	jmp    0x435958
435985:	8d 4d 0c             	lea    0xc(%ebp),%ecx
435988:	51                   	push   %ecx
435989:	56                   	push   %esi
43598a:	57                   	push   %edi
43598b:	53                   	push   %ebx
43598c:	6a 01                	push   $0x1
43598e:	8d 4d 14             	lea    0x14(%ebp),%ecx
435991:	51                   	push   %ecx
435992:	56                   	push   %esi
435993:	89 75 0c             	mov    %esi,0xc(%ebp)
435996:	ff 70 04             	push   0x4(%eax)
435999:	ff 15 9c d1 48 00    	call   *0x48d19c
43599f:	8b c8                	mov    %eax,%ecx
4359a1:	85 c9                	test   %ecx,%ecx
4359a3:	74 10                	je     0x4359b5
4359a5:	39 75 0c             	cmp    %esi,0xc(%ebp)
4359a8:	75 9c                	jne    0x435946
4359aa:	8b 45 08             	mov    0x8(%ebp),%eax
4359ad:	85 c0                	test   %eax,%eax
4359af:	74 a7                	je     0x435958
4359b1:	89 08                	mov    %ecx,(%eax)
4359b3:	eb a3                	jmp    0x435958
4359b5:	ff 15 10 d3 48 00    	call   *0x48d310
4359bb:	83 f8 7a             	cmp    $0x7a,%eax
4359be:	75 86                	jne    0x435946
4359c0:	85 db                	test   %ebx,%ebx
4359c2:	74 0f                	je     0x4359d3
4359c4:	85 ff                	test   %edi,%edi
4359c6:	74 0b                	je     0x4359d3
4359c8:	57                   	push   %edi
4359c9:	56                   	push   %esi
4359ca:	53                   	push   %ebx
4359cb:	e8 80 b3 fe ff       	call   0x420d50
4359d0:	83 c4 0c             	add    $0xc,%esp
4359d3:	e8 36 22 ff ff       	call   0x427c0e
4359d8:	6a 22                	push   $0x22
4359da:	5e                   	pop    %esi
4359db:	89 30                	mov    %esi,(%eax)
4359dd:	e8 2e 14 ff ff       	call   0x426e10
4359e2:	e9 71 ff ff ff       	jmp    0x435958
4359e7:	55                   	push   %ebp
4359e8:	8b ec                	mov    %esp,%ebp
4359ea:	6a 00                	push   $0x0
4359ec:	ff 75 14             	push   0x14(%ebp)
4359ef:	ff 75 10             	push   0x10(%ebp)
4359f2:	ff 75 0c             	push   0xc(%ebp)
4359f5:	ff 75 08             	push   0x8(%ebp)
4359f8:	e8 c8 fe ff ff       	call   0x4358c5
4359fd:	83 c4 14             	add    $0x14,%esp
435a00:	5d                   	pop    %ebp
435a01:	c3                   	ret
435a02:	33 c0                	xor    %eax,%eax
435a04:	c3                   	ret
435a05:	53                   	push   %ebx
435a06:	8b dc                	mov    %esp,%ebx
435a08:	51                   	push   %ecx
435a09:	51                   	push   %ecx
435a0a:	83 e4 f0             	and    $0xfffffff0,%esp
435a0d:	83 c4 04             	add    $0x4,%esp
435a10:	55                   	push   %ebp
435a11:	8b 6b 04             	mov    0x4(%ebx),%ebp
435a14:	89 6c 24 04          	mov    %ebp,0x4(%esp)
435a18:	8b ec                	mov    %esp,%ebp
435a1a:	81 ec 88 00 00 00    	sub    $0x88,%esp
435a20:	a1 c0 ad 4b 00       	mov    0x4badc0,%eax
435a25:	33 c5                	xor    %ebp,%eax
435a27:	89 45 fc             	mov    %eax,-0x4(%ebp)
435a2a:	8b 43 10             	mov    0x10(%ebx),%eax
435a2d:	56                   	push   %esi
435a2e:	8b 73 0c             	mov    0xc(%ebx),%esi
435a31:	0f b7 08             	movzwl (%eax),%ecx
435a34:	8b 06                	mov    (%esi),%eax
435a36:	57                   	push   %edi
435a37:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
435a3d:	48                   	dec    %eax
435a3e:	74 2b                	je     0x435a6b
435a40:	48                   	dec    %eax
435a41:	74 24                	je     0x435a67
435a43:	48                   	dec    %eax
435a44:	74 1d                	je     0x435a63
435a46:	48                   	dec    %eax
435a47:	74 16                	je     0x435a5f
435a49:	48                   	dec    %eax
435a4a:	74 1f                	je     0x435a6b
435a4c:	48                   	dec    %eax
435a4d:	48                   	dec    %eax
435a4e:	74 07                	je     0x435a57
435a50:	48                   	dec    %eax
435a51:	75 7a                	jne    0x435acd
435a53:	6a 10                	push   $0x10
435a55:	eb 16                	jmp    0x435a6d
435a57:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
435a5d:	eb 6e                	jmp    0x435acd
435a5f:	6a 12                	push   $0x12
435a61:	eb 0a                	jmp    0x435a6d
435a63:	6a 11                	push   $0x11
435a65:	eb 06                	jmp    0x435a6d
435a67:	6a 04                	push   $0x4
435a69:	eb 02                	jmp    0x435a6d
435a6b:	6a 08                	push   $0x8
435a6d:	5f                   	pop    %edi
435a6e:	51                   	push   %ecx
435a6f:	8d 46 18             	lea    0x18(%esi),%eax
435a72:	50                   	push   %eax
435a73:	57                   	push   %edi
435a74:	e8 fb 6f ff ff       	call   0x42ca74
435a79:	83 c4 0c             	add    $0xc,%esp
435a7c:	85 c0                	test   %eax,%eax
435a7e:	75 47                	jne    0x435ac7
435a80:	8b 4b 08             	mov    0x8(%ebx),%ecx
435a83:	83 f9 10             	cmp    $0x10,%ecx
435a86:	74 10                	je     0x435a98
435a88:	83 f9 16             	cmp    $0x16,%ecx
435a8b:	74 0b                	je     0x435a98
435a8d:	83 f9 1d             	cmp    $0x1d,%ecx
435a90:	74 06                	je     0x435a98
435a92:	83 65 c0 fe          	andl   $0xfffffffe,-0x40(%ebp)
435a96:	eb 12                	jmp    0x435aaa
435a98:	8b 45 c0             	mov    -0x40(%ebp),%eax
435a9b:	dd 46 10             	fldl   0x10(%esi)
435a9e:	83 e0 e3             	and    $0xffffffe3,%eax
435aa1:	dd 5d b0             	fstpl  -0x50(%ebp)
435aa4:	83 c8 03             	or     $0x3,%eax
435aa7:	89 45 c0             	mov    %eax,-0x40(%ebp)
435aaa:	8d 46 18             	lea    0x18(%esi),%eax
435aad:	50                   	push   %eax
435aae:	8d 46 08             	lea    0x8(%esi),%eax
435ab1:	50                   	push   %eax
435ab2:	51                   	push   %ecx
435ab3:	57                   	push   %edi
435ab4:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
435aba:	50                   	push   %eax
435abb:	8d 45 80             	lea    -0x80(%ebp),%eax
435abe:	50                   	push   %eax
435abf:	e8 dc 71 ff ff       	call   0x42cca0
435ac4:	83 c4 18             	add    $0x18,%esp
435ac7:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
435acd:	68 ff ff 00 00       	push   $0xffff
435ad2:	51                   	push   %ecx
435ad3:	e8 1e 76 ff ff       	call   0x42d0f6
435ad8:	83 3e 08             	cmpl   $0x8,(%esi)
435adb:	59                   	pop    %ecx
435adc:	59                   	pop    %ecx
435add:	74 14                	je     0x435af3
435adf:	83 3d 6c b4 4b 00 00 	cmpl   $0x0,0x4bb46c
435ae6:	75 0b                	jne    0x435af3
435ae8:	56                   	push   %esi
435ae9:	e8 14 ff ff ff       	call   0x435a02
435aee:	59                   	pop    %ecx
435aef:	85 c0                	test   %eax,%eax
435af1:	75 08                	jne    0x435afb
435af3:	ff 36                	push   (%esi)
435af5:	e8 ac 74 ff ff       	call   0x42cfa6
435afa:	59                   	pop    %ecx
435afb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
435afe:	5f                   	pop    %edi
435aff:	33 cd                	xor    %ebp,%ecx
435b01:	5e                   	pop    %esi
435b02:	e8 05 4c ff ff       	call   0x42a70c
435b07:	8b e5                	mov    %ebp,%esp
435b09:	5d                   	pop    %ebp
435b0a:	8b e3                	mov    %ebx,%esp
435b0c:	5b                   	pop    %ebx
435b0d:	c3                   	ret
435b0e:	55                   	push   %ebp
435b0f:	8b ec                	mov    %esp,%ebp
435b11:	51                   	push   %ecx
435b12:	51                   	push   %ecx
435b13:	dd 45 08             	fldl   0x8(%ebp)
435b16:	d9 fc                	frndint
435b18:	dd 5d f8             	fstpl  -0x8(%ebp)
435b1b:	dd 45 f8             	fldl   -0x8(%ebp)
435b1e:	c9                   	leave
435b1f:	c3                   	ret
435b20:	55                   	push   %ebp
435b21:	8b ec                	mov    %esp,%ebp
435b23:	83 ec 1c             	sub    $0x1c,%esp
435b26:	56                   	push   %esi
435b27:	e8 e0 23 ff ff       	call   0x427f0c
435b2c:	85 c0                	test   %eax,%eax
435b2e:	74 22                	je     0x435b52
435b30:	68 2c bb 49 00       	push   $0x49bb2c
435b35:	68 80 e0 48 00       	push   $0x48e080
435b3a:	ff 15 a8 d1 48 00    	call   *0x48d1a8
435b40:	50                   	push   %eax
435b41:	ff 15 90 d1 48 00    	call   *0x48d190
435b47:	8b f0                	mov    %eax,%esi
435b49:	85 f6                	test   %esi,%esi
435b4b:	75 08                	jne    0x435b55
435b4d:	83 c8 ff             	or     $0xffffffff,%eax
435b50:	eb 5c                	jmp    0x435bae
435b52:	8b 75 fc             	mov    -0x4(%ebp),%esi
435b55:	e8 b2 23 ff ff       	call   0x427f0c
435b5a:	85 c0                	test   %eax,%eax
435b5c:	8b 45 1c             	mov    0x1c(%ebp),%eax
435b5f:	74 32                	je     0x435b93
435b61:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
435b65:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
435b69:	89 45 e8             	mov    %eax,-0x18(%ebp)
435b6c:	8b 45 20             	mov    0x20(%ebp),%eax
435b6f:	89 45 ec             	mov    %eax,-0x14(%ebp)
435b72:	8b 45 14             	mov    0x14(%ebp),%eax
435b75:	89 45 f4             	mov    %eax,-0xc(%ebp)
435b78:	8d 45 e4             	lea    -0x1c(%ebp),%eax
435b7b:	50                   	push   %eax
435b7c:	ff 75 18             	push   0x18(%ebp)
435b7f:	c7 45 e4 18 00 00 00 	movl   $0x18,-0x1c(%ebp)
435b86:	ff 75 10             	push   0x10(%ebp)
435b89:	ff 75 0c             	push   0xc(%ebp)
435b8c:	ff 75 08             	push   0x8(%ebp)
435b8f:	ff d6                	call   *%esi
435b91:	eb 1b                	jmp    0x435bae
435b93:	0b 45 20             	or     0x20(%ebp),%eax
435b96:	6a 00                	push   $0x0
435b98:	50                   	push   %eax
435b99:	ff 75 18             	push   0x18(%ebp)
435b9c:	ff 75 14             	push   0x14(%ebp)
435b9f:	ff 75 10             	push   0x10(%ebp)
435ba2:	ff 75 0c             	push   0xc(%ebp)
435ba5:	ff 75 08             	push   0x8(%ebp)
435ba8:	ff 15 c4 d1 48 00    	call   *0x48d1c4
435bae:	5e                   	pop    %esi
435baf:	c9                   	leave
435bb0:	c3                   	ret
435bb1:	6a 14                	push   $0x14
435bb3:	68 e8 6f 4b 00       	push   $0x4b6fe8
435bb8:	e8 03 0f ff ff       	call   0x426ac0
435bbd:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
435bc1:	33 c0                	xor    %eax,%eax
435bc3:	8b 75 18             	mov    0x18(%ebp),%esi
435bc6:	85 f6                	test   %esi,%esi
435bc8:	0f 95 c0             	setne  %al
435bcb:	85 c0                	test   %eax,%eax
435bcd:	75 13                	jne    0x435be2
435bcf:	e8 3a 20 ff ff       	call   0x427c0e
435bd4:	6a 16                	push   $0x16
435bd6:	5e                   	pop    %esi
435bd7:	89 30                	mov    %esi,(%eax)
435bd9:	e8 32 12 ff ff       	call   0x426e10
435bde:	8b c6                	mov    %esi,%eax
435be0:	eb 5e                	jmp    0x435c40
435be2:	83 0e ff             	orl    $0xffffffff,(%esi)
435be5:	33 c0                	xor    %eax,%eax
435be7:	39 45 08             	cmp    %eax,0x8(%ebp)
435bea:	0f 95 c0             	setne  %al
435bed:	85 c0                	test   %eax,%eax
435bef:	74 de                	je     0x435bcf
435bf1:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
435bf5:	74 0f                	je     0x435c06
435bf7:	8b 45 14             	mov    0x14(%ebp),%eax
435bfa:	25 7f fe ff ff       	and    $0xfffffe7f,%eax
435bff:	f7 d8                	neg    %eax
435c01:	1b c0                	sbb    %eax,%eax
435c03:	40                   	inc    %eax
435c04:	74 c9                	je     0x435bcf
435c06:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
435c0a:	ff 75 1c             	push   0x1c(%ebp)
435c0d:	ff 75 14             	push   0x14(%ebp)
435c10:	ff 75 10             	push   0x10(%ebp)
435c13:	ff 75 0c             	push   0xc(%ebp)
435c16:	ff 75 08             	push   0x8(%ebp)
435c19:	56                   	push   %esi
435c1a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
435c1d:	50                   	push   %eax
435c1e:	e8 55 00 00 00       	call   0x435c78
435c23:	83 c4 1c             	add    $0x1c,%esp
435c26:	8b f8                	mov    %eax,%edi
435c28:	89 7d e0             	mov    %edi,-0x20(%ebp)
435c2b:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
435c32:	e8 15 00 00 00       	call   0x435c4c
435c37:	85 ff                	test   %edi,%edi
435c39:	74 03                	je     0x435c3e
435c3b:	83 0e ff             	orl    $0xffffffff,(%esi)
435c3e:	8b c7                	mov    %edi,%eax
435c40:	e8 c0 0e ff ff       	call   0x426b05
435c45:	c3                   	ret
435c46:	8b 75 18             	mov    0x18(%ebp),%esi
435c49:	8b 7d e0             	mov    -0x20(%ebp),%edi
435c4c:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
435c50:	74 25                	je     0x435c77
435c52:	85 ff                	test   %edi,%edi
435c54:	74 19                	je     0x435c6f
435c56:	8b 0e                	mov    (%esi),%ecx
435c58:	8b c1                	mov    %ecx,%eax
435c5a:	c1 f8 05             	sar    $0x5,%eax
435c5d:	83 e1 1f             	and    $0x1f,%ecx
435c60:	c1 e1 06             	shl    $0x6,%ecx
435c63:	8b 04 85 40 09 4c 00 	mov    0x4c0940(,%eax,4),%eax
435c6a:	80 64 08 04 fe       	andb   $0xfe,0x4(%eax,%ecx,1)
435c6f:	ff 36                	push   (%esi)
435c71:	e8 17 50 ff ff       	call   0x42ac8d
435c76:	59                   	pop    %ecx
435c77:	c3                   	ret
435c78:	55                   	push   %ebp
435c79:	8b ec                	mov    %esp,%ebp
435c7b:	83 ec 38             	sub    $0x38,%esp
435c7e:	53                   	push   %ebx
435c7f:	33 db                	xor    %ebx,%ebx
435c81:	f6 45 14 80          	testb  $0x80,0x14(%ebp)
435c85:	57                   	push   %edi
435c86:	89 5d e0             	mov    %ebx,-0x20(%ebp)
435c89:	88 5d fe             	mov    %bl,-0x2(%ebp)
435c8c:	c7 45 c8 0c 00 00 00 	movl   $0xc,-0x38(%ebp)
435c93:	89 5d cc             	mov    %ebx,-0x34(%ebp)
435c96:	74 09                	je     0x435ca1
435c98:	89 5d d0             	mov    %ebx,-0x30(%ebp)
435c9b:	c6 45 ff 10          	movb   $0x10,-0x1(%ebp)
435c9f:	eb 0a                	jmp    0x435cab
435ca1:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
435ca8:	88 5d ff             	mov    %bl,-0x1(%ebp)
435cab:	8d 45 e0             	lea    -0x20(%ebp),%eax
435cae:	50                   	push   %eax
435caf:	e8 87 ca fe ff       	call   0x42273b
435cb4:	59                   	pop    %ecx
435cb5:	85 c0                	test   %eax,%eax
435cb7:	0f 85 01 07 00 00    	jne    0x4363be
435cbd:	8b 4d 14             	mov    0x14(%ebp),%ecx
435cc0:	b8 00 80 00 00       	mov    $0x8000,%eax
435cc5:	85 c8                	test   %ecx,%eax
435cc7:	75 11                	jne    0x435cda
435cc9:	f7 c1 00 40 07 00    	test   $0x74000,%ecx
435ccf:	75 05                	jne    0x435cd6
435cd1:	39 45 e0             	cmp    %eax,-0x20(%ebp)
435cd4:	74 04                	je     0x435cda
435cd6:	80 4d ff 80          	orb    $0x80,-0x1(%ebp)
435cda:	8b c1                	mov    %ecx,%eax
435cdc:	83 e0 03             	and    $0x3,%eax
435cdf:	ba 00 00 00 c0       	mov    $0xc0000000,%edx
435ce4:	2b c3                	sub    %ebx,%eax
435ce6:	74 48                	je     0x435d30
435ce8:	48                   	dec    %eax
435ce9:	74 2a                	je     0x435d15
435ceb:	48                   	dec    %eax
435cec:	74 23                	je     0x435d11
435cee:	e8 e7 1e ff ff       	call   0x427bda
435cf3:	89 18                	mov    %ebx,(%eax)
435cf5:	8b 45 0c             	mov    0xc(%ebp),%eax
435cf8:	83 08 ff             	orl    $0xffffffff,(%eax)
435cfb:	e8 0e 1f ff ff       	call   0x427c0e